HarmonyOS 鸿蒙Next:加载公司服务器上的离线包到鸿蒙app

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:加载公司服务器上的离线包到鸿蒙app

简单描述一下前提吧, 公司有现成的app业务, 走的是安卓/IOS嵌套前端离线包的模式, 离线包资源放在公司服务器, 包的内容会实时更新, app端需要下载服务器端的离线包到本地并渲染, 然后现在需要基于现有离线包, 开发一个鸿蒙版的app.

实操的时候遇到了一些问题, web组件不支持file协议, 目前这个文档已经看过了 解决Web组件本地资源跨域问题-管理Web组件的网络安全与隐私-ArkWeb(方舟Web)-应用框架 - 华为HarmonyOS开发者 这种方案比较适合file文件较少且内容固定的模式, 但是公司服务器端的离线包文件是动态的而且相关js文件数量可能有几十个, 按这种模式不太能走得通, 目前是否有针对这种场景的解决方案

2 回复
可以通过setPathAllowingUniversalAccess设置一个路径列表,当file协议访问该路径列表中的资源时,允许跨域访问本地文件。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#setpathallowinguniversalaccess12

针对您提到的HarmonyOS鸿蒙Next加载公司服务器上的离线包到鸿蒙app的问题,这里提供一个大致的操作框架:

首先,确保您的鸿蒙app具有访问网络并下载文件的权限。这通常需要在app的配置文件中声明相应的网络权限。

其次,您需要在服务器端配置好离线包的存储和访问路径,确保app能够通过HTTP或HTTPS协议访问到这些离线包。

在鸿蒙app中,您可以利用鸿蒙提供的网络请求API(如Fetch API或XMLHttpRequest)来发送请求到服务器,下载离线包。下载完成后,您需要将离线包保存到设备的本地存储中。

接下来,根据离线包的具体类型和格式,您可能需要编写相应的解析代码来加载和使用这些离线包。这通常涉及到读取文件内容、解析数据结构以及将解析后的数据应用到app的相应功能中。

请注意,以上步骤可能需要根据您的具体需求和离线包的格式进行调整。同时,确保在加载和使用离线包时遵守相关的法律法规和隐私政策。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部