Files
xk-client-wx/request/api/register.js

125 lines
4.4 KiB
JavaScript
Raw Normal View History

import http from './request'
2026-01-13 13:36:55 +08:00
import {post} from './http'
import { unwrapXkApi } from '@/utils/api-response.js'
2026-01-13 13:36:55 +08:00
/**
* 挂号域接口统一模块 registerList 外均为 xk-api
* 取值unwrapXkApi code / result / message
*
* 说明registe/registeInfo 等函数迁自 api.js保持http(url, { method, data })
* 老签名不动避免改动全部调用方的传参结构新增接口请用 post(url, params, 3) 新封装
*/
/**
* 获取挂号记录列表 xk-api POST /register/list
2026-01-13 13:36:55 +08:00
* @param params { patient_id: number, store_id: number, page: number }
* @returns {Promise<*>}
*/
export async function getRegisterListApi(params) {
return await post('/register/list', params, 3)
}
2026-07-02 14:11:24 +08:00
/**
* 获取待支付挂号列表首页提醒用 xk-api POST /register/list
2026-07-02 14:11:24 +08:00
* @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) {
2026-07-02 14:11:24 +08:00
return [];
}
const list = (payload && payload.list) || [];
2026-07-02 14:11:24 +08:00
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)
}