Tool:Proxyman

強大的 HTTP 調試工具。

Proxyman

Certificate

因為需要獲取加密的 api 封包,所以需要對各裝置進行認證設置
Certificate 選項位於最上方
iOS 模擬器沒遇到什麼障礙
Android 模擬器需要使用 google api,因此我目前用不出來,因為專案會把沒有 play store 視為 root,進而阻止繼續使用
Android 實機需要定期下載 CA 憑證,並進入裝置設定進行安裝,通常在:設定>密碼與安全>系統安全>加密和憑證>信任的憑證|安裝憑證
Android 實機與 Praxyman 連線時需要更改網路 proxy,但須注意沒連接時要將 網路 proxy 關掉,否則 run app 時無法與 metro 連線

作用限制

android 只能操作 debug 版的 app,因為遵循官方建議:Make sure you remove these configs from your Production build.
ios 應該都能操作。

記住這些差異才不會在奇怪的地方卡住浪費時間。

Map Local

可以攔截 api 儲存回傳內容成 json 檔,並調整成想要的內容後來測試 api 在不同回傳下的結果
Map Local 選項位於最上方的 Tools 中,開啟後會額外顯示在視窗右下角
原本可以同時儲存很多組設置,更新後只能同時儲存兩組設置,妥妥的養套殺😭
mock 網址時必須以 / 結尾,如:https://abcdefghijk/,不然會 mock 失敗,不是很懂為何結尾不能沒有 /
網址好像也都必須是小寫字母🧐。

Local json File 撰寫方式

Map Local (File)
網路通信過於複雜,Proxyman 提供了一些網路或伺服器狀態的設置方法
文件大致包含 Status code, Response Headers, Response Body
只寫 Response Body 會視為 200 OK,這樣如果要測試錯誤狀況時,在程式碼中不會進到 catch 的地方,可能會導致誤判
常用 Status code:
404 Not Found