feat: 客服
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# 接入 HashMall 商城
|
||||
|
||||
独立项目验证完成后,将 `src/pages/customer-service`、`src/components/customer-service`、`src/api`、`src/services`、`src/config`、`src/adapters` 和客服静态资源合入商城工程。
|
||||
|
||||
## 1. 注册页面
|
||||
|
||||
建议在商城 `pages.json` 中将客服页放入分包:
|
||||
|
||||
```json
|
||||
{
|
||||
"root": "pages/customer_service_package",
|
||||
"pages": [
|
||||
{
|
||||
"path": "chat/chat",
|
||||
"style": {
|
||||
"navigationBarTitleText": "在线客服",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"navigationBarTextStyle": "black"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
合入分包时需要同步调整 `hashmall.js` 中的 `CHAT_ROUTE` 和页面内 `@/` 引用路径。
|
||||
|
||||
## 2. 初始化商城适配
|
||||
|
||||
商城启动后设置登录页。应用级 Authorization 应由商城现有配置注入,不要复制到客服源码或提交 Git。
|
||||
|
||||
```js
|
||||
configureHashMallIntegration({
|
||||
loginPage: '/pages/login_package/login/login',
|
||||
appAuthorization: Authorization
|
||||
})
|
||||
```
|
||||
|
||||
客服请求会继续读取商城已有的:
|
||||
|
||||
- Token:`fcc-token`
|
||||
- 用户缓存:`fcc-user-data`
|
||||
- 用户详情接口:`/user/getUserInfo`
|
||||
|
||||
## 3. “我的”页入口
|
||||
|
||||
把当前客服电话弹窗或第三方客服跳转替换为:
|
||||
|
||||
```js
|
||||
openCustomerService()
|
||||
```
|
||||
|
||||
## 4. 商品详情入口
|
||||
|
||||
```js
|
||||
openProductConsultation({
|
||||
goodsId: goods.id,
|
||||
goodsName: goods.name,
|
||||
goodsMainGraph: goods.mainGraph,
|
||||
currentPrice: goods.currentPrice
|
||||
})
|
||||
```
|
||||
|
||||
页面只把该对象作为待发送预览。正式发送前后端仍需按 `goodsId` 校验并补齐可信商品信息。
|
||||
|
||||
## 5. 订单入口
|
||||
|
||||
```js
|
||||
openOrderConsultation({
|
||||
id: order.id,
|
||||
orderNo: order.orderNo,
|
||||
goodsName: order.goodsName,
|
||||
goodsMainGraph: order.goodsMainGraph,
|
||||
payAmount: order.payAmount
|
||||
})
|
||||
```
|
||||
|
||||
正式发送前后端必须校验订单归属当前登录用户。
|
||||
|
||||
## 6. 小程序配置
|
||||
|
||||
微信公众平台需要配置测试或正式环境的:
|
||||
|
||||
- request 合法域名
|
||||
- socket 合法域名
|
||||
- uploadFile 合法域名
|
||||
- downloadFile 合法域名
|
||||
|
||||
测试环境 API 为 `https://api.o.tbmall.xin`,Socket 使用对应的 `wss://api.o.tbmall.xin`。
|
||||
Reference in New Issue
Block a user