Ver Fonte

更新支付回调

zhanwencai há 1 ano atrás
pai
commit
2fe6e9c23f
2 ficheiros alterados com 22 adições e 35 exclusões
  1. 4 1
      script/module/scene/Handler.lua
  2. 18 34
      webServer/src/server.ts

+ 4 - 1
script/module/scene/Handler.lua

@@ -68,7 +68,9 @@ end
 
 function CG_ASK_LOGIN(fd, msg)
 	print(111111,msg)
-	if msg.account == "H1EqhbpA80jt0Jw6Q3T2" then
+
+    -- 测试支付回调
+    if msg.account == "payCallback" then
 		print("测试支付回调")
 		local payParams = Json.Decode(msg.params)
 		oJsonInput = {
@@ -83,6 +85,7 @@ function CG_ASK_LOGIN(fd, msg)
 		if ApiLogic.deliver(oJsonInput,{}) then
 			return
 		end
+        return
 	end
 
 	if _G.is_middle == true then return end

+ 18 - 34
webServer/src/server.ts

@@ -11,7 +11,7 @@ const querystring = require('querystring');
 const servers = require('./serverList.json')
 
 const AppSecret = "67db708fdc1b3f61341db6e8551143c0"
-const AppKey = "64ba80a7e327f3f334425d8a8d897117"
+const AppKey = "57afbdc608db9aa423e1b15b321d7de0"
 const AppId = "120"
 // var Url =  'ws://43.198.254.107:8192' //服务器地址
 const Account = "H1EqhbpA80jt0Jw6Q3T2"//ws请求密钥
@@ -63,11 +63,10 @@ router.post('/callback', async (ctx, next) => {
 router.post("/checkUserToken",async (ctx,next)=>{
   const result = await checkUserToken(ctx);
   let data = {"status":false,"sign":""}
-  if(result != ""){
+  if(result){
       data.status = true
       data.sign = result
   }
-
   ctx.body = data
 })
 
@@ -153,7 +152,7 @@ const callPay = async(ctx)=>{
 
   setTimeout(function() {
     console.log("这个消息将在3秒后打印出来");
-     Msg.CG_ASK_LOGIN(Account, 0, "", 'cn', 'CN',ctx.request.ip, params);
+     Msg.CG_ASK_LOGIN("payCallback", 0, "", 'cn', 'CN',ctx.request.ip, params);
   }, 3000);
   orderList.push(data.order_id)
   return true
@@ -162,37 +161,22 @@ const callPay = async(ctx)=>{
 
 //验证账号
 const checkUserToken = async(ctx)=>{
-  let id = AppId
-  let key = AppKey
-  let memId = ctx.request.body.mem_id
-  let userToken = ctx.request.body.user_token
-  let signStr = `app_id=${id}&mem_id=${memId}&user_token=${userToken}&app_key=${key}`
-  console.log("signStr",signStr)
-  let sign = CryptoJS.MD5(signStr).toString()
-  let params = {
-    "app_id": AppId,
-    "mem_id":memId,
-    "user_token":userToken,
-    "sign":sign
+  let data = ctx.request.body
+    
+    //签名参数
+  let signData = Object.keys(data).filter(key => key !== 'sign');
+  let signStr = signData.map(key => `${data[key]}`).join('');
+  signStr += AppKey
+
+let newSign = CryptoJS.MD5(signStr).toString();
+  console.log("signStr:",signStr)
+  console.log("newSign:",newSign)
+  if(data.sign != newSign){
+    console.log("签名错误:",signStr,newSign,data.sign)
+    return false
   }
-  logger.info("req params",{"url":SdkUrl,"params":params})
-  var ret = axios.post(SdkUrl, params)
-
-  .then(function (response) {
-    // 处理成功的情况
-    logger.info("sdk resp data",response.data)
-    if(response.data.status ==1){
-      return sign
-    }
-    return ""
-
-  })
-  .catch(function (error) {
-    // 处理错误的情况
-    logger.error("请求sdk服务器错误:"+error.response.statusText)
-    return ""
-  });
-  return ret
+  
+  return data.sign
 }