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:
@@ -84,6 +84,29 @@ function shouldSkipUnauthorizedRedirect() {
|
||||
return route === 'pkgAccount/login/login' || route === 'pages/login/index' || route === 'pages/login/login'
|
||||
}
|
||||
|
||||
function normalizeRequestedLanguageHeaderValue(language) {
|
||||
return String(language || getCurrentLanguage() || 'zh').trim().toLowerCase() === 'en' ? 'en' : 'zh'
|
||||
}
|
||||
|
||||
function buildRequestHeader(header = {}, token = '') {
|
||||
const normalizedHeader = { ...(header || {}) }
|
||||
const requestedLanguageHeaderKey = Object.keys(normalizedHeader).find(key => String(key || '').toLowerCase() === 'x-requested-language')
|
||||
|
||||
if (requestedLanguageHeaderKey && requestedLanguageHeaderKey !== 'X-Requested-Language') {
|
||||
delete normalizedHeader[requestedLanguageHeaderKey]
|
||||
}
|
||||
|
||||
normalizedHeader['X-Requested-Language'] = normalizeRequestedLanguageHeaderValue(
|
||||
requestedLanguageHeaderKey ? normalizedHeader[requestedLanguageHeaderKey] : normalizedHeader['X-Requested-Language']
|
||||
)
|
||||
|
||||
return {
|
||||
'Content-Type': 'application/json',
|
||||
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
||||
...normalizedHeader
|
||||
}
|
||||
}
|
||||
|
||||
function handleUnauthorized(responseData) {
|
||||
clearLoginSession()
|
||||
|
||||
@@ -126,12 +149,7 @@ export function request(options = {}) {
|
||||
data: uppercaseMethod === 'GET'
|
||||
? (params !== undefined ? normalizedParams : normalizedData)
|
||||
: normalizedData,
|
||||
header: {
|
||||
'Content-Type': 'application/json',
|
||||
'X-Requested-Language': getCurrentLanguage(),
|
||||
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
||||
...header
|
||||
},
|
||||
header: buildRequestHeader(header, token),
|
||||
success: (res) => {
|
||||
const { statusCode, data: responseData } = res
|
||||
if ((statusCode === 401) || (responseData && Number(responseData.code) === 401)) {
|
||||
|
||||
Reference in New Issue
Block a user