位置: IT常识 - 正文

uniapp+h5混合开发(uniapp和vue混合开发)

编辑:rootadmin
uniapp+h5混合开发

推荐整理分享uniapp+h5混合开发(uniapp和vue混合开发),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uniapp开发h5兼容问题,uniapp内嵌h5,uniapp和vue混合开发,uniapp内嵌h5,uniapp开发的h5和普通的h5,uniapp开发的h5和普通的h5,uniapp开发的h5和普通的h5,uniapp开发的h5和普通的h5,内容如对您有帮助,希望把文章链接给更多的朋友!

uniapp+h5混合开发(uniapp和vue混合开发)

为了减少app频繁上架,频繁更新,决定放弃纯uniapp开发,改用uniapp(后续简称uni)+h5的方式进行混合开发。 技术选型: 整个app架子用uni(vue3),h5采用vue3+vant4,然后使用uni的webview进行页面控制。由于我们是由vue2升级到vue3,所以之前的一些代码需要做调整,这里自己去看一下vue2和vue3的区别。在技术选型上也本着一个原则,如遇技术冲突,就以uniapp为主,h5只做页面展示。 其中还有几个点在这次升级中也提出来了,考虑到篇幅问题,这里只贴关键代码 1、页面跳转问题,uni有路由管理,h5也有路由管理,由于所有的h5界面都采用web-view方式访问,所以h5界面在开发的时候规定了不允许使用window.open(在ios系统中有可能出现无法使用的情况)和location.href方式跳转,也禁用了h5的路由方式跳转,代码如下:

//uni获取webview访问路径//该页面名称vuePage<template><view><web-view :src="indexUrl" @message="getMessage" @onPostMessage="getPostMessage"></web-view></view></template>onLoad(param) {let _this = thislet url=decodeURI(param.vuePage)url=base64.decode(url);//"/app_dyg"+url 前端路由地址_this.indexUrl = '前端访问地址'+"/app_dyg"+url},/** * 保留当前页面,跳转到vue界面,这种方式不需要全路径,只需要页面的路由 * @param url */const navigateToVueView = (url) => { url = Base64.toBase64(url) window.uni.webView.navigateTo({ url: '../vuePage/vuePage?vuePage=' + encodeURI(url) })}

这种方式就是h5界面调用uni提供的路由跳转接口进行页面跳转,需要注意的是h5界面需要引入uni.webview.1.5.2.js,具体引入方式可参考官方文档,就不过多赘述。这里只列举了一种,如有其他需要可参考这段代码进行编写,下图是uni提供的部分接口 2、页面返回之后h5界面没有刷新数据问题 由于所有的h5界面都是采用的webview方式访问的,页面都是存在uni页面栈里面的,所以返回之后h5的勾子函数会失效,但是uni的onShow()是有效的,所以在页面返回之后通过evalJS传值的方式来触发h5页面的刷新,代码如下:

