Files
xk-client-wx/request/api/api.js
李琦 206f0aaa50 feat:
1. 医生线下接诊创建就诊人、患者端扫码认领就诊人
2. 生成处方后医生代付码
2026-08-09 14:36:22 +08:00

593 lines
17 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 { get } from './http'
import {
getPatientListApi,
savePatientApi,
deletePatientApi,
getPatientGuardianInfoApi,
getPatientRelationApi,
changePatientDefaultApi,
getPatientHealthInfoApi,
} from './patient.js'
/** 将 xk-api 的 code/result 格式转为旧版 errcode/data兼容现有页面 */
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 result 为 { list, latest_register_user_patient_id }
* 旧页面仍读 res.data.data 数组,这里把 list 摊平到 data
*/
function normalizePatientListResponse(res) {
if (res && res.data && (res.data.code === 0 || res.data.code === '0')) {
const result = res.data.result
const list = Array.isArray(result) ? result : ((result && result.list) || [])
res.data.errcode = 0
res.data.data = list
res.data.result = result
}
return res
}
// 登录 授权 其他手机号授权
export async function getsLogin(params) {
let data = await http('/oldApi/v1/user/login', params)
return data
}
// 登录 手机号授权
export async function getLogin(params) {
let data = await http('/oldApi/v1/user/phone-number', params)
return data
}
// 登录 手机号登录发送短信
export async function getCodes(params) {
let data = await http('/oldApi/v1/user/send-code', params)
return data
}
// 登录
export async function getLogon(params) {
let data = await http('/oldApi/v1/user/phone-number', params)
return data
}
// 用户 协议
export async function getAgreem(params) {
let data = await http('/oldApi/v1/user/agreement', params)
return data
}
// 首页 门店 门店切换
export async function storeChange(params) {
let data = await http('/xkApi/store/store-change', params)
return normalizeXkApiResponse(data)
}
// 首页 门店 用户所有门店
export async function storeList(params) {
let data = await http('/xkApi/store/list', params)
return normalizeXkApiResponse(data)
}
// 首页 门店 门店信息
export async function storeInfo(params) {
let data = await http('/xkApi/store/info', params)
return normalizeXkApiResponse(data)
}
// 医生列表
export async function doctorList(params) {
let data = await http('/oldApi/v1/doctor/all-list', params)
return data
}
// 医生详情
export async function doctorDetail(params) {
let data = await http('/oldApi/v1/doctor/detail', params)
return data
}
// 科室列表
export async function getOfficeList(params) {
let data = await http('/oldApi/v1/doctor/office-list', params)
return data
}
// 医生 评价列表
export async function commentList(params) {
let data = await http('/oldApi/v1/doctor/comment-list', params)
return data
}
// 医生 评价列表顶部
export async function commentListTop(params) {
let data = await http('/oldApi/v1/doctor/top', params)
return data
}
// 医生 挂号信息
export async function registerList(params) {
let data = await http('/oldApi/v1/register/doc-register-info', params)
return data
}
/** 就诊人列表xk-api POST /patient/list */
export async function userList(params) {
const data = (params && params.data) || params || {}
return normalizePatientListResponse(await getPatientListApi(data))
}
/** 就诊人关系xk-api GET /patient/relation */
export async function userRelation(params) {
const data = (params && params.data) || params || {}
return normalizeXkApiResponse(await getPatientRelationApi(data))
}
/** 编辑就诊人头像等(仍走旧接口,业务极少用) */
export async function userInfo(params) {
let data = await http('/oldApi/v1/patient/edit-patient', params)
return data
}
/** 就诊人保存xk-api POST /patient/save */
export async function userAdd(params) {
const data = (params && params.data) || params || {}
return normalizeXkApiResponse(await savePatientApi(data))
}
/** 就诊人监护人信息xk-api GET /patient/guardian-info */
export async function userGuardianInfo(params) {
const query = (params && params.data) || params || {}
return normalizeXkApiResponse(await getPatientGuardianInfoApi(query))
}
/** 删除就诊人xk-api POST /patient/delete */
export async function userPatientDel(params) {
const data = (params && params.data) || params || {}
return normalizeXkApiResponse(await deletePatientApi(data))
}
/** 就诊人详情(列表已含字段;无独立详情时仍兼容旧 Yii */
export async function userDetail(params) {
let data = await http('/oldApi/v1/patient/info', params)
return data
}
/** 切换默认就诊人xk-api POST /patient/change-default */
export async function userPatientChoose(params) {
const data = (params && params.data) || params || {}
return normalizeXkApiResponse(await changePatientDefaultApi(data))
}
/** 健康问诊详情xk-api POST /patient/health-info */
export async function userEidtPatient(params) {
const data = (params && params.data) || params || {}
return normalizeXkApiResponse(await getPatientHealthInfoApi(data))
}
// 挂号
export async function registe(params) {
let data = await http('/oldApi/v1/register/register', params)
return data
}
// 挂号详情
export async function registeInfo(params) {
let data = await http('/oldApi/v1/register/register-detail', params)
return data
}
// 支付挂号xk-api register/pay易票联
export async function registePay(params) {
let data = await http('/xkApi/register/pay', params)
return normalizeXkApiResponse(data)
}
// 取消挂号
export async function registeUnpay(params) {
let data = await http('/oldApi/v1/register/cancel', params)
return data
}
// 挂号退款
export async function registeCancle(params) {
let data = await http('/oldApi/v1/register/refund', params)
return data
}
// 挂号列表
export async function registeList(params) {
let data = await http('/oldApi/v1/register/list', params)
return data
}
// 设置 服务协议
export async function service(params) {
let data = await http('/oldApi/v1/other/service', params)
return data
}
// 设置 客服热线
export async function serviceOnline(params) {
let data = await http('/oldApi/v1/other/service-line', params)
return data
}
// 设置 隐私保护政策
export async function servicePolicy(params) {
let data = await http('/oldApi/v1/other/policy', params)
return data
}
// 我的 添加收货地址
export async function getaddressAdd(params) {
let data = await http('/oldApi/v1/my/save-address', params)
return data
}
// 我的 收货地址列表
export async function getaddressList(params) {
let data = await http('/oldApi/v1/my/address-list', params)
return data
}
// 我的 修改收货地址
export async function getaddressEdit(params) {
let data = await http('/oldApi/v1/my/edit-address', params)
return data
}
// 我的 修改默认地址
export async function getDefault(params) {
let data = await http('/oldApi/v1/my/update-default', params)
return data
}
// 我的 删除收货地址
export async function getaddressDel(params) {
let data = await http('/oldApi/v1/my/del-address', params)
return data
}
// 我的 更新收货地址
// export async function getaddressNew(params) {
// let data = await http('/oldApi/v1/product-order/address-update', params)
// return data
// }
// 我的 用户信息
export async function getuserInfo(params) {
let data = await http('/oldApi/v1/user/info', params)
return data
}
// 我的 编辑信息
export async function getEditUser(params) {
let data = await http('/oldApi/v1/user/edit-info', params)
return data
}
// 我的 处方记录
export async function getPrescript(params) {
let data = await http('/oldApi/v1/my/prescription-list', params)
return data
}
// 我的 处方详情
export async function getPrescriptInfo(params) {
let data = await http('/oldApi/v1/my/prescription-detail', params)
return data
}
// 我的 处方支付xk-api
export async function getPrescriptPay(params) {
let data = await http('/xkApi/product-order/pay', params)
return normalizeXkApiResponse(data)
}
// 我的 处方-产品订单信息xk-api appoint-medicine
export async function getProductInfo(params) {
let data = await http('/xkApi/product-order/appoint-medicine', params)
return normalizeXkApiResponse(data)
}
// 消息
// 消息首页 http://xiaokang.com/member/v1/system-notice/index?store_id=11001
export async function getseesionInfo(params) {
let data = await http('/oldApi/v1/system-notice/index', params)
return data
}
// 消息-订单消息 http://xiaokang.com/member/v1/system-notice/order?store_id=11001
export async function getseesionOrder(params) {
let data = await http('/oldApi/v1/system-notice/order', params)
return data
}
// 消息-系统消息 http://xiaokang.com/member/v1/system-notice/system?store_id=11001
export async function getseesionSystem(params) {
let data = await http('/oldApi/v1/system-notice/system', params)
return data
}
// 消息-已读消息 http://xiaokang.com/member/v1/system-notice/read
export async function getseesionRead(params) {
let data = await http('/oldApi/v1/system-notice/read', params)
return data
}
// 消息-医生信息列表
export async function getseesionDoctorList(params) {
let data = await http('/oldApi/v1/system-notice/doctor-news', params)
return data
}
// 消息-医生信息详情
export async function getseesionDoctor(params) {
let data = await http('/oldApi/v1/system-notice/new-info', params)
return data
}
// 开关 https://zjxk.api.ctkj88.com/member/v1/store/issue
export async function getOpen(params) {
let data = await http('/oldApi/v1/store/issue', params)
return data
}
// 中间页 product-order/online-to-local
export async function getToNext(params) {
let data = await http('/oldApi/v1/product-order/online-to-local', params)
return data
}
// 煎法 https://hy.api.ctkj88.com/member/v1/prescrip-order/use-way
export async function getUseWay(params) {
let data = await http('/oldApi/v1/prescrip-order/use-way', params)
return data
}
// 代煎费提示 https://app.xiaokang88.com/member/v1/product-order/decoct-service
export async function getUseWayPay(params) {
let data = await http('/oldApi/v1/product-order/decoct-service', params)
return data
}
/**
* 更新配送方式xk-api单品包邮重算
* 代付时带 proxy_pay=1或与 getPayConfig 一样从 storage 自动附带
*/
export async function getDelivery(params) {
const payload = params && typeof params === 'object' ? { ...params } : { method: 'post', data: {} }
const data = payload.data && typeof payload.data === 'object' ? { ...payload.data } : {}
const orderId = Number(data.order_id || 0)
const proxyOrderId = Number(uni.getStorageSync('proxy_pay_order_id') || 0)
if (!data.proxy_pay && proxyOrderId > 0 && orderId === proxyOrderId) {
data.proxy_pay = 1
}
payload.data = data
let res = await http('/xkApi/product-order/update-delivery', payload)
return normalizeXkApiResponse(res)
}
// 更新代煎服务费用 http://xiaokang.com/member/v1/product-order/update-decoct-service
export async function getUpdateUseWay(params) {
let data = await http('/oldApi/v1/product-order/update-decoct-service', params)
return data
}
//资讯列表Laravel guest-info列表不含正文
export async function articleList(params) {
let data = await http('/xkApi/guest/guest-info/article-list', params)
return data
}
//分类列表
export async function categoriesList(params) {
let data = await http('/xkApi/guest/guest-info/categories', params)
return data
}
//资讯详情(含正文)
export async function articleInfo(params) {
let data = await http('/xkApi/guest/guest-info/article-info', params)
return data
}
// v1/product-order/list
export async function getOrdlist(params) {
let data = await http('/xkApi/product-order/list', params)
return normalizeXkApiResponse(data)
}
/**
* 获取待支付商品订单列表(首页提醒用)
*/
export async function fetchUnpaidProductOrderListApi(params = {}) {
const storeId = params.store_id || uni.getStorageSync('store_id') || '11001';
const res = await getOrdlist({
method: 'post',
data: {
store_id: storeId,
type: 'unpaid',
page: 1,
...params,
},
});
if (res.data?.errcode != 0) {
return [];
}
const list = res.data?.data?.list || [];
return list.filter(
(item) => item.status === 0 && item.is_pay === 0 && item.cancel_status === 0
);
}
// v1/product-order/list
export async function getToken(params) {
let data = await http('/oldApi/v1/user/login-platform', params)
return data
}
// v1/product-order/list
export async function getBanner(params) {
let data = await http('/oldApi/v1/store/detail', params)
return data
}
// 商城相关
// 药品分类
export async function drugCategorys(params) {
let data = await http('/newApi/drug/drugCategory', params)
return data
}
//药品列表
export async function drugLists(params) {
let data = await http('/newApi/drug/drugLists', params)
return data
}
//药品详情
export async function drugDetails(params) {
let data = await http('/newApi/drug/drugDetail', params)
return data
}
//药品运费ee
export async function drugFee(params) {
let data = await http('/newApi/express/feeInfo', params)
return data
}
//加入购物车
export async function addCart(params) {
let data = await http('/newApi/cart/cartAdd', params)
return data
}
//购物车列表
export async function CartList(params) {
let data = await http('/newApi/cart/cartLists', params)
return data
}
//订单预览
export async function OrderPreview(params) {
let data = await http('/newApi/order/preview', params)
return data
}
//支付接口
export async function PayList(params) {
let data = await http('/newApi/order/submit', params)
return data
}
//获取支付配置
// export async function getPayConfig(params) {
// let data = await http('/newApi/order/getPay', params)
// return data
// }
/**
* 商品订单支付xk-api
* 代付时在 data 中带 proxy_pay=1也可从 storage proxy_pay_order_id 自动附带
*/
export async function getPayConfig(params) {
const payload = params && typeof params === 'object' ? { ...params } : { method: 'post', data: {} }
const data = payload.data && typeof payload.data === 'object' ? { ...payload.data } : {}
const orderId = Number(data.order_id || 0)
const proxyOrderId = Number(uni.getStorageSync('proxy_pay_order_id') || 0)
if (!data.proxy_pay && proxyOrderId > 0 && orderId === proxyOrderId) {
data.proxy_pay = 1
}
payload.data = data
let res = await http('/xkApi/product-order/pay', payload)
return normalizeXkApiResponse(res)
}
// getOrdlist 获取订单列表 https://zjxk.app.ctkj88.com/member/order/lists
// export async function getOrdlist(params) {
// let data = await http('/newApi/order/lists', params)
// return data
// }
// 取消订单 https://app.xiaokang88.com/member/v1/product-order/cancel
export async function getCancle(params) {
let data = await http('/oldApi/v1/product-order/cancel', params)
return data
}
// 订单详情 https://zjxk.app.ctkj88.com/member/order/detail
// export async function getOrdDetail(params) {
// let data = await http('/newApi/order/detail', params)
// return data
// }
// 订单详情xk-api product-order/infodrug-info 页)
export async function getOrdDetail(params) {
let data = await http('/xkApi/product-order/info', params)
return normalizeXkApiResponse(data)
}
// 申请退款原因 https://app.xiaokang88.com/member/v1/product-order/refund-reason
export async function getRefundReson(params) {
let data = await http('/oldApi/v1/product-order/refund-reason', params)
return data
}
// 申请退款信息 https://app.xiaokang88.com/member/v1/product-order/refund-base
export async function infoRefundBase(params) {
let data = await http('/oldApi/v1/product-order/refund-base', params)
return data
}
//申请退款提交 http://xiaokang.com/member/v1/product-order/refund
export async function postRefundBased(params) {
let data = await http('/oldApi/v1/product-order/refund', params)
return data
}
//物流详情
// export async function getLogistics(params) {
// let data = await http('/newApi/order/expressDetail', params)
// return data
// }
/** 物流详情 → xk-api mobile含多包裹 packages */
export async function getLogistics(params) {
let data = await http('/xkApi/product-order/express', params)
return normalizeXkApiResponse(data)
}
// 确认收货(签收)→ xk-api product-order/receive改状态 + 解冻供应商/仓余额)
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
}
// 获取系统配置信息
export async function getSystemConfig(params) {
// let data = await http('/xkApi/platform/config', params)
let data = await http('/xkApi/platform/config', params, 3)
return data
}