diff --git a/app/src/constants.ts b/app/src/constants.ts index 72bbe00c0..62d106e00 100644 --- a/app/src/constants.ts +++ b/app/src/constants.ts @@ -427,4 +427,7 @@ export abstract class Constants { // third "yul", "solidity", "abap", ]; + + // Google Analytics 事件 + public static readonly ANALYTICS_EVT_ON_GET_CONFIG: string = "siyuan.onGetConfig"; } diff --git a/app/src/util/onGetConfig.ts b/app/src/util/onGetConfig.ts index 5fdce99a7..73223eba8 100644 --- a/app/src/util/onGetConfig.ts +++ b/app/src/util/onGetConfig.ts @@ -160,9 +160,23 @@ export const onGetConfig = (isStart: boolean) => { mountHelp(); } - window.gtag("event", "config", { + let para = { "version": Constants.SIYUAN_VERSION, - }); + "isLoggedIn": "false", + "subscriptionStatus": "-1", + "subscriptionPlan": "-1", + "subscriptionType": "-1", + } + if (window.siyuan.user) { + para.isLoggedIn = "true"; + if (0 === window.siyuan.user.userSiYuanSubscriptionStatus) { + console.log(window.siyuan.user) + para.subscriptionStatus = window.siyuan.user.userSiYuanSubscriptionStatus.toString(); + para.subscriptionPlan = window.siyuan.user.userSiYuanSubscriptionPlan.toString(); + para.subscriptionType = window.siyuan.user.userSiYuanSubscriptionType.toString(); + } + } + window.gtag("event", Constants.ANALYTICS_EVT_ON_GET_CONFIG, para); }; const initBar = () => { diff --git a/kernel/conf/user.go b/kernel/conf/user.go index 81660b27f..ad38d7a79 100644 --- a/kernel/conf/user.go +++ b/kernel/conf/user.go @@ -36,6 +36,7 @@ type User struct { UserTrafficTime float64 `json:"userTrafficTime"` UserSiYuanSubscriptionPlan float64 `json:"userSiYuanSubscriptionPlan"` // -2:未订阅,-1:试用,0:标准订阅,1:教育订阅 UserSiYuanSubscriptionStatus float64 `json:"userSiYuanSubscriptionStatus"` // -1:未订阅,0:订阅可用,1:订阅封禁,2:订阅过期 + UserSiYuanSubscriptionType float64 `json:"userSiYuanSubscriptionType"` // 0 年付;1 终生;2 月付 } type UserTitle struct {