推送:保存用户个推cid

This commit is contained in:
qiaoxin
2021-07-05 19:15:40 +08:00
parent 33dcb728e2
commit 6492c8ce0d
5 changed files with 127 additions and 107 deletions
+3 -3
View File
@@ -36,10 +36,10 @@ export default class Getui_Tags extends BaseModel {
return result; return result;
} }
//添加个推信息 //添加/更新个推信息
public static async insertRole(roleId: string, cid: string, tags: string[]) { public static async updateCID(roleId: string, cid: string) {
let result: GetuiTagsModelType = await GetuiTagsModel.findOneAndUpdate( let result: GetuiTagsModelType = await GetuiTagsModel.findOneAndUpdate(
{ roleId, cid }, { $set: { tags: tags } }, { upsert: true, new: true }).lean(true); { roleId }, { $set: { cid: cid } }, { upsert: true, new: true }).lean(true);
return result; return result;
} }
+9
View File
@@ -101,6 +101,10 @@ export default class User extends BaseModel {
@prop({ required: true, default: 0 }) @prop({ required: true, default: 0 })
auth: number; auth: number;
// 个推CID
@prop({ required: false, default: "" })
getuiCID: string;
public static async createUser(isGuest: boolean, tel: string, token: string, platform: string, pkgName: string, serverType: string, deviceId: string, guestTime: number = 0) { public static async createUser(isGuest: boolean, tel: string, token: string, platform: string, pkgName: string, serverType: string, deviceId: string, guestTime: number = 0) {
let _tel = aesEncryptcfb(tel, ENCRYPT_KEY, ENCRYPT_IV); let _tel = aesEncryptcfb(tel, ENCRYPT_KEY, ENCRYPT_IV);
const curTime: Date = new Date(); const curTime: Date = new Date();
@@ -130,6 +134,11 @@ export default class User extends BaseModel {
return user; return user;
} }
public static async updateGetuiCID(tel: string, cid: string) {
let user = await UserModel.findOneAndUpdate({ tel }, { $set: { getuiCID: cid } }, { new: true }).lean({ getters: true });
return user;
}
public static async createOrUpdate(isGuest: boolean, tel: string, token: string, platform: string, pkgName: string, serverType: string, deviceId: string) { public static async createOrUpdate(isGuest: boolean, tel: string, token: string, platform: string, pkgName: string, serverType: string, deviceId: string) {
// console.log(tel); // console.log(tel);
+6 -6
View File
@@ -4,8 +4,8 @@ export default class AccountController extends Controller {
public async deviceLogin() { public async deviceLogin() {
const { ctx } = this; const { ctx } = this;
const { token, isGuest, deviceId, platform, pkgName, serverType } = ctx.request.body; const { token, isGuest, deviceId, platform, pkgName, serverType, getuiCID } = ctx.request.body;
ctx.body = await ctx.service.auth.deviceLogin(isGuest, token, deviceId, platform, pkgName, serverType); ctx.body = await ctx.service.auth.deviceLogin(isGuest, token, deviceId, platform, pkgName, serverType, getuiCID);
} }
public async getSms() { public async getSms() {
@@ -16,8 +16,8 @@ export default class AccountController extends Controller {
public async smsLogin() { public async smsLogin() {
const { ctx } = this; const { ctx } = this;
const { tel, code, platform, pkgName, serverType, deviceId } = ctx.request.body; const { tel, code, platform, pkgName, serverType, deviceId, getuiCID } = ctx.request.body;
ctx.body = await ctx.service.auth.smsLogin(tel, deviceId, code, platform, pkgName, serverType); ctx.body = await ctx.service.auth.smsLogin(tel, deviceId, code, platform, pkgName, serverType, getuiCID);
} }
public async getSmsCode() { public async getSmsCode() {
@@ -34,8 +34,8 @@ export default class AccountController extends Controller {
public async pwLogin() { public async pwLogin() {
const { ctx } = this; const { ctx } = this;
const { tel, deviceId, password } = ctx.request.body; const { tel, deviceId, password, getuiCID } = ctx.request.body;
ctx.body = await ctx.service.auth.pwLogin(tel, deviceId, password); ctx.body = await ctx.service.auth.pwLogin(tel, deviceId, password, getuiCID);
} }
public async checkRole() { public async checkRole() {
+1 -1
View File
@@ -142,7 +142,7 @@ function showError(content) {
function queryEntry(param, callback) { function queryEntry(param, callback) {
var route = 'gate.gateHandler.queryEntry'; var route = 'gate.gateHandler.queryEntry';
pomelo.init({ pomelo.init({
host: window.location.hostname, host: '127.0.0.1',
port: 3014, port: 3014,
log: true log: true
}, function () { }, function () {
+15 -4
View File
@@ -23,7 +23,7 @@ export default class Auth extends Service {
* @param telNo - 用户手机号 * @param telNo - 用户手机号
*/ */
public async deviceLogin(isGuest: boolean, token: string, deviceId: string, platform: string, pkgName: string, serverType: string) { public async deviceLogin(isGuest: boolean, token: string, deviceId: string, platform: string, pkgName: string, serverType: string, getuiCID: string) {
const ctx = this.ctx; const ctx = this.ctx;
let user = await UserModel.findUserByToken(token); let user = await UserModel.findUserByToken(token);
@@ -42,6 +42,9 @@ export default class Auth extends Service {
} else { } else {
user = await UserModel.createUser(isGuest, tel, token, platform, pkgName, serverType, deviceId); user = await UserModel.createUser(isGuest, tel, token, platform, pkgName, serverType, deviceId);
if (getuiCID) {//更新个推cid
await UserModel.updateGetuiCID(tel, getuiCID);
}
let param = this.getReturnParam(user); let param = this.getReturnParam(user);
return this.ctx.service.utils.resResult(STATUS.SUCCESS, { return this.ctx.service.utils.resResult(STATUS.SUCCESS, {
@@ -59,6 +62,9 @@ export default class Auth extends Service {
} else { } else {
const token = ctx.service.utils.generateStr(256); const token = ctx.service.utils.generateStr(256);
user = await UserModel.updateToken(user.tel, token, deviceId); user = await UserModel.updateToken(user.tel, token, deviceId);
if (getuiCID) {//更新个推cid
await UserModel.updateGetuiCID(user.tel, getuiCID);
}
let param = this.getReturnParam(user); let param = this.getReturnParam(user);
let canLogin = true; let canLogin = true;
@@ -179,7 +185,7 @@ export default class Auth extends Service {
* @param pkgName 包名 * @param pkgName 包名
* @param serverType 服务器类型 * @param serverType 服务器类型
*/ */
public async smsLogin(tel: string, deviceId: string, code: string, platform: string, pkgName: string, serverType: string) { public async smsLogin(tel: string, deviceId: string, code: string, platform: string, pkgName: string, serverType: string, getuiCID: string) {
const ctx = this.ctx; const ctx = this.ctx;
// 参数检查 // 参数检查
const telVerify = this.checkTelNo(tel); const telVerify = this.checkTelNo(tel);
@@ -211,6 +217,9 @@ export default class Auth extends Service {
// 用户注册登录 // 用户注册登录
const token = ctx.service.utils.generateStr(256); const token = ctx.service.utils.generateStr(256);
const user = await UserModel.createOrUpdate(false, tel, token, platform, pkgName, serverType, deviceId); const user = await UserModel.createOrUpdate(false, tel, token, platform, pkgName, serverType, deviceId);
if (getuiCID) {//更新个推cid
await UserModel.updateGetuiCID(tel, getuiCID);
}
let param = this.getReturnParam(user); let param = this.getReturnParam(user);
return ctx.service.utils.resResult(STATUS.SUCCESS, param); return ctx.service.utils.resResult(STATUS.SUCCESS, param);
} }
@@ -257,7 +266,7 @@ export default class Auth extends Service {
* @param pkgName 包名 * @param pkgName 包名
* @param serverType 服务器类型 * @param serverType 服务器类型
*/ */
public async pwLogin(tel: string, deviceId: string, pw: string) { public async pwLogin(tel: string, deviceId: string, pw: string, getuiCID: string) {
const ctx = this.ctx; const ctx = this.ctx;
// 参数检查 // 参数检查
const telVerify = this.checkTelNo(tel); const telVerify = this.checkTelNo(tel);
@@ -270,7 +279,9 @@ export default class Auth extends Service {
const token = ctx.service.utils.generateStr(256); const token = ctx.service.utils.generateStr(256);
const user = await UserModel.checkPass(tel, pw, token, deviceId); const user = await UserModel.checkPass(tel, pw, token, deviceId);
if (!user) return ctx.service.utils.resResult(STATUS.PASSWORD_ERR); if (!user) return ctx.service.utils.resResult(STATUS.PASSWORD_ERR);
if (getuiCID) {//更新个推cid
await UserModel.updateGetuiCID(tel, getuiCID);
}
let param = this.getReturnParam(user); let param = this.getReturnParam(user);
return ctx.service.utils.resResult(STATUS.SUCCESS, { ...param }); return ctx.service.utils.resResult(STATUS.SUCCESS, { ...param });
} }