fix: 修复身体画像约课阻断、页面响应式丢失及多项边界问题
- fix(booking): 修复未认领画像阻断约课问题,支持约课事务内自动认领绑定 - fix(app): 修复 Pinia 状态解构导致响应式失效,补齐 PortraitRadar 组件实例传参 - fix(admin): 修复经营助手复测待办点击 404,优化体验课后线索回访文案 - fix(server): 线下评估日期间隔按中国时区校验,复测按期次单项核销,优化单次评估分享卡与限流清理 - test: 补齐 body-portrait-offline 与 booking 来源画像单元测试 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { onShow } from '@dcloudio/uni-app'
|
||||
import CustomNavBar from '../../components/CustomNavBar.vue'
|
||||
import PortraitRadar from '../../components/PortraitRadar.vue'
|
||||
@@ -40,20 +41,18 @@ import { useUserStore } from '../../stores/user'
|
||||
const navBarHeight = ref(`${getSystemLayout().navBarHeight}px`)
|
||||
const portrait = useBodyPortraitStore()
|
||||
const userStore = useUserStore()
|
||||
const teaser = portrait.teaser
|
||||
const report = portrait.report
|
||||
const claimed = portrait.claimed
|
||||
const { teaser, report, claimed } = storeToRefs(portrait)
|
||||
|
||||
onShow(async () => {
|
||||
if (!portrait.teaser && !portrait.session) {
|
||||
if (!teaser.value && !portrait.session) {
|
||||
await portrait.loadMine().catch(() => {})
|
||||
}
|
||||
if (portrait.teaser) await portrait.track('report_viewed')
|
||||
if (teaser.value) await portrait.track('report_viewed')
|
||||
})
|
||||
|
||||
async function continueFlow() {
|
||||
try {
|
||||
if (!portrait.claimed) {
|
||||
if (!claimed.value) {
|
||||
if (!userStore.loggedIn) await userStore.login()
|
||||
await portrait.claim()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user