# 接入 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`。