本司旧项目之前一直使用apicloud 【项目已经非常大了 不可能进行较大变动】
开发模式 :把apicloud当作壳子,H5页面全部在服务器端通过openWin等方式打开,因为满血鸿蒙问题 需要迁移至uni-app。
在apiclooud中 H5页面通过api.js 就可以调用壳子中的相关api功能。
1、那么uni-app 有类似jssdk吗?
2、uni-app通过webView加载的H5 ,如何调用壳子中uni-app相关Api,如:定位、拨打电话、相册、分享、相机、扫一扫等?
3、看webView中有一个uni.webview.js ,在H5可以进行调用,但是只能做打开新界面、关闭新界面功能。比如:uni-App通过webView打开一个H5界面A,A界面又通过webView(uni.webview.js )打开界面B,而A界面如何使用监听器,B如何向A进行通信? 【在apicloud中 通过api.js 调用 api.addEventListener 即可完成以上操作】
主要问题:有没有类型apicloud jssdk,如果没有通过webView 如何去调用uni-app API 完整功能
2 个回复
唐家三少 - 我要写代码
通过
<web-view>
组件加载H5网页,在Vue页面中调用设备相关的API(如:定位、拨打电话、相册、分享、相机、扫一扫等),然后通过postMessage将API响应结果发送到H5网页中。流程稍长,性能会受影响,但应该可满足你的需求。
参考:https://uniapp.dcloud.net.cn/component/web-view.html#postmessage
2***@qq.com
解决了吗?我也有个套壳应用
Johnny_new (作者)
问了官方,目前鸿蒙无解(只能接收消息,无法发送消息,正在考虑使用uts插件去调鸿蒙原生来做H5通信) ,其他系统 用https://ext.dcloud.net.cn/plugin?id=2942 或者只用https://gitee.com/guome/uni-js-bridge
2024-07-23 16:52
2***@qq.com
回复 3***@qq.com: 内置了html5+ 安卓ios可用https://www.html5plus.org/doc/zh_cn/webview.html 方便问下uts插件去调鸿蒙得具体实现思路吗 ?
2024-07-24 09:16
Johnny_new (作者)
回复 2***@qq.com: uts 没通
2024-07-24 11:33
Johnny_new (作者)
回复 2***@qq.com: html5+ 有些东西都不支持,还是需要调用壳子,而且也反对一个App多套实现方式,保证ios/安卓/鸿蒙走一套流程,要不然后期维护全是坑
2024-07-24 12:00