更新
This commit is contained in:
@@ -0,0 +1,184 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/** 企业微信 员工↔客户 消息收发(企业群发 + 会话内容存档) */
|
||||
|
||||
/** 会话列表(按最近消息时间倒序) */
|
||||
export interface QywxMsgSession {
|
||||
id: number
|
||||
staff_userid: string
|
||||
external_userid: string
|
||||
roomid: string
|
||||
session_type: number // 1=单聊 2=群聊
|
||||
last_msg_id: string
|
||||
last_msg_seq: number
|
||||
last_msg_time: number
|
||||
last_msg_type: string
|
||||
last_msg_summary: string
|
||||
unread_staff: number
|
||||
create_time: number
|
||||
update_time: number
|
||||
customer?: {
|
||||
name?: string
|
||||
avatar?: string
|
||||
type?: number
|
||||
gender?: number
|
||||
corp_name?: string
|
||||
unionid?: string
|
||||
} | null
|
||||
staff?: {
|
||||
id?: number
|
||||
name?: string
|
||||
avatar?: string
|
||||
} | null
|
||||
}
|
||||
|
||||
export interface QywxMsgArchiveItem {
|
||||
id: number
|
||||
msgid: string
|
||||
seq: number
|
||||
action: 'send' | 'recall' | 'switch'
|
||||
from_user: string
|
||||
from_is_staff: boolean
|
||||
to_list: string[]
|
||||
roomid: string
|
||||
msgtype: string
|
||||
content: string
|
||||
media_id: string
|
||||
md5sum: string
|
||||
file_name: string
|
||||
file_size: number
|
||||
file_ext: string
|
||||
play_length: number
|
||||
send_time: number
|
||||
from_profile?: Record<string, any> | null
|
||||
media?: Array<{
|
||||
id: number
|
||||
sdkfileid: string
|
||||
status: number
|
||||
file_path: string
|
||||
file_url: string
|
||||
file_size: number
|
||||
}>
|
||||
}
|
||||
|
||||
export interface QywxSendTask {
|
||||
id: number
|
||||
admin_id: number
|
||||
sender_userid: string
|
||||
external_userids: string[]
|
||||
chat_type: number
|
||||
msg_payload: any
|
||||
msg_template_id: string
|
||||
fail_list: any[]
|
||||
status: number
|
||||
error: string
|
||||
create_time: number
|
||||
update_time: number
|
||||
}
|
||||
|
||||
export interface QywxMsgAttachment {
|
||||
msgtype: 'image' | 'video' | 'file' | 'link' | 'miniprogram'
|
||||
image?: { media_id: string }
|
||||
video?: { media_id: string }
|
||||
file?: { media_id: string }
|
||||
link?: { title: string; picurl?: string; desc?: string; url: string }
|
||||
miniprogram?: { title: string; pic_media_id: string; appid: string; page: string }
|
||||
}
|
||||
|
||||
export interface QywxSendPayload {
|
||||
text?: { content: string }
|
||||
attachments?: QywxMsgAttachment[]
|
||||
}
|
||||
|
||||
/** 会话列表 */
|
||||
export function qywxMsgSessionLists(params: {
|
||||
page_no?: number
|
||||
page_size?: number
|
||||
admin_id?: number
|
||||
staff_userid?: string
|
||||
external_userid?: string
|
||||
keyword?: string
|
||||
only_unread?: 0 | 1
|
||||
}) {
|
||||
return request.get({ url: '/qywx.message/session_list', params })
|
||||
}
|
||||
|
||||
/** 单会话消息历史 */
|
||||
export function qywxMsgArchiveLists(params: {
|
||||
page_no?: number
|
||||
page_size?: number
|
||||
session_id?: number
|
||||
staff_userid?: string
|
||||
external_userid?: string
|
||||
roomid?: string
|
||||
before_time?: number
|
||||
after_time?: number
|
||||
}) {
|
||||
return request.get({ url: '/qywx.message/archive_list', params })
|
||||
}
|
||||
|
||||
/** 清零会话未读 */
|
||||
export function qywxMsgMarkRead(session_id: number) {
|
||||
return request.post({ url: '/qywx.message/mark_read', params: { session_id } })
|
||||
}
|
||||
|
||||
/** 创建企业群发任务(员工代发) */
|
||||
export function qywxMsgSend(params: {
|
||||
sender_userid: string
|
||||
external_userids: string[]
|
||||
msg_payload: QywxSendPayload
|
||||
chat_type?: 'single' | 'group'
|
||||
}) {
|
||||
return request.post({ url: '/qywx.message/send', params })
|
||||
}
|
||||
|
||||
/** 群发任务列表 */
|
||||
export function qywxMsgSendTaskLists(params: {
|
||||
page_no?: number
|
||||
page_size?: number
|
||||
sender_userid?: string
|
||||
status?: number
|
||||
}) {
|
||||
return request.get({ url: '/qywx.message/send_task_list', params })
|
||||
}
|
||||
|
||||
/** 群发任务送达详情 */
|
||||
export function qywxMsgSendTaskDetail(task_id: number, cursor = '') {
|
||||
return request.get({ url: '/qywx.message/send_task_detail', params: { task_id, cursor } })
|
||||
}
|
||||
|
||||
/** 可代发员工(已绑定企微 userid) */
|
||||
export function qywxMsgStaffList(keyword = '') {
|
||||
return request.get({ url: '/qywx.message/staff_list', params: { keyword } })
|
||||
}
|
||||
|
||||
/** 某员工的客户 */
|
||||
export function qywxMsgCustomerOfStaff(params: {
|
||||
staff_userid: string
|
||||
keyword?: string
|
||||
limit?: number
|
||||
}) {
|
||||
return request.get({ url: '/qywx.message/customer_of_staff', params })
|
||||
}
|
||||
|
||||
/** 会话存档状态(SDK / 私钥诊断) */
|
||||
export function qywxMsgArchiveStatus() {
|
||||
return request.get({ url: '/qywx.message/archive_status' })
|
||||
}
|
||||
|
||||
/** 手动触发一次会话存档拉取 */
|
||||
export function qywxMsgPullArchive(max_batches = 5, download = false) {
|
||||
return request.post({ url: '/qywx.message/pull_archive', params: { max_batches, download } })
|
||||
}
|
||||
|
||||
/** 上传媒体文件到企微,返回 media_id(用于 attachments) */
|
||||
export async function qywxMsgUploadMedia(file: File, type: 'image' | 'voice' | 'video' | 'file') {
|
||||
const fd = new FormData()
|
||||
fd.append('file', file)
|
||||
fd.append('type', type)
|
||||
return request.post({
|
||||
url: '/qywx.message/upload_to_qywx',
|
||||
data: fd,
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
})
|
||||
}
|
||||
@@ -307,7 +307,10 @@ export function prescriptionOrderLists(params: any) {
|
||||
return request.get({ url: '/tcm.prescriptionOrder/lists', params })
|
||||
}
|
||||
|
||||
/** 诊单下可关联的支付单(待支付/已支付的 zyt_order,已占用且未撤回的会排除;编辑时传 prescription_order_id 保留当前单已选) */
|
||||
/**
|
||||
* 诊单下可关联的支付单(已支付 zyt_order;已占用且未撤回的会排除;编辑时传 prescription_order_id 保留当前单已选)。
|
||||
* 服务端仅返回创建时间在 2026-04-20(含)之后的支付单;编辑时本单已关联的旧单仍会出现在列表中。
|
||||
*/
|
||||
export function prescriptionOrderPaidPayOrders(params: {
|
||||
diagnosis_id: number
|
||||
prescription_order_id?: number
|
||||
|
||||
Reference in New Issue
Block a user