0. 客户分支应该如何管理？  

建议客户可在他们的项目上开一个分支存放我们最新的master代码，根据他们的需要把我们的代码合并到他们的分支上。


1.在微信中打开商城，显示scope参数错误或没有scope权限，如图所示

![no_scope](../img/常见问题/no_scope.png)

h5会分为两种，一种是在微信上打开的h5页面，一种是在浏览器打开的h5页面。在微信打开的h5页面，是需要公众号服务的，其中的微信支付，是jsapi支付。在手机浏览器打开的，是h5支付，属于不同的范畴。

在进行公众号打开页面的时候，因为需要进行微信公众号支付，还有微信公众号的登陆授权，所以需要配置微信公众号的appid

修改`.env.production`  

```bash
# 微信公众号appid
# 注意此处为微信 公众号appid，不是小程序appid
VITE_APP_MP_APPID = 'wx42bbe857570c5b40'
```



2.在微信中打开商城，点击已有账号登陆或微信一键登陆，无法跳转。

需要登录[微信公众平台](https://mp.weixin.qq.com/)，找到【设置-微信公众号设置-功能设置】，如图三个域名（业务域名、js接口安全域名、网页授权域名），将这三个域名改为前端范围商城的域名，也就是你打开商城的域名：

![微信公众号设置域名](../img/常见问题/微信公众号设置.png)

3.一般情况下是不需要开启微信公众号服务器配置的。我们上线的系统就没有启用这个配置，如果想要启用的话，也是可以的，服务器地址的url是什么呢？该如何设置呢？

- 服务器地址(URL)：这个地址为 api这个服务的接口地址 + `/wx/portal`，也就是你在我们商城系统的平台端里面的【系统设置-后台配置-基础配置-api接口域名】 + `/wx/portal`
- Token随便输入，不过要与我们的平台端里面的【系统设置-后台配置-微信配置-微信公众号配置-微信公众号-消息加解密token】一致，且平台端要先保存，微信那边才能保存
- EncodingAESKey随便输入，不过要与我们的平台端里面的【系统设置-后台配置-微信配置-微信公众号配置-微信公众号-消息加解密aesKey】一致，且平台端要先保存，微信那边才能保存
- 消息加解密方式为安全模式

![](../img/常见问题/微信公众号设置.png)


如图，我们服务器配置是未启用的：

![服务器配置](../img/常见问题/服务器配置未启用.png)

4.微信支付平台中的支付配置要怎么配置？

答：如图，JSAPI、Native不用配置！！！已经在代码写好了，不用再配置了。

H5配置需要将访问前端的h5地址配置进去

![微信支付链接](../img/常见问题/微信支付链接.png)

![支付授权目录](../img/常见问题/支付授权目录.png)

5.微信h5支付申请的时候填的域名是什么？

答： 支付域名和产品对应网站域名都用的是前端的域名，也就是你uniapp项目的域名，不是java的域名

![h5支付域名](../img/常见问题/h5支付域名.png)

6.支付证书怎么填？

答：
+ （1）支付宝支付 & 微信v3支付
    + 填写证书里面的内容(鼠标右键->打开方式->选择记事本打开，将里面的内容复制)

![](../img/常见问题/支付宝证书路径.png)

![](../img/常见问题/微信v3支付证书路径.png)

+ （2）微信v2支付
    + 填写绝对路径，比如如果是windows，就是c:/xxx/xxx之类的
    + 若docker-compose使用v2支付，需要修改docker-compose.yaml，给用到证书的服务挂载一个目录，将证书放入该目录中，再填写路径

![](../img/常见问题/微信v2支付证书路径.png)

7.支付宝证书哪里来？

进入[支付宝官网](https://www.alipay.com/)，选择我是开发者，创建应用。需要开通 手机网站支付、App 支付、电脑网站支付，且已生效的状态。如图：

![](../img/常见问题/支付宝能力列表.png)

开通并且之后，去找开放密钥 https://openhome.alipay.com/dev/workspace/key-manage，下载三个证书即可

![](../img/常见问题/支付宝证书.png)

9.微信的支付证书是API证书，不是操作证书吧？

是的，是api证书，登录微信支付平台下载即可



10. 域名配置

- 文件资源服务器域名： 将`mall4cloud-multishop`配置文件里面的 `VITE_APP_RESOURCES_URL`粘贴在此处（这里是图片oss服务器的域名，如果是阿里云oss的话还需要需要带bucketName桶名的域名）
- api接口域名： 将`mall4cloud-pc`配置文件里面的 `VITE_APP_BASE_API`粘贴在此处，`api接口域名`正式环境域名（api项目的域名），否则无法收到微信支付回调，从而订单变为支付成功的状态
- 商家端接口域名：将`mall4cloud-multishop`配置文件里面的 `VITE_APP_BASE_API`粘贴在此处，`商家端接口域名(非vue路径，java接口路径)` 正式环境商家端后台接口的请求地址（如果按照了我们的nginx配置进行跨域配置，那么需要修改多一个`/apis`否则会请求到前端），否则无法收到微信退款回调，从而订单变为退款成功的状态
- 平台端接口域名：将`mall4cloud-platform`配置文件里面的 `VITE_APP_BASE_API`粘贴在此处



11.阿里短信服务平台

进入阿里云短信服务网站进行开通 `https://www.aliyun.com/product/sms` ，添加签名时，适用场景选择通用，创建完成后，这里的签名就是需要的短信签名

通过阿里云控制台，创建AccessKey，链接：`https://usercenter.console.aliyun.com/#/manage/ak`，就有`AccessKeyId`和`accessKeySecret`

详见`../短信配置文档.docx`


12.阿里文件上传配置

详见`../基本开发文档/文件上传.md`


13.商品进行新增、编辑操作成功，但商品没有出现在商品列表或商品数据还是旧的数据

1.检查es是否启动并连接成功

2.检查canal是否成功启动， 若启动不成功可查看canal的日志文件`example.log`，判断启动错误的原因（大部分错误都可以在百度、谷歌等搜索中找到答案）

3.检查mq是否启动成功

canal启动不成功也可能是配置的问题--数据库、mq的相关配置
>canal.properties 配置
>
>![](../img/中间件安装/es配置-01.png)

>instance.properties配置
>
>![](../img/中间件安装/es配置-02.png)
