本文主要講解如何使用本地接口進行開發,很多人都會遇到這個問題,特別是小程序上線后。
一、解決思路
在小程序開發工具設置網絡代理,然后再通過Charles設置代理,將https域名轉為本地接口進行訪問。
以下示例的環境為win7 + 老版本的微信開發工具
二、准備工作
1.配置https域名
為小程序配置request合法域名,在登錄公眾號平台去設置。
2.安裝Charles
下載地址:https://www.charlesproxy.com/download/
三、配置Charles
1.安裝根證書
首先,打開Charles,Help->SSL Proxying->Install Charles Root Certificate 安裝證書到本地,指定位置到受信任的根證書頒發機構,否則需要進行下一步操作。
然后,按住win+r, 在輸入運行窗口輸入certmgr.msc回車,在證書界面找到 中級證書頒發機構=》證書 找到證書 “Chambers of Commerce Root - 2008”,然后拖到 受信任的根證書頒發機構=》證書,在彈出框點擊 “是”。
2.映射https域名到本地訪問地址
打開 Tools->Map Remote 添加線上域名於本地(開發環境)服務的映射

3.代理設置
打開 Proxy->Proxy Settings,該端口號后面會用到


4.SSL代理設置(重要)
打開 Proxy->SSL Proxying Settings, 沒有設置此步驟,將會出現SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations的錯誤
以下例子中host為*,即過濾所有https,實際操作時指定為您的https地址即可

5.打開 Proxy->Windows Proxy 啟用本地的代理服務
四、配置開發工具
1.選擇手動設置代理,然后填寫本地的IP,以及前邊在Charles中設置的代理端口號
在開發工具的最左側菜單的 設置 進入,如下設置

到此成功了
以往的坑
在微信開發者工具中,可以臨時開啟 開發環境不校驗請求域名、TLS版本及HTTPS證書 選項,跳過服務器域名的校驗。=》在不填appId時創建的項目下可以調試本地接口,但是微信接口都調用不了
參考:
http://www.cnblogs.com/jiasm/archive/2016/11/14/6063317.html
https://github.com/nighthary/someutil/blob/master/doc/charles%E6%8A%93%E5%8C%85https%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98.md
歡迎閱讀本系列文章:微信小程序開發教程目錄
