cgserver 12.0.8 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/README.md +9 -0
  2. package/dist/lib/Framework/AI/AiObject.js +10 -10
  3. package/dist/lib/Framework/AI/Astar.js +133 -133
  4. package/dist/lib/Framework/AI/BehaviorAI.js +340 -307
  5. package/dist/lib/Framework/AI/Entity.js +33 -33
  6. package/dist/lib/Framework/AI/Point.js +68 -68
  7. package/dist/lib/Framework/AI/TriggerMgr.js +201 -201
  8. package/dist/lib/Framework/Config/Config.js +74 -41
  9. package/dist/lib/Framework/Config/DbConfig.js +14 -14
  10. package/dist/lib/Framework/Config/FrameworkConfig.js +139 -173
  11. package/dist/lib/Framework/Config/IServerConfig.js +31 -31
  12. package/dist/lib/Framework/Config/_error_.js +35 -35
  13. package/dist/lib/Framework/Core/ByteTool.js +85 -85
  14. package/dist/lib/Framework/Core/Core.js +724 -688
  15. package/dist/lib/Framework/Core/Timer.js +116 -116
  16. package/dist/lib/Framework/Database/Decorator/AutoIncrement.js +10 -11
  17. package/dist/lib/Framework/Database/Decorator/DBCache.js +98 -65
  18. package/dist/lib/Framework/Database/Decorator/NotNull.js +10 -11
  19. package/dist/lib/Framework/Database/Decorator/PrimaryKey.js +10 -11
  20. package/dist/lib/Framework/Database/Decorator/Property.js +61 -61
  21. package/dist/lib/Framework/Database/Decorator/Table.js +14 -15
  22. package/dist/lib/Framework/Database/Decorator/Type.js +19 -20
  23. package/dist/lib/Framework/Database/MSSql/MSSqlManager.js +86 -53
  24. package/dist/lib/Framework/Database/Mongo/MongoBaseService.js +141 -141
  25. package/dist/lib/Framework/Database/Mongo/MongoManager.js +595 -547
  26. package/dist/lib/Framework/Database/Mongo/MongoServiceManager.js +52 -52
  27. package/dist/lib/Framework/Database/Mysql/MysqlBaseService.js +280 -280
  28. package/dist/lib/Framework/Database/Mysql/MysqlManager.js +138 -105
  29. package/dist/lib/Framework/Database/Redis/RedisManager.js +94 -61
  30. package/dist/lib/Framework/Decorator/AdminValidate.js +18 -19
  31. package/dist/lib/Framework/Decorator/AuthorityValidate.js +22 -22
  32. package/dist/lib/Framework/Decorator/CreatorValidate.js +18 -19
  33. package/dist/lib/Framework/Decorator/JsonAdminValidate.js +14 -15
  34. package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +20 -20
  35. package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +18 -19
  36. package/dist/lib/Framework/Decorator/SyncCall.js +41 -42
  37. package/dist/lib/Framework/Decorator/SyncCallServer.js +77 -77
  38. package/dist/lib/Framework/Logic/CacheTool.js +106 -73
  39. package/dist/lib/Framework/Logic/EventTool.js +31 -28
  40. package/dist/lib/Framework/Logic/HttpTool.js +138 -105
  41. package/dist/lib/Framework/Logic/Log.js +121 -88
  42. package/dist/lib/Framework/Logic/SyncQueueTool.js +44 -44
  43. package/dist/lib/Framework/Server/ProtoFilter/GoogleProtoFilter.js +90 -57
  44. package/dist/lib/Framework/Server/ProtoFilter/IProtoFilter.js +9 -9
  45. package/dist/lib/Framework/Server/ProtoFilter/JsonProtoFilter.js +29 -29
  46. package/dist/lib/Framework/Server/ProtoFilter/ProtoFactory.js +35 -35
  47. package/dist/lib/Framework/Server/RpcWebSocketServer/CgMq.js +180 -180
  48. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpc.js +38 -38
  49. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.js +253 -253
  50. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.js +94 -94
  51. package/dist/lib/Framework/Server/SocketServer/IClientSocket.js +44 -44
  52. package/dist/lib/Framework/Server/SocketServer/IServerSocket.js +114 -81
  53. package/dist/lib/Framework/Server/SocketServer/ISocket.js +255 -222
  54. package/dist/lib/Framework/Server/SocketServer/ISocketServer.js +177 -144
  55. package/dist/lib/Framework/Server/SocketServer/PacketParser.js +40 -40
  56. package/dist/lib/Framework/Server/WebServer/Controller/BaseController.js +119 -119
  57. package/dist/lib/Framework/Server/WebServer/Controller/MongoBaseUserController.js +171 -171
  58. package/dist/lib/Framework/Server/WebServer/Controller/MysqlBaseUserController.js +169 -169
  59. package/dist/lib/Framework/Server/WebServer/Engine/ControllerManager.js +115 -115
  60. package/dist/lib/Framework/Server/WebServer/Engine/Engine.js +254 -218
  61. package/dist/lib/Framework/Server/WebServer/Engine/RazorJs.js +543 -543
  62. package/dist/lib/Framework/Server/WebServer/Engine/Request.js +226 -226
  63. package/dist/lib/Framework/Server/WebServer/Engine/Response.js +120 -87
  64. package/dist/lib/Framework/Server/WebServer/IWebServer.js +55 -55
  65. package/dist/lib/Framework/Server/WebSocketServer/IClientWebSocket.js +44 -44
  66. package/dist/lib/Framework/Server/WebSocketServer/IServerWebSocket.js +128 -95
  67. package/dist/lib/Framework/Server/WebSocketServer/IWebSocket.js +248 -215
  68. package/dist/lib/Framework/Server/WebSocketServer/IWebSocketServer.js +250 -217
  69. package/dist/lib/Framework/Service/MongoAccountService.js +339 -339
  70. package/dist/lib/Framework/Service/MongoCacheService.js +50 -50
  71. package/dist/lib/Framework/Service/MongoUserService.js +129 -96
  72. package/dist/lib/Framework/Service/MysqlAccountService.js +411 -411
  73. package/dist/lib/Framework/Service/MysqlUserService.js +204 -171
  74. package/dist/lib/Framework/Service/ini.js +36 -36
  75. package/dist/lib/Framework/ThirdParty/AlipayTool.js +117 -205
  76. package/dist/lib/Framework/ThirdParty/Alisms.js +61 -50
  77. package/dist/lib/Framework/ThirdParty/AppleTool.js +271 -235
  78. package/dist/lib/Framework/ThirdParty/CgRankTool.js +215 -215
  79. package/dist/lib/Framework/ThirdParty/EmailTool.js +71 -38
  80. package/dist/lib/Framework/ThirdParty/QQTool.js +162 -129
  81. package/dist/lib/Framework/ThirdParty/QiniuTool.js +62 -29
  82. package/dist/lib/Framework/ThirdParty/Rpc.js +79 -79
  83. package/dist/lib/Framework/ThirdParty/WechatTool.js +167 -134
  84. package/dist/lib/Framework/cgserver.js +215 -212
  85. package/dist/lib/Framework/global.js +74 -74
  86. package/dist/lib/Framework/index.js +38 -5
  87. package/dist/lib/Framework/index_export_.js +180 -177
  88. package/dist/lib/test/test.js +21 -21
  89. package/dist/types/Framework/AI/AiObject.d.ts +5 -5
  90. package/dist/types/Framework/AI/Astar.d.ts +38 -38
  91. package/dist/types/Framework/AI/BehaviorAI.d.ts +24 -24
  92. package/dist/types/Framework/AI/Entity.d.ts +12 -12
  93. package/dist/types/Framework/AI/Point.d.ts +17 -17
  94. package/dist/types/Framework/AI/TriggerMgr.d.ts +51 -51
  95. package/dist/types/Framework/Config/Config.d.ts +9 -9
  96. package/dist/types/Framework/Config/DbConfig.d.ts +11 -11
  97. package/dist/types/Framework/Config/FrameworkConfig.d.ts +146 -178
  98. package/dist/types/Framework/Config/IServerConfig.d.ts +9 -9
  99. package/dist/types/Framework/Config/_error_.d.ts +99 -99
  100. package/dist/types/Framework/Core/ByteTool.d.ts +21 -21
  101. package/dist/types/Framework/Core/Core.d.ts +119 -120
  102. package/dist/types/Framework/Core/Timer.d.ts +16 -16
  103. package/dist/types/Framework/Database/Decorator/AutoIncrement.d.ts +1 -1
  104. package/dist/types/Framework/Database/Decorator/DBCache.d.ts +22 -22
  105. package/dist/types/Framework/Database/Decorator/NotNull.d.ts +1 -1
  106. package/dist/types/Framework/Database/Decorator/PrimaryKey.d.ts +1 -1
  107. package/dist/types/Framework/Database/Decorator/Property.d.ts +57 -57
  108. package/dist/types/Framework/Database/Decorator/Table.d.ts +1 -1
  109. package/dist/types/Framework/Database/Decorator/Type.d.ts +1 -1
  110. package/dist/types/Framework/Database/MSSql/MSSqlManager.d.ts +26 -26
  111. package/dist/types/Framework/Database/Mongo/MongoBaseService.d.ts +116 -116
  112. package/dist/types/Framework/Database/Mongo/MongoManager.d.ts +207 -204
  113. package/dist/types/Framework/Database/Mongo/MongoServiceManager.d.ts +13 -13
  114. package/dist/types/Framework/Database/Mysql/MysqlBaseService.d.ts +34 -34
  115. package/dist/types/Framework/Database/Mysql/MysqlManager.d.ts +30 -30
  116. package/dist/types/Framework/Database/Redis/RedisManager.d.ts +24 -24
  117. package/dist/types/Framework/Decorator/AdminValidate.d.ts +1 -1
  118. package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +2 -2
  119. package/dist/types/Framework/Decorator/CreatorValidate.d.ts +1 -1
  120. package/dist/types/Framework/Decorator/JsonAdminValidate.d.ts +1 -1
  121. package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +2 -2
  122. package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +1 -1
  123. package/dist/types/Framework/Decorator/SyncCall.d.ts +12 -12
  124. package/dist/types/Framework/Decorator/SyncCallServer.d.ts +14 -14
  125. package/dist/types/Framework/Logic/CacheTool.d.ts +27 -27
  126. package/dist/types/Framework/Logic/EventTool.d.ts +11 -12
  127. package/dist/types/Framework/Logic/HttpTool.d.ts +19 -19
  128. package/dist/types/Framework/Logic/Log.d.ts +18 -18
  129. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +21 -21
  130. package/dist/types/Framework/Server/ProtoFilter/GoogleProtoFilter.d.ts +9 -9
  131. package/dist/types/Framework/Server/ProtoFilter/IProtoFilter.d.ts +10 -10
  132. package/dist/types/Framework/Server/ProtoFilter/JsonProtoFilter.d.ts +6 -6
  133. package/dist/types/Framework/Server/ProtoFilter/ProtoFactory.d.ts +12 -12
  134. package/dist/types/Framework/Server/RpcWebSocketServer/CgMq.d.ts +59 -59
  135. package/dist/types/Framework/Server/RpcWebSocketServer/IRpc.d.ts +33 -33
  136. package/dist/types/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.d.ts +34 -34
  137. package/dist/types/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.d.ts +23 -23
  138. package/dist/types/Framework/Server/SocketServer/IClientSocket.d.ts +16 -18
  139. package/dist/types/Framework/Server/SocketServer/IServerSocket.d.ts +27 -29
  140. package/dist/types/Framework/Server/SocketServer/ISocket.d.ts +78 -81
  141. package/dist/types/Framework/Server/SocketServer/ISocketServer.d.ts +44 -45
  142. package/dist/types/Framework/Server/SocketServer/PacketParser.d.ts +8 -10
  143. package/dist/types/Framework/Server/WebServer/Controller/BaseController.d.ts +34 -34
  144. package/dist/types/Framework/Server/WebServer/Controller/MongoBaseUserController.d.ts +28 -28
  145. package/dist/types/Framework/Server/WebServer/Controller/MysqlBaseUserController.d.ts +27 -27
  146. package/dist/types/Framework/Server/WebServer/Engine/ControllerManager.d.ts +37 -37
  147. package/dist/types/Framework/Server/WebServer/Engine/Engine.d.ts +42 -44
  148. package/dist/types/Framework/Server/WebServer/Engine/RazorJs.d.ts +21 -21
  149. package/dist/types/Framework/Server/WebServer/Engine/Request.d.ts +47 -50
  150. package/dist/types/Framework/Server/WebServer/Engine/Response.d.ts +26 -26
  151. package/dist/types/Framework/Server/WebServer/IWebServer.d.ts +22 -22
  152. package/dist/types/Framework/Server/WebSocketServer/IClientWebSocket.d.ts +17 -17
  153. package/dist/types/Framework/Server/WebSocketServer/IServerWebSocket.d.ts +37 -38
  154. package/dist/types/Framework/Server/WebSocketServer/IWebSocket.d.ts +76 -76
  155. package/dist/types/Framework/Server/WebSocketServer/IWebSocketServer.d.ts +49 -49
  156. package/dist/types/Framework/Service/MongoAccountService.d.ts +62 -62
  157. package/dist/types/Framework/Service/MongoCacheService.d.ts +19 -19
  158. package/dist/types/Framework/Service/MongoUserService.d.ts +31 -31
  159. package/dist/types/Framework/Service/MysqlAccountService.d.ts +67 -67
  160. package/dist/types/Framework/Service/MysqlUserService.d.ts +33 -33
  161. package/dist/types/Framework/Service/ini.d.ts +29 -29
  162. package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +76 -108
  163. package/dist/types/Framework/ThirdParty/Alisms.d.ts +23 -13
  164. package/dist/types/Framework/ThirdParty/AppleTool.d.ts +131 -131
  165. package/dist/types/Framework/ThirdParty/CgRankTool.d.ts +107 -107
  166. package/dist/types/Framework/ThirdParty/EmailTool.d.ts +4 -4
  167. package/dist/types/Framework/ThirdParty/QQTool.d.ts +41 -41
  168. package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +5 -5
  169. package/dist/types/Framework/ThirdParty/Rpc.d.ts +28 -28
  170. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +30 -30
  171. package/dist/types/Framework/cgserver.d.ts +63 -63
  172. package/dist/types/Framework/global.d.ts +45 -45
  173. package/dist/types/Framework/index.d.ts +2 -2
  174. package/dist/types/Framework/index_export_.d.ts +81 -79
  175. package/dist/types/test/test.d.ts +1 -1
  176. package/package.json +8 -4
