文檔最后更新時間:2021-06-17 19:24:40
### 爬坑說明
> 商城配置過程中,有很多的細節,文檔已經盡量把所有細節給列出來,但是還是無法避免會遺漏,或者看文檔時候疏忽沒注意,這里再把所有容易忽略的細節羅列一下
### 關于命令執行
**所有命令請都務必在項目根目錄下執行,否則命令執行沒報錯也是無效的,如果是寶塔,查看網站可以找到根目錄形如`/www/wwwroot/項目目錄`**
### 公眾號相關
#### 公眾號配置
* 打開`公眾平臺->設置與開發->公眾號設置->功能設置``業務域名:`填寫前端h5域名,`JS接口安全域名:`填寫前端域名,`網頁授權域名:`填寫后臺接口域名
* 打開`公眾平臺->開發 基本配置->公眾號開發->IP 白名單`,將服務器 ip 地址配置一下
* 如果要使用商城自帶的微信管理,設置自定義菜單,粉絲,或者自動回復等功能,請配置并啟用`公眾平臺->開發 基本配置->公眾號開發->服務器配置`,服務器地址以及token 請在`商城配置->平臺配置->公眾號配置`處查看;**如果不使用商城微信管理等功能,請忽略**
### 小程序相關
#### 服務器域名配置
在開發工具模式下,不校驗域名合法性是自動開啟的,但是到了體驗版或者正式版會出現小程序打開直接顯示網絡錯誤,這時候請檢查服務器域名是否配置了
* 登錄小程序平臺,`開發->開發管理->開發設置`,找到`服務器域名`,將域名填入,具體配置方式請看這里有詳細說明[服務器域名配置](https://doc.fastadmin.net/shopro/337.html)
### 支付相關
#### 訂單不存在問題
* 因為系統默認訂單十五分鐘不支付自動關閉訂單,使用的是延遲隊列功能,這里訂單立馬就被關閉是因為`application/extra/queue.php`配置文件隊列驅動沒有修改,請按照隊列文檔進行配置[隊列配置](https://doc.fastadmin.net/shopro/239.html)
#### 安裝 微信支付寶整合插件
* 為了兼容插件市場的 微信支付寶整合插件,shopro 商城隱藏了自己的 yansongda 包,所以這個包目前必須要安裝
* fastadmin 后臺插件管理,找到微信支付寶整合插件,然后直接安裝,不需要在這里進行配置,只需要在`商城配置->支付配置`里面配置微信支付參數即可
#### 公眾號微信支付
* 首先在`商城配置->支付配置`配置微信支付參數,再配置`商城配置->平臺配置`,配置微信公眾號參數
* 請在`微信商戶平臺`配置微信支付授權目錄,**history 模式**:域名 + /pages/order/payment/,**hash模式:**域名 + /#/pages/order/payment/
#### h5 微信支付(也就是微信瀏覽器之外的普通瀏覽器支付)
* 商戶號必須申請微信h5支付
* `商城配置->平臺配置->h5`,請配置綁定了同一個商戶號的 公眾號的或者小程序的 appid 和 secret
* 必須要在手機上測試,并且手機上必須要有微信客戶端才行,因為 微信 h5 支付是通過瀏覽器調起的微信客戶端進行付款
### 跨域相關
* 默認前端接口都是使用fastadmin 自帶跨域的,只需要在 application/config.php 配置好要跨域的域名,但是這個跨域只能解決接口跨域,并不能解決前端h5生成海報時候的圖片跨域問題,需要在nginx 中單獨配置圖片的跨域
* 如果是 apache,或者想看更詳細的跨域文檔, 請點擊這里[跨域配置](https://doc.fastadmin.net/shopro/352.html)
* 如果使用了對象存儲,并且前端部署的有 h5, 請在對象存儲中配置跨域,否則h5端海報將無法生成
### 海報生成相關
> 如果使用fastadmin 自帶的用戶測試生成海報,請一定要給這個用戶重新上傳一下頭像,否則無法生成海報
#### h5 生成海報
h5 端海報無法生成, 一般都是跨域問題所致,可以按照如下方式解決一下
* 如果未配置對象存儲,請配置服務器的圖片跨域
* 如果是配置了對象存儲,請在對象存儲,bucket 處配置跨域,允許前端域名跨域
#### 小程序端生成海報
* 小程序必須至少發布一版才可正常生成小程序碼
* 檢查小程序服務器域名 downloadFile 域名配置,涉及到的所有圖片地址都需要配置,如果使用了對象存儲包括對象存儲的域名也必須要配置
### 客服相關
* 如果shopro版本大于等于 1.3.0 建議使用反向代理方式配置,配置簡單,也不需要放行端口
* 如果不是反向代理方式,請將客服端口放行,寶塔上放行防火墻端口,并且放行服務器安全組(云服務器)或者防火墻端口
* 配置好之后,一定要在調試模式下運行,錯誤會直接輸出在命令行,這樣就可以解決 90% 以上的問題,否則可能卡幾個小時都解決不了