您的位置  > 互联网

微信快应用开发工具运行报错信息=>重启电脑

网页:网页不需要安装,体验不是很好;

原生应用:原生应用体验流畅,但需要从应用商店下载安装,难以一步直达用户,安装包消耗大量流量;

快捷应用:深度融入移动操作系统,用户无需下载安装即可直接在手机上运行,​​并能流畅体验应用内容。

与微信小程序类似,微信小程序嵌套在微信应用中,快应用嵌套在手机系统中。

入口比较齐全,包括:URL链接、全局搜索、应用商店、浏览器、负一屏、系统桌面、PUSH、语音助手、安全中心、垃圾清理、信息助手、天气、短信模板、日历、个性化主题、文件管理...

开发技术

快应用采用的是前端技术栈,由基本标签、样式、js脚本等组成,类似于Vue的开发方式。

快速应用程序是使用 MVVM 设计模式开发的。 开发者无需直接添加或删除DOM节点,采用数据驱动的方式完成节点更新。

开发实时编译渲染,完成后打包生成rpk包上传平台。

快速开始

1.安装应用快速开发工具://

2.新建一个快应用项目

3. 代码结构

4、开发与调试

5.编译、打包并提交测试

6.上传至官网开发者中心并提交审核发布。

遇到的问题及解决方案 缺点

实际开发经历中遇到的问题:

遇到的问题及解决方案

1. 开发工具运行滞后

现象:快速应用开发工具运行时间较长后会出现卡顿现象。

解决办法:可以退出并杀死快速应用开发工具,然后重新打开。

2. 运行开发工具时出错

现象:初次安装时报错,开发过程中报错,编译时偶尔报错。

解决方案:查看右侧预览错误信息 => 查看底部错误信息输出 => 监控 => 代码二分排查 => 重启开发工具 => 重启电脑

阐明:

3.生命周期函数执行问题

页面执行顺序 => =>

仅自定义组件=>

现象:加载过一次的页面只有返回重新进入时才会执行。 此时,页面中自定义组件的生命周期函数将不会被执行。

解决办法:在页面中添加if并修改为false。 100ms后,将其更改为true以强制子组件刷新。

4.定位不支持z-index控制级别

现象:z-index无效。 当多个定位元素相互覆盖时,后面渲染的元素会在上面。

解决方案:使用堆栈组件代替。 堆叠容器子组件以级联布置方式布置。 每个直接子组件按顺序堆叠,覆盖前面的子组件; 使用代码逻辑来控制顶层显示的最终渲染。

5.私有自动登录API导致预览无法使用。

现象:使用OPPO私有自动登录API时,模块不存在并报错,导致开发者工具右侧预览失败,无法实时开发调试。

解决方案:封装登录方法,调试阶段引入参数控制硬编码的登录token,不要走私登录API。

6.页栈中过多的数据被破坏

现象:由于阅读页和详情页的ID不同,所以每次都会生成一个新的页栈。 如果页堆栈的数量超过5,则内存中最早缓存的页数据将被破坏。 一般的表现就是主页会变成空白,因为最新的就是主页了。

解决方案:使用 . 阅读页、详情页等带ID的页面替换.push; 如果监控页栈数量超过5则记录,返回首页时重新加载数据。

7.定时器问题

现象:定时器中的函数执行报错“”。 A页面跳转到B,后台继续监听A页面的定时器,当定时器执行完毕后,A页面已经被销毁,报错。

解决方案:添加一个方法,在执行函数之前判断页面是否存在。 所有定时器都使用以下方法:

const bindPageLC = () => {
  Function.prototype.bindPage = function (vmInst) {
    const fn = this
    return function () {
      if (!vmInst) {
        throw new Error('使用错误:请传递VM对象')
      }
      if (vmInst.$valid) {
        return fn.apply(vmInst, arguments)
      } else {
        console.error('页面销毁时,不执行回调函数')
      }
    }
  }
}
bindPageLC()
setTimeout(function() {
}.bindPage(this), 500)

8.系统字体设置更改导致内容错位

现象:手动修改系统字体大小而不适配导致页面错位。 目前还没有相关的API可以监控系统字体大小的变化。

解决方案:.json 关闭字体大小响应 "": "none"。

9. 系统显示设置更改导致内容错位

现象:如果手动修改系统显示尺寸,富文本容器中嵌入的HTML元素会变大且错位。 "": "none" 只能关闭,不响应系统字体变化。

解决方案:不要使用富文本容器嵌入HTML,而是使用div、text等组件。

10.屏幕适配

快应用和负一屏卡默认尺寸为“”:750,750的设计图可以1:1写样式;

如果“”:1080、375张图片需要乘以3,可以在公共样式中定义变量,@3:3px;

具体用法::156*@3;:16*@3 16*@3 0;

11.夜间适应

现象:监听夜间模式,然后改变最外面的样式来改变颜色。 发现不行。 每个元素都需要单独更改才能有效。

解决方案:快应用可以使 @media (-color-: dark) {} 适应夜间媒体查询。 .json中 "": -1,跟随主题颜色,"": true,启用反色

图片暗夜src替换:监听主题模式切换ed并获取当前主题模式。 ()

组件单独关闭反色:=“false”

自定义样式:使用媒体查询来调整 @media (-color-: dark) {}

12.阅读页面垂直翻转模式1.0广告问题

现象:多个广告组件for循环,绑定触发加载,每个组件会多次触发事件; 广告组件回调会被多次触发。

解决方案:添加索引缓存,过滤掉已加载的组件; 将广告对象提取到外部公共引用,将数据传输到广告组件以渲染数据,并执行数据缓存过滤。

13. 2.0 原生广告注意事项

:最外层通过if重新渲染加载新广告

成功:返回的数据不再有广告ID

点击:广告曝光和点击只会触发一次。 再次点击不会触发广告点击报告,不会有收入; if不会用来触发广告跳转区域

控制,不然点击没有反应,用show来控制

关闭:使用show而不是if来自定义广告元素的关闭,这样就不会跳转到广告链接了。

14.安全审计问题

需要设置为关闭;

同意隐私协议之前发生的互联网行为:所有请求必须在同意该协议之后提出;