onShow() {// #ifdef APP-PLUSif(typeof this.$mp!='undefined' && typeof this.$mp.page!='undefined'){var currentWebview = this.$mp.page.$getAppWebview();var wv = currentWebview.children()[0]if (typeof wv != 'undefined') {setTimeout(function() {wv.evalJS('appMsg()')}, 50);}}// #endif},

由于appMsg使用频率较高,为了方便使用,我将它注册到了window下面,方便在开发过程中进行调用

//将appMsg注册到window下面declare interface Window { uni: any tracking: any appMsg: any}//在需要刷新数据的界面进行调用window.appMsg = () => { getData()}

3、重要信息缓存问题 在使用过程中,我们会将用户信息,token等重要信息缓存起来,尤其是token这种数据,生命周期比较短,在我们系统中只有5分钟,就需要在uni不断的刷新token,如果多端进行数据维护也比较麻烦,所以在开发过程中h5端只调用uni缓存的信息,代码如下

if (window.plus) { setData(); } else { document.addEventListener('plusready', setData, false); } function setData() { sessionStorage.setItem('token', plus.storage.getItem('token')) sessionStorage.setItem('userInfo', plus.storage.getItem('user')) sessionStorage.setItem('appApiUrl', plus.storage.getItem('appApiUrl')) }

uni访问h5界面的时候都会触发该方法,所以h5界面会将uni缓存的最新数据进行存储,保证数据的一致性。这里在开发过程中遇到这样一个问题,目前主要是ios系统中发现了这个问题,就是数据缓存和页面加载不同步,也就是页面加载完了,但是token等数据还没有缓存好,所以在h5的路由配置的时候是做了一个延迟加载的处理

router.beforeEach((to: any, from, next) => { if (to.meta.title) { document.title = to.meta.title } if (to.matched.length === 0) { next('/404') } else { setTimeout(function () { next() }, 300) }})
本文链接地址:https://www.jiuchutong.com/zhishi/296055.html 转载请保留说明!

上一篇:Nodejs快速搭建简单的HTTP服务器,并发布公网远程访问(node.js环境搭建)

下一篇:vue-treeselect 的基本使用(vue treegrid)

  • 腾讯视频vip续费怎么关闭(腾讯视频VIP续费退订)

    腾讯视频vip续费怎么关闭(腾讯视频VIP续费退订)

  • 抖音播放量少是什么情况(抖音播放量少是6点发作品好还是9点发好)

    抖音播放量少是什么情况(抖音播放量少是6点发作品好还是9点发好)

  •  wps表格怎样查找内容(wps表格怎样查重复)

    wps表格怎样查找内容(wps表格怎样查重复)

  • spk/mic插在主板哪里(speaker插主板哪个接口)

    spk/mic插在主板哪里(speaker插主板哪个接口)

  • 短信可以发送视频吗(短信发送视频怎么收费)

    短信可以发送视频吗(短信发送视频怎么收费)

  • 快手保存原图对方知道吗(快手保存图片对方看得到吗)

    快手保存原图对方知道吗(快手保存图片对方看得到吗)

  • qq删除好友是双删吗(qq删除好友双向删除功能什么时候开始的)

    qq删除好友是双删吗(qq删除好友双向删除功能什么时候开始的)

  • 三星s10文档扫描功能(三星s8文档扫描功能)

    三星s10文档扫描功能(三星s8文档扫描功能)

  • vga什么意思(在微机中vga什么意思)

    vga什么意思(在微机中vga什么意思)

  • 苹果耳机和华为耳机的区别(苹果耳机和华为手机如何配对)

    苹果耳机和华为耳机的区别(苹果耳机和华为手机如何配对)

  • 原装充电线和非原装区别(原装充电线和非原装充电头一起用)

    原装充电线和非原装区别(原装充电线和非原装充电头一起用)

  • 有线和无线是什么意思(有线无线是什么)

    有线和无线是什么意思(有线无线是什么)

  • nova6se支持语音唤醒吗(nova6se有语音唤醒功能吗)

    nova6se支持语音唤醒吗(nova6se有语音唤醒功能吗)

  • 计算机系统软件有哪些(计算机系统软件分为哪两大类)

    计算机系统软件有哪些(计算机系统软件分为哪两大类)

  • vivoy7s能无线充电吗(vivoy73s能用无线充电)

    vivoy7s能无线充电吗(vivoy73s能用无线充电)

  • 手机新闻咨询页面如何关闭(手机新闻咨询页怎么设置)

    手机新闻咨询页面如何关闭(手机新闻咨询页怎么设置)

  • 豆瓣小组怎么取消审核(豆瓣小组怎么取消封禁)

    豆瓣小组怎么取消审核(豆瓣小组怎么取消封禁)

  • 华为p30和p30pro的区别(华为p30和p30pro的充电器是一样的吗)

    华为p30和p30pro的区别(华为p30和p30pro的充电器是一样的吗)

  • 什么叫智慧识屏(什么是智慧识屏)

    什么叫智慧识屏(什么是智慧识屏)

  • aum一al00是什么型号(aum-al00是华为什么型号)

    aum一al00是什么型号(aum-al00是华为什么型号)

  • 联发科p90手机有哪些(联发科p90g)

    联发科p90手机有哪些(联发科p90g)

  • 怎么看热点连接的人(怎么看热点连接的人用了多少流量)

    怎么看热点连接的人(怎么看热点连接的人用了多少流量)

  • oppoa7x电池多少毫安(opopa7x电池多大)

    oppoa7x电池多少毫安(opopa7x电池多大)

  • 微信如何艾特别人(微信如何艾特别人?)

    微信如何艾特别人(微信如何艾特别人?)

  • Windows11 ISO镜像提前泄露:微软彻底发飙 追查镜像下载网站(windows11iso镜像多久更新一次)

    Windows11 ISO镜像提前泄露:微软彻底发飙 追查镜像下载网站(windows11iso镜像多久更新一次)

  • 增值税结转和个体工商户的增值税缴纳分录如何做?
  • 一般纳税人登记证明
  • 供热管道属于什么经营范围内
  • 费用发票跨月可以入帐吗
  • 工会费个税税前扣除标准
  • 个体工商户必须缴纳社保吗
  • 应付票据和应付账款有什么区别
  • 小额存款账户管理费
  • 短期借款可以按币种设置明细核算
  • 没有土地使用证可以过户吗
  • 最新的税收政策
  • 生产型增值税与消费型增值税的区别在于是否允许企业
  • 小微企业月销售额不超过15万
  • 2021年7月1日执行
  • 利润率的计算举例
  • 电器以旧换新的套路
  • 一般纳税人所得税优惠政策
  • 资产负债表损益表现金流量表
  • 农副产品免税怎么报税
  • 国税局代开发票是否可代地税局征收城市维?
  • 企业所得税以前年度所得调整
  • 收到的投资收益属于经营活动产生的现金流量吗
  • 如何打印word文档手机上
  • 企业销售应如何做
  • 期末未抵扣数
  • php论坛代码
  • php基础入门
  • linux命令使用
  • alibabapritect
  • 工伤单位支付
  • linux抓包 udp
  • vnisedit 打包
  • 特殊性税务处理的条件
  • wordpress使用
  • 作废的专票能认证过去吗
  • 简述php图像操作的基本步骤
  • vue路由传参的几种方式
  • 用python处理图像
  • php删除数据
  • 查看zip内容
  • 社保基数填错了 多扣多钱可以退款吗
  • 工程结算审计
  • 小规模纳税人如何开专票
  • 怎么算长期合同
  • 一般纳税人废业企业库存怎么办
  • 研发费用成本化和费用化
  • 运输途中发生的合理损失
  • 小规模减免税款会计分录
  • acca考试安排及时间
  • 土地勘测费收费标准
  • 商场联营扣点的合作方式
  • 2021劳动报酬收入个人所得税怎么算
  • 以存货抵偿债务
  • 长期股权投资权益法账务处理
  • 小规模纳税人申请一般纳税人流程
  • 施工单位月末都需要结转什么
  • 微软终止代码大全
  • windows vista界面
  • usbmonit.exe - usbmonit是什么进程
  • 定时清理注册表会怎么样
  • windows xp怎么清理c盘
  • incredr
  • windowsxp改密码怎么改
  • windows8装 .NET 3.5 时出现0x800F081F错误解决方法
  • win7 64位系统玩英雄联盟lol频繁提示failed to create dump file error 183的解决方法
  • windows7右下角网络图标不见了怎么办
  • win7电脑老是自动重启怎么回事
  • 重装win7旗舰版重启后黑屏
  • linux文件批处理命令
  • cocos2dx官方教程
  • unicode 字符百科
  • Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
  • shell函数库
  • unity closestpoint
  • js需要学到什么程度
  • adb把文件拷贝到手机
  • python电话本
  • 国际货运代理业务范围
  • 发票金额模糊怎么查询
  • 增值税是要上交给国家的吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设