微信联系人接口-多微信号切换
Service端接口改动文档 · 2026-05-21
一、涉及接口
1.1 客户列表 → 添加微信客户
POST /action/crm/getWxContact
原请求参数:
{
"name": "关键词",
"page": 1,
"pageSize": 20
}
| 字段 | 类型 | 说明 |
|---|---|---|
| name | String | 好友名称(模糊搜索) |
| page | Int | 页码 |
| pageSize | Int | 每页条数 |
响应结果:
{
"success": true,
"result": {
"list": [
{
"_id": "wxfriend_001",
"m7WxNo": "wx_no_001",
"m7Nick": "张三",
"m7HeadImg": "https://xxx/head.png",
"m7Phone": "13812345678",
"m7Memo": "客户A",
"onlyCode": "code_001",
"customerName": "李四"
}
],
"count": 100,
"page": 1,
"pageSize": 20
}
}
1.2 客户详情 → 选择关联微信好友
POST /action/crm/getMyWxContactNew
说明:用于客户详情页选择要关联的微信好友。
当前请求参数:
{
"page": 1,
"pageSize": 20,
"filter": "关键词",
"name": "好友名称",
"phones": ["13800138000"]
}
| 字段 | 类型 | 说明 |
|---|---|---|
| page | Int | 页码 |
| pageSize | Int | 每页条数 |
| filter | String | 搜索过滤词 |
| name | String | 好友名称 |
| phones | Array<String> | 手机号列表 |
当前响应结果:
{
"code": 1,
"msg": "success",
"data": {
"list": [ // 推荐好友
{
"_id": "wxfriend_001",
"m7WxNo": "wx_no_001",
"m7Nick": "张三",
"m7HeadImg": "https://xxx/head.png",
"m7Phone": "13800138000",
"m7Memo": "备注",
"onlyCode": "code_001",
"customerName": "客户名",
"wxIsMine": true,
"isCanChat": true
}
],
"rlist": [ // 所有好友(与list同结构)
{ ...WeChatUserBean }
],
"count": 100
}
}
本次变更前:未传当前登录微信列表。
二、改动方案
改动说明:双开微信场景下,两个接口都需要支持按当前登录微信列表过滤联系人。
兼容说明:未传
getWxContact 的 wxId 调整为 wxIds 列表;getMyWxContactNew 新增 wxIds 参数。兼容说明:未传
wxIds 时,接口返回数据与原逻辑保持一致,不影响已有调用方。
2.1 请求参数改动
POST /action/crm/getWxContact
NEW 参数由 wxId 调整为 wxIds 列表
请求参数:
{
"wxIds": ["wx_001", "wx_002"],
"name": "关键词",
"page": 1,
"pageSize": 20
}
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| wxIds | Array<String> | 否 | 当前登录的微信ID列表,用于双开微信过滤联系人 |
| name | String | 否 | 好友名称(模糊搜索) |
| page | Int | 是 | 页码 |
| pageSize | Int | 是 | 每页条数 |
2.2 getMyWxContactNew 参数新增
POST /action/crm/getMyWxContactNew
NEW 新增 wxIds 参数
改动后请求参数:
{
"page": 1,
"pageSize": 20,
"filter": "关键词",
"name": "好友名称",
"phones": ["13800138000"],
"wxIds": ["wx_001", "wx_002"]
}
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | Int | 是 | 页码 |
| pageSize | Int | 是 | 每页条数 |
| filter | String | 否 | 搜索过滤词 |
| name | String | 否 | 好友名称(模糊搜索) |
| phones | Array<String> | 否 | 手机号列表 |
| wxIds | Array<String> | 否 | [NEW] 当前登录的微信ID列表 |
2.3 响应结果(不变)
{
"code": 1,
"msg": "success",
"data": {
"list": [ // 推荐好友列表
{ "_id": "wxfriend_001", "m7WxNo": "wx_no_001", "m7Nick": "张三",
"m7HeadImg": "https://xxx/head.png", "m7Phone": "13800138000",
"m7Memo": "备注", "onlyCode": "code_001", "customerName": "客户名",
"wxIsMine": true, "isCanChat": true }
],
"rlist": [ // 所有好友列表(与list同结构)
{ ...WeChatUserBean }
],
"count": 100
}
}
三、APP端改动
3.1 改动概述
双开微信场景下,主APP调用 getWxContact 和 getMyWxContactNew 时,需要将当前登录的微信ID列表(wxIds)传入接口。微信ID列表由工作手机模块(xkw-workphone)通过 getUseWxList 提供。
3.2 getWxContact — 客户列表添加微信客户
原有传参不变,新增 wxIds 字段:
{
"wxIds": ["wx_001", "wx_002"], // [NEW] 当前登录微信列表
"name": "关键词",
"page": 1,
"pageSize": 20
}
3.3 getMyWxContactNew — 客户详情选择关联微信好友
原有传参不变,新增 wxIds 字段:
{
"page": 1,
"pageSize": 20,
"filter": "关键词",
"name": "好友名称",
"phones": ["13800138000"],
"wxIds": ["wx_001", "wx_002"] // [NEW] 当前登录微信列表
}
3.4 工作手机APP改动(xkw-workphone)
项目路径:xkw-workphone
功能说明:提供 getUseWxList 接口,供主APP获取当前双开微信用户列表。
接口:getUseWxList(位于 xkw-workphone 项目中)
| 字段 | 类型 | 说明 |
|---|---|---|
| wxNo | String | 微信号(唯一标识) |
| wxNick | String | 微信昵称 |
| headImg | String | 微信头像URL |
| isActive | Boolean | 是否当前登录 |
返回示例:
{
"list": [
{
"wxNo": "wx_001",
"wxNick": "工作微信A",
"headImg": "https://xxx/head_a.png",
"isActive": true
},
{
"wxNo": "wx_002",
"wxNick": "工作微信B",
"headImg": "https://xxx/head_b.png",
"isActive": false
}
]
}
四、开发任务清单
APP端(xkw-workphone)
| 任务 | 优先级 | 说明 |
|---|---|---|
| getUseWxList接口 | P0 | 解析双开微信用户数据,提供给联系人选择界面 |
APP端(主APP)
| 任务 | 优先级 | 说明 |
|---|---|---|
| getMyWxContactNew 传 wxIds | P0 | 客户详情页选择关联微信好友时,传当前登录微信列表 |
| getWxContact 传 wxIds | P0 | 客户列表添加微信客户时,原 wxId 改为 wxIds 列表 |
Service端
| 任务 | 优先级 | 说明 |
|---|---|---|
| getWxContact 参数改为 wxIds | P0 | 支持按当前登录微信列表过滤联系人 |
| getMyWxContactNew 新增 wxIds | P0 | 客户详情页选择关联好友时支持双开微信过滤 |