As a tool for cross-platform development, uniapp has many conveniences in the development process, but when performing cloud packaging, we may encounter problems when requesting the network.
Recently during the development of uniapp, I used uniCloud's cloud functions and API interfaces for aggregating data. However, I encountered the problem of being unable to request the network during cloud packaging, which made me very distressed.
After many tests and querying relevant documents, I found that this was caused by the sandbox mode being enabled by uniapp cloud packaging by default. In the sandbox mode, network requests are in a restricted state and cannot request to the external network.
So, next I will introduce in detail how to solve the problem of uniapp cloud packaging being unable to request the network.
Before cloud packaging, we need to modify the packaging configuration and change the sandbox of uniapp Box mode is turned off, which can solve the problem of cloud packaging being unable to request the network. We add the following code to the manifest.json
file:
"app-plus":{ "sandbox":false }
As shown in the above code, we need to add sandbox# to the
app-plus node ##Configuration, set it to
false to enable non-sandbox mode.
manifest.json file:
"app-plus":{ "networkTimeout":{ "request":30000, "connectSocket":30000, "uploadFile":30000, "downloadFile":30000 }, "debug":false, "subpackages":[], "permission":{ "scope.userLocation":{ "desc":"你的位置信息将用于小程序位置接口的效果展示" } }, "navigateToMiniProgramAppIdList":[], "preloadRule":{ "page":{ "alias":[], "path":[] }, "network":{ "include":[ "**/**/*.png", "**/**/*.jpg", "**/**/*.jpeg", "**/**/*.gif", "**/**/*.svg", "**/**/*.js", "**/**/*.css", "**/**/*.wxss", "**/**/*.wxml" ], "exclude":[] }, "package":{ "exclude":[], "include":[] }, "plugin":{ "exclude":[], "include":[] } }, "navigateToKeepAliveList":[], "subscribeMessage":{ "tmplIds":[] }, "usingComponents":{}, "sandbox":false, "style":{ "navigationBarTitleText":"" }, "window":{ "navigationBarBackgroundColor":"#fff", "navigationBarTextStyle":"black", "navigationBarTitleText":"uni-app", "backgroundColor":"#F5F5F5", "backgroundTextStyle":"light", "enablePullDownRefresh":false, "enableBackToTop":false, "navigationStyle":"default" }, "networkTimeout":{ "request":10000, "connectSocket":10000, "uploadFile":10000, "downloadFile":10000 }, "networkSecurity":{ "sslPinning":true }, "navigateToMiniProgram":{ "appParam":{ "xxParam":"yy" } }, "plugins":{ "myPlugin":{ "version":"*", "provider":"wxidxxxxxxxxxxxxxxxxx" } }, "cloud":{ "functionUrl":"https://api.xxx.com" }, "requiredBackgroundModes":["audio"] }, "networkTimeout":{ "request":10000, "connectSocket":10000, "uploadFile":10000, "downloadFile":10000 }, "networkSecurity":{ "sslPinning":true }, "navigateToMiniProgram":{ "appParam":{ "xxParam":"yy" } }, "plugins":{ "myPlugin":{ "version":"*", "provider":"wxidxxxxxxxxxxxxxxxxx" } }, "cloud":{ "functionUrl":"https://api.xxx.com" }, "requiredBackgroundModes":["audio"] }
app-plus node :
"networkSecurity":{ "sslPinning":true }, "cloud":{ "functionUrl":"https://api.xxx.com" }
sslPinning attribute in the
networkSecurity node is used to ensure the security of network requests, while the
cloud node's # The ##functionUrl
attribute adds a network request whitelist to our application, allowing our application to access the API interface. So far, we have successfully solved the problem that uniapp cloud packaging cannot request the network. If you also encounter similar troubles, I hope this article can help you.
The above is the detailed content of uniapp cloud packaging cannot request the network. For more information, please follow other related articles on the PHP Chinese website!