feat: 首页按后台配置展示订单提醒,挂号详情支持自行改期

首页金刚区和订单提醒样式走配置下发,消息页改为四入口宫格;挂号详情可改期并展示轨迹,取消态展示与支付取值统一按 xk-api 的 code/result。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
李琦
2026-08-18 08:53:15 +08:00
parent cc252b5d1a
commit 8dd1f5cca5
15 changed files with 1038 additions and 265 deletions

View File

@@ -532,12 +532,6 @@ export async function confirmAccept(params) {
let data = await http('/xkApi/product-order/receive', params)
return normalizeXkApiResponse(data)
}
//清空购物车
export async function clearAll(params) {
let data = await http('/newApi/cart/clearAll', params)
return data
}
export async function getVersion(params) {
let data = await http('/v1/other/xcx-version?store_id=11001', params)
return data

View File

@@ -26,3 +26,11 @@ export async function getCartCountsApi(params) {
export async function saveCartApi(params) {
return await post(`${prefix}/save-cart`, params, 3)
}
/**
* 清空购物车(当前用户+门店维度,迁自老 Yii /v1/cart/clear-all xk-api POST /cart/clear-cart
* @param params { store_id: number }
* @returns {Promise<*>}
*/
export async function clearCartApi(params) {
return await post(`${prefix}/clear-cart`, params, 3)
}

View File

@@ -40,6 +40,20 @@ export async function getHomeTopProductsApi(params) {
export async function getHomeZonesApi(params) {
return await get('/product/home-zones', params, 3)
}
/**
* 首页展示样式(金刚区布局 + 订单提醒样式)
* xk-api GET /product/home-display-config游客态 request.js 会改写到 guest
*/
export async function getHomeDisplayConfigApi() {
return await get('/product/home-display-config', {}, 3)
}
/**
* 首页订单提醒(待支付挂号/商品、已发货、待确认收货)
* xk-api GET /product-order/home-remind取值 unwrapXkApi → code / result / message
*/
export async function getHomeOrderRemindApi() {
return await get('/product-order/home-remind', {}, 3)
}
/**
* 更新商品介绍图
* @param params

View File

@@ -10,19 +10,6 @@ import { unwrapXkApi } from '@/utils/api-response.js'
* 老签名不动,避免改动全部调用方的传参结构;新增接口请用 post(url, params, 3) 新封装。
*/
/**
* 存量页面兼容:把 xk-api 的 code/result 抹成旧版 errcode/data
* @deprecated 仅供 registePay 的存量调用方(读 res.data.errcode/data过渡使用
* 新代码一律直接按 code/result 取值或用 unwrapXkApi禁止再新增本函数的调用
*/
function normalizeXkApiResponse(res) {
if (res && res.data && (res.data.code === 0 || res.data.code === '0')) {
res.data.errcode = 0;
res.data.data = res.data.result;
}
return res;
}
/**
* 获取挂号记录列表 xk-api POST /register/list
* @param params { patient_id: number, store_id: number, page: number }
@@ -95,11 +82,12 @@ export async function registeInfo(params) {
/**
* 挂号支付 xk-api POST /register/pay易票联
* 存量调用方读 errcode/data这里保留 normalize 过渡0 元单返回 data.is_paid=1
* 返回原生 xk-api 形态res.data.code == 0 → res.data.result0 元单 result.is_paid=1
* (原 normalize 成 errcode/data 的兼容层已删除,调用方一律按 code/result/message 取值)
*/
export async function registePay(params) {
let data = await http('/xkApi/register/pay', params)
return normalizeXkApiResponse(data)
return data
}
/**
@@ -118,3 +106,19 @@ export async function registeCancle(params) {
let data = await http('/xkApi/register/refund', params)
return data
}
/**
* 修改预约时间(患者本人改期) xk-api POST /register/reschedule
* 参数 { register_id, visit_date: 'Y-m-d', slot_id };就诊当天后端会拦截(提示联系医生/诊所)
*/
export async function registerReschedule(params = {}) {
return await post('/register/reschedule', params, 3)
}
/**
* 挂号改期记录 xk-api POST /register/reschedule-logs
* 返回 result 数组:谁在什么时候把预约从哪个时段改到哪个时段(详情页溯源展示)
*/
export async function registerRescheduleLogs(params = {}) {
return await post('/register/reschedule-logs', params, 3)
}

View File

@@ -135,6 +135,9 @@ function request(url, params, method = 0) {
} else if (url.indexOf('/xkApi/product/home-zones') !== -1) {
url = url.replace('/xkApi/product/home-zones', '/guest/guest-product/home-zones');
baseURL = envUrls.xkApi;
} else if (url.indexOf('/xkApi/product/home-display-config') !== -1) {
url = url.replace('/xkApi/product/home-display-config', '/guest/guest-product/home-display-config');
baseURL = envUrls.xkApi;
} else if (url.indexOf('/xkApi/platform/config') !== -1) {
url = url.replace('/xkApi/platform/config', '/guest/guest-platform/config');
baseURL = envUrls.xkApi;