Files
xk-client-wx/request/api/register.js
李琦 8dd1f5cca5 feat: 首页按后台配置展示订单提醒,挂号详情支持自行改期
首页金刚区和订单提醒样式走配置下发,消息页改为四入口宫格;挂号详情可改期并展示轨迹,取消态展示与支付取值统一按 xk-api 的 code/result。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-18 08:53:15 +08:00

125 lines
4.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import http from './request'
import {post} from './http'
import { unwrapXkApi } from '@/utils/api-response.js'
/**
* 挂号域接口统一模块(除 registerList 外均为 xk-api
* 取值unwrapXkApi → code / result / message
*
* 说明registe/registeInfo 等函数迁自 api.js保持「http(url, { method, data })」
* 老签名不动,避免改动全部调用方的传参结构;新增接口请用 post(url, params, 3) 新封装。
*/
/**
* 获取挂号记录列表 xk-api POST /register/list
* @param params { patient_id: number, store_id: number, page: number }
* @returns {Promise<*>}
*/
export async function getRegisterListApi(params) {
return await post('/register/list', params, 3)
}
/**
* 获取待支付挂号列表(首页提醒用) xk-api POST /register/list
* @param params
* @returns {Promise<Array>}
*/
export async function fetchUnpaidRegisterListApi(params = {}) {
const storeId = params.store_id || uni.getStorageSync('store_id') || '11001';
const res = await post('/register/list?pageSize=100', {
store_id: storeId,
page: 1,
...params,
}, 3);
// /register/list → xk-api
const { ok, payload } = unwrapXkApi(res)
if (!ok) {
return [];
}
const list = (payload && payload.list) || [];
return list.filter((item) => item.status === 0 && item.is_cancel !== 1);
}
/**
* 医生号源日历 xk-api GET /register/schedule-calendar登录态
* 返回 { register_status, register_price, book_days, days[] }days 含每天出诊/时段/余号
* 读值按 xk-api 形态res.data.code == 0 → res.data.result
*/
export async function registerCalendar(params) {
let data = await http('/xkApi/register/schedule-calendar', params)
return data
}
/**
* 医生号源信息(游客态专用)
* URL 写老 Yii doc-register-info但 request.js 会在 guest 模式下重写到
* xk-api /guest/guest-doctor/doc-register-info响应 code/result 形态result 带 calendar
* @deprecated 登录态请勿使用(会打到老 Yii登录态一律走 registerCalendar
*/
export async function registerList(params) {
let data = await http('/oldApi/v1/register/doc-register-info', params)
return data
}
/**
* 挂号建单 xk-api POST /register/create迁自老 Yii /v1/register/register
* 入参新增 visit_date(Y-m-d) + slot_id0=全天兜底);返回 result{register_id, isHas}
* 读值按 xk-api 形态res.data.code == 0 → res.data.result
*/
export async function registe(params) {
let data = await http('/xkApi/register/create', params)
return data
}
/**
* 挂号详情 xk-api POST /register/detail迁自老 Yii /v1/register/register-detail
* 返回 result 为单对象(老接口是 data.list[0]),附 appointment 预约日期/时段信息
*/
export async function registeInfo(params) {
let data = await http('/xkApi/register/detail', params)
return data
}
/**
* 挂号支付 xk-api POST /register/pay易票联
* 返回原生 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 data
}
/**
* 取消挂号 xk-api POST /register/cancel仅未支付单迁自老 Yii /v1/register/cancel
*/
export async function registeUnpay(params) {
let data = await http('/xkApi/register/cancel', params)
return data
}
/**
* 挂号退款 xk-api POST /register/refund已支付未接诊单迁自老 Yii /v1/register/refund
* 注意:老 Yii refund 同时兼容未付取消xk-api 拆成 cancel/refund 两个接口,页面按 status 分流
*/
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)
}