cgserver 8.6.8 → 8.6.10

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 (160) hide show
  1. package/README.md +4 -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 +307 -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 +53 -53
  9. package/dist/lib/Framework/Config/DbConfig.js +14 -0
  10. package/dist/lib/Framework/Config/FrameworkConfig.js +207 -240
  11. package/dist/lib/Framework/Config/IServerConfig.js +26 -26
  12. package/dist/lib/Framework/Config/_error_.js +35 -35
  13. package/dist/lib/Framework/Core/Core.js +639 -639
  14. package/dist/lib/Framework/Core/Timer.js +116 -116
  15. package/dist/lib/Framework/Database/Decorator/AutoIncrement.js +11 -11
  16. package/dist/lib/Framework/Database/Decorator/DBCache.js +64 -64
  17. package/dist/lib/Framework/Database/Decorator/NotNull.js +11 -11
  18. package/dist/lib/Framework/Database/Decorator/PrimaryKey.js +11 -11
  19. package/dist/lib/Framework/Database/Decorator/Property.js +61 -61
  20. package/dist/lib/Framework/Database/Decorator/Table.js +15 -15
  21. package/dist/lib/Framework/Database/Decorator/Type.js +20 -20
  22. package/dist/lib/Framework/Database/MSSqlManager.js +53 -43
  23. package/dist/lib/Framework/Database/MongoBaseService.js +117 -117
  24. package/dist/lib/Framework/Database/MongoManager.js +462 -462
  25. package/dist/lib/Framework/Database/MysqlBaseService.js +281 -281
  26. package/dist/lib/Framework/Database/MysqlManager.js +179 -180
  27. package/dist/lib/Framework/Database/RedisManager.js +61 -53
  28. package/dist/lib/Framework/Decorator/AdminValidate.js +19 -19
  29. package/dist/lib/Framework/Decorator/AuthorityValidate.js +22 -22
  30. package/dist/lib/Framework/Decorator/CreatorValidate.js +19 -19
  31. package/dist/lib/Framework/Decorator/JsonAdminValidate.js +15 -15
  32. package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +20 -20
  33. package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +19 -19
  34. package/dist/lib/Framework/Decorator/SyncCall.js +42 -42
  35. package/dist/lib/Framework/Decorator/SyncCallServer.js +77 -77
  36. package/dist/lib/Framework/Logic/CacheTool.js +73 -73
  37. package/dist/lib/Framework/Logic/EventTool.js +27 -27
  38. package/dist/lib/Framework/Logic/HttpTool.js +75 -75
  39. package/dist/lib/Framework/Logic/Log.js +140 -140
  40. package/dist/lib/Framework/Logic/SyncQueueTool.js +43 -43
  41. package/dist/lib/Framework/Service/MongoAccountService.js +367 -367
  42. package/dist/lib/Framework/Service/MongoCacheService.js +42 -42
  43. package/dist/lib/Framework/Service/MongoUserService.js +100 -100
  44. package/dist/lib/Framework/Service/MysqlAccountService.js +441 -441
  45. package/dist/lib/Framework/Service/MysqlUserService.js +171 -171
  46. package/dist/lib/Framework/Service/ini.js +36 -36
  47. package/dist/lib/Framework/SocketServer/IClientWebSocket.js +44 -44
  48. package/dist/lib/Framework/SocketServer/IRpc.js +12 -12
  49. package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +63 -63
  50. package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +63 -63
  51. package/dist/lib/Framework/SocketServer/IServerWebSocket.js +75 -75
  52. package/dist/lib/Framework/SocketServer/ISocketServer.js +205 -202
  53. package/dist/lib/Framework/SocketServer/IWebSocket.js +195 -195
  54. package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +57 -57
  55. package/dist/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js +8 -8
  56. package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +29 -29
  57. package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +31 -31
  58. package/dist/lib/Framework/ThirdParty/AlipayTool.js +203 -203
  59. package/dist/lib/Framework/ThirdParty/Alisms.js +46 -46
  60. package/dist/lib/Framework/ThirdParty/AppleTool.js +234 -234
  61. package/dist/lib/Framework/ThirdParty/CgMq.js +132 -132
  62. package/dist/lib/Framework/ThirdParty/EmailTool.js +33 -33
  63. package/dist/lib/Framework/ThirdParty/OpenSocial.js +32 -32
  64. package/dist/lib/Framework/ThirdParty/QQTool.js +118 -118
  65. package/dist/lib/Framework/ThirdParty/QiniuTool.js +21 -21
  66. package/dist/lib/Framework/ThirdParty/Rpc.js +63 -63
  67. package/dist/lib/Framework/ThirdParty/WechatOATool.js +61 -61
  68. package/dist/lib/Framework/ThirdParty/WechatTool.js +74 -74
  69. package/dist/lib/Framework/WebServer/Controller/BaseController.js +112 -112
  70. package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +169 -169
  71. package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +169 -169
  72. package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +112 -112
  73. package/dist/lib/Framework/WebServer/Engine/Engine.js +152 -152
  74. package/dist/lib/Framework/WebServer/Engine/RazorJs.js +544 -544
  75. package/dist/lib/Framework/WebServer/Engine/Request.js +237 -237
  76. package/dist/lib/Framework/WebServer/Engine/Response.js +100 -100
  77. package/dist/lib/Framework/WebServer/IWebServer.js +59 -54
  78. package/dist/lib/Framework/cgserver.js +121 -111
  79. package/dist/lib/Framework/index.js +201 -191
  80. package/dist/lib/test/test.js +21 -21
  81. package/dist/types/Framework/AI/AiObject.d.ts +5 -5
  82. package/dist/types/Framework/AI/Astar.d.ts +38 -38
  83. package/dist/types/Framework/AI/BehaviorAI.d.ts +24 -24
  84. package/dist/types/Framework/AI/Entity.d.ts +12 -12
  85. package/dist/types/Framework/AI/Point.d.ts +17 -17
  86. package/dist/types/Framework/AI/TriggerMgr.d.ts +52 -52
  87. package/dist/types/Framework/Config/Config.d.ts +12 -12
  88. package/dist/types/Framework/Config/DbConfig.d.ts +10 -0
  89. package/dist/types/Framework/Config/FrameworkConfig.d.ts +203 -228
  90. package/dist/types/Framework/Config/IServerConfig.d.ts +9 -9
  91. package/dist/types/Framework/Config/_error_.d.ts +99 -99
  92. package/dist/types/Framework/Core/Core.d.ts +108 -108
  93. package/dist/types/Framework/Core/Timer.d.ts +16 -16
  94. package/dist/types/Framework/Database/Decorator/AutoIncrement.d.ts +1 -1
  95. package/dist/types/Framework/Database/Decorator/DBCache.d.ts +23 -23
  96. package/dist/types/Framework/Database/Decorator/NotNull.d.ts +1 -1
  97. package/dist/types/Framework/Database/Decorator/PrimaryKey.d.ts +1 -1
  98. package/dist/types/Framework/Database/Decorator/Property.d.ts +57 -57
  99. package/dist/types/Framework/Database/Decorator/Table.d.ts +1 -1
  100. package/dist/types/Framework/Database/Decorator/Type.d.ts +1 -1
  101. package/dist/types/Framework/Database/MSSqlManager.d.ts +27 -17
  102. package/dist/types/Framework/Database/MongoBaseService.d.ts +81 -81
  103. package/dist/types/Framework/Database/MongoManager.d.ts +156 -156
  104. package/dist/types/Framework/Database/MysqlBaseService.d.ts +34 -34
  105. package/dist/types/Framework/Database/MysqlManager.d.ts +53 -41
  106. package/dist/types/Framework/Database/RedisManager.d.ts +24 -17
  107. package/dist/types/Framework/Decorator/AdminValidate.d.ts +1 -1
  108. package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +2 -2
  109. package/dist/types/Framework/Decorator/CreatorValidate.d.ts +1 -1
  110. package/dist/types/Framework/Decorator/JsonAdminValidate.d.ts +1 -1
  111. package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +2 -2
  112. package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +1 -1
  113. package/dist/types/Framework/Decorator/SyncCall.d.ts +12 -12
  114. package/dist/types/Framework/Decorator/SyncCallServer.d.ts +14 -14
  115. package/dist/types/Framework/Logic/CacheTool.d.ts +27 -27
  116. package/dist/types/Framework/Logic/EventTool.d.ts +13 -13
  117. package/dist/types/Framework/Logic/HttpTool.d.ts +15 -15
  118. package/dist/types/Framework/Logic/Log.d.ts +25 -25
  119. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +21 -21
  120. package/dist/types/Framework/Service/MongoAccountService.d.ts +69 -69
  121. package/dist/types/Framework/Service/MongoCacheService.d.ts +14 -14
  122. package/dist/types/Framework/Service/MongoUserService.d.ts +35 -35
  123. package/dist/types/Framework/Service/MysqlAccountService.d.ts +74 -74
  124. package/dist/types/Framework/Service/MysqlUserService.d.ts +33 -33
  125. package/dist/types/Framework/Service/ini.d.ts +29 -29
  126. package/dist/types/Framework/SocketServer/IClientWebSocket.d.ts +17 -17
  127. package/dist/types/Framework/SocketServer/IRpc.d.ts +8 -8
  128. package/dist/types/Framework/SocketServer/IRpcClientWebSocket.d.ts +16 -16
  129. package/dist/types/Framework/SocketServer/IRpcServerWebSocket.d.ts +16 -16
  130. package/dist/types/Framework/SocketServer/IServerWebSocket.d.ts +28 -28
  131. package/dist/types/Framework/SocketServer/ISocketServer.d.ts +45 -45
  132. package/dist/types/Framework/SocketServer/IWebSocket.d.ts +60 -60
  133. package/dist/types/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.d.ts +9 -9
  134. package/dist/types/Framework/SocketServer/ProtoFilter/IProtoFilter.d.ts +9 -9
  135. package/dist/types/Framework/SocketServer/ProtoFilter/JsonProtoFilter.d.ts +6 -6
  136. package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +8 -8
  137. package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +109 -109
  138. package/dist/types/Framework/ThirdParty/Alisms.d.ts +14 -14
  139. package/dist/types/Framework/ThirdParty/AppleTool.d.ts +131 -131
  140. package/dist/types/Framework/ThirdParty/CgMq.d.ts +51 -51
  141. package/dist/types/Framework/ThirdParty/EmailTool.d.ts +5 -5
  142. package/dist/types/Framework/ThirdParty/OpenSocial.d.ts +7 -7
  143. package/dist/types/Framework/ThirdParty/QQTool.d.ts +41 -41
  144. package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +6 -6
  145. package/dist/types/Framework/ThirdParty/Rpc.d.ts +20 -20
  146. package/dist/types/Framework/ThirdParty/WechatOATool.d.ts +13 -13
  147. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +20 -20
  148. package/dist/types/Framework/WebServer/Controller/BaseController.d.ts +33 -33
  149. package/dist/types/Framework/WebServer/Controller/MongoBaseUserController.d.ts +27 -27
  150. package/dist/types/Framework/WebServer/Controller/MysqlBaseUserController.d.ts +27 -27
  151. package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +35 -35
  152. package/dist/types/Framework/WebServer/Engine/Engine.d.ts +21 -21
  153. package/dist/types/Framework/WebServer/Engine/RazorJs.d.ts +21 -21
  154. package/dist/types/Framework/WebServer/Engine/Request.d.ts +35 -35
  155. package/dist/types/Framework/WebServer/Engine/Response.d.ts +30 -30
  156. package/dist/types/Framework/WebServer/IWebServer.d.ts +20 -20
  157. package/dist/types/Framework/cgserver.d.ts +27 -25
  158. package/dist/types/Framework/index.d.ts +91 -86
  159. package/dist/types/test/test.d.ts +1 -1
  160. package/package.json +29 -32
