cgserver 8.6.7 → 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.
- package/README.md +4 -0
- package/dist/lib/Framework/AI/AiObject.js +10 -10
- package/dist/lib/Framework/AI/Astar.js +133 -133
- package/dist/lib/Framework/AI/BehaviorAI.js +307 -307
- package/dist/lib/Framework/AI/Entity.js +33 -33
- package/dist/lib/Framework/AI/Point.js +68 -68
- package/dist/lib/Framework/AI/TriggerMgr.js +201 -201
- package/dist/lib/Framework/Config/Config.js +53 -53
- package/dist/lib/Framework/Config/DbConfig.js +14 -0
- package/dist/lib/Framework/Config/FrameworkConfig.js +207 -240
- package/dist/lib/Framework/Config/IServerConfig.js +26 -26
- package/dist/lib/Framework/Config/_error_.js +35 -35
- package/dist/lib/Framework/Core/Core.js +639 -639
- package/dist/lib/Framework/Core/Timer.js +116 -116
- package/dist/lib/Framework/Database/Decorator/AutoIncrement.js +11 -11
- package/dist/lib/Framework/Database/Decorator/DBCache.js +64 -64
- package/dist/lib/Framework/Database/Decorator/NotNull.js +11 -11
- package/dist/lib/Framework/Database/Decorator/PrimaryKey.js +11 -11
- package/dist/lib/Framework/Database/Decorator/Property.js +61 -61
- package/dist/lib/Framework/Database/Decorator/Table.js +15 -15
- package/dist/lib/Framework/Database/Decorator/Type.js +20 -20
- package/dist/lib/Framework/Database/MSSqlManager.js +53 -43
- package/dist/lib/Framework/Database/MongoBaseService.js +117 -117
- package/dist/lib/Framework/Database/MongoManager.js +462 -462
- package/dist/lib/Framework/Database/MysqlBaseService.js +281 -281
- package/dist/lib/Framework/Database/MysqlManager.js +179 -180
- package/dist/lib/Framework/Database/RedisManager.js +61 -53
- package/dist/lib/Framework/Decorator/AdminValidate.js +19 -19
- package/dist/lib/Framework/Decorator/AuthorityValidate.js +22 -22
- package/dist/lib/Framework/Decorator/CreatorValidate.js +19 -19
- package/dist/lib/Framework/Decorator/JsonAdminValidate.js +15 -15
- package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +20 -20
- package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +19 -19
- package/dist/lib/Framework/Decorator/SyncCall.js +42 -42
- package/dist/lib/Framework/Decorator/SyncCallServer.js +77 -77
- package/dist/lib/Framework/Logic/CacheTool.js +73 -73
- package/dist/lib/Framework/Logic/EventTool.js +27 -27
- package/dist/lib/Framework/Logic/HttpTool.js +75 -75
- package/dist/lib/Framework/Logic/Log.js +140 -140
- package/dist/lib/Framework/Logic/SyncQueueTool.js +43 -43
- package/dist/lib/Framework/Service/MongoAccountService.js +367 -367
- package/dist/lib/Framework/Service/MongoCacheService.js +42 -42
- package/dist/lib/Framework/Service/MongoUserService.js +100 -100
- package/dist/lib/Framework/Service/MysqlAccountService.js +441 -441
- package/dist/lib/Framework/Service/MysqlUserService.js +171 -171
- package/dist/lib/Framework/Service/ini.js +36 -36
- package/dist/lib/Framework/SocketServer/IClientWebSocket.js +44 -44
- package/dist/lib/Framework/SocketServer/IRpc.js +12 -12
- package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +63 -63
- package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +63 -63
- package/dist/lib/Framework/SocketServer/IServerWebSocket.js +75 -75
- package/dist/lib/Framework/SocketServer/ISocketServer.js +205 -202
- package/dist/lib/Framework/SocketServer/IWebSocket.js +195 -195
- package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +57 -57
- package/dist/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js +8 -8
- package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +29 -29
- package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +31 -31
- package/dist/lib/Framework/ThirdParty/AlipayTool.js +203 -203
- package/dist/lib/Framework/ThirdParty/Alisms.js +46 -46
- package/dist/lib/Framework/ThirdParty/AppleTool.js +234 -234
- package/dist/lib/Framework/ThirdParty/CgMq.js +132 -132
- package/dist/lib/Framework/ThirdParty/EmailTool.js +33 -33
- package/dist/lib/Framework/ThirdParty/OpenSocial.js +32 -32
- package/dist/lib/Framework/ThirdParty/QQTool.js +118 -118
- package/dist/lib/Framework/ThirdParty/QiniuTool.js +21 -21
- package/dist/lib/Framework/ThirdParty/Rpc.js +63 -63
- package/dist/lib/Framework/ThirdParty/WechatOATool.js +61 -61
- package/dist/lib/Framework/ThirdParty/WechatTool.js +74 -74
- package/dist/lib/Framework/WebServer/Controller/BaseController.js +112 -112
- package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +169 -169
- package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +169 -169
- package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +112 -112
- package/dist/lib/Framework/WebServer/Engine/Engine.js +152 -153
- package/dist/lib/Framework/WebServer/Engine/RazorJs.js +544 -544
- package/dist/lib/Framework/WebServer/Engine/Request.js +237 -237
- package/dist/lib/Framework/WebServer/Engine/Response.js +100 -100
- package/dist/lib/Framework/WebServer/IWebServer.js +59 -54
- package/dist/lib/Framework/cgserver.js +121 -111
- package/dist/lib/Framework/index.js +201 -191
- package/dist/lib/test/test.js +21 -21
- package/dist/types/Framework/AI/AiObject.d.ts +5 -5
- package/dist/types/Framework/AI/Astar.d.ts +38 -38
- package/dist/types/Framework/AI/BehaviorAI.d.ts +24 -24
- package/dist/types/Framework/AI/Entity.d.ts +12 -12
- package/dist/types/Framework/AI/Point.d.ts +17 -17
- package/dist/types/Framework/AI/TriggerMgr.d.ts +52 -52
- package/dist/types/Framework/Config/Config.d.ts +12 -12
- package/dist/types/Framework/Config/DbConfig.d.ts +10 -0
- package/dist/types/Framework/Config/FrameworkConfig.d.ts +203 -228
- package/dist/types/Framework/Config/IServerConfig.d.ts +9 -9
- package/dist/types/Framework/Config/_error_.d.ts +99 -99
- package/dist/types/Framework/Core/Core.d.ts +108 -108
- package/dist/types/Framework/Core/Timer.d.ts +16 -16
- package/dist/types/Framework/Database/Decorator/AutoIncrement.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/DBCache.d.ts +23 -23
- package/dist/types/Framework/Database/Decorator/NotNull.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/PrimaryKey.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/Property.d.ts +57 -57
- package/dist/types/Framework/Database/Decorator/Table.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/Type.d.ts +1 -1
- package/dist/types/Framework/Database/MSSqlManager.d.ts +27 -17
- package/dist/types/Framework/Database/MongoBaseService.d.ts +81 -81
- package/dist/types/Framework/Database/MongoManager.d.ts +156 -156
- package/dist/types/Framework/Database/MysqlBaseService.d.ts +34 -34
- package/dist/types/Framework/Database/MysqlManager.d.ts +53 -41
- package/dist/types/Framework/Database/RedisManager.d.ts +24 -17
- package/dist/types/Framework/Decorator/AdminValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +2 -2
- package/dist/types/Framework/Decorator/CreatorValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/JsonAdminValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +2 -2
- package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/SyncCall.d.ts +12 -12
- package/dist/types/Framework/Decorator/SyncCallServer.d.ts +14 -14
- package/dist/types/Framework/Logic/CacheTool.d.ts +27 -27
- package/dist/types/Framework/Logic/EventTool.d.ts +13 -13
- package/dist/types/Framework/Logic/HttpTool.d.ts +15 -15
- package/dist/types/Framework/Logic/Log.d.ts +25 -25
- package/dist/types/Framework/Logic/SyncQueueTool.d.ts +21 -21
- package/dist/types/Framework/Service/MongoAccountService.d.ts +69 -69
- package/dist/types/Framework/Service/MongoCacheService.d.ts +14 -14
- package/dist/types/Framework/Service/MongoUserService.d.ts +35 -35
- package/dist/types/Framework/Service/MysqlAccountService.d.ts +74 -74
- package/dist/types/Framework/Service/MysqlUserService.d.ts +33 -33
- package/dist/types/Framework/Service/ini.d.ts +29 -29
- package/dist/types/Framework/SocketServer/IClientWebSocket.d.ts +17 -17
- package/dist/types/Framework/SocketServer/IRpc.d.ts +8 -8
- package/dist/types/Framework/SocketServer/IRpcClientWebSocket.d.ts +16 -16
- package/dist/types/Framework/SocketServer/IRpcServerWebSocket.d.ts +16 -16
- package/dist/types/Framework/SocketServer/IServerWebSocket.d.ts +28 -28
- package/dist/types/Framework/SocketServer/ISocketServer.d.ts +45 -45
- package/dist/types/Framework/SocketServer/IWebSocket.d.ts +60 -60
- package/dist/types/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.d.ts +9 -9
- package/dist/types/Framework/SocketServer/ProtoFilter/IProtoFilter.d.ts +9 -9
- package/dist/types/Framework/SocketServer/ProtoFilter/JsonProtoFilter.d.ts +6 -6
- package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +8 -8
- package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +109 -109
- package/dist/types/Framework/ThirdParty/Alisms.d.ts +14 -14
- package/dist/types/Framework/ThirdParty/AppleTool.d.ts +131 -131
- package/dist/types/Framework/ThirdParty/CgMq.d.ts +51 -51
- package/dist/types/Framework/ThirdParty/EmailTool.d.ts +5 -5
- package/dist/types/Framework/ThirdParty/OpenSocial.d.ts +7 -7
- package/dist/types/Framework/ThirdParty/QQTool.d.ts +41 -41
- package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +6 -6
- package/dist/types/Framework/ThirdParty/Rpc.d.ts +20 -20
- package/dist/types/Framework/ThirdParty/WechatOATool.d.ts +13 -13
- package/dist/types/Framework/ThirdParty/WechatTool.d.ts +20 -20
- package/dist/types/Framework/WebServer/Controller/BaseController.d.ts +33 -33
- package/dist/types/Framework/WebServer/Controller/MongoBaseUserController.d.ts +27 -27
- package/dist/types/Framework/WebServer/Controller/MysqlBaseUserController.d.ts +27 -27
- package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +35 -35
- package/dist/types/Framework/WebServer/Engine/Engine.d.ts +21 -21
- package/dist/types/Framework/WebServer/Engine/RazorJs.d.ts +21 -21
- package/dist/types/Framework/WebServer/Engine/Request.d.ts +35 -35
- package/dist/types/Framework/WebServer/Engine/Response.d.ts +30 -30
- package/dist/types/Framework/WebServer/IWebServer.d.ts +20 -20
- package/dist/types/Framework/cgserver.d.ts +27 -25
- package/dist/types/Framework/index.d.ts +91 -86
- package/dist/types/test/test.d.ts +1 -1
- package/package.json +29 -32
|
@@ -1,367 +1,367 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MongoAccountService = exports.MongoAccountModel = void 0;
|
|
4
|
-
const _error_1 = require("../Config/_error_");
|
|
5
|
-
const MongoBaseService_1 = require("../Database/MongoBaseService");
|
|
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 MongoAccountModel 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 = ini_1.EAccountState.Waitting;
|
|
27
|
-
}
|
|
28
|
-
exports.MongoAccountModel = MongoAccountModel;
|
|
29
|
-
class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
30
|
-
/**
|
|
31
|
-
* 注册新账号
|
|
32
|
-
* @param unionid
|
|
33
|
-
* @param openid
|
|
34
|
-
* @param ip
|
|
35
|
-
* @param from
|
|
36
|
-
*/
|
|
37
|
-
async add(unionid, openid, ip, from) {
|
|
38
|
-
let account = new this._t_type();
|
|
39
|
-
switch (from) {
|
|
40
|
-
case ini_1.EAccountFrom.OpenSocial:
|
|
41
|
-
case ini_1.EAccountFrom.WeChat:
|
|
42
|
-
case ini_1.EAccountFrom.QQ:
|
|
43
|
-
case ini_1.EAccountFrom.Apple:
|
|
44
|
-
case ini_1.EAccountFrom.Google:
|
|
45
|
-
{
|
|
46
|
-
account.unionid = unionid;
|
|
47
|
-
account.openid = openid;
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
case ini_1.EAccountFrom.Email:
|
|
51
|
-
{
|
|
52
|
-
account.email = unionid;
|
|
53
|
-
account.password = openid;
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
case ini_1.EAccountFrom.Phone:
|
|
57
|
-
case ini_1.EAccountFrom.QuickPhone:
|
|
58
|
-
{
|
|
59
|
-
account.phone = unionid;
|
|
60
|
-
account.password = openid;
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
case ini_1.EAccountFrom.Name:
|
|
64
|
-
case ini_1.EAccountFrom.Guest:
|
|
65
|
-
{
|
|
66
|
-
account.name = unionid;
|
|
67
|
-
account.password = openid;
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
account.create_time = Date.now();
|
|
72
|
-
account.create_ip = ip;
|
|
73
|
-
account.login_time = Date.now();
|
|
74
|
-
account.login_ip = ip;
|
|
75
|
-
account.from = from;
|
|
76
|
-
account.state = ini_1.EAccountState.Waitting;
|
|
77
|
-
account.id = await this.getNextId();
|
|
78
|
-
let sr = await this.insert(account);
|
|
79
|
-
if (sr.errcode) {
|
|
80
|
-
return null;
|
|
81
|
-
}
|
|
82
|
-
account._id = sr.rs.insertedId;
|
|
83
|
-
return account;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* 通过第三方信息获取账号
|
|
87
|
-
* @param unionid
|
|
88
|
-
* @param openid
|
|
89
|
-
*/
|
|
90
|
-
async getByThird(unionid, openid) {
|
|
91
|
-
let am = await this.get(null, { unionid: unionid, openid: openid });
|
|
92
|
-
return am;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* 通过第三方信息获取账号
|
|
96
|
-
* @param unionid
|
|
97
|
-
*/
|
|
98
|
-
async getByUnionid(unionid) {
|
|
99
|
-
let am = await this.get(null, { unionid: unionid });
|
|
100
|
-
return am;
|
|
101
|
-
}
|
|
102
|
-
async getByPhone(phone) {
|
|
103
|
-
let am = await this.get(null, { phone: phone + "" });
|
|
104
|
-
return am;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* 登陆接口
|
|
108
|
-
* @param unionid 用户名、邮箱、手机号或者第三方的unionid
|
|
109
|
-
* @param openid 密码或者第三方的openid
|
|
110
|
-
* @param ip 登录ip
|
|
111
|
-
* @param from 登录来源
|
|
112
|
-
* @param access_token qq、wechat使用
|
|
113
|
-
*/
|
|
114
|
-
async login(unionid, openid, ip, from, force_user = true, access_token) {
|
|
115
|
-
let rs = { errcode: null, account: null, is_new: false };
|
|
116
|
-
if (!unionid || !openid) {
|
|
117
|
-
rs.errcode = _error_1.EErrorCode.Wrong_Params;
|
|
118
|
-
return rs;
|
|
119
|
-
}
|
|
120
|
-
unionid += "";
|
|
121
|
-
openid += "";
|
|
122
|
-
let login_rs = await this._login(unionid, openid, from);
|
|
123
|
-
rs.account = login_rs.account;
|
|
124
|
-
rs.errcode = login_rs.errcode;
|
|
125
|
-
if (rs.errcode) {
|
|
126
|
-
return rs;
|
|
127
|
-
}
|
|
128
|
-
let account = rs.account;
|
|
129
|
-
let extra_info = {};
|
|
130
|
-
if (!account) {
|
|
131
|
-
switch (from) {
|
|
132
|
-
case ini_1.EAccountFrom.OpenSocial:
|
|
133
|
-
case ini_1.EAccountFrom.QQ:
|
|
134
|
-
case ini_1.EAccountFrom.WeChat:
|
|
135
|
-
case ini_1.EAccountFrom.Guest:
|
|
136
|
-
case ini_1.EAccountFrom.QuickPhone:
|
|
137
|
-
case ini_1.EAccountFrom.Apple:
|
|
138
|
-
case ini_1.EAccountFrom.Google:
|
|
139
|
-
{
|
|
140
|
-
account = await this.add(unionid, openid, ip, from);
|
|
141
|
-
break;
|
|
142
|
-
}
|
|
143
|
-
default:
|
|
144
|
-
{
|
|
145
|
-
rs.errcode = _error_1.EErrorCode.No_Account;
|
|
146
|
-
return rs;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
if (!account) {
|
|
151
|
-
rs.errcode = _error_1.EErrorCode.No_Account;
|
|
152
|
-
return rs;
|
|
153
|
-
}
|
|
154
|
-
if (force_user) {
|
|
155
|
-
let user = await MongoUserService_1.GUserSer.getByAccountId(account.id);
|
|
156
|
-
if (!user) {
|
|
157
|
-
switch (from) {
|
|
158
|
-
case ini_1.EAccountFrom.OpenSocial:
|
|
159
|
-
case ini_1.EAccountFrom.QQ:
|
|
160
|
-
case ini_1.EAccountFrom.WeChat:
|
|
161
|
-
case ini_1.EAccountFrom.Apple:
|
|
162
|
-
case ini_1.EAccountFrom.Google:
|
|
163
|
-
{
|
|
164
|
-
if (!extra_info) {
|
|
165
|
-
if (from == ini_1.EAccountFrom.OpenSocial) {
|
|
166
|
-
let body = await OpenSocial_1.GOpenSocial.getUser(unionid, openid);
|
|
167
|
-
if (body && body.errcode) {
|
|
168
|
-
rs.errcode = body.errcode;
|
|
169
|
-
return rs;
|
|
170
|
-
}
|
|
171
|
-
else if (body && body.user) {
|
|
172
|
-
extra_info =
|
|
173
|
-
{
|
|
174
|
-
logo: body.user.logo,
|
|
175
|
-
sex: body.user.sex,
|
|
176
|
-
nickname: body.user.nickname
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
else if (from == ini_1.EAccountFrom.QQ) {
|
|
181
|
-
let userInfo = await QQTool_1.GQQTool.getUserInfo(access_token, openid);
|
|
182
|
-
if (!userInfo) {
|
|
183
|
-
rs.errcode = _error_1.EErrorCode.Server_Error;
|
|
184
|
-
return rs;
|
|
185
|
-
}
|
|
186
|
-
extra_info =
|
|
187
|
-
{
|
|
188
|
-
logo: userInfo.figureurl_qq,
|
|
189
|
-
sex: (userInfo.gender == "男" ? 1 : 0),
|
|
190
|
-
nickname: userInfo.nickname
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
else if (from == ini_1.EAccountFrom.WeChat) {
|
|
194
|
-
let userInfo = await WechatTool_1.GWechatTool.getUserInfo(access_token, openid);
|
|
195
|
-
if (userInfo.errcode) {
|
|
196
|
-
rs.errcode = _error_1.EErrorCode.Server_Error;
|
|
197
|
-
return rs;
|
|
198
|
-
}
|
|
199
|
-
extra_info =
|
|
200
|
-
{
|
|
201
|
-
logo: userInfo.headimgurl,
|
|
202
|
-
sex: (userInfo.sex == 1 ? 1 : 0),
|
|
203
|
-
nickname: userInfo.nickname
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
else if (from == ini_1.EAccountFrom.Apple || from == ini_1.EAccountFrom.Google) {
|
|
207
|
-
extra_info =
|
|
208
|
-
{
|
|
209
|
-
logo: "32",
|
|
210
|
-
sex: 0,
|
|
211
|
-
nickname: "noname"
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
let user = await MongoUserService_1.GUserSer.add(account.id, extra_info.nickname, extra_info.sex, extra_info.logo);
|
|
216
|
-
if (!user) {
|
|
217
|
-
this.deleteOne({ id: account.id });
|
|
218
|
-
rs.errcode = _error_1.EErrorCode.User_Create_Failed;
|
|
219
|
-
return rs;
|
|
220
|
-
}
|
|
221
|
-
break;
|
|
222
|
-
}
|
|
223
|
-
case ini_1.EAccountFrom.QuickPhone:
|
|
224
|
-
case ini_1.EAccountFrom.Guest:
|
|
225
|
-
{
|
|
226
|
-
let user = null;
|
|
227
|
-
if (extra_info) {
|
|
228
|
-
user = await MongoUserService_1.GUserSer.add(account.id, extra_info.nickname, extra_info.sex, extra_info.logo);
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
user = await MongoUserService_1.GUserSer.add(account.id, null, null, null);
|
|
232
|
-
}
|
|
233
|
-
if (!user) {
|
|
234
|
-
this.deleteOne({ id: account.id });
|
|
235
|
-
rs.errcode = _error_1.EErrorCode.User_Create_Failed;
|
|
236
|
-
return rs;
|
|
237
|
-
}
|
|
238
|
-
break;
|
|
239
|
-
}
|
|
240
|
-
default:
|
|
241
|
-
{
|
|
242
|
-
rs.errcode = _error_1.EErrorCode.No_Account;
|
|
243
|
-
return rs;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
rs.is_new = true;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
account.login_time = Date.now();
|
|
250
|
-
account.login_ip = ip;
|
|
251
|
-
this.updateOne({ login_time: account.login_time, login_ip: account.login_ip }, { id: account.id });
|
|
252
|
-
rs.account = account;
|
|
253
|
-
return rs;
|
|
254
|
-
}
|
|
255
|
-
async _login(unionid, openid, from) {
|
|
256
|
-
unionid += "";
|
|
257
|
-
openid += "";
|
|
258
|
-
let rs = { errcode: null, account: null };
|
|
259
|
-
if (from == ini_1.EAccountFrom.QQ
|
|
260
|
-
|| from == ini_1.EAccountFrom.WeChat
|
|
261
|
-
|| from == ini_1.EAccountFrom.OpenSocial
|
|
262
|
-
|| from == ini_1.EAccountFrom.Apple
|
|
263
|
-
|| from == ini_1.EAccountFrom.Google) {
|
|
264
|
-
rs.account = await this.getByThird(unionid, openid);
|
|
265
|
-
}
|
|
266
|
-
else if (from == ini_1.EAccountFrom.QuickPhone) {
|
|
267
|
-
let key = "phone_code_" + unionid;
|
|
268
|
-
let code = CacheTool_1.GCacheTool.get(key);
|
|
269
|
-
if (!code || code != openid) {
|
|
270
|
-
rs.errcode = _error_1.EErrorCode.Wrong_Phone_Code;
|
|
271
|
-
return rs;
|
|
272
|
-
}
|
|
273
|
-
rs.account = await this.getByPhone(unionid);
|
|
274
|
-
}
|
|
275
|
-
else if (from == ini_1.EAccountFrom.Phone) {
|
|
276
|
-
rs.account = await this.get(null, { phone: unionid, password: openid });
|
|
277
|
-
if (!rs.account) {
|
|
278
|
-
rs.errcode = _error_1.EErrorCode.Login_Failed;
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
else if (from == ini_1.EAccountFrom.Email) {
|
|
282
|
-
rs.account = await this.get(null, { email: unionid, password: openid });
|
|
283
|
-
if (!rs.account) {
|
|
284
|
-
rs.errcode = _error_1.EErrorCode.Login_Failed;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
else if (from == ini_1.EAccountFrom.Name || from == ini_1.EAccountFrom.Guest) {
|
|
288
|
-
rs.account = await this.get(null, { name: unionid, password: openid });
|
|
289
|
-
if (!rs.account && from == ini_1.EAccountFrom.Name) {
|
|
290
|
-
rs.errcode = _error_1.EErrorCode.Login_Failed;
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
return rs;
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* 修改密码
|
|
297
|
-
* @param unionid
|
|
298
|
-
* @param openid
|
|
299
|
-
* @param new_pwd
|
|
300
|
-
*/
|
|
301
|
-
async updatePwd(unionid, openid, new_pwd) {
|
|
302
|
-
let rs = await OpenSocial_1.GOpenSocial.updatePwd(unionid, openid, new_pwd);
|
|
303
|
-
return rs;
|
|
304
|
-
}
|
|
305
|
-
async register(type, key, password, ip, extra) {
|
|
306
|
-
let rs = { user: null, errcode: null };
|
|
307
|
-
extra = extra || {};
|
|
308
|
-
let am = new this._t_type();
|
|
309
|
-
switch (type) {
|
|
310
|
-
case ini_1.EAccountFrom.Phone:
|
|
311
|
-
{
|
|
312
|
-
am.phone = key;
|
|
313
|
-
let temp = await this.get({ id: 1 }, { phone: key });
|
|
314
|
-
if (temp) {
|
|
315
|
-
rs.errcode = _error_1.EErrorCode.Account_Phone_Exist;
|
|
316
|
-
return rs;
|
|
317
|
-
}
|
|
318
|
-
break;
|
|
319
|
-
}
|
|
320
|
-
case ini_1.EAccountFrom.Email:
|
|
321
|
-
{
|
|
322
|
-
am.email = key;
|
|
323
|
-
let temp = await this.get({ id: 1 }, { email: key });
|
|
324
|
-
if (temp) {
|
|
325
|
-
rs.errcode = _error_1.EErrorCode.Account_Email_Exist;
|
|
326
|
-
return rs;
|
|
327
|
-
}
|
|
328
|
-
break;
|
|
329
|
-
}
|
|
330
|
-
case ini_1.EAccountFrom.Name:
|
|
331
|
-
{
|
|
332
|
-
am.name = key;
|
|
333
|
-
let temp = await this.get({ id: 1 }, { name: key });
|
|
334
|
-
if (temp) {
|
|
335
|
-
rs.errcode = _error_1.EErrorCode.Account_Name_Exist;
|
|
336
|
-
return rs;
|
|
337
|
-
}
|
|
338
|
-
break;
|
|
339
|
-
}
|
|
340
|
-
default:
|
|
341
|
-
{
|
|
342
|
-
rs.errcode = _error_1.EErrorCode.Account_Type_Error;
|
|
343
|
-
return rs;
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
am.password = password;
|
|
347
|
-
am.create_time = Date.now();
|
|
348
|
-
am.create_ip = ip;
|
|
349
|
-
am.login_time = Date.now();
|
|
350
|
-
am.login_ip = ip;
|
|
351
|
-
am.id = await this.getNextId();
|
|
352
|
-
let rs_am = await this.insert(am);
|
|
353
|
-
if (!rs_am.rs.insertedId) {
|
|
354
|
-
rs.errcode = _error_1.EErrorCode.Mysql_Error;
|
|
355
|
-
return rs;
|
|
356
|
-
}
|
|
357
|
-
let user = await MongoUserService_1.GUserSer.add(am.id, extra.nickname, extra.sex, extra.logo);
|
|
358
|
-
if (!user) {
|
|
359
|
-
this.deleteOne({ id: am.id });
|
|
360
|
-
rs.errcode = _error_1.EErrorCode.User_Create_Failed;
|
|
361
|
-
return rs;
|
|
362
|
-
}
|
|
363
|
-
rs.user = user;
|
|
364
|
-
return rs;
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
exports.MongoAccountService = MongoAccountService;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MongoAccountService = exports.MongoAccountModel = void 0;
|
|
4
|
+
const _error_1 = require("../Config/_error_");
|
|
5
|
+
const MongoBaseService_1 = require("../Database/MongoBaseService");
|
|
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 MongoAccountModel 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 = ini_1.EAccountState.Waitting;
|
|
27
|
+
}
|
|
28
|
+
exports.MongoAccountModel = MongoAccountModel;
|
|
29
|
+
class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
30
|
+
/**
|
|
31
|
+
* 注册新账号
|
|
32
|
+
* @param unionid
|
|
33
|
+
* @param openid
|
|
34
|
+
* @param ip
|
|
35
|
+
* @param from
|
|
36
|
+
*/
|
|
37
|
+
async add(unionid, openid, ip, from) {
|
|
38
|
+
let account = new this._t_type();
|
|
39
|
+
switch (from) {
|
|
40
|
+
case ini_1.EAccountFrom.OpenSocial:
|
|
41
|
+
case ini_1.EAccountFrom.WeChat:
|
|
42
|
+
case ini_1.EAccountFrom.QQ:
|
|
43
|
+
case ini_1.EAccountFrom.Apple:
|
|
44
|
+
case ini_1.EAccountFrom.Google:
|
|
45
|
+
{
|
|
46
|
+
account.unionid = unionid;
|
|
47
|
+
account.openid = openid;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
case ini_1.EAccountFrom.Email:
|
|
51
|
+
{
|
|
52
|
+
account.email = unionid;
|
|
53
|
+
account.password = openid;
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case ini_1.EAccountFrom.Phone:
|
|
57
|
+
case ini_1.EAccountFrom.QuickPhone:
|
|
58
|
+
{
|
|
59
|
+
account.phone = unionid;
|
|
60
|
+
account.password = openid;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
case ini_1.EAccountFrom.Name:
|
|
64
|
+
case ini_1.EAccountFrom.Guest:
|
|
65
|
+
{
|
|
66
|
+
account.name = unionid;
|
|
67
|
+
account.password = openid;
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
account.create_time = Date.now();
|
|
72
|
+
account.create_ip = ip;
|
|
73
|
+
account.login_time = Date.now();
|
|
74
|
+
account.login_ip = ip;
|
|
75
|
+
account.from = from;
|
|
76
|
+
account.state = ini_1.EAccountState.Waitting;
|
|
77
|
+
account.id = await this.getNextId();
|
|
78
|
+
let sr = await this.insert(account);
|
|
79
|
+
if (sr.errcode) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
account._id = sr.rs.insertedId;
|
|
83
|
+
return account;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 通过第三方信息获取账号
|
|
87
|
+
* @param unionid
|
|
88
|
+
* @param openid
|
|
89
|
+
*/
|
|
90
|
+
async getByThird(unionid, openid) {
|
|
91
|
+
let am = await this.get(null, { unionid: unionid, openid: openid });
|
|
92
|
+
return am;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* 通过第三方信息获取账号
|
|
96
|
+
* @param unionid
|
|
97
|
+
*/
|
|
98
|
+
async getByUnionid(unionid) {
|
|
99
|
+
let am = await this.get(null, { unionid: unionid });
|
|
100
|
+
return am;
|
|
101
|
+
}
|
|
102
|
+
async getByPhone(phone) {
|
|
103
|
+
let am = await this.get(null, { phone: phone + "" });
|
|
104
|
+
return am;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* 登陆接口
|
|
108
|
+
* @param unionid 用户名、邮箱、手机号或者第三方的unionid
|
|
109
|
+
* @param openid 密码或者第三方的openid
|
|
110
|
+
* @param ip 登录ip
|
|
111
|
+
* @param from 登录来源
|
|
112
|
+
* @param access_token qq、wechat使用
|
|
113
|
+
*/
|
|
114
|
+
async login(unionid, openid, ip, from, force_user = true, access_token) {
|
|
115
|
+
let rs = { errcode: null, account: null, is_new: false };
|
|
116
|
+
if (!unionid || !openid) {
|
|
117
|
+
rs.errcode = _error_1.EErrorCode.Wrong_Params;
|
|
118
|
+
return rs;
|
|
119
|
+
}
|
|
120
|
+
unionid += "";
|
|
121
|
+
openid += "";
|
|
122
|
+
let login_rs = await this._login(unionid, openid, from);
|
|
123
|
+
rs.account = login_rs.account;
|
|
124
|
+
rs.errcode = login_rs.errcode;
|
|
125
|
+
if (rs.errcode) {
|
|
126
|
+
return rs;
|
|
127
|
+
}
|
|
128
|
+
let account = rs.account;
|
|
129
|
+
let extra_info = {};
|
|
130
|
+
if (!account) {
|
|
131
|
+
switch (from) {
|
|
132
|
+
case ini_1.EAccountFrom.OpenSocial:
|
|
133
|
+
case ini_1.EAccountFrom.QQ:
|
|
134
|
+
case ini_1.EAccountFrom.WeChat:
|
|
135
|
+
case ini_1.EAccountFrom.Guest:
|
|
136
|
+
case ini_1.EAccountFrom.QuickPhone:
|
|
137
|
+
case ini_1.EAccountFrom.Apple:
|
|
138
|
+
case ini_1.EAccountFrom.Google:
|
|
139
|
+
{
|
|
140
|
+
account = await this.add(unionid, openid, ip, from);
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
default:
|
|
144
|
+
{
|
|
145
|
+
rs.errcode = _error_1.EErrorCode.No_Account;
|
|
146
|
+
return rs;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (!account) {
|
|
151
|
+
rs.errcode = _error_1.EErrorCode.No_Account;
|
|
152
|
+
return rs;
|
|
153
|
+
}
|
|
154
|
+
if (force_user) {
|
|
155
|
+
let user = await MongoUserService_1.GUserSer.getByAccountId(account.id);
|
|
156
|
+
if (!user) {
|
|
157
|
+
switch (from) {
|
|
158
|
+
case ini_1.EAccountFrom.OpenSocial:
|
|
159
|
+
case ini_1.EAccountFrom.QQ:
|
|
160
|
+
case ini_1.EAccountFrom.WeChat:
|
|
161
|
+
case ini_1.EAccountFrom.Apple:
|
|
162
|
+
case ini_1.EAccountFrom.Google:
|
|
163
|
+
{
|
|
164
|
+
if (!extra_info) {
|
|
165
|
+
if (from == ini_1.EAccountFrom.OpenSocial) {
|
|
166
|
+
let body = await OpenSocial_1.GOpenSocial.getUser(unionid, openid);
|
|
167
|
+
if (body && body.errcode) {
|
|
168
|
+
rs.errcode = body.errcode;
|
|
169
|
+
return rs;
|
|
170
|
+
}
|
|
171
|
+
else if (body && body.user) {
|
|
172
|
+
extra_info =
|
|
173
|
+
{
|
|
174
|
+
logo: body.user.logo,
|
|
175
|
+
sex: body.user.sex,
|
|
176
|
+
nickname: body.user.nickname
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
else if (from == ini_1.EAccountFrom.QQ) {
|
|
181
|
+
let userInfo = await QQTool_1.GQQTool.getUserInfo(access_token, openid);
|
|
182
|
+
if (!userInfo) {
|
|
183
|
+
rs.errcode = _error_1.EErrorCode.Server_Error;
|
|
184
|
+
return rs;
|
|
185
|
+
}
|
|
186
|
+
extra_info =
|
|
187
|
+
{
|
|
188
|
+
logo: userInfo.figureurl_qq,
|
|
189
|
+
sex: (userInfo.gender == "男" ? 1 : 0),
|
|
190
|
+
nickname: userInfo.nickname
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
else if (from == ini_1.EAccountFrom.WeChat) {
|
|
194
|
+
let userInfo = await WechatTool_1.GWechatTool.getUserInfo(access_token, openid);
|
|
195
|
+
if (userInfo.errcode) {
|
|
196
|
+
rs.errcode = _error_1.EErrorCode.Server_Error;
|
|
197
|
+
return rs;
|
|
198
|
+
}
|
|
199
|
+
extra_info =
|
|
200
|
+
{
|
|
201
|
+
logo: userInfo.headimgurl,
|
|
202
|
+
sex: (userInfo.sex == 1 ? 1 : 0),
|
|
203
|
+
nickname: userInfo.nickname
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
else if (from == ini_1.EAccountFrom.Apple || from == ini_1.EAccountFrom.Google) {
|
|
207
|
+
extra_info =
|
|
208
|
+
{
|
|
209
|
+
logo: "32",
|
|
210
|
+
sex: 0,
|
|
211
|
+
nickname: "noname"
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
let user = await MongoUserService_1.GUserSer.add(account.id, extra_info.nickname, extra_info.sex, extra_info.logo);
|
|
216
|
+
if (!user) {
|
|
217
|
+
this.deleteOne({ id: account.id });
|
|
218
|
+
rs.errcode = _error_1.EErrorCode.User_Create_Failed;
|
|
219
|
+
return rs;
|
|
220
|
+
}
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
case ini_1.EAccountFrom.QuickPhone:
|
|
224
|
+
case ini_1.EAccountFrom.Guest:
|
|
225
|
+
{
|
|
226
|
+
let user = null;
|
|
227
|
+
if (extra_info) {
|
|
228
|
+
user = await MongoUserService_1.GUserSer.add(account.id, extra_info.nickname, extra_info.sex, extra_info.logo);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
user = await MongoUserService_1.GUserSer.add(account.id, null, null, null);
|
|
232
|
+
}
|
|
233
|
+
if (!user) {
|
|
234
|
+
this.deleteOne({ id: account.id });
|
|
235
|
+
rs.errcode = _error_1.EErrorCode.User_Create_Failed;
|
|
236
|
+
return rs;
|
|
237
|
+
}
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
default:
|
|
241
|
+
{
|
|
242
|
+
rs.errcode = _error_1.EErrorCode.No_Account;
|
|
243
|
+
return rs;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
rs.is_new = true;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
account.login_time = Date.now();
|
|
250
|
+
account.login_ip = ip;
|
|
251
|
+
this.updateOne({ login_time: account.login_time, login_ip: account.login_ip }, { id: account.id });
|
|
252
|
+
rs.account = account;
|
|
253
|
+
return rs;
|
|
254
|
+
}
|
|
255
|
+
async _login(unionid, openid, from) {
|
|
256
|
+
unionid += "";
|
|
257
|
+
openid += "";
|
|
258
|
+
let rs = { errcode: null, account: null };
|
|
259
|
+
if (from == ini_1.EAccountFrom.QQ
|
|
260
|
+
|| from == ini_1.EAccountFrom.WeChat
|
|
261
|
+
|| from == ini_1.EAccountFrom.OpenSocial
|
|
262
|
+
|| from == ini_1.EAccountFrom.Apple
|
|
263
|
+
|| from == ini_1.EAccountFrom.Google) {
|
|
264
|
+
rs.account = await this.getByThird(unionid, openid);
|
|
265
|
+
}
|
|
266
|
+
else if (from == ini_1.EAccountFrom.QuickPhone) {
|
|
267
|
+
let key = "phone_code_" + unionid;
|
|
268
|
+
let code = CacheTool_1.GCacheTool.get(key);
|
|
269
|
+
if (!code || code != openid) {
|
|
270
|
+
rs.errcode = _error_1.EErrorCode.Wrong_Phone_Code;
|
|
271
|
+
return rs;
|
|
272
|
+
}
|
|
273
|
+
rs.account = await this.getByPhone(unionid);
|
|
274
|
+
}
|
|
275
|
+
else if (from == ini_1.EAccountFrom.Phone) {
|
|
276
|
+
rs.account = await this.get(null, { phone: unionid, password: openid });
|
|
277
|
+
if (!rs.account) {
|
|
278
|
+
rs.errcode = _error_1.EErrorCode.Login_Failed;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
else if (from == ini_1.EAccountFrom.Email) {
|
|
282
|
+
rs.account = await this.get(null, { email: unionid, password: openid });
|
|
283
|
+
if (!rs.account) {
|
|
284
|
+
rs.errcode = _error_1.EErrorCode.Login_Failed;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
else if (from == ini_1.EAccountFrom.Name || from == ini_1.EAccountFrom.Guest) {
|
|
288
|
+
rs.account = await this.get(null, { name: unionid, password: openid });
|
|
289
|
+
if (!rs.account && from == ini_1.EAccountFrom.Name) {
|
|
290
|
+
rs.errcode = _error_1.EErrorCode.Login_Failed;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
return rs;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* 修改密码
|
|
297
|
+
* @param unionid
|
|
298
|
+
* @param openid
|
|
299
|
+
* @param new_pwd
|
|
300
|
+
*/
|
|
301
|
+
async updatePwd(unionid, openid, new_pwd) {
|
|
302
|
+
let rs = await OpenSocial_1.GOpenSocial.updatePwd(unionid, openid, new_pwd);
|
|
303
|
+
return rs;
|
|
304
|
+
}
|
|
305
|
+
async register(type, key, password, ip, extra) {
|
|
306
|
+
let rs = { user: null, errcode: null };
|
|
307
|
+
extra = extra || {};
|
|
308
|
+
let am = new this._t_type();
|
|
309
|
+
switch (type) {
|
|
310
|
+
case ini_1.EAccountFrom.Phone:
|
|
311
|
+
{
|
|
312
|
+
am.phone = key;
|
|
313
|
+
let temp = await this.get({ id: 1 }, { phone: key });
|
|
314
|
+
if (temp) {
|
|
315
|
+
rs.errcode = _error_1.EErrorCode.Account_Phone_Exist;
|
|
316
|
+
return rs;
|
|
317
|
+
}
|
|
318
|
+
break;
|
|
319
|
+
}
|
|
320
|
+
case ini_1.EAccountFrom.Email:
|
|
321
|
+
{
|
|
322
|
+
am.email = key;
|
|
323
|
+
let temp = await this.get({ id: 1 }, { email: key });
|
|
324
|
+
if (temp) {
|
|
325
|
+
rs.errcode = _error_1.EErrorCode.Account_Email_Exist;
|
|
326
|
+
return rs;
|
|
327
|
+
}
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
330
|
+
case ini_1.EAccountFrom.Name:
|
|
331
|
+
{
|
|
332
|
+
am.name = key;
|
|
333
|
+
let temp = await this.get({ id: 1 }, { name: key });
|
|
334
|
+
if (temp) {
|
|
335
|
+
rs.errcode = _error_1.EErrorCode.Account_Name_Exist;
|
|
336
|
+
return rs;
|
|
337
|
+
}
|
|
338
|
+
break;
|
|
339
|
+
}
|
|
340
|
+
default:
|
|
341
|
+
{
|
|
342
|
+
rs.errcode = _error_1.EErrorCode.Account_Type_Error;
|
|
343
|
+
return rs;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
am.password = password;
|
|
347
|
+
am.create_time = Date.now();
|
|
348
|
+
am.create_ip = ip;
|
|
349
|
+
am.login_time = Date.now();
|
|
350
|
+
am.login_ip = ip;
|
|
351
|
+
am.id = await this.getNextId();
|
|
352
|
+
let rs_am = await this.insert(am);
|
|
353
|
+
if (!rs_am.rs.insertedId) {
|
|
354
|
+
rs.errcode = _error_1.EErrorCode.Mysql_Error;
|
|
355
|
+
return rs;
|
|
356
|
+
}
|
|
357
|
+
let user = await MongoUserService_1.GUserSer.add(am.id, extra.nickname, extra.sex, extra.logo);
|
|
358
|
+
if (!user) {
|
|
359
|
+
this.deleteOne({ id: am.id });
|
|
360
|
+
rs.errcode = _error_1.EErrorCode.User_Create_Failed;
|
|
361
|
+
return rs;
|
|
362
|
+
}
|
|
363
|
+
rs.user = user;
|
|
364
|
+
return rs;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
exports.MongoAccountService = MongoAccountService;
|