zhanwencai 1 рік тому
батько
коміт
3f48669a79

+ 2 - 0
webServer/src/sql/config.ts → webServer/src/config/dbConfig.ts

@@ -1,3 +1,4 @@
+
 const mysqlConfig = {
     user: "root", //账号
     password: "wch123.com", //密码
@@ -5,4 +6,5 @@ const mysqlConfig = {
     host: "127.0.0.1", //服务器地址
     port: 3306, //数据库端口
 };
+
 module.exports = mysqlConfig;

+ 13 - 6
webServer/src/model/google.ts → webServer/src/config/thirdParams.ts

@@ -1,8 +1,10 @@
-import axios from 'axios'
-const logger = require('../log')
 
-const packageName = "com.ultimategame.sso"
-const productId = "com.ultimategame.sso.aos."
+// 谷歌
+export const RefreshToken = '1//06IooeZBqGqUsCgYIARAAGAYSNwF-L9Ir7cRRL3vBcSsZcQunM2NF6H6rwBjE-WJ_sLIiVyvVCE1iWj4QHOUDGUE0FlA05d8LtPU'
+export const PackageName = "com.ultimategame.sso"
+export const ProductId = "com.ultimategame.sso.aos."
+export const ClientId = "849706610247-rok24bfm4sapiggunbuirugf2n31c3ho.apps.googleusercontent.com"
+export const ClientSecret = "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"
 /*
     泰国苍空 宝塔地址和密码
     url: http://110.234.193.21:27371/a4171c7e
@@ -10,11 +12,9 @@ const productId = "com.ultimategame.sso.aos."
     pwd : b4615e5e
     游戏服路径: /server/bin/
     web服务路径 /www/server/webdata
-
     Code配置以及获取refresh_token ,获得access_token 
     网页参考 https://blog.csdn.net/u013599928/article/details/118368275?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166858437016800182743049%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166858437016800182743049&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-118368275-null-null.142%5Ev63%5Eopensearch_v2,201%5Ev3%5Econtrol_2,213%5Ev2%5Et3_esquery_v1&utm_term=%E8%B0%B7%E6%AD%8C%E6%94%AF%E4%BB%98refreshtoken&spm=1018.2226.3001.4187
 */
-
 // {
 //     "access_token": "ya29.a0AcM612w74iNiGaCyXYNZiWt8UE1P6xQejLCmh4qXGZH4FGSmfiAOFqSg05OTwqJvvrgRzFG5hGqmwIvDm_YU-8HSq73XTU_FHoOrz7LwwWfZdIO3tH6Ad_vsJfvgqA9RYwM0O57I6K9xHTbXqrklhsFrB0JIuCyrn7sRX1eHaCgYKAfQSARMSFQHGX2MicgYaXj1LbBUAbDwc65dQrQ0175",
 //     "expires_in": 3599,
@@ -22,3 +22,10 @@ const productId = "com.ultimategame.sso.aos."
 //     "scope": "https://www.googleapis.com/auth/androidpublisher",
 //     "token_type": "Bearer"
 // }
+
+// 苹果
+export const IosUrl = "https://buy.itunes.apple.com/verifyReceipt"
+export const SandboxIosUrl = "https://sandbox.itunes.apple.com/verifyReceipt"
+
+// 游戏服务器
+export const Account = "H1EqhbpA80jt0Jw6Q3T2"//ws请求密钥

+ 27 - 84
webServer/src/controller/ApiController.ts

@@ -1,32 +1,29 @@
-import Msg from '../msg'; // 确保路径是正确的
+import Msg from '../utils/msg'; // 确保路径是正确的
+import {
+    RefreshToken,
+    PackageName,
+    ProductId,
+    IosUrl,
+    SandboxIosUrl,
+    Account,
+    ClientSecret,
+    ClientId
+} from '../config/thirdParams'
+import {
+    compareVersions,
+    generateOrderNumber,
+    formatDate,
+    getServerList
+} from '../utils/common'
 
 const CryptoJS = require("crypto-js");
-const AppKey = "57afbdc608db9aa423e1b15b321d7de0"
-const Account = "H1EqhbpA80jt0Jw6Q3T2"//ws请求密钥
 const Order = require('../model/OrderModel')
 const Server = require('../model/ServerModel')
 const Version = require('../model/VersionModel')
 const CDK = require("../model/CDK")
-const notice = require("../notice.json")
-const logger = require('../log')
+const notice = require("../json/notice.json")
+const logger = require('../utils/log')
 const axios = require('axios');
-const ClientId = "849706610247-rok24bfm4sapiggunbuirugf2n31c3ho.apps.googleusercontent.com"
-const ClientSecret = "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"
-const RefreshToken = '1//06IooeZBqGqUsCgYIARAAGAYSNwF-L9Ir7cRRL3vBcSsZcQunM2NF6H6rwBjE-WJ_sLIiVyvVCE1iWj4QHOUDGUE0FlA05d8LtPU'
-const PackageName = "com.ultimategame.sso"
-const ProductId = "com.ultimategame.sso.aos."
-const ios_url = "https://buy.itunes.apple.com/verifyReceipt"
-const sandbox_ios_url = "https://sandbox.itunes.apple.com/verifyReceipt"
-
-//根据区服id获取地址
-const getServerList = async (serverId, tag) => {
-    const servers = (await Server.getServerList(tag))
-    for (let i = 0; i < servers.length; i++) {
-        if (servers[i].id == serverId) {
-            return 'ws://' + servers[i].ip + ':' + servers[i].port
-        }
-    }
-}
 
 const googleCallPay = async (ctx) => {
 
@@ -233,7 +230,7 @@ const appleCallPay = async (ctx) => {
                 "receipt-data": receipt_data,
             }
 
-            const response = await axios.post(sandbox_ios_url, apiData, {
+            const response = await axios.post(SandboxIosUrl, apiData, {
                 headers: {
                     'Content-Type': 'application/json'
                 }
@@ -444,21 +441,6 @@ const testGoogleCallPay = async (ctx) => {
     });
 }
 
-const compareVersions = (v1: string, v2: string) => {
-    const parts1 = v1.split('.').map(Number);
-    const parts2 = v2.split('.').map(Number);
-
-    for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
-        const num1 = parts1[i] || 0;
-        const num2 = parts2[i] || 0;
-
-        if (num1 > num2) return 1;
-        if (num1 < num2) return -1;
-    }
-
-    return 0;
-}
-
 const checkVersion = async (ctx) => {
     let ret = {
         code: 0,
@@ -489,45 +471,6 @@ const checkVersion = async (ctx) => {
 
 //验证账号
 const checkUserToken = async (ctx) => {
-    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
-    }
-
-    return data.sign
-}
-
-const generateOrderNumber = () => {
-    const date = new Date();
-    const year = date.getFullYear();
-    const month = (date.getMonth() + 1).toString().padStart(2, '0');
-    const day = date.getDate().toString().padStart(2, '0');
-    const hours = date.getHours().toString().padStart(2, '0');
-    const minutes = date.getMinutes().toString().padStart(2, '0');
-    const seconds = date.getSeconds().toString().padStart(2, '0');
-    const dateString = `${year}${month}${day}${hours}${minutes}${seconds}`;
-    const randomString1 = Math.floor(Math.random() * 1090000000800)
-        .toString()
-        .slice(0, 4);
-    const randomString2 = Math.floor(Math.random() * 1090000000800)
-        .toString()
-        .slice(0, 4);
-    return "CP" + dateString + randomString1 + randomString2;
-}
-
-const formatDate = (now: Date) => {
-    const formattedDateTime = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate() + ' ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds();
-    return formattedDateTime;
 }
 
 class ApiController {
@@ -573,13 +516,13 @@ class ApiController {
     }
 
     async checkUserToken(ctx) {
-        const result = await checkUserToken(ctx);
-        let data = { "status": false, "sign": "" }
-        if (result) {
-            data.status = true
-            data.sign = result
-        }
-        ctx.body = data
+        // const result = await checkUserToken(ctx);
+        // let data = { "status": false, "sign": "" }
+        // if (result) {
+        //     data.status = true
+        //     data.sign = result
+        // }
+        // ctx.body = data
     }
 
     async callPay(ctx) {

+ 0 - 0
webServer/src/notice.json → webServer/src/json/notice.json


+ 0 - 0
webServer/src/serverList.json → webServer/src/json/serverList.json


+ 1 - 2
webServer/src/sql/query.ts

@@ -1,8 +1,7 @@
 const mysql = require("mysql2");
-const config = require("./config");
+const config = require("../config/dbConfig");
 
 //创建连接池
-console.log('config', config)
 const pool = mysql.createPool(config);
 const query = (sql, val) => {
     return new Promise((resolve, reject) => {

+ 49 - 0
webServer/src/utils/common.ts

@@ -0,0 +1,49 @@
+const Server = require('../model/ServerModel')
+
+export const compareVersions = (v1: string, v2: string) => {
+    const parts1 = v1.split('.').map(Number);
+    const parts2 = v2.split('.').map(Number);
+
+    for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
+        const num1 = parts1[i] || 0;
+        const num2 = parts2[i] || 0;
+
+        if (num1 > num2) return 1;
+        if (num1 < num2) return -1;
+    }
+
+    return 0;
+}
+
+export const generateOrderNumber = () => {
+    const date = new Date();
+    const year = date.getFullYear();
+    const month = (date.getMonth() + 1).toString().padStart(2, '0');
+    const day = date.getDate().toString().padStart(2, '0');
+    const hours = date.getHours().toString().padStart(2, '0');
+    const minutes = date.getMinutes().toString().padStart(2, '0');
+    const seconds = date.getSeconds().toString().padStart(2, '0');
+    const dateString = `${year}${month}${day}${hours}${minutes}${seconds}`;
+    const randomString1 = Math.floor(Math.random() * 1090000000800)
+        .toString()
+        .slice(0, 4);
+    const randomString2 = Math.floor(Math.random() * 1090000000800)
+        .toString()
+        .slice(0, 4);
+    return "CP" + dateString + randomString1 + randomString2;
+}
+
+export const formatDate = (now: Date) => {
+    const formattedDateTime = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate() + ' ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds();
+    return formattedDateTime;
+}
+
+//根据区服id获取地址
+export const getServerList = async (serverId, tag) => {
+    const servers = (await Server.getServerList(tag))
+    for (let i = 0; i < servers.length; i++) {
+        if (servers[i].id == serverId) {
+            return 'ws://' + servers[i].ip + ':' + servers[i].port
+        }
+    }
+}

+ 1 - 1
webServer/src/log.ts → webServer/src/utils/log.ts

@@ -28,7 +28,7 @@ logger.add(new DailyRotateFile({
     filename: '%DATE%.log',
     datePattern: 'YYYY-MM-DD-HH',
     zippedArchive: true,
-    maxSize: '20m',
+    maxSize: '100m',
     maxFiles: '14d'
 }));
 

+ 0 - 0
webServer/src/msg.ts → webServer/src/utils/msg.ts