fix: 小程序结果/选题页与 Test 路由及分享逻辑

1、修复了 result 与 test 各题型页及 test-select 的跳转与数据问题。

2、调整 api/Test 与 route 注册。

3、优化 app 入口与 share 工具。

Made-with: Cursor
This commit is contained in:
Ghost
2026-04-14 10:39:14 +08:00
parent fe2d1a5cb0
commit 0aab56c842
13 changed files with 468 additions and 98 deletions

View File

@@ -47,6 +47,9 @@ Page({
try {
require('../../utils/analytics').track('test_start', { type: 'disc', total: questions.length })
} catch (e) {}
try {
wx.showShareMenu({ withShareTicket: true, menus: ['shareAppMessage', 'shareTimeline'] })
} catch (e) {}
this.startTimer()
})
.catch((err) => {
@@ -190,5 +193,21 @@ Page({
}
wx.redirectTo({ url: '/pages/result/disc' })
},
onShareAppMessage() {
const { getSharePath } = require('../../utils/share')
return {
title: '来测测你的 DISC 性格类型',
path: getSharePath('/pages/test/disc')
}
},
onShareTimeline() {
const { buildShareQuery } = require('../../utils/share')
return {
title: '来测测你的 DISC 性格类型',
query: buildShareQuery()
}
}
})

View File

@@ -52,6 +52,9 @@ Page({
try {
require('../../utils/analytics').track('test_start', { type: 'mbti', total })
} catch (e) {}
try {
wx.showShareMenu({ withShareTicket: true, menus: ['shareAppMessage', 'shareTimeline'] })
} catch (e) {}
this.startTimer()
})
.catch((err) => {
@@ -280,5 +283,21 @@ Page({
confidence,
description: mbtiDescriptions[mbtiType] || {}
}
},
onShareAppMessage() {
const { getSharePath } = require('../../utils/share')
return {
title: '来测测你的 MBTI 性格类型',
path: getSharePath('/pages/test/mbti')
}
},
onShareTimeline() {
const { buildShareQuery } = require('../../utils/share')
return {
title: '来测测你的 MBTI 性格类型',
query: buildShareQuery()
}
}
})

View File

@@ -47,6 +47,9 @@ Page({
try {
require('../../utils/analytics').track('test_start', { type: 'pdp', total: questions.length })
} catch (e) {}
try {
wx.showShareMenu({ withShareTicket: true, menus: ['shareAppMessage', 'shareTimeline'] })
} catch (e) {}
this.startTimer()
})
.catch((err) => {
@@ -193,5 +196,21 @@ Page({
}
wx.redirectTo({ url: '/pages/result/pdp' })
},
onShareAppMessage() {
const { getSharePath } = require('../../utils/share')
return {
title: '来测测你的 PDP 性格类型',
path: getSharePath('/pages/test/pdp')
}
},
onShareTimeline() {
const { buildShareQuery } = require('../../utils/share')
return {
title: '来测测你的 PDP 性格类型',
query: buildShareQuery()
}
}
})

View File

@@ -56,6 +56,9 @@ Page({
try {
require('../../utils/analytics').track('test_start', { type: 'sbti', total })
} catch (e) {}
try {
wx.showShareMenu({ withShareTicket: true, menus: ['shareAppMessage', 'shareTimeline'] })
} catch (e) {}
this.startTimer()
})
.catch((err) => {
@@ -245,5 +248,21 @@ Page({
wx.redirectTo({
url: '/pages/result/sbti'
})
},
onShareAppMessage() {
const { getSharePath } = require('../../utils/share')
return {
title: '来测测你的 SBTI 类型',
path: getSharePath('/pages/test/sbti')
}
},
onShareTimeline() {
const { buildShareQuery } = require('../../utils/share')
return {
title: '来测测你的 SBTI 类型',
query: buildShareQuery()
}
}
})