Als Tool für die plattformübergreifende Entwicklung bietet Uniapp viele Vorteile im Entwicklungsprozess. Bei der Cloud-Paketierung können jedoch Probleme beim Anfordern des Netzwerks auftreten.
Während der Entwicklung von uniapp habe ich kürzlich die Cloud-Funktionen und die API-Schnittstelle von uniCloud zum Aggregieren von Daten verwendet, bin jedoch auf das Problem gestoßen, dass ich während der Cloud-Paketierung das Netzwerk nicht anfordern konnte, was mich sehr beunruhigte.
Nach vielen Tests und der Abfrage relevanter Dokumente habe ich herausgefunden, dass dies daran liegt, dass der Sandbox-Modus standardmäßig durch die Uniapp-Cloud-Paketierung aktiviert ist. Im Sandbox-Modus befinden sich Netzwerkanfragen in einem eingeschränkten Zustand und können keine Anfragen an das externe Netzwerk stellen.
Als nächstes werde ich detailliert vorstellen, wie das Problem gelöst werden kann, dass Uniapp-Cloud-Pakete das Netzwerk nicht anfordern können.
Lösen Sie das Problem, dass die Uniapp-Cloud-Verpackung das Netzwerk nicht anfordern kann
Option 1: Nicht-Sandbox-Modus aktivieren
Vor der Cloud-Verpackung müssen wir die Verpackungskonfiguration ändern und den Sandbox-Modus von Uniapp deaktivieren, um das Problem zu lösen Problem, dass Cloud-Paketierung keine Netzwerkprobleme anfordern kann. Wir fügen der Datei manifest.json
den folgenden Code hinzu: manifest.json
文件中添加以下代码:
"app-plus":{ "sandbox":false }
如上述代码所示,我们需要在app-plus
节点中添加sandbox
配置,将其设置为false
即可开启非沙箱模式。
但需要注意的是,开启非沙箱模式会有一定的安全风险,因此在应用场景非常必要的情况下才进行操作。
方案二:添加网络白名单
另外一种解决方案是,添加网络白名单,允许应用程序访问外部网络。我们可以在manifest.json
文件中,通过添加以下代码来实现:
"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
节点下添加以下配置:
"networkSecurity":{ "sslPinning":true }, "cloud":{ "functionUrl":"https://api.xxx.com" }
以上代码中,networkSecurity
节点中的sslPinning
属性用于保证网络请求的安全性,而cloud
节点的functionUrl
rrreee
sandbox
zur Datei app-plus hinzufügen. code> node >Configuration, setzen Sie ihn auf <code>false
, um den Nicht-Sandbox-Modus zu aktivieren. Es ist jedoch zu beachten, dass das Aktivieren des Nicht-Sandbox-Modus gewisse Sicherheitsrisiken birgt. Betreiben Sie ihn daher nur, wenn das Anwendungsszenario unbedingt erforderlich ist. 🎜🎜Option 2: Eine Netzwerk-Whitelist hinzufügen🎜🎜Eine andere Lösung besteht darin, eine Netzwerk-Whitelist hinzuzufügen, um Anwendungen den Zugriff auf externe Netzwerke zu ermöglichen. Wir können dies erreichen, indem wir den folgenden Code in die Datei manifest.json
einfügen: 🎜rrreee🎜 Konkret müssen wir die folgende Konfiguration unter dem Knoten app-plus
hinzufügen: 🎜 rrreee🎜Im obigen Code wird das Attribut sslPinning
im Knoten networkSecurity
verwendet, um die Sicherheit von Netzwerkanforderungen zu gewährleisten, während die functionUrl der <code>cloud
-Knoten Das -Attribut fügt unserer Anwendung eine Netzwerkanfrage-Whitelist hinzu, sodass unsere Anwendung auf die API-Schnittstelle zugreifen kann. 🎜🎜Bisher haben wir das Problem, dass Uniapp-Cloud-Pakete das Netzwerk nicht anfordern können, erfolgreich gelöst. Wenn Sie auch auf ähnliche Probleme stoßen, kann Ihnen dieser Artikel hoffentlich helfen. 🎜Das obige ist der detaillierte Inhalt vonUniapp Cloud Packaging kann das Netzwerk nicht anfordern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion
