109 lines
2.7 KiB
JavaScript
109 lines
2.7 KiB
JavaScript
// pages/test-select/index.js
|
||
const app = getApp()
|
||
|
||
Page({
|
||
data: {
|
||
permFace: true,
|
||
permMbti: true,
|
||
permSbti: true,
|
||
permPdp: true,
|
||
permDisc: true,
|
||
/** AI 测评聚合页(对话 / 拍照);企业显式关闭 aiHub 时隐藏 */
|
||
permAiHub: true,
|
||
/** 四类入口均被企业权限关闭时提示,避免误以为白屏 */
|
||
allTestsDisabled: false
|
||
},
|
||
|
||
onLoad(options) {
|
||
try {
|
||
require('../../utils/thirdPartyContext.js').ingestThirdPartyOnPageLoad(options || {}, app)
|
||
} catch (e) {}
|
||
try {
|
||
wx.showShareMenu({ withShareTicket: true, menus: ['shareAppMessage', 'shareTimeline'] })
|
||
} catch (e) {}
|
||
// 分享直达时尽早完成静默登录,避免用户点进子页时仍无 token
|
||
app.ensureLogin().catch(() => {})
|
||
this._syncPerms()
|
||
},
|
||
|
||
onShow() {
|
||
this._syncPerms()
|
||
},
|
||
|
||
_syncPerms() {
|
||
const p = app.globalData.enterprisePermissions
|
||
const permFace = !p || p.face !== false
|
||
const permMbti = !p || p.mbti !== false
|
||
const permSbti = !p || p.sbti !== false
|
||
const permPdp = !p || p.pdp !== false
|
||
const permDisc = !p || p.disc !== false
|
||
const permAiHub = !p || p.aiHub !== false
|
||
this.setData({
|
||
permFace,
|
||
permMbti,
|
||
permSbti,
|
||
permPdp,
|
||
permDisc,
|
||
permAiHub,
|
||
allTestsDisabled: p && !permMbti && !permSbti && !permPdp && !permDisc
|
||
})
|
||
},
|
||
|
||
_trackSelect(type) {
|
||
try { require('../../utils/analytics').track('tap_test_select', { type }) } catch (e) {}
|
||
},
|
||
|
||
goMBTI() {
|
||
this._trackSelect('mbti')
|
||
wx.navigateTo({ url: '/pages/test/mbti' })
|
||
},
|
||
|
||
goSBTI() {
|
||
this._trackSelect('sbti')
|
||
wx.navigateTo({ url: '/pages/test/sbti' })
|
||
},
|
||
|
||
goPDP() {
|
||
this._trackSelect('pdp')
|
||
wx.navigateTo({ url: '/pages/test/pdp' })
|
||
},
|
||
|
||
goDISC() {
|
||
this._trackSelect('disc')
|
||
wx.navigateTo({ url: '/pages/test/disc' })
|
||
},
|
||
|
||
/** AI 对话解读(神仙 AI) */
|
||
goAIChatInterpretation() {
|
||
this._trackSelect('ai_chat')
|
||
wx.navigateTo({ url: '/pages/ai-chat/index?src=test_select' })
|
||
},
|
||
|
||
/** 拍照面相分析(与底部「拍摄」同页) */
|
||
goAIFaceAnalysis() {
|
||
this._trackSelect('ai_face')
|
||
wx.switchTab({
|
||
url: '/pages/index/camera',
|
||
fail: () => {
|
||
wx.showToast({ title: '请从底部「拍摄」进入', icon: 'none' })
|
||
}
|
||
})
|
||
},
|
||
|
||
onShareAppMessage() {
|
||
const { getSharePath } = require('../../utils/share')
|
||
return {
|
||
title: '问卷 + AI 测评,发现你的性格类型',
|
||
path: getSharePath('/pages/test-select/index')
|
||
}
|
||
},
|
||
|
||
onShareTimeline() {
|
||
const { buildShareQuery } = require('../../utils/share')
|
||
return {
|
||
title: '问卷 + AI 测评,发现你的性格类型',
|
||
query: buildShareQuery()
|
||
}
|
||
}
|
||
})
|