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:
269
api/index.js
269
api/index.js
@@ -67,6 +67,18 @@ function buildRequestCacheKey(prefix, params = {}, language) {
|
||||
return `${prefix}:${language}:${JSON.stringify(normalizeRequestCacheValue(params || {}))}`
|
||||
}
|
||||
|
||||
function createJsonPatchRequest(url, data = {}, language) {
|
||||
return request({
|
||||
url,
|
||||
method: 'POST',
|
||||
data,
|
||||
header: {
|
||||
'Content-Type': 'application/json-patch+json',
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const notificationPageRequestCache = new Map()
|
||||
const notificationPageResponseCache = new Map()
|
||||
const NOTIFICATION_PAGE_CACHE_TTL = 1200
|
||||
@@ -121,6 +133,17 @@ export function getEnums(params = {}, language) {
|
||||
})
|
||||
}
|
||||
|
||||
export function getFloorList(params = {}, language) {
|
||||
return request({
|
||||
url: '/floor/list',
|
||||
method: 'GET',
|
||||
params,
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// --- 用户与登录 ---
|
||||
export function usersLogin(data = {}, language) {
|
||||
return request({
|
||||
@@ -169,6 +192,18 @@ export function submitApplicationForm(data = {}, language) {
|
||||
})
|
||||
}
|
||||
|
||||
export function submitViewingApplicationForm(data = {}, language) {
|
||||
return request({
|
||||
url: '/applicationform/viewing/submit',
|
||||
method: 'POST',
|
||||
data,
|
||||
header: {
|
||||
'Content-Type': 'application/json-patch+json',
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function registrationApplicationMePage(params = {}, language) {
|
||||
return request({
|
||||
url: '/applicationform/registration/me/page',
|
||||
@@ -202,6 +237,110 @@ export function applicationFormMePage(params = {}, language) {
|
||||
})
|
||||
}
|
||||
|
||||
// --- 工单 ---
|
||||
export function ticketOrderPage(params = {}, language) {
|
||||
return request({
|
||||
url: '/ticketorder/page',
|
||||
method: 'GET',
|
||||
params,
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function ticketOrderMyPage(params = {}, language) {
|
||||
return request({
|
||||
url: '/ticketorder/my/page',
|
||||
method: 'GET',
|
||||
params,
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function ticketOrderDetail(flowNo, language) {
|
||||
return request({
|
||||
url: `/ticketorder/${flowNo}/flows`,
|
||||
method: 'GET',
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function ticketOrderFlows(orderNo, language) {
|
||||
return request({
|
||||
url: `/ticketorder/${orderNo}/flows`,
|
||||
method: 'GET',
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function ticketOrderTransitionOptions(flowNo, language) {
|
||||
return request({
|
||||
url: `/ticketorder/${flowNo}/transition-options`,
|
||||
method: 'GET',
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function ticketFlowTransitionStepRuleSelectTypeItems(params = {}, language) {
|
||||
return request({
|
||||
url: '/ticketflowtransitionsteprule/selecttypeitems',
|
||||
method: 'GET',
|
||||
params,
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function ticketOrderFixonhold(data = {}, language) {
|
||||
return createJsonPatchRequest('/ticketorder/fixonhold', data, language)
|
||||
}
|
||||
|
||||
export function ticketOrderTransit(data = {}, language) {
|
||||
return createJsonPatchRequest('/ticketorder/transit', data, language)
|
||||
}
|
||||
|
||||
export function ticketOrderSubmitChangeroom(data = {}, language) {
|
||||
return createJsonPatchRequest('/ticketordersubmit/changeroom', data, language)
|
||||
}
|
||||
|
||||
export function ticketOrderSubmitCheckout(data = {}, language) {
|
||||
return createJsonPatchRequest('/ticketordersubmit/checkout', data, language)
|
||||
}
|
||||
|
||||
export function ticketOrderSubmitRepair(data = {}, language) {
|
||||
return createJsonPatchRequest('/ticketordersubmit/repair', data, language)
|
||||
}
|
||||
|
||||
export function ticketOrderSubmitSuggestion(data = {}, language) {
|
||||
return createJsonPatchRequest('/ticketordersubmit/suggestion', data, language)
|
||||
}
|
||||
|
||||
export function ticketOrderSubmitRenewal(data = {}, language) {
|
||||
return createJsonPatchRequest('/ticketordersubmit/renewal', data, language)
|
||||
}
|
||||
|
||||
export function ticketOrderSubmitWaterdelivery(data = {}, language) {
|
||||
return createJsonPatchRequest('/ticketordersubmit/waterdelivery', data, language)
|
||||
}
|
||||
|
||||
export function ticketOrderSubmitCleaning(data = {}, language) {
|
||||
return createJsonPatchRequest('/ticketordersubmit/cleaning', data, language)
|
||||
}
|
||||
|
||||
export function lostAndFoundPublish(data = {}, language) {
|
||||
return createJsonPatchRequest('/lostandfound/publish', data, language)
|
||||
}
|
||||
|
||||
// --- 订单与入住 ---
|
||||
export function orderSearchedHistoryPage(params = {}, language) {
|
||||
return request({
|
||||
@@ -225,6 +364,17 @@ export function orderSearchedMePage(params = {}, language) {
|
||||
})
|
||||
}
|
||||
|
||||
export function orderSearchedMyPage(params = {}, language) {
|
||||
return request({
|
||||
url: '/order/searched/me/page',
|
||||
method: 'GET',
|
||||
params: params || {},
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function orderSearchedMeHistoryPage(params = {}, language) {
|
||||
return request({
|
||||
url: '/order/searched/me/history/page',
|
||||
@@ -268,6 +418,64 @@ export function orderSearchedReservationPage(params = {}, language) {
|
||||
})
|
||||
}
|
||||
|
||||
export function orderSearchedReservationFlow(data = {}, language) {
|
||||
return request({
|
||||
url: '/order/searched/reservation/flow',
|
||||
method: 'POST',
|
||||
data,
|
||||
header: {
|
||||
'Content-Type': 'application/json-patch+json',
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function roomInspectionMyPage(params = {}, language) {
|
||||
return request({
|
||||
url: '/roominspection/my/page',
|
||||
method: 'GET',
|
||||
params: params || {},
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function roomInspectionDetail(params = {}, language) {
|
||||
return request({
|
||||
url: '/roominspection/detail',
|
||||
method: 'GET',
|
||||
params: params || {},
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function roomInspectionUpdateItems(data = {}, language) {
|
||||
return request({
|
||||
url: '/roominspection/update/items',
|
||||
method: 'POST',
|
||||
data,
|
||||
header: {
|
||||
'Content-Type': 'application/json-patch+json',
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function roomInspectionSubmit(data = {}, language) {
|
||||
return request({
|
||||
url: '/roominspection/submit',
|
||||
method: 'POST',
|
||||
data,
|
||||
header: {
|
||||
'Content-Type': 'application/json-patch+json',
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function checkRecordByChecked(params = {}, language) {
|
||||
const query = params || {}
|
||||
const orderNo = String(query.orderNo || '').trim()
|
||||
@@ -300,6 +508,24 @@ export function accountQueryBills(params = {}, language) {
|
||||
})
|
||||
}
|
||||
|
||||
export function accountQueryBill(params = {}, language) {
|
||||
const query = params || {}
|
||||
const billNo = String(query.billNo || query.BillNo || '').trim()
|
||||
if (!billNo) {
|
||||
return Promise.reject(new Error('账单号不能为空'))
|
||||
}
|
||||
return request({
|
||||
url: '/accountquery/bill',
|
||||
method: 'GET',
|
||||
params: {
|
||||
billNo
|
||||
},
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function paymentBillPay(data = {}, language) {
|
||||
const payload = data || {}
|
||||
return request({
|
||||
@@ -385,6 +611,17 @@ export function getMyEffectiveContracts(params = {}, language) {
|
||||
})
|
||||
}
|
||||
|
||||
export function contractDetail(params = {}, language) {
|
||||
return request({
|
||||
url: '/contract/detail',
|
||||
method: 'GET',
|
||||
params,
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function contractPreview(data = {}, language) {
|
||||
return request({
|
||||
url: '/contract/preview',
|
||||
@@ -484,6 +721,38 @@ export function facilityManagers(params = {}, language) {
|
||||
})
|
||||
}
|
||||
|
||||
// --- 宿管与管理员联系人 ---
|
||||
export function myDormitoryManagers(language) {
|
||||
return request({
|
||||
url: '/usercampus/my-dormitory-managers',
|
||||
method: 'GET',
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function myCounselor(language) {
|
||||
return request({
|
||||
url: '/usercampus/my-counselor',
|
||||
method: 'GET',
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function buildingPagination(params = {}, language) {
|
||||
return request({
|
||||
url: '/building/pagination',
|
||||
method: 'GET',
|
||||
params,
|
||||
header: {
|
||||
'X-Requested-Language': resolveLanguageHeader(language)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function roomtypeList(params = {}, language) {
|
||||
return request({
|
||||
url: '/roomtype/list',
|
||||
|
||||
Reference in New Issue
Block a user