迅睿開源框架是一款PHP8高性能·簡(jiǎn)單易用的PHP開源開發(fā)框架, 基于MIT開源許可協(xié)議發(fā)布,不限制商業(yè)使用,以多端互聯(lián)為設(shè)計(jì)理念, 支持的微信公眾號(hào)、小程序、APP客戶端、移動(dòng)端網(wǎng)站、PC網(wǎng)站等多終端式管理系統(tǒng)。
業(yè)務(wù)經(jīng)理
微信掃描以上二維碼
028-61286886
在線咨詢
你是怎么寫的接口
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問(wèn)題!
@Before(YgwAuthInterceptor.class)
@ControllerMapping(value = "/ws/rebate", viewdir = "/")
public class UseRebateController extends YgwController{
UseRebateService useRebateService = new UseRebateService();
/**
*
*/
public void deductRebate() {
PlatformRebateRequest request= (PlatformRebateRequest) getBody(PlatformRebateRequest.class);
renderJson(useRebateService.deductRebate(request));
}
2.YgwAuthInterceptor
public class YgwAuthInterceptor implements Interceptor {
@Override
public void intercept(Invocation inv) {
YgwController controller = (YgwController) inv.getController();
Header header = controller.getHeader();
if (header == null
|| StringUtils.isEmpty(header.getBusinessCode())
|| StringUtils.isEmpty(header.getSign())) {
controller.renderText("{\"code\":\"403\", \"msg\":\"接口驗(yàn)證失敗,驗(yàn)證信息不能為空\(chéng)"}");
return;
// 時(shí)間戳最多只能用1個(gè)小時(shí)
if (System.currentTimeMillis() - header.getTimestamp() > 3600000) {
controller.renderText("{\"code\":\"403\", \"msg\":\"接口驗(yàn)證失敗,時(shí)間戳超時(shí)\"}");
String body;
try {
body = EncryptUtils.desDecrypt(controller.getPara("body"), Constant.DESKEY);
} catch (Exception e) {
controller.renderText("{\"code\":\"403\", \"msg\":\"接口驗(yàn)證失敗,Body解密失敗\"}");
String sign = header.getBusinessCode() + "|" + header.getTimestamp() + "|" + body + "|" + Constant.YGW_DESKEY;
if (header.getSign().equals(EncryptUtils.encrypt(sign))) {
inv.invoke();
controller.renderText("{\"code\":\"403\", \"msg\":\"接口驗(yàn)證失敗,簽名錯(cuò)誤\"}");
我用postman測(cè)試,返回這個(gè){\"code\":\"403\", \"msg\":\"接口驗(yàn)證失敗,驗(yàn)證信息不能為空\(chéng)"}
看不懂這個(gè),我們是xunruicms,你這些語(yǔ)法完全跟xunruicms不相關(guān)了
你是怎么寫的接口
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問(wèn)題!
@Before(YgwAuthInterceptor.class)
@ControllerMapping(value = "/ws/rebate", viewdir = "/")
public class UseRebateController extends YgwController{
UseRebateService useRebateService = new UseRebateService();
/**
*
*/
public void deductRebate() {
PlatformRebateRequest request= (PlatformRebateRequest) getBody(PlatformRebateRequest.class);
renderJson(useRebateService.deductRebate(request));
}
}
2.YgwAuthInterceptor
public class YgwAuthInterceptor implements Interceptor {
@Override
public void intercept(Invocation inv) {
YgwController controller = (YgwController) inv.getController();
Header header = controller.getHeader();
if (header == null
|| StringUtils.isEmpty(header.getBusinessCode())
|| StringUtils.isEmpty(header.getSign())) {
controller.renderText("{\"code\":\"403\", \"msg\":\"接口驗(yàn)證失敗,驗(yàn)證信息不能為空\(chéng)"}");
return;
}
// 時(shí)間戳最多只能用1個(gè)小時(shí)
if (System.currentTimeMillis() - header.getTimestamp() > 3600000) {
controller.renderText("{\"code\":\"403\", \"msg\":\"接口驗(yàn)證失敗,時(shí)間戳超時(shí)\"}");
return;
}
String body;
try {
body = EncryptUtils.desDecrypt(controller.getPara("body"), Constant.DESKEY);
} catch (Exception e) {
controller.renderText("{\"code\":\"403\", \"msg\":\"接口驗(yàn)證失敗,Body解密失敗\"}");
return;
}
String sign = header.getBusinessCode() + "|" + header.getTimestamp() + "|" + body + "|" + Constant.YGW_DESKEY;
if (header.getSign().equals(EncryptUtils.encrypt(sign))) {
inv.invoke();
return;
}
controller.renderText("{\"code\":\"403\", \"msg\":\"接口驗(yàn)證失敗,簽名錯(cuò)誤\"}");
}
我用postman測(cè)試,返回這個(gè){\"code\":\"403\", \"msg\":\"接口驗(yàn)證失敗,驗(yàn)證信息不能為空\(chéng)"}
看不懂這個(gè),我們是xunruicms,你這些語(yǔ)法完全跟xunruicms不相關(guān)了
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問(wèn)題!