@@ -1,21 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GQiniuTool = void 0;
4
- const qiniu = require("qiniu");
5
- const IServerConfig_1 = require("../Config/IServerConfig");
6
- exports.GQiniuTool = null;
7
- class QiniuTool {
8
- get host() {
9
- return IServerConfig_1.GServerCfg.third_cfg.qiniu.host;
10
- }
11
- getUploadToken(filename) {
12
- let mac = new qiniu.auth.digest.Mac(IServerConfig_1.GServerCfg.third_cfg.qiniu.accessKey, IServerConfig_1.GServerCfg.third_cfg.qiniu.secretKey);
13
- let options = {
14
- scope: IServerConfig_1.GServerCfg.third_cfg.qiniu.bucket + ":" + filename,
15
- };
16
- let putPolicy = new qiniu.rs.PutPolicy(options);
17
- let uploadToken = putPolicy.uploadToken(mac);
18
- return uploadToken;
19
- }
20
- }
21
- exports.GQiniuTool = new QiniuTool();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GQiniuTool = void 0;
4
+ const qiniu = require("qiniu");
5
+ const IServerConfig_1 = require("../Config/IServerConfig");
6
+ exports.GQiniuTool = null;
7
+ class QiniuTool {
8
+ get host() {
9
+ return IServerConfig_1.GServerCfg.third_cfg.qiniu.host;
10
+ }
11
+ getUploadToken(filename) {
12
+ let mac = new qiniu.auth.digest.Mac(IServerConfig_1.GServerCfg.third_cfg.qiniu.accessKey, IServerConfig_1.GServerCfg.third_cfg.qiniu.secretKey);
13
+ let options = {
14
+ scope: IServerConfig_1.GServerCfg.third_cfg.qiniu.bucket + ":" + filename,
15
+ };
16
+ let putPolicy = new qiniu.rs.PutPolicy(options);
17
+ let uploadToken = putPolicy.uploadToken(mac);
18
+ return uploadToken;
19
+ }
20
+ }
21
+ exports.GQiniuTool = new QiniuTool();
@@ -1,63 +1,63 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Rpc = exports.RpcConfig = void 0;
4
- const Core_1 = require("../Core/Core");
5
- const Log_1 = require("../Logic/Log");
6
- const CgMq_1 = require("./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_identity = "";
17
- constructor(identity, cgmq) {
18
- this._to_identity = identity;
19
- this._cgmq = cgmq;
20
- }
21
- async call(func_name, ...args) {
22
- this._retmsg = await this._cgmq.callRemote(this._to_identity, func_name, ...args);
23
- if (!this._retmsg.data) {
24
- return;
25
- }
26
- let datas = this._retmsg.data;
27
- if (datas.length == 1) {
28
- return datas[0];
29
- }
30
- return datas;
31
- }
32
- }
33
- class RpcConfig extends CgMq_1.CgMqConfig {
34
- }
35
- exports.RpcConfig = RpcConfig;
36
- class Rpc {
37
- _cgmq = null;
38
- get cgmq() {
39
- return this._cgmq;
40
- }
41
- async init(cfg) {
42
- this._cgmq = new CgMq_1.CgMq();
43
- let ret = await this._cgmq.init(cfg, this.onMsg.bind(this));
44
- return ret;
45
- }
46
- getRemote(identity) {
47
- return new Remote(identity, this._cgmq);
48
- }
49
- async onMsg(msg) {
50
- if (!msg || !msg.data || !msg.data.cmd) {
51
- return;
52
- }
53
- let cmd = msg.data.cmd;
54
- let func = this[cmd];
55
- if (!func) {
56
- Log_1.GLog.error({ des: "rpc no cmd", msg });
57
- return;
58
- }
59
- let data = await Core_1.core.safeCall(func, this, ...msg.data?.args, msg);
60
- return data;
61
- }
62
- }
63
- exports.Rpc = Rpc;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Rpc = exports.RpcConfig = void 0;
4
+ const Core_1 = require("../Core/Core");
5
+ const Log_1 = require("../Logic/Log");
6
+ const CgMq_1 = require("./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_identity = "";
17
+ constructor(identity, cgmq) {
18
+ this._to_identity = identity;
19
+ this._cgmq = cgmq;
20
+ }
21
+ async call(func_name, ...args) {
22
+ this._retmsg = await this._cgmq.callRemote(this._to_identity, func_name, ...args);
23
+ if (!this._retmsg.data) {
24
+ return;
25
+ }
26
+ let datas = this._retmsg.data;
27
+ if (datas.length == 1) {
28
+ return datas[0];
29
+ }
30
+ return datas;
31
+ }
32
+ }
33
+ class RpcConfig extends CgMq_1.CgMqConfig {
34
+ }
35
+ exports.RpcConfig = RpcConfig;
36
+ class Rpc {
37
+ _cgmq = null;
38
+ get cgmq() {
39
+ return this._cgmq;
40
+ }
41
+ async init(cfg) {
42
+ this._cgmq = new CgMq_1.CgMq();
43
+ let ret = await this._cgmq.init(cfg, this.onMsg.bind(this));
44
+ return ret;
45
+ }
46
+ getRemote(identity) {
47
+ return new Remote(identity, this._cgmq);
48
+ }
49
+ async onMsg(msg) {
50
+ if (!msg || !msg.data || !msg.data.cmd) {
51
+ return;
52
+ }
53
+ let cmd = msg.data.cmd;
54
+ let func = this[cmd];
55
+ if (!func) {
56
+ Log_1.GLog.error({ des: "rpc no cmd", msg });
57
+ return;
58
+ }
59
+ let data = await Core_1.core.safeCall(func, this, ...msg.data?.args, msg);
60
+ return data;
61
+ }
62
+ }
63
+ exports.Rpc = Rpc;
@@ -1,61 +1,61 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WechatOATool = exports.GWechatOATool = exports.WechatOAMsg = void 0;
4
- //OA=offical account公众号
5
- class WechatOAMsg {
6
- // <xml>
7
- // <ToUserName><![CDATA[toUser]]></ToUserName>
8
- // <FromUserName><![CDATA[fromUser]]></FromUserName>
9
- // <CreateTime>1348831860</CreateTime>
10
- // <MsgType><![CDATA[text]]></MsgType>
11
- // <Content><![CDATA[this is a test]]></Content>
12
- // <MsgId>1234567890123456</MsgId>
13
- // </xml>
14
- toUserName = "";
15
- fromUserName = ""; //其实是一个userid
16
- createTime = -1;
17
- msgType = ""; //text文本
18
- content = "";
19
- msgId = -1; //只有收到消息才会有
20
- }
21
- exports.WechatOAMsg = WechatOAMsg;
22
- exports.GWechatOATool = null;
23
- class WechatOATool {
24
- convertMsg(xmlStr) {
25
- if (!xmlStr) {
26
- return null;
27
- }
28
- let msg = new WechatOAMsg();
29
- let pre = "<ToUserName><![CDATA[";
30
- xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
31
- msg.toUserName = xmlStr.substr(0, xmlStr.indexOf("]"));
32
- pre = "<FromUserName><![CDATA[";
33
- xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
34
- msg.fromUserName = xmlStr.substr(0, xmlStr.indexOf("]"));
35
- pre = "<CreateTime>";
36
- xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
37
- msg.createTime = parseInt(xmlStr.substr(0, xmlStr.indexOf("<")));
38
- pre = "<MsgType><![CDATA[";
39
- xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
40
- msg.msgType = xmlStr.substr(0, xmlStr.indexOf("]"));
41
- pre = "<Content><![CDATA[";
42
- xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
43
- msg.content = xmlStr.substr(0, xmlStr.indexOf("]"));
44
- pre = "<MsgId>";
45
- xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
46
- msg.msgId = parseInt(xmlStr.substr(0, xmlStr.indexOf("<")));
47
- return msg;
48
- }
49
- toReplyXmlStr(msg) {
50
- let xmlStr = "<xml>";
51
- xmlStr += "<ToUserName><![CDATA[" + msg.toUserName + "]]></ToUserName>";
52
- xmlStr += "<FromUserName><![CDATA[" + msg.fromUserName + "]]></FromUserName>";
53
- xmlStr += "<CreateTime>" + msg.createTime + "</CreateTime>";
54
- xmlStr += "<MsgType><![CDATA[" + msg.msgType + "]]></MsgType>";
55
- xmlStr += "<Content><![CDATA[" + msg.content + "]]></Content>";
56
- xmlStr += "</xml>";
57
- return xmlStr;
58
- }
59
- }
60
- exports.WechatOATool = WechatOATool;
61
- exports.GWechatOATool = new WechatOATool();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WechatOATool = exports.GWechatOATool = exports.WechatOAMsg = void 0;
4
+ //OA=offical account公众号
5
+ class WechatOAMsg {
6
+ // <xml>
7
+ // <ToUserName><![CDATA[toUser]]></ToUserName>
8
+ // <FromUserName><![CDATA[fromUser]]></FromUserName>
9
+ // <CreateTime>1348831860</CreateTime>
10
+ // <MsgType><![CDATA[text]]></MsgType>
11
+ // <Content><![CDATA[this is a test]]></Content>
12
+ // <MsgId>1234567890123456</MsgId>
13
+ // </xml>
14
+ toUserName = "";
15
+ fromUserName = ""; //其实是一个userid
16
+ createTime = -1;
17
+ msgType = ""; //text文本
18
+ content = "";
19
+ msgId = -1; //只有收到消息才会有
20
+ }
21
+ exports.WechatOAMsg = WechatOAMsg;
22
+ exports.GWechatOATool = null;
23
+ class WechatOATool {
24
+ convertMsg(xmlStr) {
25
+ if (!xmlStr) {
26
+ return null;
27
+ }
28
+ let msg = new WechatOAMsg();
29
+ let pre = "<ToUserName><![CDATA[";
30
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
31
+ msg.toUserName = xmlStr.substr(0, xmlStr.indexOf("]"));
32
+ pre = "<FromUserName><![CDATA[";
33
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
34
+ msg.fromUserName = xmlStr.substr(0, xmlStr.indexOf("]"));
35
+ pre = "<CreateTime>";
36
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
37
+ msg.createTime = parseInt(xmlStr.substr(0, xmlStr.indexOf("<")));
38
+ pre = "<MsgType><![CDATA[";
39
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
40
+ msg.msgType = xmlStr.substr(0, xmlStr.indexOf("]"));
41
+ pre = "<Content><![CDATA[";
42
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
43
+ msg.content = xmlStr.substr(0, xmlStr.indexOf("]"));
44
+ pre = "<MsgId>";
45
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
46
+ msg.msgId = parseInt(xmlStr.substr(0, xmlStr.indexOf("<")));
47
+ return msg;
48
+ }
49
+ toReplyXmlStr(msg) {
50
+ let xmlStr = "<xml>";
51
+ xmlStr += "<ToUserName><![CDATA[" + msg.toUserName + "]]></ToUserName>";
52
+ xmlStr += "<FromUserName><![CDATA[" + msg.fromUserName + "]]></FromUserName>";
53
+ xmlStr += "<CreateTime>" + msg.createTime + "</CreateTime>";
54
+ xmlStr += "<MsgType><![CDATA[" + msg.msgType + "]]></MsgType>";
55
+ xmlStr += "<Content><![CDATA[" + msg.content + "]]></Content>";
56
+ xmlStr += "</xml>";
57
+ return xmlStr;
58
+ }
59
+ }
60
+ exports.WechatOATool = WechatOATool;
61
+ exports.GWechatOATool = new WechatOATool();
@@ -1,74 +1,74 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WechatTool = exports.GWechatTool = exports.WechatUserInfo = void 0;
4
- const _ = require("underscore");
5
- const URLEncode = require("urlencode");
6
- const IServerConfig_1 = require("../Config/IServerConfig");
7
- const HttpTool_1 = require("../Logic/HttpTool");
8
- const Log_1 = require("../Logic/Log");
9
- class WechatUserInfo {
10
- openid = "OPENID";
11
- nickname = "NICKNAME";
12
- sex = 1;
13
- province = "PROVINCE";
14
- city = "CITY";
15
- country = "COUNTRY";
16
- headimgurl = "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0";
17
- privilege = [
18
- "PRIVILEGE1",
19
- "PRIVILEGE2"
20
- ];
21
- unionid = "o6_bmasdasdsad6_2sgVt7hMZOPfL";
22
- }
23
- exports.WechatUserInfo = WechatUserInfo;
24
- exports.GWechatTool = null;
25
- class WechatTool {
26
- /**
27
- * 获取获取code的url
28
- */
29
- getAuthCodeUrl() {
30
- let appid = "wx80f0f10fe1304e9d";
31
- let url = "https://open.weixin.qq.com/connect/qrconnect?appid=" + IServerConfig_1.GServerCfg.third_cfg.wechat.app_id;
32
- url += "&redirect_uri=" + URLEncode.encode(IServerConfig_1.GServerCfg.third_cfg.wechat.redirect_uri);
33
- url += "&response_type=code&scope=snsapi_login";
34
- //必须 client端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。
35
- let state = _.random(1000000, 9999999);
36
- url += "&state=" + state;
37
- return url;
38
- }
39
- async getAccessInfo(auth_code) {
40
- if (!auth_code) {
41
- return null;
42
- }
43
- let url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + IServerConfig_1.GServerCfg.third_cfg.wechat.app_id + "&secret=" + IServerConfig_1.GServerCfg.third_cfg.wechat.app_key + "&code=" + auth_code + "&grant_type=authorization_code";
44
- let rs = await HttpTool_1.GHttpTool.get(url);
45
- /*
46
- {
47
- "access_token":"ACCESS_TOKEN",
48
- "expires_in":7200,
49
- "refresh_token":"REFRESH_TOKEN",
50
- "openid":"OPENID",
51
- "scope":"SCOPE",
52
- "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
53
- }
54
- {"errcode":40029,"errmsg":"invalid code"}
55
- */
56
- if (rs.body && rs.body.access_token) {
57
- return rs.body;
58
- }
59
- else {
60
- Log_1.GLog.error(rs.body);
61
- }
62
- return null;
63
- }
64
- async getUserInfo(access_token, openid) {
65
- let url = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid;
66
- let rs = await HttpTool_1.GHttpTool.get(url);
67
- if (rs.body) {
68
- return rs.body;
69
- }
70
- return null;
71
- }
72
- }
73
- exports.WechatTool = WechatTool;
74
- exports.GWechatTool = new WechatTool();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WechatTool = exports.GWechatTool = exports.WechatUserInfo = void 0;
4
+ const _ = require("underscore");
5
+ const URLEncode = require("urlencode");
6
+ const IServerConfig_1 = require("../Config/IServerConfig");
7
+ const HttpTool_1 = require("../Logic/HttpTool");
8
+ const Log_1 = require("../Logic/Log");
9
+ class WechatUserInfo {
10
+ openid = "OPENID";
11
+ nickname = "NICKNAME";
12
+ sex = 1;
13
+ province = "PROVINCE";
14
+ city = "CITY";
15
+ country = "COUNTRY";
16
+ headimgurl = "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0";
17
+ privilege = [
18
+ "PRIVILEGE1",
19
+ "PRIVILEGE2"
20
+ ];
21
+ unionid = "o6_bmasdasdsad6_2sgVt7hMZOPfL";
22
+ }
23
+ exports.WechatUserInfo = WechatUserInfo;
24
+ exports.GWechatTool = null;
25
+ class WechatTool {
26
+ /**
27
+ * 获取获取code的url
28
+ */
29
+ getAuthCodeUrl() {
30
+ let appid = "wx80f0f10fe1304e9d";
31
+ let url = "https://open.weixin.qq.com/connect/qrconnect?appid=" + IServerConfig_1.GServerCfg.third_cfg.wechat.app_id;
32
+ url += "&redirect_uri=" + URLEncode.encode(IServerConfig_1.GServerCfg.third_cfg.wechat.redirect_uri);
33
+ url += "&response_type=code&scope=snsapi_login";
34
+ //必须 client端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。
35
+ let state = _.random(1000000, 9999999);
36
+ url += "&state=" + state;
37
+ return url;
38
+ }
39
+ async getAccessInfo(auth_code) {
40
+ if (!auth_code) {
41
+ return null;
42
+ }
43
+ let url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + IServerConfig_1.GServerCfg.third_cfg.wechat.app_id + "&secret=" + IServerConfig_1.GServerCfg.third_cfg.wechat.app_key + "&code=" + auth_code + "&grant_type=authorization_code";
44
+ let rs = await HttpTool_1.GHttpTool.get(url);
45
+ /*
46
+ {
47
+ "access_token":"ACCESS_TOKEN",
48
+ "expires_in":7200,
49
+ "refresh_token":"REFRESH_TOKEN",
50
+ "openid":"OPENID",
51
+ "scope":"SCOPE",
52
+ "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
53
+ }
54
+ {"errcode":40029,"errmsg":"invalid code"}
55
+ */
56
+ if (rs.body && rs.body.access_token) {
57
+ return rs.body;
58
+ }
59
+ else {
60
+ Log_1.GLog.error(rs.body);
61
+ }
62
+ return null;
63
+ }
64
+ async getUserInfo(access_token, openid) {
65
+ let url = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid;
66
+ let rs = await HttpTool_1.GHttpTool.get(url);
67
+ if (rs.body) {
68
+ return rs.body;
69
+ }
70
+ return null;
71
+ }
72
+ }
73
+ exports.WechatTool = WechatTool;
74
+ exports.GWechatTool = new WechatTool();
@@ -1,112 +1,112 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseController = void 0;
4
- class BaseController {
5
- _request = null;
6
- get request() {
7
- return this._request;
8
- }
9
- _response = null;
10
- get response() {
11
- return this._response;
12
- }
13
- //模块名称
14
- _module = "";
15
- _ctr_name = "";
16
- get ctrName() {
17
- return this._ctr_name;
18
- }
19
- _engine = null;
20
- get postData() {
21
- if (!this._request) {
22
- return {};
23
- }
24
- return this._request.postData || {};
25
- }
26
- get paramData() {
27
- if (!this._request) {
28
- return {};
29
- }
30
- return this._request.params || {};
31
- }
32
- constructor(req, res, engine) {
33
- this._engine = engine;
34
- this._request = req;
35
- this._response = res;
36
- //静态控制器,传过来全是空
37
- if (this._request) {
38
- this._request.debugInfo();
39
- }
40
- }
41
- async init() {
42
- }
43
- /**
44
- * 方便static ctr使用
45
- * @param req
46
- * @param res
47
- * @param engine
48
- */
49
- initStatic(req, res, engine) {
50
- this._engine = engine;
51
- this._request = req;
52
- this._response = res;
53
- this._request.debugInfo();
54
- }
55
- //填充每个页面需要的通用数据
56
- _init_data(model) {
57
- model = model || {};
58
- model.webName = this._engine.cfg.web_name;
59
- return { model };
60
- }
61
- showJson(model) {
62
- this._response.renderJson(model, this._request.headers.origin);
63
- }
64
- show(model) {
65
- let html = this._engine.getRenderHtml(this._request, this._response, this._init_data(model));
66
- this._response.renderHtml(html);
67
- }
68
- showText(text, noMeta) {
69
- if (!noMeta) {
70
- text = "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />" + text;
71
- }
72
- this._response.renderHtml(text);
73
- }
74
- redirect(module, controller, action, params) {
75
- module = module || this._module;
76
- controller = controller || this._ctr_name;
77
- let url = this.parseFullUrl(module, controller, action);
78
- params = params || {};
79
- let str_p = "";
80
- for (let key in params) {
81
- str_p += "&" + key + "=" + params[key];
82
- }
83
- if (str_p.length > 0) {
84
- str_p = "?" + str_p.substring(1);
85
- }
86
- url += str_p;
87
- this._response.redirect(url);
88
- }
89
- parseFullUrl(module, controller, action) {
90
- if (typeof action === "undefined" || !action) {
91
- action = "index";
92
- if (this._engine.cfg.routs.defaults.action == action) {
93
- action = null;
94
- }
95
- }
96
- let url = "";
97
- if (this._engine.cfg.routs.onlyModule) {
98
- url = this._request.root + "/" + controller;
99
- }
100
- else {
101
- url = this._request.root + "/" + module + "/" + controller;
102
- }
103
- if (action) {
104
- url += "/" + action;
105
- }
106
- return url;
107
- }
108
- get remoteHost() {
109
- return this._request.remoteHost;
110
- }
111
- }
112
- exports.BaseController = BaseController;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseController = void 0;
4
+ class BaseController {
5
+ _request = null;
6
+ get request() {
7
+ return this._request;
8
+ }
9
+ _response = null;
10
+ get response() {
11
+ return this._response;
12
+ }
13
+ //模块名称
14
+ _module = "";
15
+ _ctr_name = "";
16
+ get ctrName() {
17
+ return this._ctr_name;
18
+ }
19
+ _engine = null;
20
+ get postData() {
21
+ if (!this._request) {
22
+ return {};
23
+ }
24
+ return this._request.postData || {};
25
+ }
26
+ get paramData() {
27
+ if (!this._request) {
28
+ return {};
29
+ }
30
+ return this._request.params || {};
31
+ }
32
+ constructor(req, res, engine) {
33
+ this._engine = engine;
34
+ this._request = req;
35
+ this._response = res;
36
+ //静态控制器,传过来全是空
37
+ if (this._request) {
38
+ this._request.debugInfo();
39
+ }
40
+ }
41
+ async init() {
42
+ }
43
+ /**
44
+ * 方便static ctr使用
45
+ * @param req
46
+ * @param res
47
+ * @param engine
48
+ */
49
+ initStatic(req, res, engine) {
50
+ this._engine = engine;
51
+ this._request = req;
52
+ this._response = res;
53
+ this._request.debugInfo();
54
+ }
55
+ //填充每个页面需要的通用数据
56
+ _init_data(model) {
57
+ model = model || {};
58
+ model.webName = this._engine.cfg.web_name;
59
+ return { model };
60
+ }
61
+ showJson(model) {
62
+ this._response.renderJson(model, this._request.headers.origin);
63
+ }
64
+ show(model) {
65
+ let html = this._engine.getRenderHtml(this._request, this._response, this._init_data(model));
66
+ this._response.renderHtml(html);
67
+ }
68
+ showText(text, noMeta) {
69
+ if (!noMeta) {
70
+ text = "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />" + text;
71
+ }
72
+ this._response.renderHtml(text);
73
+ }
74
+ redirect(module, controller, action, params) {
75
+ module = module || this._module;
76
+ controller = controller || this._ctr_name;
77
+ let url = this.parseFullUrl(module, controller, action);
78
+ params = params || {};
79
+ let str_p = "";
80
+ for (let key in params) {
81
+ str_p += "&" + key + "=" + params[key];
82
+ }
83
+ if (str_p.length > 0) {
84
+ str_p = "?" + str_p.substring(1);
85
+ }
86
+ url += str_p;
87
+ this._response.redirect(url);
88
+ }
89
+ parseFullUrl(module, controller, action) {
90
+ if (typeof action === "undefined" || !action) {
91
+ action = "index";
92
+ if (this._engine.cfg.routs.defaults.action == action) {
93
+ action = null;
94
+ }
95
+ }
96
+ let url = "";
97
+ if (this._engine.cfg.routs.onlyModule) {
98
+ url = this._request.root + "/" + controller;
99
+ }
100
+ else {
101
+ url = this._request.root + "/" + module + "/" + controller;
102
+ }
103
+ if (action) {
104
+ url += "/" + action;
105
+ }
106
+ return url;
107
+ }
108
+ get remoteHost() {
109
+ return this._request.remoteHost;
110
+ }
111
+ }
112
+ exports.BaseController = BaseController;