diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index 00b3de3d7..ed02f8d98 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -929,6 +929,7 @@ export enum ITEM_CHANGE_REASON { export enum TA_EVENT { REGISTER = 'register', // 注册 + CREATE_ROLE = 'create_role', // 创建角色 RECHARGE = 'recharge', // 发起充值 RECHARGE_SUCCESS = 'recharge_success', // 充值成功 RECHARGE_FAIL = 'recharge_fail', // 充值失败 diff --git a/web-server/app/controller/account.ts b/web-server/app/controller/account.ts index 1afb41bde..2f68f8127 100644 --- a/web-server/app/controller/account.ts +++ b/web-server/app/controller/account.ts @@ -46,8 +46,8 @@ export default class AccountController extends Controller { public async createRole() { const { ctx } = this; - const { serverId } = ctx.request.body; - ctx.body = await ctx.service.auth.createRole(serverId); + const { serverId, distinctId } = ctx.request.body; + ctx.body = await ctx.service.auth.createRole(serverId, distinctId); } public async bind() { diff --git a/web-server/app/service/Auth.ts b/web-server/app/service/Auth.ts index dfbb73385..f272cf72b 100644 --- a/web-server/app/service/Auth.ts +++ b/web-server/app/service/Auth.ts @@ -302,7 +302,7 @@ export default class Auth extends Service { return ctx.service.utils.resResult(STATUS.ROLE_NOT_FOUND); } - public async createRole(serverId: number) { + public async createRole(serverId: number, distinctId: string) { console.log('enter Auth createRole'); const ctx = this.ctx; const { uid } = ctx; @@ -324,6 +324,7 @@ export default class Auth extends Service { // 任务 await checkTask(roleId, TASK_TYPE.ROLE_LV, role.lv, false, {}); + ctx.service.sdk.reportTAEventWithRoleIdAndDistinctId(roleId, distinctId, TA_EVENT.REGISTER, null, ctx.clientIp); return ctx.service.utils.resResult(STATUS.SUCCESS, { roleId: role.roleId }); } return ctx.service.utils.resResult(STATUS.ROLE_NOT_FOUND); @@ -401,7 +402,7 @@ export default class Auth extends Service { public async channelLogin(params: { channelType: string, pst: string, clientId: string, deviceId: string, platform: string, platformAppid: string, childGameId: number, pkgName: string, serverType: string, getuiCID: string, distinctId: string }) { - const { channelType, pst, clientId, deviceId, platform, platformAppid, childGameId, pkgName, serverType, getuiCID, distinctId } = params; + const { channelType, pst, clientId, deviceId, platform, platformAppid, childGameId, pkgName, serverType, getuiCID } = params; const ctx = this.ctx; @@ -418,7 +419,7 @@ export default class Auth extends Service { ...requestResult.data, childGameId, platformAppid }, token, platform, pkgName, serverType, deviceId, ctx.clientIp); if(isCreate) { - ctx.service.sdk.reportTAEventWithDistinctId(distinctId, TA_EVENT.REGISTER, null, ctx.clientIp); + // ctx.service.sdk.reportTAEventWithDistinctId(distinctId, TA_EVENT.REGISTER, null, ctx.clientIp); } if (getuiCID) {//更新个推cid diff --git a/web-server/app/service/Sdk.ts b/web-server/app/service/Sdk.ts index 03933c2e6..cc7acbf25 100644 --- a/web-server/app/service/Sdk.ts +++ b/web-server/app/service/Sdk.ts @@ -277,4 +277,27 @@ export default class Sdk extends Service { ta.track(event); } + public reportTAEventWithRoleIdAndDistinctId(roleId: string, distinctId: string, eventName: string, properties: any, ip?: string) { + let ta = this.app.context.ta; + let event = { + // 账号 ID (可选) + accountId: `${roleId}`, + // 访客 ID (可选),账号 ID 和访客 ID 不可以都为空 + distinctId: distinctId? `${distinctId}`: "", + // 事件名称 (必填) + event: eventName, + // 事件时间 (可选) 如果不填,将以调用接口时的时间作为事件时间 + time: new Date(), + // 事件 IP (可选) 当传入 IP 地址时,后台可以解析所在地 + ip: ip, + // 事件属性 (可选) + properties, + callback(err) { + console.log('*****测试接入事件', err) + } + + }; + ta.track(event); + } + }