cgserver 5.4.12 → 5.4.13

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 (199) hide show
  1. package/lib/Framework/AI/AiObject.d.ts +5 -0
  2. package/lib/Framework/AI/AiObject.js +11 -0
  3. package/lib/Framework/AI/AiObject.js.map +1 -0
  4. package/lib/Framework/AI/Astar.d.ts +38 -0
  5. package/lib/Framework/AI/Astar.js +134 -0
  6. package/lib/Framework/AI/Astar.js.map +1 -0
  7. package/lib/Framework/AI/BehaviorAI.d.ts +24 -0
  8. package/lib/Framework/AI/BehaviorAI.js +308 -0
  9. package/lib/Framework/AI/BehaviorAI.js.map +1 -0
  10. package/lib/Framework/AI/Entity.d.ts +12 -0
  11. package/lib/Framework/AI/Entity.js +34 -0
  12. package/lib/Framework/AI/Entity.js.map +1 -0
  13. package/lib/Framework/AI/Point.d.ts +17 -0
  14. package/lib/Framework/AI/Point.js +69 -0
  15. package/lib/Framework/AI/Point.js.map +1 -0
  16. package/lib/Framework/AI/TriggerMgr.d.ts +52 -0
  17. package/lib/Framework/AI/TriggerMgr.js +202 -0
  18. package/lib/Framework/AI/TriggerMgr.js.map +1 -0
  19. package/lib/Framework/Config/Config.d.ts +7 -0
  20. package/lib/Framework/Config/Config.js +38 -0
  21. package/lib/Framework/Config/Config.js.map +1 -0
  22. package/lib/Framework/Config/FrameworkConfig.d.ts +219 -0
  23. package/lib/Framework/Config/FrameworkConfig.js +225 -0
  24. package/lib/Framework/Config/FrameworkConfig.js.map +1 -0
  25. package/lib/Framework/Config/ServerConfig.d.ts +9 -0
  26. package/lib/Framework/Config/ServerConfig.js +19 -0
  27. package/lib/Framework/Config/ServerConfig.js.map +1 -0
  28. package/lib/Framework/Config/_error_.d.ts +95 -0
  29. package/lib/Framework/Config/_error_.js +35 -0
  30. package/lib/Framework/Config/_error_.js.map +1 -0
  31. package/lib/Framework/Core/Core.d.ts +101 -0
  32. package/lib/Framework/Core/Core.js +562 -0
  33. package/lib/Framework/Core/Core.js.map +1 -0
  34. package/lib/Framework/Core/Timer.d.ts +16 -0
  35. package/lib/Framework/Core/Timer.js +117 -0
  36. package/lib/Framework/Core/Timer.js.map +1 -0
  37. package/lib/Framework/Database/BaseMongoService.d.ts +67 -0
  38. package/lib/Framework/Database/BaseMongoService.js +80 -0
  39. package/lib/Framework/Database/BaseMongoService.js.map +1 -0
  40. package/lib/Framework/Database/BaseService.d.ts +34 -0
  41. package/lib/Framework/Database/BaseService.js +282 -0
  42. package/lib/Framework/Database/BaseService.js.map +1 -0
  43. package/lib/Framework/Database/Decorator/AutoIncrement.d.ts +1 -0
  44. package/lib/Framework/Database/Decorator/AutoIncrement.js +12 -0
  45. package/lib/Framework/Database/Decorator/AutoIncrement.js.map +1 -0
  46. package/lib/Framework/Database/Decorator/DBCache.d.ts +21 -0
  47. package/lib/Framework/Database/Decorator/DBCache.js +65 -0
  48. package/lib/Framework/Database/Decorator/DBCache.js.map +1 -0
  49. package/lib/Framework/Database/Decorator/NotNull.d.ts +1 -0
  50. package/lib/Framework/Database/Decorator/NotNull.js +12 -0
  51. package/lib/Framework/Database/Decorator/NotNull.js.map +1 -0
  52. package/lib/Framework/Database/Decorator/PrimaryKey.d.ts +1 -0
  53. package/lib/Framework/Database/Decorator/PrimaryKey.js +12 -0
  54. package/lib/Framework/Database/Decorator/PrimaryKey.js.map +1 -0
  55. package/lib/Framework/Database/Decorator/Property.d.ts +55 -0
  56. package/lib/Framework/Database/Decorator/Property.js +62 -0
  57. package/lib/Framework/Database/Decorator/Property.js.map +1 -0
  58. package/lib/Framework/Database/Decorator/Table.d.ts +1 -0
  59. package/lib/Framework/Database/Decorator/Table.js +16 -0
  60. package/lib/Framework/Database/Decorator/Table.js.map +1 -0
  61. package/lib/Framework/Database/Decorator/Type.d.ts +1 -0
  62. package/lib/Framework/Database/Decorator/Type.js +21 -0
  63. package/lib/Framework/Database/Decorator/Type.js.map +1 -0
  64. package/lib/Framework/Database/MongoManager.d.ts +135 -0
  65. package/lib/Framework/Database/MongoManager.js +407 -0
  66. package/lib/Framework/Database/MongoManager.js.map +1 -0
  67. package/lib/Framework/Database/MysqlManager.d.ts +41 -0
  68. package/lib/Framework/Database/MysqlManager.js +181 -0
  69. package/lib/Framework/Database/MysqlManager.js.map +1 -0
  70. package/lib/Framework/Database/RedisManager.d.ts +64 -0
  71. package/lib/Framework/Database/RedisManager.js +409 -0
  72. package/lib/Framework/Database/RedisManager.js.map +1 -0
  73. package/lib/Framework/Logic/CacheTool.d.ts +25 -0
  74. package/lib/Framework/Logic/CacheTool.js +74 -0
  75. package/lib/Framework/Logic/CacheTool.js.map +1 -0
  76. package/lib/Framework/Logic/HttpTool.d.ts +14 -0
  77. package/lib/Framework/Logic/HttpTool.js +59 -0
  78. package/lib/Framework/Logic/HttpTool.js.map +1 -0
  79. package/lib/Framework/Logic/Log.d.ts +15 -0
  80. package/lib/Framework/Logic/Log.js +78 -0
  81. package/lib/Framework/Logic/Log.js.map +1 -0
  82. package/lib/Framework/Service/AccountService.d.ts +77 -0
  83. package/lib/Framework/Service/AccountService.js +474 -0
  84. package/lib/Framework/Service/AccountService.js.map +1 -0
  85. package/lib/Framework/Service/MongoAccountService.d.ts +78 -0
  86. package/lib/Framework/Service/MongoAccountService.js +397 -0
  87. package/lib/Framework/Service/MongoAccountService.js.map +1 -0
  88. package/lib/Framework/Service/MongoCacheService.d.ts +13 -0
  89. package/lib/Framework/Service/MongoCacheService.js +28 -0
  90. package/lib/Framework/Service/MongoCacheService.js.map +1 -0
  91. package/lib/Framework/Service/MongoUserService.d.ts +36 -0
  92. package/lib/Framework/Service/MongoUserService.js +94 -0
  93. package/lib/Framework/Service/MongoUserService.js.map +1 -0
  94. package/lib/Framework/Service/UserService.d.ts +36 -0
  95. package/lib/Framework/Service/UserService.js +185 -0
  96. package/lib/Framework/Service/UserService.js.map +1 -0
  97. package/lib/Framework/Service/ini.d.ts +28 -0
  98. package/lib/Framework/Service/ini.js +36 -0
  99. package/lib/Framework/Service/ini.js.map +1 -0
  100. package/lib/Framework/SocketServer/IClientWebSocket.d.ts +24 -0
  101. package/lib/Framework/SocketServer/IClientWebSocket.js +72 -0
  102. package/lib/Framework/SocketServer/IClientWebSocket.js.map +1 -0
  103. package/lib/Framework/SocketServer/IServerWebSocket.d.ts +13 -0
  104. package/lib/Framework/SocketServer/IServerWebSocket.js +42 -0
  105. package/lib/Framework/SocketServer/IServerWebSocket.js.map +1 -0
  106. package/lib/Framework/SocketServer/ISocketServer.d.ts +36 -0
  107. package/lib/Framework/SocketServer/ISocketServer.js +189 -0
  108. package/lib/Framework/SocketServer/ISocketServer.js.map +1 -0
  109. package/lib/Framework/SocketServer/IWebSocket.d.ts +44 -0
  110. package/lib/Framework/SocketServer/IWebSocket.js +224 -0
  111. package/lib/Framework/SocketServer/IWebSocket.js.map +1 -0
  112. package/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.d.ts +9 -0
  113. package/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +58 -0
  114. package/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js.map +1 -0
  115. package/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.d.ts +9 -0
  116. package/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js +9 -0
  117. package/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js.map +1 -0
  118. package/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.d.ts +6 -0
  119. package/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +30 -0
  120. package/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js.map +1 -0
  121. package/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +8 -0
  122. package/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +32 -0
  123. package/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js.map +1 -0
  124. package/lib/Framework/ThirdParty/AlipayTool.d.ts +40 -0
  125. package/lib/Framework/ThirdParty/AlipayTool.js +123 -0
  126. package/lib/Framework/ThirdParty/AlipayTool.js.map +1 -0
  127. package/lib/Framework/ThirdParty/Alisms.d.ts +14 -0
  128. package/lib/Framework/ThirdParty/Alisms.js +47 -0
  129. package/lib/Framework/ThirdParty/Alisms.js.map +1 -0
  130. package/lib/Framework/ThirdParty/AppleTool.d.ts +131 -0
  131. package/lib/Framework/ThirdParty/AppleTool.js +235 -0
  132. package/lib/Framework/ThirdParty/AppleTool.js.map +1 -0
  133. package/lib/Framework/ThirdParty/EmailTool.d.ts +5 -0
  134. package/lib/Framework/ThirdParty/EmailTool.js +34 -0
  135. package/lib/Framework/ThirdParty/EmailTool.js.map +1 -0
  136. package/lib/Framework/ThirdParty/OpenSocial.d.ts +7 -0
  137. package/lib/Framework/ThirdParty/OpenSocial.js +33 -0
  138. package/lib/Framework/ThirdParty/OpenSocial.js.map +1 -0
  139. package/lib/Framework/ThirdParty/QQTool.d.ts +41 -0
  140. package/lib/Framework/ThirdParty/QQTool.js +116 -0
  141. package/lib/Framework/ThirdParty/QQTool.js.map +1 -0
  142. package/lib/Framework/ThirdParty/QiniuTool.d.ts +6 -0
  143. package/lib/Framework/ThirdParty/QiniuTool.js +22 -0
  144. package/lib/Framework/ThirdParty/QiniuTool.js.map +1 -0
  145. package/lib/Framework/ThirdParty/WechatOATool.d.ts +13 -0
  146. package/lib/Framework/ThirdParty/WechatOATool.js +62 -0
  147. package/lib/Framework/ThirdParty/WechatOATool.js.map +1 -0
  148. package/lib/Framework/ThirdParty/WechatTool.d.ts +20 -0
  149. package/lib/Framework/ThirdParty/WechatTool.js +75 -0
  150. package/lib/Framework/ThirdParty/WechatTool.js.map +1 -0
  151. package/lib/Framework/WebServer/Controller/BaseController.d.ts +33 -0
  152. package/lib/Framework/WebServer/Controller/BaseController.js +113 -0
  153. package/lib/Framework/WebServer/Controller/BaseController.js.map +1 -0
  154. package/lib/Framework/WebServer/Controller/BaseUserController.d.ts +26 -0
  155. package/lib/Framework/WebServer/Controller/BaseUserController.js +169 -0
  156. package/lib/Framework/WebServer/Controller/BaseUserController.js.map +1 -0
  157. package/lib/Framework/WebServer/Controller/MongoBaseUserController.d.ts +26 -0
  158. package/lib/Framework/WebServer/Controller/MongoBaseUserController.js +169 -0
  159. package/lib/Framework/WebServer/Controller/MongoBaseUserController.js.map +1 -0
  160. package/lib/Framework/WebServer/Decorator/AdminValidate.d.ts +1 -0
  161. package/lib/Framework/WebServer/Decorator/AdminValidate.js +20 -0
  162. package/lib/Framework/WebServer/Decorator/AdminValidate.js.map +1 -0
  163. package/lib/Framework/WebServer/Decorator/AuthorityValidate.d.ts +2 -0
  164. package/lib/Framework/WebServer/Decorator/AuthorityValidate.js +23 -0
  165. package/lib/Framework/WebServer/Decorator/AuthorityValidate.js.map +1 -0
  166. package/lib/Framework/WebServer/Decorator/CreatorValidate.d.ts +1 -0
  167. package/lib/Framework/WebServer/Decorator/CreatorValidate.js +20 -0
  168. package/lib/Framework/WebServer/Decorator/CreatorValidate.js.map +1 -0
  169. package/lib/Framework/WebServer/Decorator/JsonAdminValidate.d.ts +1 -0
  170. package/lib/Framework/WebServer/Decorator/JsonAdminValidate.js +16 -0
  171. package/lib/Framework/WebServer/Decorator/JsonAdminValidate.js.map +1 -0
  172. package/lib/Framework/WebServer/Decorator/JsonAuthorityValidate.d.ts +2 -0
  173. package/lib/Framework/WebServer/Decorator/JsonAuthorityValidate.js +21 -0
  174. package/lib/Framework/WebServer/Decorator/JsonAuthorityValidate.js.map +1 -0
  175. package/lib/Framework/WebServer/Decorator/JsonCreatorValidate.d.ts +1 -0
  176. package/lib/Framework/WebServer/Decorator/JsonCreatorValidate.js +20 -0
  177. package/lib/Framework/WebServer/Decorator/JsonCreatorValidate.js.map +1 -0
  178. package/lib/Framework/WebServer/Engine/ControllerManager.d.ts +21 -0
  179. package/lib/Framework/WebServer/Engine/ControllerManager.js +113 -0
  180. package/lib/Framework/WebServer/Engine/ControllerManager.js.map +1 -0
  181. package/lib/Framework/WebServer/Engine/Engine.d.ts +21 -0
  182. package/lib/Framework/WebServer/Engine/Engine.js +129 -0
  183. package/lib/Framework/WebServer/Engine/Engine.js.map +1 -0
  184. package/lib/Framework/WebServer/Engine/RazorJs.d.ts +21 -0
  185. package/lib/Framework/WebServer/Engine/RazorJs.js +545 -0
  186. package/lib/Framework/WebServer/Engine/RazorJs.js.map +1 -0
  187. package/lib/Framework/WebServer/Engine/Request.d.ts +35 -0
  188. package/lib/Framework/WebServer/Engine/Request.js +215 -0
  189. package/lib/Framework/WebServer/Engine/Request.js.map +1 -0
  190. package/lib/Framework/WebServer/Engine/Response.d.ts +28 -0
  191. package/lib/Framework/WebServer/Engine/Response.js +95 -0
  192. package/lib/Framework/WebServer/Engine/Response.js.map +1 -0
  193. package/lib/Framework/WebServer/IWebServer.d.ts +20 -0
  194. package/lib/Framework/WebServer/IWebServer.js +50 -0
  195. package/lib/Framework/WebServer/IWebServer.js.map +1 -0
  196. package/lib/index.d.ts +4 -0
  197. package/lib/index.js +8 -0
  198. package/lib/index.js.map +1 -0
  199. package/package.json +1 -1
