# 即时通讯 API 接口文档 (`pages/chat`) ## 1. 获取聊天历史记录 * **接口说明**: 进入聊天页面时,加载用户与 HR 或客服的历史对话。 * **请求路径**: `/chat/history` * **请求方法**: `GET` * **公共头部**: `Authorization: Bearer {Token}` * **接口参数**: | 参数名 | 类型 | 必填 | 说明 | 示例值 | | :--- | :--- | :--- | :--- | :--- | | job_id | Number | 否 | 针对特定岗位的咨询记录 | 101 | | target_id | Number | 否 | 对方用户 ID | 2001 | | page | Number | 否 | 页码 (用于上拉加载历史) | 1 | * **接口返回 JSON 数据**: | 字段名 | 类型 | 说明 | 示例值 | | :--- | :--- | :--- | :--- | | code | Number | 状态码 | 200 | | data | Object | 列表对象 | { ... } | | data.list | Array | 消息数组 | [ ... ] | | data.list[].id | String | 消息唯一 ID | "msg_123456" | | data.list[].sender | String | 发送者类型: `user` (我), `bot` (对方/机器人) | "bot" | | data.list[].type | String | 消息类型: `text`, `image`, `order` (卡片), `job` (岗位) | "text" | | data.list[].content | String | 消息正文或 JSON 格式的卡片数据 | "您好,有什么可以帮您?" | | data.list[].time | String | 发布时间戳 | "2026-03-15 10:30:00" | --- ## 2. 发送聊天消息 * **接口说明**: 用户在输入框发送文本或图片。 * **请求路径**: `/chat/send` * **请求方法**: `POST` * **接口参数**: | 参数名 | 类型 | 必填 | 说明 | 示例值 | | :--- | :--- | :--- | :--- | :--- | | target_id | Number | 是 | 接收方 ID | 2001 | | type | String | 是 | 消息类型: `text`, `image` | "text" | | content | String | 是 | 消息文本内容或图片 URL | "我想咨询该岗位的流程" | * **接口返回 JSON 数据**: ```json { "code": 200, "data": { "msg_id": "msg_998877", "time": "10:45" } } ``` --- ## 3. 发起支付预订单 * **接口说明**: 用户点击聊天流中的支付卡片时,调用此接口从后端获取微信支付参数。 * **请求路径**: `/payment/create-prepay` * **请求方法**: `POST` * **接口参数**: | 参数名 | 类型 | 必填 | 说明 | 示例值 | | :--- | :--- | :--- | :--- | :--- | | job_id | Number | 是 | 关联的岗位 ID | 101 | | pay_type | String | 是 | 支付业务类型: `deposit` (定金), `fee` (测评费) | "deposit" | * **接口返回 JSON 数据**: | 字段名 | 类型 | 说明 | 示例值 | | :--- | :--- | :--- | :--- | | code | Number | 状态码 | 200 | | data | Object | 微信小程序支付参数 | { ... } | | data.timeStamp | String | 时间戳 | "1611234567" | | data.nonceStr | String | 随机字符串 | "abc..." | | data.package | String | 订单包 | "prepay_id=wx..." | | data.signType | String | 签名类型 | "MD5" | | data.paySign | String | 签名 | "HASH..." | * **后续逻辑**: 前端获取到以上 data 后,直接调用 `uni.requestPayment(data)` 调起微信支付。