Files
xk-client-wx/request/api/register.js
李琦 d54e9d7993 feat: 地址选择改走地区选择器接口
编辑地址用 page-container 抽屉 + regionPicker children/search,提交仍传省市区中文名。
2026-10-15 10:01:40 +08:00

134 lines
4.7 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_id(0=全天兜底);返回 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.result;0 元单 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)
}
/**
* 挂号凭证详情(排队人数 + 预估等待)xk-api POST /register/voucher-detail
* 取值:unwrapXkApi → code / result / message
* @param {{ register_id: number }} params
*/
export async function getRegisterVoucherDetailApi(params = {}) {
return await post('/register/voucher-detail', params, 3)
}