@@ -0,0 +1,78 @@
1
+ import { BaseService } from '../Database/BaseMongoService';
2
+ import { MongoBaseModel } from '../Database/MongoManager';
3
+ import { EAccountFrom } from './ini';
4
+ import { UserModel } from './MongoUserService';
5
+ export declare class AccountModel extends MongoBaseModel {
6
+ id: number;
7
+ phone: string;
8
+ email: string;
9
+ name: string;
10
+ password: string;
11
+ unionid: string;
12
+ openid: string;
13
+ create_time: number;
14
+ create_ip: string;
15
+ login_time: number;
16
+ login_ip: string;
17
+ from: number;
18
+ state: number;
19
+ }
20
+ export declare let GAccountSer: AccountService;
21
+ export declare class AccountService extends BaseService<AccountModel> {
22
+ protected _account_cache_key_pre: string;
23
+ protected _account_cache_time_sec: number;
24
+ constructor();
25
+ protected _getNewModel(): AccountModel;
26
+ /**
27
+ * 注册新账号
28
+ * @param unionid
29
+ * @param openid
30
+ * @param ip
31
+ * @param from
32
+ */
33
+ add(unionid: string, openid: string, ip: string, from: EAccountFrom): Promise<AccountModel>;
34
+ /**
35
+ * 通过第三方信息获取账号
36
+ * @param unionid
37
+ * @param openid
38
+ */
39
+ getByThird(unionid: string, openid: string): Promise<AccountModel>;
40
+ /**
41
+ * 通过第三方信息获取账号
42
+ * @param unionid
43
+ */
44
+ getByUnionid(unionid: string): Promise<AccountModel>;
45
+ getByPhone(phone: string): Promise<AccountModel>;
46
+ /**
47
+ * 登陆接口
48
+ * @param unionid
49
+ * @param openid
50
+ * @param ip
51
+ * @param from
52
+ * @param access_token qq、wechat使用
53
+ */
54
+ login(unionid: string, openid: string, ip: string, from: EAccountFrom, access_token?: string, extra?: {
55
+ nickname: string;
56
+ sex: number;
57
+ logo: string;
58
+ }): Promise<{
59
+ errcode: any;
60
+ account: AccountModel;
61
+ is_new: boolean;
62
+ }>;
63
+ protected _login(unionid: string, openid: string, from: EAccountFrom): Promise<{
64
+ errcode: any;
65
+ account: AccountModel;
66
+ }>;
67
+ /**
68
+ * 修改密码
69
+ * @param unionid
70
+ * @param openid
71
+ * @param new_pwd
72
+ */
73
+ updatePwd(unionid: string, openid: string, new_pwd: string): Promise<any>;
74
+ register(type: EAccountFrom, key: string, password: string, ip: string, extra?: any): Promise<{
75
+ user: UserModel;
76
+ errcode: any;
77
+ }>;
78
+ }
@@ -0,0 +1,397 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccountService = exports.GAccountSer = exports.AccountModel = void 0;
4
+ const _error_1 = require("../Config/_error_");
5
+ const BaseMongoService_1 = require("../Database/BaseMongoService");
6
+ const MongoManager_1 = require("../Database/MongoManager");
7
+ const CacheTool_1 = require("../Logic/CacheTool");
8
+ const OpenSocial_1 = require("../ThirdParty/OpenSocial");
9
+ const QQTool_1 = require("../ThirdParty/QQTool");
10
+ const WechatTool_1 = require("../ThirdParty/WechatTool");
11
+ const ini_1 = require("./ini");
12
+ const MongoUserService_1 = require("./MongoUserService");
13
+ class AccountModel extends MongoManager_1.MongoBaseModel {
14
+ id = -1;
15
+ phone = "";
16
+ email = "";
17
+ name = "";
18
+ password = "";
19
+ unionid = ""; //第三方
20
+ openid = "";
21
+ create_time = -1;
22
+ create_ip = "";
23
+ login_time = -1;
24
+ login_ip = "";
25
+ from = 0;
26
+ state = 0;
27
+ }
28
+ exports.AccountModel = AccountModel;
29
+ //暂时不实例化,方便重写
30
+ exports.GAccountSer = null;
31
+ class AccountService extends BaseMongoService_1.BaseService {
32
+ _account_cache_key_pre = "table_account_";
33
+ _account_cache_time_sec = 1 * 60 * 60 * 1000;
34
+ constructor() {
35
+ super("account", AccountModel);
36
+ exports.GAccountSer = this;
37
+ }
38
+ _getNewModel() {
39
+ return new AccountModel();
40
+ }
41
+ /**
42
+ * 注册新账号
43
+ * @param unionid
44
+ * @param openid
45
+ * @param ip
46
+ * @param from
47
+ */
48
+ async add(unionid, openid, ip, from) {
49
+ let account = this._getNewModel();
50
+ switch (from) {
51
+ case ini_1.EAccountFrom.OpenSocial:
52
+ case ini_1.EAccountFrom.WeChat:
53
+ case ini_1.EAccountFrom.QQ:
54
+ case ini_1.EAccountFrom.Apple:
55
+ case ini_1.EAccountFrom.Google:
56
+ {
57
+ account.unionid = unionid;
58
+ account.openid = openid;
59
+ break;
60
+ }
61
+ case ini_1.EAccountFrom.Email:
62
+ {
63
+ account.email = unionid;
64
+ account.password = openid;
65
+ break;
66
+ }
67
+ case ini_1.EAccountFrom.Phone:
68
+ case ini_1.EAccountFrom.QuickPhone:
69
+ {
70
+ account.phone = unionid;
71
+ account.password = openid;
72
+ break;
73
+ }
74
+ case ini_1.EAccountFrom.Name:
75
+ case ini_1.EAccountFrom.Guest:
76
+ {
77
+ account.name = unionid;
78
+ account.password = openid;
79
+ break;
80
+ }
81
+ }
82
+ account.create_time = Date.now();
83
+ account.create_ip = ip;
84
+ account.login_time = Date.now();
85
+ account.login_ip = ip;
86
+ account.from = from;
87
+ account.state = 1;
88
+ account.id = await this.getNextId();
89
+ let sr = await this.insert(account);
90
+ if (sr.errcode) {
91
+ return null;
92
+ }
93
+ account._id = sr.rs.insertedId;
94
+ return account;
95
+ }
96
+ /**
97
+ * 通过第三方信息获取账号
98
+ * @param unionid
99
+ * @param openid
100
+ */
101
+ async getByThird(unionid, openid) {
102
+ let key = this._account_cache_key_pre + unionid;
103
+ let am = CacheTool_1.GCacheTool.get(key);
104
+ if (am) {
105
+ return am;
106
+ }
107
+ am = await this.get(null, { unionid: unionid, openid: openid });
108
+ if (am) {
109
+ CacheTool_1.GCacheTool.add(key, am, this._account_cache_time_sec);
110
+ }
111
+ return am;
112
+ }
113
+ /**
114
+ * 通过第三方信息获取账号
115
+ * @param unionid
116
+ */
117
+ async getByUnionid(unionid) {
118
+ let key = this._account_cache_key_pre + unionid;
119
+ let am = CacheTool_1.GCacheTool.get(key);
120
+ if (am) {
121
+ return am;
122
+ }
123
+ am = await this.get(null, { unionid: unionid });
124
+ if (am) {
125
+ CacheTool_1.GCacheTool.add(key, am, this._account_cache_time_sec);
126
+ }
127
+ return am;
128
+ }
129
+ async getByPhone(phone) {
130
+ let key = this._account_cache_key_pre + phone;
131
+ let am = CacheTool_1.GCacheTool.get(key);
132
+ if (am) {
133
+ return am;
134
+ }
135
+ am = await this.get(null, { phone: phone });
136
+ if (am) {
137
+ CacheTool_1.GCacheTool.add(key, am, this._account_cache_time_sec);
138
+ }
139
+ return am;
140
+ }
141
+ /**
142
+ * 登陆接口
143
+ * @param unionid
144
+ * @param openid
145
+ * @param ip
146
+ * @param from
147
+ * @param access_token qq、wechat使用
148
+ */
149
+ async login(unionid, openid, ip, from, access_token, extra) {
150
+ let rs = { errcode: null, account: null, is_new: false };
151
+ if (!unionid || !openid) {
152
+ rs.errcode = _error_1.EErrorCode.Wrong_Params;
153
+ return rs;
154
+ }
155
+ let login_rs = await this._login(unionid, openid, from);
156
+ rs.account = login_rs.account;
157
+ rs.errcode = login_rs.errcode;
158
+ if (rs.errcode) {
159
+ return rs;
160
+ }
161
+ let account = rs.account;
162
+ let extra_info = extra;
163
+ if (!account) {
164
+ switch (from) {
165
+ case ini_1.EAccountFrom.OpenSocial:
166
+ case ini_1.EAccountFrom.QQ:
167
+ case ini_1.EAccountFrom.WeChat:
168
+ case ini_1.EAccountFrom.Guest:
169
+ case ini_1.EAccountFrom.QuickPhone:
170
+ case ini_1.EAccountFrom.Apple:
171
+ case ini_1.EAccountFrom.Google:
172
+ {
173
+ account = await this.add(unionid, openid, ip, from);
174
+ break;
175
+ }
176
+ default:
177
+ {
178
+ rs.errcode = _error_1.EErrorCode.No_Account;
179
+ return rs;
180
+ }
181
+ }
182
+ }
183
+ if (!account) {
184
+ rs.errcode = _error_1.EErrorCode.No_Account;
185
+ return rs;
186
+ }
187
+ let user = await MongoUserService_1.GUserSer.getByAccountId(account.id);
188
+ if (!user) {
189
+ switch (from) {
190
+ case ini_1.EAccountFrom.OpenSocial:
191
+ case ini_1.EAccountFrom.QQ:
192
+ case ini_1.EAccountFrom.WeChat:
193
+ case ini_1.EAccountFrom.Apple:
194
+ case ini_1.EAccountFrom.Google:
195
+ {
196
+ if (!extra_info) {
197
+ if (from == ini_1.EAccountFrom.OpenSocial) {
198
+ let body = await OpenSocial_1.GOpenSocial.getUser(unionid, openid);
199
+ if (body && body.errcode) {
200
+ rs.errcode = body.errcode;
201
+ return rs;
202
+ }
203
+ else if (body && body.user) {
204
+ extra_info =
205
+ {
206
+ logo: body.user.logo,
207
+ sex: body.user.sex,
208
+ nickname: body.user.nickname
209
+ };
210
+ }
211
+ }
212
+ else if (from == ini_1.EAccountFrom.QQ) {
213
+ let userInfo = await QQTool_1.GQQTool.getUserInfo(access_token, openid);
214
+ if (userInfo.ret) {
215
+ rs.errcode = _error_1.EErrorCode.Server_Error;
216
+ return rs;
217
+ }
218
+ extra_info =
219
+ {
220
+ logo: userInfo.figureurl_qq,
221
+ sex: (userInfo.gender == "男" ? 1 : 0),
222
+ nickname: userInfo.nickname
223
+ };
224
+ }
225
+ else if (from == ini_1.EAccountFrom.WeChat) {
226
+ let userInfo = await WechatTool_1.GWechatTool.getUserInfo(access_token, openid);
227
+ if (userInfo.errcode) {
228
+ rs.errcode = _error_1.EErrorCode.Server_Error;
229
+ return rs;
230
+ }
231
+ extra_info =
232
+ {
233
+ logo: userInfo.headimgurl,
234
+ sex: (userInfo.sex == 1 ? 1 : 0),
235
+ nickname: userInfo.nickname
236
+ };
237
+ }
238
+ else if (from == ini_1.EAccountFrom.Apple || from == ini_1.EAccountFrom.Google) {
239
+ extra_info =
240
+ {
241
+ logo: "32",
242
+ sex: 0,
243
+ nickname: "noname"
244
+ };
245
+ }
246
+ }
247
+ let user = await MongoUserService_1.GUserSer.add(account.id, extra_info.nickname, extra_info.sex, extra_info.logo);
248
+ if (!user) {
249
+ this.deleteOne({ id: account.id });
250
+ rs.errcode = _error_1.EErrorCode.User_Create_Failed;
251
+ return rs;
252
+ }
253
+ break;
254
+ }
255
+ case ini_1.EAccountFrom.QuickPhone:
256
+ case ini_1.EAccountFrom.Guest:
257
+ {
258
+ let user = null;
259
+ if (extra_info) {
260
+ user = await MongoUserService_1.GUserSer.add(account.id, extra_info.nickname, extra_info.sex, extra_info.logo);
261
+ }
262
+ else {
263
+ user = await MongoUserService_1.GUserSer.add(account.id, null, null, null);
264
+ }
265
+ if (!user) {
266
+ this.deleteOne({ id: account.id });
267
+ rs.errcode = _error_1.EErrorCode.User_Create_Failed;
268
+ return rs;
269
+ }
270
+ break;
271
+ }
272
+ default:
273
+ {
274
+ rs.errcode = _error_1.EErrorCode.No_Account;
275
+ return rs;
276
+ }
277
+ }
278
+ rs.is_new = true;
279
+ if (extra) {
280
+ await MongoUserService_1.GUserSer.updateBaseInfoByAccount(account.id, extra_info.nickname, extra_info.sex, extra_info.logo);
281
+ }
282
+ }
283
+ rs.account = account;
284
+ return rs;
285
+ }
286
+ async _login(unionid, openid, from) {
287
+ let rs = { errcode: null, account: null };
288
+ if (from == ini_1.EAccountFrom.QQ
289
+ || from == ini_1.EAccountFrom.WeChat
290
+ || from == ini_1.EAccountFrom.OpenSocial
291
+ || from == ini_1.EAccountFrom.Apple
292
+ || from == ini_1.EAccountFrom.Google) {
293
+ rs.account = await this.getByThird(unionid, openid);
294
+ }
295
+ else if (from == ini_1.EAccountFrom.QuickPhone) {
296
+ let key = "phone_code_" + unionid;
297
+ let code = CacheTool_1.GCacheTool.get(key);
298
+ if (!code || code != openid) {
299
+ rs.errcode = _error_1.EErrorCode.Wrong_Phone_Code;
300
+ return rs;
301
+ }
302
+ rs.account = await this.getByPhone(unionid);
303
+ }
304
+ else if (from == ini_1.EAccountFrom.Phone) {
305
+ rs.account = await this.get(null, { phone: unionid, password: openid });
306
+ if (!rs.account) {
307
+ rs.errcode = _error_1.EErrorCode.Login_Failed;
308
+ }
309
+ }
310
+ else if (from == ini_1.EAccountFrom.Email) {
311
+ rs.account = await this.get(null, { email: unionid, password: openid });
312
+ if (!rs.account) {
313
+ rs.errcode = _error_1.EErrorCode.Login_Failed;
314
+ }
315
+ }
316
+ else if (from == ini_1.EAccountFrom.Name || from == ini_1.EAccountFrom.Guest) {
317
+ rs.account = await this.get(null, { name: unionid, password: openid });
318
+ if (!rs.account && from == ini_1.EAccountFrom.Name) {
319
+ rs.errcode = _error_1.EErrorCode.Login_Failed;
320
+ }
321
+ }
322
+ return rs;
323
+ }
324
+ /**
325
+ * 修改密码
326
+ * @param unionid
327
+ * @param openid
328
+ * @param new_pwd
329
+ */
330
+ async updatePwd(unionid, openid, new_pwd) {
331
+ let rs = await OpenSocial_1.GOpenSocial.updatePwd(unionid, openid, new_pwd);
332
+ return rs;
333
+ }
334
+ async register(type, key, password, ip, extra) {
335
+ let rs = { user: null, errcode: null };
336
+ extra = extra || {};
337
+ let am = this._getNewModel();
338
+ switch (type) {
339
+ case ini_1.EAccountFrom.Phone:
340
+ {
341
+ am.phone = key;
342
+ let temp = await this.get({ id: 1 }, { phone: key });
343
+ if (temp) {
344
+ rs.errcode = _error_1.EErrorCode.Account_Phone_Exist;
345
+ return rs;
346
+ }
347
+ break;
348
+ }
349
+ case ini_1.EAccountFrom.Email:
350
+ {
351
+ am.email = key;
352
+ let temp = await this.get({ id: 1 }, { email: key });
353
+ if (temp) {
354
+ rs.errcode = _error_1.EErrorCode.Account_Email_Exist;
355
+ return rs;
356
+ }
357
+ break;
358
+ }
359
+ case ini_1.EAccountFrom.Name:
360
+ {
361
+ am.name = key;
362
+ let temp = await this.get({ id: 1 }, { name: key });
363
+ if (temp) {
364
+ rs.errcode = _error_1.EErrorCode.Account_Name_Exist;
365
+ return rs;
366
+ }
367
+ break;
368
+ }
369
+ default:
370
+ {
371
+ rs.errcode = _error_1.EErrorCode.Account_Type_Error;
372
+ return rs;
373
+ }
374
+ }
375
+ am.password = password;
376
+ am.create_time = Date.now();
377
+ am.create_ip = ip;
378
+ am.login_time = Date.now();
379
+ am.login_ip = ip;
380
+ am.id = await this.getNextId();
381
+ let rs_am = await this.insert(am);
382
+ if (!rs_am.rs.insertedId) {
383
+ rs.errcode = _error_1.EErrorCode.Mysql_Error;
384
+ return rs;
385
+ }
386
+ let user = await MongoUserService_1.GUserSer.add(am.id, extra.nickname, extra.sex, extra.logo);
387
+ if (!user) {
388
+ this.deleteOne({ id: am.id });
389
+ rs.errcode = _error_1.EErrorCode.User_Create_Failed;
390
+ return rs;
391
+ }
392
+ rs.user = user;
393
+ return rs;
394
+ }
395
+ }
396
+ exports.AccountService = AccountService;
397
+ //# sourceMappingURL=MongoAccountService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoAccountService.js","sourceRoot":"","sources":["../../../Framework/Service/MongoAccountService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { BaseService } from "../Database/BaseMongoService";
2
+ import { MongoBaseModel } from "../Database/MongoManager";
3
+ export declare class MongoCacheModel extends MongoBaseModel {
4
+ key: string;
5
+ data: any;
6
+ expireAt: number;
7
+ }
8
+ export declare let GMongoCacheSer: MongoCacheService;
9
+ declare class MongoCacheService extends BaseService<MongoCacheModel> {
10
+ constructor();
11
+ getData(key: string): Promise<any>;
12
+ }
13
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GMongoCacheSer = exports.MongoCacheModel = void 0;
4
+ const BaseMongoService_1 = require("../Database/BaseMongoService");
5
+ const MongoManager_1 = require("../Database/MongoManager");
6
+ //暂时就用这个了,反正没啥用户
7
+ class MongoCacheModel extends MongoManager_1.MongoBaseModel {
8
+ key = "";
9
+ data = null;
10
+ expireAt = Date.now() + 365 * 24 * 60 * 60 * 1000;
11
+ }
12
+ exports.MongoCacheModel = MongoCacheModel;
13
+ exports.GMongoCacheSer = null;
14
+ class MongoCacheService extends BaseMongoService_1.BaseService {
15
+ constructor() {
16
+ super("cache", MongoCacheModel);
17
+ this.createIndex({ "expireAt": 1 }, { expireAfterSeconds: 0 });
18
+ }
19
+ async getData(key) {
20
+ let cm = await exports.GMongoCacheSer.get(null, { key: key });
21
+ if (!cm) {
22
+ return null;
23
+ }
24
+ return cm.data;
25
+ }
26
+ }
27
+ exports.GMongoCacheSer = new MongoCacheService();
28
+ //# sourceMappingURL=MongoCacheService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoCacheService.js","sourceRoot":"","sources":["../../../Framework/Service/MongoCacheService.ts"],"names":[],"mappings":";;;AAAA,mEAA0D;AAC1D,2DAAyD;AAEzD,gBAAgB;AAChB,MAAa,eAAgB,SAAQ,6BAAc;IAE/C,GAAG,GAAQ,EAAE,CAAA;IACb,IAAI,GAAC,IAAI,CAAA;IACT,QAAQ,GAAC,IAAI,CAAC,GAAG,EAAE,GAAC,GAAG,GAAC,EAAE,GAAC,EAAE,GAAC,EAAE,GAAC,IAAI,CAAA;CACxC;AALD,0CAKC;AAEU,QAAA,cAAc,GAAmB,IAAI,CAAA;AAChD,MAAM,iBAAkB,SAAQ,8BAA4B;IAExD;QAEI,KAAK,CAAC,OAAO,EAAC,eAAe,CAAC,CAAA;QAC9B,IAAI,CAAC,WAAW,CAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAE,CAAA;IACpE,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,GAAU;QAEpB,IAAI,EAAE,GAAmB,MAAM,sBAAc,CAAC,GAAG,CAAC,IAAI,EAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,CAAA;QACjE,IAAG,CAAC,EAAE,EACN;YACI,OAAO,IAAI,CAAA;SACd;QACD,OAAO,EAAE,CAAC,IAAI,CAAA;IAClB,CAAC;CACJ;AACD,sBAAc,GAAG,IAAI,iBAAiB,EAAE,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { BaseService } from "../Database/BaseMongoService";
2
+ import { MongoBaseModel } from "../Database/MongoManager";
3
+ import { ERoleGroup } from "./ini";
4
+ export declare class UserModel extends MongoBaseModel {
5
+ id: number;
6
+ account_id: number;
7
+ nickname: string;
8
+ sex: number;
9
+ logo: string;
10
+ state: number;
11
+ role_group: number;
12
+ role: number;
13
+ phone: string;
14
+ wechat: string;
15
+ qq: string;
16
+ email: string;
17
+ about: string;
18
+ pre_user_id: number;
19
+ exp: number;
20
+ level: number;
21
+ vip_exp: number;
22
+ vip_level: number;
23
+ is_robot: number;
24
+ create_time: number;
25
+ }
26
+ export declare let GUserSer: UserService<UserModel>;
27
+ export declare class UserService<T extends UserModel> extends BaseService<T> {
28
+ constructor(type: {
29
+ new (): T;
30
+ });
31
+ protected _newUserModel(): T;
32
+ protected _createNewUser(account_id: number, nickname: string, sex: number, logo: string, group?: ERoleGroup): Promise<T>;
33
+ add(account_id: number, nickname: string, sex: number, logo: string, group?: ERoleGroup): Promise<T>;
34
+ getByAccountId(account_id: number): Promise<T>;
35
+ updateBaseInfoByAccount(account_id: number, nickname: string, sex: number, logo: string): Promise<string>;
36
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserService = exports.GUserSer = exports.UserModel = void 0;
4
+ const _ = require("underscore");
5
+ const BaseMongoService_1 = require("../Database/BaseMongoService");
6
+ const MongoManager_1 = require("../Database/MongoManager");
7
+ const ini_1 = require("./ini");
8
+ class UserModel extends MongoManager_1.MongoBaseModel {
9
+ id = -1;
10
+ account_id = -1;
11
+ nickname = "";
12
+ sex = -1;
13
+ logo = "";
14
+ state = 0;
15
+ role_group = 4;
16
+ role = 0;
17
+ phone = "";
18
+ wechat = "";
19
+ qq = "";
20
+ email = "";
21
+ about = "";
22
+ pre_user_id = -1;
23
+ exp = 0;
24
+ level = 1; //等级
25
+ vip_exp = 0;
26
+ vip_level = 0; //等级
27
+ is_robot = 0;
28
+ create_time = 0;
29
+ }
30
+ exports.UserModel = UserModel;
31
+ //暂时不实例化,方便重写
32
+ exports.GUserSer = null;
33
+ class UserService extends BaseMongoService_1.BaseService {
34
+ constructor(type) {
35
+ super("user", type);
36
+ exports.GUserSer = this;
37
+ }
38
+ _newUserModel() {
39
+ return (new UserModel());
40
+ }
41
+ async _createNewUser(account_id, nickname, sex, logo, group) {
42
+ group = group || ini_1.ERoleGroup.Common;
43
+ let um = this._newUserModel();
44
+ um.account_id = account_id;
45
+ um.nickname = nickname;
46
+ if (!um.nickname || um.nickname.length == 0) {
47
+ um.nickname = "noname";
48
+ }
49
+ um.sex = sex || 0;
50
+ um.logo = logo || "";
51
+ um.account_id = account_id;
52
+ um.state = 0;
53
+ um.role_group = group;
54
+ um.role = 0;
55
+ //随机userid
56
+ let id = 0;
57
+ do {
58
+ id = _.random(1000000, 9999999);
59
+ let p = await this.get({ id: 1 }, { id: id });
60
+ if (!p) {
61
+ break;
62
+ }
63
+ } while (true);
64
+ um.id = id;
65
+ return um;
66
+ }
67
+ async add(account_id, nickname, sex, logo, group) {
68
+ let um = await this._createNewUser(account_id, nickname, sex, logo, group);
69
+ let rs = await this.insert(um);
70
+ if (rs.errcode || !rs.rs.insertedId) {
71
+ return null;
72
+ }
73
+ um._id = rs.rs.insertedId;
74
+ return um;
75
+ }
76
+ async getByAccountId(account_id) {
77
+ let pm = await this.get(null, { account_id: account_id });
78
+ return pm;
79
+ }
80
+ async updateBaseInfoByAccount(account_id, nickname, sex, logo) {
81
+ let model = {
82
+ nickname: nickname,
83
+ sex: sex,
84
+ logo: logo
85
+ };
86
+ let sr = await this.updateOne(model, { account_id: account_id });
87
+ if (sr.errcode) {
88
+ return "更新失败";
89
+ }
90
+ return;
91
+ }
92
+ }
93
+ exports.UserService = UserService;
94
+ //# sourceMappingURL=MongoUserService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoUserService.js","sourceRoot":"","sources":["../../../Framework/Service/MongoUserService.ts"],"names":[],"mappings":"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"}