推送:保存用户个推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

View File

@@ -36,10 +36,10 @@ export default class Getui_Tags extends BaseModel {
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(
{ roleId, cid }, { $set: { tags: tags } }, { upsert: true, new: true }).lean(true);
{ roleId }, { $set: { cid: cid } }, { upsert: true, new: true }).lean(true);
return result;
}

View File

@@ -101,6 +101,10 @@ export default class User extends BaseModel {
@prop({ required: true, default: 0 })
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) {
let _tel = aesEncryptcfb(tel, ENCRYPT_KEY, ENCRYPT_IV);
const curTime: Date = new Date();
@@ -130,6 +134,11 @@ export default class User extends BaseModel {
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) {
// console.log(tel);

View File

@@ -4,8 +4,8 @@ export default class AccountController extends Controller {
public async deviceLogin() {
const { ctx } = this;
const { token, isGuest, deviceId, platform, pkgName, serverType } = ctx.request.body;
ctx.body = await ctx.service.auth.deviceLogin(isGuest, token, deviceId, platform, pkgName, serverType);
const { token, isGuest, deviceId, platform, pkgName, serverType, getuiCID } = ctx.request.body;
ctx.body = await ctx.service.auth.deviceLogin(isGuest, token, deviceId, platform, pkgName, serverType, getuiCID);
}
public async getSms() {
@@ -16,8 +16,8 @@ export default class AccountController extends Controller {
public async smsLogin() {
const { ctx } = this;
const { tel, code, platform, pkgName, serverType, deviceId } = ctx.request.body;
ctx.body = await ctx.service.auth.smsLogin(tel, deviceId, code, platform, pkgName, serverType);
const { tel, code, platform, pkgName, serverType, deviceId, getuiCID } = ctx.request.body;
ctx.body = await ctx.service.auth.smsLogin(tel, deviceId, code, platform, pkgName, serverType, getuiCID);
}
public async getSmsCode() {
@@ -34,8 +34,8 @@ export default class AccountController extends Controller {
public async pwLogin() {
const { ctx } = this;
const { tel, deviceId, password } = ctx.request.body;
ctx.body = await ctx.service.auth.pwLogin(tel, deviceId, password);
const { tel, deviceId, password, getuiCID } = ctx.request.body;
ctx.body = await ctx.service.auth.pwLogin(tel, deviceId, password, getuiCID);
}
public async checkRole() {

View File

@@ -142,7 +142,7 @@ function showError(content) {
function queryEntry(param, callback) {
var route = 'gate.gateHandler.queryEntry';
pomelo.init({
host: window.location.hostname,
host: '127.0.0.1',
port: 3014,
log: true
}, function () {

View File

@@ -23,7 +23,7 @@ export default class Auth extends Service {
* @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;
let user = await UserModel.findUserByToken(token);
@@ -42,6 +42,9 @@ export default class Auth extends Service {
} else {
user = await UserModel.createUser(isGuest, tel, token, platform, pkgName, serverType, deviceId);
if (getuiCID) {//更新个推cid
await UserModel.updateGetuiCID(tel, getuiCID);
}
let param = this.getReturnParam(user);
return this.ctx.service.utils.resResult(STATUS.SUCCESS, {
@@ -59,6 +62,9 @@ export default class Auth extends Service {
} else {
const token = ctx.service.utils.generateStr(256);
user = await UserModel.updateToken(user.tel, token, deviceId);
if (getuiCID) {//更新个推cid
await UserModel.updateGetuiCID(user.tel, getuiCID);
}
let param = this.getReturnParam(user);
let canLogin = true;
@@ -179,7 +185,7 @@ export default class Auth extends Service {
* @param pkgName 包名
* @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 telVerify = this.checkTelNo(tel);
@@ -211,6 +217,9 @@ export default class Auth extends Service {
// 用户注册登录
const token = ctx.service.utils.generateStr(256);
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);
return ctx.service.utils.resResult(STATUS.SUCCESS, param);
}
@@ -257,7 +266,7 @@ export default class Auth extends Service {
* @param pkgName 包名
* @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 telVerify = this.checkTelNo(tel);
@@ -270,7 +279,9 @@ export default class Auth extends Service {
const token = ctx.service.utils.generateStr(256);
const user = await UserModel.checkPass(tel, pw, token, deviceId);
if (!user) return ctx.service.utils.resResult(STATUS.PASSWORD_ERR);
if (getuiCID) {//更新个推cid
await UserModel.updateGetuiCID(tel, getuiCID);
}
let param = this.getReturnParam(user);
return ctx.service.utils.resResult(STATUS.SUCCESS, { ...param });
}