feat: 新增工单中心、房间巡查、失物招领等业务模块

- 新增工单中心(ticket_center)与工单工作台(ticket_workbench)页面
- 新增房间巡查(room_inspection)与失物招领发布(lost_found_publish)页面
- 预约看样流程新增房型/楼栋/楼层选择器组件
- 新增工具模块: booking-entry、privacy、reservation-flow
- api/index.js 补充楼层列表、看样提交等接口
- locales/messages.js 补充多语言文案
- manifest.json 开启微信小程序隐私检查
- 完善登录、注册、申请详情、账单等相关页面交互
This commit is contained in:
liangjian
2026-07-24 09:35:46 +08:00
parent 9fea127de1
commit 445bd850f4
36 changed files with 9281 additions and 340 deletions

View File

@@ -82,6 +82,8 @@ import {
pickLatestRegistration,
resolveLoginPreparation
} from '../../utils/login-helper'
import { resolveBookingRedirectAfterLogin } from '../../utils/booking-entry'
import { syncLoginStayState } from '../../utils/session-sync'
import { registrationMyorder, userMe, usersLogin } from '@/api/index.js'
export default {
@@ -161,8 +163,7 @@ export default {
isHomePageUrl(url = '') {
return /^\/pages\/index\/index(?:\?|$)/.test(String(url || ''))
},
navigateAfterLogin() {
const targetUrl = this.redirectUrl
navigateAfterLogin(targetUrl = this.redirectUrl) {
const pages = getCurrentPages()
if (targetUrl) {
if (this.isHomePageUrl(targetUrl)) {
@@ -346,6 +347,18 @@ export default {
saveRegisteredUser(finalUser)
startAuthorizedLoginSession(finalUser, token, expires)
let nextRedirectUrl = this.redirectUrl
try {
const stayState = await syncLoginStayState({
language: this.$getLanguage(),
force: true
})
nextRedirectUrl = resolveBookingRedirectAfterLogin(this.redirectUrl, stayState)
} catch (error) {
console.error('sync stay state after login failed', error)
}
uni.hideLoading()
uni.showToast({
title: this.t('loginSuccess'),
@@ -353,7 +366,7 @@ export default {
})
setTimeout(() => {
this.isSubmitting = false
this.navigateAfterLogin()
this.navigateAfterLogin(nextRedirectUrl)
}, 600)
},
handleLogin() {