@@ -1,129 +1,162 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gQQTool = exports.QQTool = exports.QQUserInfo = void 0;
4
- const _ = require("underscore");
5
- const URLEncode = require("urlencode");
6
- const Log_1 = require("../Logic/Log");
7
- const HttpTool_1 = require("../Logic/HttpTool");
8
- const IServerConfig_1 = require("../Config/IServerConfig");
9
- class QQUserInfo {
10
- ret = 0;
11
- msg = "";
12
- is_lost = 0;
13
- nickname = "";
14
- gender = ""; //"男"
15
- province = ""; //"四川"
16
- city = ""; //"成都"
17
- year = ""; //"1988"
18
- constellation = "";
19
- figureurl = ""; //http://qzapp.qlogo.cn/qzapp/101775753/B5EA2E2138715A07DE91B5BACBA0CCE5/30
20
- figureurl_1 = ""; //http://qzapp.qlogo.cn/qzapp/101775753/B5EA2E2138715A07DE91B5BACBA0CCE5/50
21
- figureurl_2 = ""; //http://qzapp.qlogo.cn/qzapp/101775753/B5EA2E2138715A07DE91B5BACBA0CCE5/100
22
- figureurl_qq_1 = ""; //http://thirdqq.qlogo.cn/g?b=oidb&k=jgOibQ4eLHDBT57oAib1DrOg&s=40&t=1556419177
23
- figureurl_qq_2 = ""; //http://thirdqq.qlogo.cn/g?b=oidb&k=jgOibQ4eLHDBT57oAib1DrOg&s=100&t=1556419177
24
- figureurl_qq = ""; //http://thirdqq.qlogo.cn/g?b=oidb&k=jgOibQ4eLHDBT57oAib1DrOg&s=140&t=1556419177
25
- figureurl_type = ""; //"1"
26
- is_yellow_vip; //"0"
27
- vip = ""; //"0"
28
- yellow_vip_level = ""; //"0"
29
- level = ""; //"0"
30
- is_yellow_year_vip = ""; //"0"
31
- }
32
- exports.QQUserInfo = QQUserInfo;
33
- class QQTool {
34
- /**
35
- * 获取Authorization Code
36
- * @param scope 可选 请求用户授权时向用户显示的可进行授权的列表。
37
- 可填写的值是API文档中列出的接口,以及一些动作型的授权(目前仅有:do_like),如果要填写多个接口名称,请用逗号隔开。
38
- 例如:scope=get_user_info,list_album,upload_pic,do_like
39
- 不传则默认请求对接口get_user_info进行授权。
40
- 建议控制授权项的数量,只传入必要的接口名称,因为授权项越多,用户越可能拒绝进行任何授权。
41
- * @param display 仅PC网站接入时使用。
42
- 用于展示的样式。不传则默认展示为PC下的样式。
43
- 如果传入“mobile”,则展示为mobile端下的样式。
44
- */
45
- getAuthCodeUrl(scope, display) {
46
- if (!IServerConfig_1.gServerCfg.qq) {
47
- Log_1.gLog.error("qq config not found!");
48
- return null;
49
- }
50
- //必须 成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心
51
- let redirect_uri = URLEncode.encode(IServerConfig_1.gServerCfg.qq.redirect_uri);
52
- //必须 申请QQ登录成功后,分配给应用的appid。
53
- let client_id = IServerConfig_1.gServerCfg.qq.app_id;
54
- //必须 授权类型,此值固定为“code”。
55
- let response_type = "code";
56
- //必须 client端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。
57
- let state = _.random(1000000, 9999999);
58
- //PC网站
59
- let url = "https://graph.qq.com/oauth2.0/authorize?redirect_uri=" + redirect_uri + "&response_type=" + response_type + "&state=" + state + "&client_id=" + client_id;
60
- if (scope) {
61
- url += "&scope=" + scope;
62
- }
63
- if (display) {
64
- url += "&display=" + display;
65
- }
66
- return url;
67
- }
68
- async getAccessToken(auth_code) {
69
- if (!auth_code) {
70
- return null;
71
- }
72
- if (!IServerConfig_1.gServerCfg.qq) {
73
- Log_1.gLog.error("qq config not found!");
74
- return null;
75
- }
76
- //必须 授权类型,在本步骤中,此值为“authorization_code”。
77
- let grant_type = "authorization_code";
78
- //必须 申请QQ登录成功后,分配给应用的appid。
79
- let client_id = IServerConfig_1.gServerCfg.qq.app_id;
80
- //必须 申请QQ登录成功后,分配给网站的appkey。
81
- let client_secret = IServerConfig_1.gServerCfg.qq.app_key;
82
- //必须 成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心
83
- let redirect_uri = URLEncode.encode(IServerConfig_1.gServerCfg.qq.redirect_uri);
84
- let url = "https://graph.qq.com/oauth2.0/token?code=" + auth_code + "&grant_type=" + grant_type + "&client_id=" + client_id + "&client_secret=" + client_secret + "&redirect_uri=" + redirect_uri;
85
- let rs = await HttpTool_1.gHttpTool.get(url);
86
- if (rs.body && rs.body.access_token) {
87
- return rs.body.access_token;
88
- }
89
- else {
90
- Log_1.gLog.error(rs.body);
91
- }
92
- return null;
93
- }
94
- async getOpenId(access_token) {
95
- let url = "https://graph.qq.com/oauth2.0/me?access_token=" + access_token;
96
- let rs = await HttpTool_1.gHttpTool.get(url);
97
- let body = rs.response ? rs.response.body : null;
98
- if (body) {
99
- body = body.replace("callback( ", "");
100
- body = body.replace(" );\n", "");
101
- try {
102
- body = JSON.parse(body);
103
- }
104
- catch (e) { }
105
- if (!body.openid) {
106
- Log_1.gLog.error(rs.response.body);
107
- }
108
- return body.openid;
109
- }
110
- return null;
111
- }
112
- async getUserInfo(access_token, openid) {
113
- if (!access_token || !openid) {
114
- return null;
115
- }
116
- if (!IServerConfig_1.gServerCfg.qq) {
117
- Log_1.gLog.error("qq config not found!");
118
- return null;
119
- }
120
- let url = "https://graph.qq.com/user/get_user_info?access_token=" + access_token + "&oauth_consumer_key=" + IServerConfig_1.gServerCfg.qq.app_id + "&openid=" + openid;
121
- let rs = await HttpTool_1.gHttpTool.get(url);
122
- if (rs.body) {
123
- return rs.body;
124
- }
125
- return null;
126
- }
127
- }
128
- exports.QQTool = QQTool;
129
- exports.gQQTool = new QQTool();
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.gQQTool = exports.QQTool = exports.QQUserInfo = void 0;
37
+ const _ = __importStar(require("underscore"));
38
+ const URLEncode = __importStar(require("urlencode"));
39
+ const Log_1 = require("../Logic/Log");
40
+ const HttpTool_1 = require("../Logic/HttpTool");
41
+ const IServerConfig_1 = require("../Config/IServerConfig");
42
+ class QQUserInfo {
43
+ ret = 0;
44
+ msg = "";
45
+ is_lost = 0;
46
+ nickname = "";
47
+ gender = ""; //"男"
48
+ province = ""; //"四川"
49
+ city = ""; //"成都"
50
+ year = ""; //"1988"
51
+ constellation = "";
52
+ figureurl = ""; //http://qzapp.qlogo.cn/qzapp/101775753/B5EA2E2138715A07DE91B5BACBA0CCE5/30
53
+ figureurl_1 = ""; //http://qzapp.qlogo.cn/qzapp/101775753/B5EA2E2138715A07DE91B5BACBA0CCE5/50
54
+ figureurl_2 = ""; //http://qzapp.qlogo.cn/qzapp/101775753/B5EA2E2138715A07DE91B5BACBA0CCE5/100
55
+ figureurl_qq_1 = ""; //http://thirdqq.qlogo.cn/g?b=oidb&k=jgOibQ4eLHDBT57oAib1DrOg&s=40&t=1556419177
56
+ figureurl_qq_2 = ""; //http://thirdqq.qlogo.cn/g?b=oidb&k=jgOibQ4eLHDBT57oAib1DrOg&s=100&t=1556419177
57
+ figureurl_qq = ""; //http://thirdqq.qlogo.cn/g?b=oidb&k=jgOibQ4eLHDBT57oAib1DrOg&s=140&t=1556419177
58
+ figureurl_type = ""; //"1"
59
+ is_yellow_vip; //"0"
60
+ vip = ""; //"0"
61
+ yellow_vip_level = ""; //"0"
62
+ level = ""; //"0"
63
+ is_yellow_year_vip = ""; //"0"
64
+ }
65
+ exports.QQUserInfo = QQUserInfo;
66
+ class QQTool {
67
+ /**
68
+ * 获取Authorization Code
69
+ * @param scope 可选 请求用户授权时向用户显示的可进行授权的列表。
70
+ 可填写的值是API文档中列出的接口,以及一些动作型的授权(目前仅有:do_like),如果要填写多个接口名称,请用逗号隔开。
71
+ 例如:scope=get_user_info,list_album,upload_pic,do_like
72
+ 不传则默认请求对接口get_user_info进行授权。
73
+ 建议控制授权项的数量,只传入必要的接口名称,因为授权项越多,用户越可能拒绝进行任何授权。
74
+ * @param display 仅PC网站接入时使用。
75
+ 用于展示的样式。不传则默认展示为PC下的样式。
76
+ 如果传入“mobile”,则展示为mobile端下的样式。
77
+ */
78
+ getAuthCodeUrl(scope, display) {
79
+ if (!IServerConfig_1.gServerCfg.qq) {
80
+ Log_1.gLog.error("qq config not found!");
81
+ return null;
82
+ }
83
+ //必须 成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心
84
+ let redirect_uri = URLEncode.encode(IServerConfig_1.gServerCfg.qq.redirect_uri);
85
+ //必须 申请QQ登录成功后,分配给应用的appid。
86
+ let client_id = IServerConfig_1.gServerCfg.qq.app_id;
87
+ //必须 授权类型,此值固定为“code”。
88
+ let response_type = "code";
89
+ //必须 client端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。
90
+ let state = _.random(1000000, 9999999);
91
+ //PC网站
92
+ let url = "https://graph.qq.com/oauth2.0/authorize?redirect_uri=" + redirect_uri + "&response_type=" + response_type + "&state=" + state + "&client_id=" + client_id;
93
+ if (scope) {
94
+ url += "&scope=" + scope;
95
+ }
96
+ if (display) {
97
+ url += "&display=" + display;
98
+ }
99
+ return url;
100
+ }
101
+ async getAccessToken(auth_code) {
102
+ if (!auth_code) {
103
+ return null;
104
+ }
105
+ if (!IServerConfig_1.gServerCfg.qq) {
106
+ Log_1.gLog.error("qq config not found!");
107
+ return null;
108
+ }
109
+ //必须 授权类型,在本步骤中,此值为“authorization_code”。
110
+ let grant_type = "authorization_code";
111
+ //必须 申请QQ登录成功后,分配给应用的appid。
112
+ let client_id = IServerConfig_1.gServerCfg.qq.app_id;
113
+ //必须 申请QQ登录成功后,分配给网站的appkey。
114
+ let client_secret = IServerConfig_1.gServerCfg.qq.app_key;
115
+ //必须 成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心
116
+ let redirect_uri = URLEncode.encode(IServerConfig_1.gServerCfg.qq.redirect_uri);
117
+ let url = "https://graph.qq.com/oauth2.0/token?code=" + auth_code + "&grant_type=" + grant_type + "&client_id=" + client_id + "&client_secret=" + client_secret + "&redirect_uri=" + redirect_uri;
118
+ let rs = await HttpTool_1.gHttpTool.get(url);
119
+ if (rs.body && rs.body.access_token) {
120
+ return rs.body.access_token;
121
+ }
122
+ else {
123
+ Log_1.gLog.error(rs.body);
124
+ }
125
+ return null;
126
+ }
127
+ async getOpenId(access_token) {
128
+ let url = "https://graph.qq.com/oauth2.0/me?access_token=" + access_token;
129
+ let rs = await HttpTool_1.gHttpTool.get(url);
130
+ let body = rs.response ? rs.response.body : null;
131
+ if (body) {
132
+ body = body.replace("callback( ", "");
133
+ body = body.replace(" );\n", "");
134
+ try {
135
+ body = JSON.parse(body);
136
+ }
137
+ catch (e) { }
138
+ if (!body.openid) {
139
+ Log_1.gLog.error(rs.response.body);
140
+ }
141
+ return body.openid;
142
+ }
143
+ return null;
144
+ }
145
+ async getUserInfo(access_token, openid) {
146
+ if (!access_token || !openid) {
147
+ return null;
148
+ }
149
+ if (!IServerConfig_1.gServerCfg.qq) {
150
+ Log_1.gLog.error("qq config not found!");
151
+ return null;
152
+ }
153
+ let url = "https://graph.qq.com/user/get_user_info?access_token=" + access_token + "&oauth_consumer_key=" + IServerConfig_1.gServerCfg.qq.app_id + "&openid=" + openid;
154
+ let rs = await HttpTool_1.gHttpTool.get(url);
155
+ if (rs.body) {
156
+ return rs.body;
157
+ }
158
+ return null;
159
+ }
160
+ }
161
+ exports.QQTool = QQTool;
162
+ exports.gQQTool = new QQTool();
@@ -1,29 +1,62 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gQiniuTool = exports.QiniuTool = void 0;
4
- const qiniu = require("qiniu");
5
- const IServerConfig_1 = require("../Config/IServerConfig");
6
- const Log_1 = require("../Logic/Log");
7
- class QiniuTool {
8
- get host() {
9
- if (!IServerConfig_1.gServerCfg.qiniu) {
10
- return "";
11
- }
12
- return IServerConfig_1.gServerCfg.qiniu.host;
13
- }
14
- getUploadToken(filename) {
15
- if (!IServerConfig_1.gServerCfg.qiniu) {
16
- Log_1.gLog.error("qiniu config not found!");
17
- return "";
18
- }
19
- let mac = new qiniu.auth.digest.Mac(IServerConfig_1.gServerCfg.qiniu.accessKey, IServerConfig_1.gServerCfg.qiniu.secretKey);
20
- let options = {
21
- scope: IServerConfig_1.gServerCfg.qiniu.bucket + ":" + filename,
22
- };
23
- let putPolicy = new qiniu.rs.PutPolicy(options);
24
- let uploadToken = putPolicy.uploadToken(mac);
25
- return uploadToken;
26
- }
27
- }
28
- exports.QiniuTool = QiniuTool;
29
- exports.gQiniuTool = new QiniuTool();
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.gQiniuTool = exports.QiniuTool = void 0;
37
+ const qiniu = __importStar(require("qiniu"));
38
+ const IServerConfig_1 = require("../Config/IServerConfig");
39
+ const Log_1 = require("../Logic/Log");
40
+ class QiniuTool {
41
+ get host() {
42
+ if (!IServerConfig_1.gServerCfg.qiniu) {
43
+ return "";
44
+ }
45
+ return IServerConfig_1.gServerCfg.qiniu.host;
46
+ }
47
+ getUploadToken(filename) {
48
+ if (!IServerConfig_1.gServerCfg.qiniu) {
49
+ Log_1.gLog.error("qiniu config not found!");
50
+ return "";
51
+ }
52
+ let mac = new qiniu.auth.digest.Mac(IServerConfig_1.gServerCfg.qiniu.accessKey, IServerConfig_1.gServerCfg.qiniu.secretKey);
53
+ let options = {
54
+ scope: IServerConfig_1.gServerCfg.qiniu.bucket + ":" + filename,
55
+ };
56
+ let putPolicy = new qiniu.rs.PutPolicy(options);
57
+ let uploadToken = putPolicy.uploadToken(mac);
58
+ return uploadToken;
59
+ }
60
+ }
61
+ exports.QiniuTool = QiniuTool;
62
+ exports.gQiniuTool = new QiniuTool();
@@ -1,79 +1,79 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Rpc = void 0;
4
- const Core_1 = require("../Core/Core");
5
- const Log_1 = require("../Logic/Log");
6
- const CgMq_1 = require("../Server/RpcWebSocketServer/CgMq");
7
- class Remote {
8
- _retmsg = null;
9
- get retMsg() {
10
- return this._retmsg;
11
- }
12
- _cgmq = null;
13
- get cgmq() {
14
- return this._cgmq;
15
- }
16
- _to_group = "";
17
- _to_id = "";
18
- _listen = "";
19
- _is_mq = false;
20
- constructor(group, id, cgmq, listen, is_mq = false) {
21
- this._to_group = group;
22
- this._to_id = id;
23
- this._listen = listen;
24
- this._is_mq = is_mq;
25
- this._cgmq = cgmq;
26
- }
27
- async call(func_name, ...args) {
28
- this._retmsg = await this._cgmq.callRemote(this._to_group, this._to_id, this._listen, func_name, this._is_mq, ...args);
29
- let datas = [];
30
- if (this._retmsg) {
31
- datas = this._retmsg.data;
32
- }
33
- let ret = { rets: datas, ret: null };
34
- if (datas && datas.length > 0) {
35
- ret.ret = datas[0];
36
- }
37
- return ret;
38
- }
39
- }
40
- class Rpc {
41
- _cgmq = null;
42
- get cgmq() {
43
- return this._cgmq;
44
- }
45
- async init(cfg) {
46
- this._cgmq = new CgMq_1.CgMq();
47
- let ret = await this._cgmq.init(cfg, this.onMsg.bind(this));
48
- return ret;
49
- }
50
- getRemote(group, id = "", listener = "", is_mq = false) {
51
- return new Remote(group, id, this._cgmq, listener, is_mq);
52
- }
53
- //mq消息不需要回复
54
- getRemoteMq(group, id = "", listener = "") {
55
- return this.getRemote(group, id, listener, true);
56
- }
57
- async onMsg(msg) {
58
- if (!msg || !msg.data || !msg.data.cmd) {
59
- return;
60
- }
61
- let cmd = msg.data.cmd;
62
- let func = this[cmd];
63
- if (!func) {
64
- Log_1.gLog.error({ des: "rpc no cmd", msg });
65
- return;
66
- }
67
- let data = await Core_1.core.safeCall(func, this, ...msg.data?.args, msg);
68
- return data;
69
- }
70
- async listen(listeners) {
71
- let ret = await this._cgmq.listen(listeners);
72
- return ret;
73
- }
74
- async unlisten(listeners) {
75
- let ret = await this._cgmq.unlisten(listeners);
76
- return ret;
77
- }
78
- }
79
- exports.Rpc = Rpc;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Rpc = void 0;
4
+ const Core_1 = require("../Core/Core");
5
+ const Log_1 = require("../Logic/Log");
6
+ const CgMq_1 = require("../Server/RpcWebSocketServer/CgMq");
7
+ class Remote {
8
+ _retmsg = null;
9
+ get retMsg() {
10
+ return this._retmsg;
11
+ }
12
+ _cgmq = null;
13
+ get cgmq() {
14
+ return this._cgmq;
15
+ }
16
+ _to_group = "";
17
+ _to_id = "";
18
+ _listen = "";
19
+ _is_mq = false;
20
+ constructor(group, id, cgmq, listen, is_mq = false) {
21
+ this._to_group = group;
22
+ this._to_id = id;
23
+ this._listen = listen;
24
+ this._is_mq = is_mq;
25
+ this._cgmq = cgmq;
26
+ }
27
+ async call(func_name, ...args) {
28
+ this._retmsg = await this._cgmq.callRemote(this._to_group, this._to_id, this._listen, func_name, this._is_mq, ...args);
29
+ let datas = [];
30
+ if (this._retmsg) {
31
+ datas = this._retmsg.data;
32
+ }
33
+ let ret = { rets: datas, ret: null };
34
+ if (datas && datas.length > 0) {
35
+ ret.ret = datas[0];
36
+ }
37
+ return ret;
38
+ }
39
+ }
40
+ class Rpc {
41
+ _cgmq = null;
42
+ get cgmq() {
43
+ return this._cgmq;
44
+ }
45
+ async init(cfg) {
46
+ this._cgmq = new CgMq_1.CgMq();
47
+ let ret = await this._cgmq.init(cfg, this.onMsg.bind(this));
48
+ return ret;
49
+ }
50
+ getRemote(group, id = "", listener = "", is_mq = false) {
51
+ return new Remote(group, id, this._cgmq, listener, is_mq);
52
+ }
53
+ //mq消息不需要回复
54
+ getRemoteMq(group, id = "", listener = "") {
55
+ return this.getRemote(group, id, listener, true);
56
+ }
57
+ async onMsg(msg) {
58
+ if (!msg || !msg.data || !msg.data.cmd) {
59
+ return;
60
+ }
61
+ let cmd = msg.data.cmd;
62
+ let func = this[cmd];
63
+ if (!func) {
64
+ Log_1.gLog.error({ des: "rpc no cmd", msg });
65
+ return;
66
+ }
67
+ let data = await Core_1.core.safeCall(func, this, ...msg.data?.args, msg);
68
+ return data;
69
+ }
70
+ async listen(listeners) {
71
+ let ret = await this._cgmq.listen(listeners);
72
+ return ret;
73
+ }
74
+ async unlisten(listeners) {
75
+ let ret = await this._cgmq.unlisten(listeners);
76
+ return ret;
77
+ }
78
+ }
79
+ exports.Rpc = Rpc;