提交 86052e5d 编写于 作者: hbcui1984's avatar hbcui1984

Merge branch 'master' of https://github.com/dcloudio/unidocs-zh

node_modules
docs/.vuepress/dist
.DS_Store
root/sitemap.xml
\ No newline at end of file
root/sitemap.xml
dist
\ No newline at end of file
......@@ -6,13 +6,13 @@ uni-app 基于 ECMAScript 扩展了 uni 对象,并且 API 命名与小程序
## 标准 js 和浏览器 js 的区别
`uni-app`的 js 代码,h5 端运行于浏览器中。非 h5 端(包含小程序和 App),Android 平台运行在 v8 引擎中,iOS 平台运行在 iOS 自带的 jscore 引擎中,都没有运行在浏览器或 webview 里。
`uni-app`的 js 代码,web端运行于浏览器中。非web端(包含小程序和 App),Android 平台运行在 v8 引擎中,iOS 平台运行在 iOS 自带的 jscore 引擎中,都没有运行在浏览器或 webview 里。
H5 端,虽然不支持 window、document、navigator 等浏览器的 js API,但也支持标准 ECMAScript。
web端,虽然不支持 window、document、navigator 等浏览器的 js API,但也支持标准 ECMAScript。
请注意不要把浏览器里的 js 扩展对象等价于标准 js。
请注意不要把浏览器里的 js 等价于标准 js。
所以 uni-app 的非 H5 端,一样支持标准 js,支持 if、for 等语法,支持字符串、数字、时间、布尔值、数组、自定义对象等变量类型及各种处理方法。仅仅是不支持 window、document、navigator 等浏览器专用对象。
所以 uni-app 的web端,一样支持标准 js,支持 if、for 等语法,支持字符串、数字、时间、布尔值、数组、自定义对象等变量类型及各种处理方法。仅仅是不支持 window、document、navigator 等浏览器专用对象。
## 各端特色 API 调用
......
::: warning 注意
推荐使用 [uni统计2.0](uni-stat-v2.html)
推荐使用 [uni统计2.0](https://uniapp.dcloud.io/uni-stat-v2.html)
:::
## 统计
......@@ -79,7 +79,9 @@ uni.report('search',{
```
自定义事件上报后,在统计后台的`事件和转换`栏目中,可以看到上报的事件情况。
自定义事件上报后:
- 统计1.0在统计后台的`事件和转换`栏目中,可以看到上报的事件情况。
- 统计2.0在uni-admin后台的`uni 统计 --> 自定义事件`栏目中,可以看到上报的事件情况。
::: tip 提示
- 小程序平台,需将`tongji.dcloud.net.cn`配入域名白名单,[详见](https://ask.dcloud.net.cn/article/36298)
......
......@@ -14,15 +14,42 @@
|scene|Number|启动时的场景值,具体值含义请查看各平台文档说明|其他平台均支持,`字节小程序(1.12.0)`|
|query|Object|启动时的 query 参数|其他平台均支持,`字节小程序(1.12.0)`|
|referrerInfo|Object|来源信息。如果没有则返回 `{}`|其他平台均支持,`字节小程序(1.15.0)`|
|channel|String|如果应用没有设置渠道标识,则返回空字符串。取值如下|`仅 App 支持`|
|launcher|String|应用启动来源。取值如下|`仅 App 支持`|
|forwardMaterials|Array.\<Object\>|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|`微信小程序`|
|chatType|number|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|`仅微信小程序`|
|apiCategory|string|API 类别|`仅微信小程序(2.20.0)`|
|showFrom|number|唤起小程序的方式,目前取值固定为 10,表示通过 schema 唤起|`仅字节小程序(1.90.0)`|
|mode|'default' | 'halfPage'|启动小程序的模式|`仅快手小程序`|
|mode|'default' \| 'halfPage'|启动小程序的模式|`仅快手小程序`|
**Object referrerInfo**
|属性|类型|说明|平台差异说明|
|:-|:-|:-|:-|
|appId|String|来源小程序 appId |其他平台均支持,`字节小程序(1.15.0)`|
|extraData|Object|来源小程序传过来的数据。|其他平台均支持,`字节小程序(1.15.0)`|
\ No newline at end of file
|extraData|Object|来源小程序传过来的数据。|其他平台均支持,`字节小程序(1.15.0)`|
**channel 取值**
> 默认提供 `7` 个渠道(`Google`、`360`、`小米`、`华为`、`应用宝`、`vivo`、`oppo`),更多可以在`manifest.json`文件中【源码视图】进行配置,[详情](https://ask.dcloud.net.cn/article/35974)
| 默认渠道 | 渠道标识ID |
| ------------ | -------- |
| GooglePlay | google |
| 应用宝 | yyb |
| 360应用市场 | 360 |
| 华为应用商店 | huawei |
| 小米应用商店 | xiaomi |
| vivo应用商店 | vivo|
| oppo应用商店 | oppo |
**launcher 取值**
| 值 | 说明 |
| ------------ | -------- |
| default | 默认启动方式,通常表示应用列表启动(360手助中搜索启动) |
| scheme | 通过urlscheme方式触发启动 |
| push | 通过点击系统通知方式触发启动 |
| uniLink | 通过通用链接(universal link)启动应用 |
| miniProgram | 通过微信小程序启动应用 |
| shortcut | 通过快捷方式启动,iOS平台表示通过3D Touch快捷方式,Android平台表示通过桌面快捷方式启动 |
| barcode | 通过二维码扫描启动|
\ No newline at end of file
......@@ -14,12 +14,14 @@
|scene|Number|启动时的场景值,具体值含义请查看各平台文档说明。钉钉小程序在 IDE 恒为0000,真机不支持。|其他平台均支持,`字节小程序(1.12.0)`|
|query|Object|启动时的 query 参数|其他平台均支持,`字节小程序(1.12.0)`|
|referrerInfo|Object|来源信息。如果没有则返回 `{}`|其他平台均支持,`字节小程序(1.15.0)``飞书小程序不支持``钉钉小程序不支持`|
|channel|String|如果应用没有设置渠道标识,则返回空字符串。取值如下|`仅 App 支持`|
|launcher|String|应用启动来源。取值如下|`仅 App 支持`|
|forwardMaterials|Array.\<Object\>|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|`微信小程序``QQ小程序`|
|entryDataHash|string|群入口信息,通过群应用商店打开、群分享卡片打开的小程序可获得|`仅QQ小程序`|
|chatType|number|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|`仅微信小程序`|
|apiCategory|string|API 类别|`仅微信小程序(2.20.0)`|
|showFrom|number|唤起小程序的方式,目前取值固定为 10,表示通过 schema 唤起|`仅字节小程序(1.90.0)`|
|mode|'default' | 'halfPage'|启动小程序的模式|`仅快手小程序`|
|mode|'default' \| 'halfPage'|启动小程序的模式|`仅快手小程序`|
|subScene|string|子场景值(定义待补充)|`仅飞书小程序`|
**Object referrerInfo**
......@@ -27,4 +29,29 @@
|属性|类型|说明|平台差异说明|
|:-|:-|:-|:-|
|appId|String|来源小程序 appId |其他平台均支持,`字节小程序(1.15.0)`|
|extraData|Object|来源小程序传过来的数据|其他平台均支持,`字节小程序(1.15.0)`|
\ No newline at end of file
|extraData|Object|来源小程序传过来的数据|其他平台均支持,`字节小程序(1.15.0)`|
**channel 取值**
> 默认提供 `7` 个渠道(`Google`、`360`、`小米`、`华为`、`应用宝`、`vivo`、`oppo`),更多可以在`manifest.json`文件中【源码视图】进行配置,[详情](https://ask.dcloud.net.cn/article/35974)
| 默认渠道 | 渠道标识ID |
| ------------ | -------- |
| GooglePlay | google |
| 应用宝 | yyb |
| 360应用市场 | 360 |
| 华为应用商店 | huawei |
| 小米应用商店 | xiaomi |
| vivo应用商店 | vivo|
| oppo应用商店 | oppo |
**launcher 取值**
| 值 | 说明 |
| ------------ | -------- |
| default | 默认启动方式,通常表示应用列表启动(360手助中搜索启动) |
| scheme | 通过urlscheme方式触发启动 |
| push | 通过点击系统通知方式触发启动 |
| uniLink | 通过通用链接(universal link)启动应用 |
| miniProgram | 通过微信小程序启动应用 |
| shortcut | 通过快捷方式启动,iOS平台表示通过3D Touch快捷方式,Android平台表示通过桌面快捷方式启动 |
| barcode | 通过二维码扫描启动|
\ No newline at end of file
`App.vue`是uni-app的主组件,所有页面都是在`App.vue`下进行切换的,是页面入口文件。但`App.vue`本身不是页面,这里不能编写视图元素。
`App.vue`是uni-app的主组件,所有页面都是在`App.vue`下进行切换的,是页面入口文件。但`App.vue`本身不是页面,这里不能编写视图元素,也就是没有`<template>`
这个文件的作用包括:调用应用生命周期函数、配置全局样式、配置全局的存储globalData
应用生命周期仅可在`App.vue`中监听,在页面监听无效。
## 应用生命周期@applifecycle
``uni-app`` 支持如下应用生命周期函数:
......@@ -38,6 +39,7 @@
**注意**
- **应用生命周期仅可在`App.vue`中监听,在其它页面监听无效**
- 应用启动参数,可以在API `uni.getLaunchOptionsSync`获取,[详见](https://uniapp.dcloud.net.cn/api/plugins/getLaunchOptionsSync.html#getlaunchoptionssync)
- onlaunch里进行页面跳转,如遇白屏报错,请参考[https://ask.dcloud.net.cn/article/35942](https://ask.dcloud.net.cn/article/35942)
- `App.vue` 不能写模板
- onPageNotFound 页面实际上已经打开了(比如通过分享卡片、小程序码)且发现页面不存在,才会触发,api 跳转不存在的页面不会触发(如 uni.navigateTo)
......
此差异已折叠。
......@@ -16,7 +16,7 @@
**Tips**
- `<image>` 组件默认宽度 300px、高度 225px;`app-nvue平台,暂时默认为屏幕宽度`
- `<image>` 组件默认宽度 320px、高度 240px;`app-nvue平台,暂时默认为屏幕宽度、高度 240px;`
- `src` 仅支持相对路径、绝对路径,支持 base64 码;
- 页面结构复杂,css样式太多的情况,使用 image 可能导致样式生效较慢,出现 “闪一下” 的情况,此时设置 `image{will-change: transform}` ,可优化此问题。
- 自定义组件里面使用 `<image>`时,若 `src` 使用相对路径可能出现路径查找失败的情况,故建议使用绝对路径。
......
......@@ -171,13 +171,15 @@ easyinput 组件是对原生input组件的增强 ,是专门为配合表单组
### Easyinput Events
|事件称名| 说明|返回值|
|:-:| :-:|:-:|
|@input|输入框内容发生变化时触发| -|
|@focus|输入框获得焦点时触发| -|
|@blur|输入框失去焦点时触发| -|
|@confirm|点击完成按钮时触发| -|
|@iconClick |点击图标时触发| prefix/suffix |
|事件称名| 说明|返回值|兼容说明|
|:-:| :-:|:-:|:-:|
|@input|输入框内容发生变化时触发| -||
|@clear|点击右侧叉号图标时触发| -|1.1.0新增|
|@focus|输入框获得焦点时触发| -||
|@blur|输入框失去焦点时触发| -||
|@confirm|点击完成按钮时触发| -||
|@iconClick |点击图标时触发| prefix/suffix ||
|@change|仅在输入框失去焦点或用户按下回车时触发||1.1.0新增|
## 示例
......
此差异已折叠。
#### 3.5.0.20220623-alpha
* 【uni-app】
+ 新增 uni-app vue2项目 支持使用`@/pages.json`引用条件编译后的`pages.json`文件
+ 修复 3.4.17 版本引发的 vue3 项目 运行在小程序平台 `<script setup>`中使用 const 定义 reactive 对象访问出错的Bug [详情](https://github.com/dcloudio/uni-app/issues/3606)
+ App、Web平台 修复 3.4.10 版本引出的 vue2项目 image 组件 load 事件图像大小信息不准确的Bug [详情](https://ask.dcloud.net.cn/question/147174)
+ App平台 优化 slot name 支持动态赋值 [详情](https://ask.dcloud.net.cn/question/95109)
+ App-Android平台 新增 manifest.json 支持 webview 配置,系统 webview 低于指定版本时,弹出提示或者下载 x5 内核后继续启动 [详情](https://uniapp.dcloud.net.cn/collocation/manifest.html#appwebview)
+ App-Android平台 修复 tabbar 启用高斯模糊后获取 windowBottom 错误的Bug [详情](https://ask.dcloud.net.cn/question/146583)
+ App-iOS平台 修复 uni.request 访问特定接口可能数据解析出现乱码的Bug [详情](https://ask.dcloud.net.cn/question/145530)
+ 微信小程序、支付宝小程序 新增 vue2项目 manifest.json 支持 scopedSlotsCompiler 配置,用于合并虚拟节点外部样式 [详情](https://uniapp.dcloud.io/collocation/manifest.html#mp-weixin)
+ 百度小程序平台 修复 vue3项目 组件嵌套使用时响应式可能失效的Bug [详情](https://github.com/dcloudio/uni-app/issues/3612)
* 【uniCloud】
+ 【重要】uni-id重构。uni-id公共模块 + uni-id-cf云函数 的组合不再更新,取而代之的是 uni-id-common公共模块 + uni-id-pages云端一体模板
- 新增 uni-id-common公共模块。更小巧的公共模块,负责 uni-id 的 token 管理和权限校验 [详情](https://uniapp.dcloud.io/uniCloud/uni-id-common.html)
- 新增 uni-id-pages云端一体页面模板。包括一组前端页面 + uni-id-co云对象。包括用户注册、登录、忘记密码、个人中心等功能 [详情](https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html)
+ 新增 uniIdRouter路由管理。在 pages.json 里直接定义哪些页面需要登录后才能访问 [详情](https://uniapp.dcloud.io/uniCloud/uni-id-summary.html#uni-id-router)
+ 新增 uniCloud.onNeedLogin/offNeedLogin 用于监听/移除监听需要登录事件,需搭配 `uniIdRouter` 使用 [详情](https://uniapp.dcloud.io/uniCloud/client-sdk.html#on-need-login)
+ 新增 uniCloud.onRefreshToken/offRefreshToken 用于监听/移除监听 token 更新事件 [详情](https://uniapp.dcloud.io/uniCloud/client-sdk.html#on-refresh-token)
+ 调整 HBuilderX 中创建 uniCloud 项目时默认导入 uni-id-common公共模块,不再导入老版 uni-id公共模块
+ 调整 clientDB 优先依赖 uni-id-common,在没有 uni-id-common 时依赖老版 uni-id公共模块
+ 修复 本地调试插件 HBuilderX 3.4.12引出的运行项目时部分场景下访问非关联服务空间云函数报错的Bug
+ 修复 本地调试插件 部分app平台、web平台切换云端云函数/本地云函数无效的Bug [详情](https://ask.dcloud.net.cn/question/147633)
+ 修复 clientDB action 的 after 内抛出错误不能被另一个 action 的 after 接收到的Bug [详情](https://ask.dcloud.net.cn/question/147099)
+ 修复 项目内无 uni-id 时运行 jql 文件报错的Bug
+ uniCloud控制台 新增 Redis 数据可视化管理
* 【App插件(含5+App和uni-app的App端)】
+ 【重要】uni-AD 新增 激励视频广告支持实时竞价 [详情](https://uniapp.dcloud.io/uni-ad.html#bidding)
+ Android平台 更新 云端打包环境 Gradle 为 7.3.3,Android Gradle plugin 为 4.2.0,compileSdkVersion 为 31
+ Android平台 新增 云端打包支持设置 dataBinding、viewBinding [文档](https://uniapp.dcloud.io/collocation/manifest.html#buildfeatures)
+ Android平台 修复 startBluetoothDevicesDiscovery 搜索附近蓝牙设备在 Android12 设备可能引起应用崩溃的Bug [详情](https://ask.dcloud.net.cn/question/146849)
+ Android平台 修复 UniPush 存在监听`ACTION_BOOT_COMPLETED`广播行为,可能违反应用市场上架合规检测问题 [详情](https://ask.dcloud.net.cn/question/147319)
+ Android平台 修复 UniPush 调用 plus.runtime.restart 后无法创建本地通知消息的Bug [详情](https://ask.dcloud.net.cn/question/146470)
+ Android平台 修复 从本地相册选择大图片预览时可能引起应用崩溃的Bug
+ iOS平台 更新 uni-AD 今日头条穿山甲SDK为 4.5.1.6 版
+ iOS平台 更新 百度定位SDK为 2.0.0 版,百度地图SDK为 6.5.0 版
+ iOS平台 修复 5+App项目获取5G网络类型错误的Bug
* 【Uni小程序SDK】
+ Android平台 修复 启动小程序直达页面参数与文档规范不一致的Bug
#### 3.4.17.20220614-alpha
* 【uni-app】
+ 修复 vue3 项目 onError 生命周期不生效的Bug
......@@ -903,7 +942,7 @@
+ uniCloud本地调试插件 修复 部分情况下项目启动时报 npm 安装失败的Bug
+ uni-id 新增 多系统(如管理端、用户端)的配置隔离 [详情](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=isolate-config)
+ uni-id 新增 多系统用户管理,如某账户只能登录管理端,不能登录用户端 [详情](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=isolate-user)
* 此版本升级需要开发者处理历史用户数据,请参考 [补齐用户dcloud_appid字段](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=makeup-dcloud-appid)
- 此版本升级需要开发者处理历史用户数据,请参考 [补齐用户dcloud_appid字段](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=makeup-dcloud-appid)
+ uni-id 新增 QQ登录、注册相关功能 [详情](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=qq)
+ uni-id 调整 不再支持绑定手机、邮箱时不填验证码直接绑定
* 【App插件(含5+App和uni-app的App端)】
......@@ -1078,40 +1117,40 @@
+ App-iOS平台 修复 nvue video 组件播放 mov 格式视频时显示尺寸会变小的Bug [详情](https://ask.dcloud.net.cn/question/121175)
+ H5平台 修复 3.1.0 版本引出的样式中包含媒体查询时部分 rpx 单位失效的Bug [#2600](https://github.com/dcloudio/uni-app/issues/2600)
+ uni-ui 发布新版本 1.3.1
* uni-badge 新增 uni-badge 的 absolute 属性,支持定位
* uni-badge 新增 uni-badge 的 offset 属性,支持定位偏移
* uni-badge 新增 uni-badge 的 is-dot 属性,支持仅显示有一个小点
* uni-badge 新增 uni-badge 的 max-num 属性,支持自定义封顶的数字值,超过 99 显示99+
* uni-badge 优化 uni-badge 属性 custom-style, 支持以对象形式自定义样式
* uni-badge 修复 uni-badge 在 App 端,数字小于10时不是圆形的bug
* uni-badge 修复 uni-badge 在父元素不是 flex 布局时,宽度缩小的bug
* uni-badge 新增 uni-badge 属性 custom-style, 支持自定义样式
* uni-datetime-picker 修复 ios 下不识别 '-' 日期格式的 bug
* uni-datetime-picker 优化 pc 下弹出层添加边框和阴影
* uni-datetime-picker 修复 在 admin 中获取弹出层定位错误的bug
* uni-datetime-picker 修复 type 属性向下兼容,默认值从 date 变更为 datetime
* uni-datetime-picker 支持日历形式的日期+时间的范围选择
* uni-steps 修复 uni-steps 横向布局时,多行文字高度不合理的 bug
* uni-countdown 修复 uni-countdown 不能控制倒计时的 bug
* uni-tag 修复 royal 类型无效的bug
* uni-tag 修复 uni-tag 宽度不自适应的bug
* uni-tag 新增 uni-tag 支持属性 custom-style 自定义样式
* uni-link 新增 href 属性支持 tel:|mailto:
* uni-popup 修复 组件内放置 input 、textarea 组件,无法聚焦的问题
* uni-popup 新增 type 属性的 left\right 值,支持左右弹出
* uni-popup 新增 open(String:type) 方法参数 ,可以省略 type 属性 ,直接传入类型打开指定弹窗
* uni-popup 新增 backgroundColor 属性,可定义主窗口背景色,默认不显示背景色
* uni-popup 新增 safeArea 属性,是否适配底部安全区
* uni-popup 修复 App\h5\微信小程序底部安全区占位不对的Bug
* uni-popup 修复 App 端弹出等待的Bug
* uni-popup 优化 提升低配设备性能,优化动画卡顿问题
* uni-popup 优化 更简单的组件自定义方式
* uni-table 修复 示例项目缺少组件的Bug
* uni-forms 修复 自定义检验器失效的问题
* uni-title 修复 示例项目缺少组件的Bug
* uni-transition 修复 示例项目缺少组件的Bug
* uni-swiper-dot 修复 示例项目缺少组件的Bug
* uni-ui 新增 组件示例地址
- uni-badge 新增 uni-badge 的 absolute 属性,支持定位
- uni-badge 新增 uni-badge 的 offset 属性,支持定位偏移
- uni-badge 新增 uni-badge 的 is-dot 属性,支持仅显示有一个小点
- uni-badge 新增 uni-badge 的 max-num 属性,支持自定义封顶的数字值,超过 99 显示99+
- uni-badge 优化 uni-badge 属性 custom-style, 支持以对象形式自定义样式
- uni-badge 修复 uni-badge 在 App 端,数字小于10时不是圆形的bug
- uni-badge 修复 uni-badge 在父元素不是 flex 布局时,宽度缩小的bug
- uni-badge 新增 uni-badge 属性 custom-style, 支持自定义样式
- uni-datetime-picker 修复 ios 下不识别 '-' 日期格式的 bug
- uni-datetime-picker 优化 pc 下弹出层添加边框和阴影
- uni-datetime-picker 修复 在 admin 中获取弹出层定位错误的bug
- uni-datetime-picker 修复 type 属性向下兼容,默认值从 date 变更为 datetime
- uni-datetime-picker 支持日历形式的日期+时间的范围选择
- uni-steps 修复 uni-steps 横向布局时,多行文字高度不合理的 bug
- uni-countdown 修复 uni-countdown 不能控制倒计时的 bug
- uni-tag 修复 royal 类型无效的bug
- uni-tag 修复 uni-tag 宽度不自适应的bug
- uni-tag 新增 uni-tag 支持属性 custom-style 自定义样式
- uni-link 新增 href 属性支持 tel:|mailto:
- uni-popup 修复 组件内放置 input 、textarea 组件,无法聚焦的问题
- uni-popup 新增 type 属性的 left\right 值,支持左右弹出
- uni-popup 新增 open(String:type) 方法参数 ,可以省略 type 属性 ,直接传入类型打开指定弹窗
- uni-popup 新增 backgroundColor 属性,可定义主窗口背景色,默认不显示背景色
- uni-popup 新增 safeArea 属性,是否适配底部安全区
- uni-popup 修复 App\h5\微信小程序底部安全区占位不对的Bug
- uni-popup 修复 App 端弹出等待的Bug
- uni-popup 优化 提升低配设备性能,优化动画卡顿问题
- uni-popup 优化 更简单的组件自定义方式
- uni-table 修复 示例项目缺少组件的Bug
- uni-forms 修复 自定义检验器失效的问题
- uni-title 修复 示例项目缺少组件的Bug
- uni-transition 修复 示例项目缺少组件的Bug
- uni-swiper-dot 修复 示例项目缺少组件的Bug
- uni-ui 新增 组件示例地址
* 【uniCloud】
+ 【重要】新增 uni-starter 集成商用项目开发常见功能的云端一体项目模板 [详情](https://ext.dcloud.net.cn/plugin?id=5057)
+ clientDB 修复 删除记录、统计记录数时受字段权限影响的bug [详情](https://ask.dcloud.net.cn/question/122846)
......@@ -1624,10 +1663,10 @@
+ 新增 uni-AD 编程控制开屏广告的开启或关闭 [规范](https://www.html5plus.org/doc/zh_cn/ad.html#plus.ad.setSplashAd)
+ 新增 uni-AD 激励视频、全屏视频、信息流广告支持监听点击广告事件
+ 新增 4个安全类API,推荐客户端安全要求较高的应用(如使用了激励视频),使用如下4个API并且搭配js原生混淆和App加固,防止客户端被篡改
* 新增 plus.navigator.getSignature 获取应用签名标识。可用于判断App的证书是否被重签 [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.getSignature)
* 新增 plus.navigator.isSimulator 判断App是否运行在模拟器环境 [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.isSimulator)
* 新增 plus.navigator.isRoot 判断设备是否被root [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.isRoot)
* 新增 plus.networkinfo.isSetProxy 判断设备的网络是否设置了代理 [规范](https://www.html5plus.org/doc/zh_cn/device.html#plus.networkinfo.isSetProxy)
- 新增 plus.navigator.getSignature 获取应用签名标识。可用于判断App的证书是否被重签 [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.getSignature)
- 新增 plus.navigator.isSimulator 判断App是否运行在模拟器环境 [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.isSimulator)
- 新增 plus.navigator.isRoot 判断设备是否被root [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.isRoot)
- 新增 plus.networkinfo.isSetProxy 判断设备的网络是否设置了代理 [规范](https://www.html5plus.org/doc/zh_cn/device.html#plus.networkinfo.isSetProxy)
+ 新增 QQ登录获取授权信息支持获取用户统一标识 unionid 属性 [规范](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.UserInfo)
+ 更新 uni-AD 快手联盟SDK为3.3.5版
+ Android平台 优化 应用启动时申请读写手机存储权限策略默认值为 once [详情](https://ask.dcloud.net.cn/article/36549)
......
#### 3.4.18.20220630
* 【uni-app】
+ 修复 vue3 项目 onError 生命周期不生效的Bug
+ App、Web平台 修复 vue3 项目 uni.setTabBarItem 设置 pagePath 不生效的Bug [详情](https://github.com/dcloudio/uni-app/issues/3592)
+ App、Web平台 修复 3.4.14 版本引出的 vue2项目 image 组件 load 事件图像大小信息不准确的Bug [详情](https://ask.dcloud.net.cn/question/147174)
+ App平台 优化 video 组件支持 show-mute-btn 配置
+ App平台 优化 vue3 项目 rich-text 组件支持服务端渲染
+ App平台 修复 vue3 项目 nvue 页面 onPageScroll,onReachBottom 不触发的Bug [详情](https://ask.dcloud.net.cn/question/145873)
+ App平台 修复 vue3 项目 uni.getVideoInfo 成功回调不执行Bug
+ App-Android平台 修复 nvue web-view 组件 user-agent 不正确导致加载H5页面显示异常的Bug [详情](https://ask.dcloud.net.cn/question/146877)
+ App-Android平台 修复 nvue 组件同时设置 box-shadow、elevation 样式在部分特殊场景可能会出现渲染异常的Bug [详情](https://ask.dcloud.net.cn/question/147041)
+ App-Android平台 修复 tabbar 启用高斯模糊后获取 windowBottom 错误的Bug [详情](https://ask.dcloud.net.cn/question/146583)
+ iOS平台 修复 nvue ad-content-page 组件暂停后展示其它视频类广告,关闭广告可能引起组件后台自动播放的Bug
+ Web平台 修复 vue3 项目 pc端 createSelectorQuery 获取 top 错误Bug
+ 小程序平台 修复 vue3 项目 v-for 嵌套使用 slot 时,渲染不正确的Bug [详情](https://github.com/dcloudio/uni-app/issues/3587)
+ 微信小程序平台 修复 3.4.14 版本引出的 manifest.json 文件缺少 mp-weixin 节点编译报错的Bug [详情](https://ask.dcloud.net.cn/question/146580)
+ 百度小程序平台 修复 vue3项目 组件嵌套使用时响应式可能失效的Bug [详情](https://github.com/dcloudio/uni-app/issues/3612)
* 【uniCloud】
+ 修复 本地调试插件 3.4.0版本引出的客户端连接本地云函数时获取客户端 userAgent 为`HBuilderX`的Bug
+ 修复 本地调试插件 云函数内使用`console.timeEnd`输出日志错乱的Bug
+ 修复 本地调试插件 HBuilderX 3.4.14引出的运行项目时部分场景下访问非关联服务空间云函数报错的Bug
+ 修复 项目内无 uni-id 时运行 jql 文件报错的Bug
* 【App插件(含5+App和uni-app的App端)】
+ Android平台 修复 uni-AD 开屏广告在部分小米手机可能会卡在启动界面的Bug
+ Android平台 修复 UniPush 存在监听`ACTION_BOOT_COMPLETED`广播行为,可能违反应用市场上架合规检测问题 [详情](https://ask.dcloud.net.cn/question/147319)
+ iOS平台 更新 uni-AD 快手广告SDK为 3.3.25 版,快手内容联盟SDK为 3.3.29 版,解决调用系统相册可能引起崩溃的问题
#### 3.4.15.20220610
* 【uni-app】
+ App平台 修复 3.4.14 版本引出的 scopeId 污染 slot 导致样式异常的Bug [详情](https://ask.dcloud.net.cn/question/145366)
......@@ -789,7 +816,7 @@
+ uniCloud本地调试插件 修复 部分情况下项目启动时报 npm 安装失败的Bug
+ uni-id 新增 多系统(如管理端、用户端)的配置隔离 [详情](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=isolate-config)
+ uni-id 新增 多系统用户管理,如某账户只能登录管理端,不能登录用户端 [详情](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=isolate-user)
* 此版本升级需要开发者处理历史用户数据,请参考 [补齐用户dcloud_appid字段](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=makeup-dcloud-appid)
- 此版本升级需要开发者处理历史用户数据,请参考 [补齐用户dcloud_appid字段](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=makeup-dcloud-appid)
+ uni-id 新增 QQ登录、注册相关功能 [详情](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=qq)
+ uni-id 调整 不再支持绑定手机、邮箱时不填验证码直接绑定
......@@ -1394,10 +1421,10 @@
+ 新增 uni-AD 编程控制开屏广告的开启或关闭 [规范](https://www.html5plus.org/doc/zh_cn/ad.html#plus.ad.setSplashAd)
+ 新增 uni-AD 激励视频、全屏视频、信息流广告支持监听点击广告事件
+ 新增 4个安全类API,推荐客户端安全要求较高的应用(如使用了激励视频),使用如下4个API并且搭配js原生混淆和App加固,防止客户端被篡改
* 新增 plus.navigator.getSignature 获取应用签名标识。可用于判断App的证书是否被重签 [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.getSignature)
* 新增 plus.navigator.isSimulator 判断App是否运行在模拟器环境 [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.isSimulator)
* 新增 plus.navigator.isRoot 判断设备是否被root [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.isRoot)
* 新增 plus.networkinfo.isSetProxy 判断设备的网络是否设置了代理 [规范](https://www.html5plus.org/doc/zh_cn/device.html#plus.networkinfo.isSetProxy)
- 新增 plus.navigator.getSignature 获取应用签名标识。可用于判断App的证书是否被重签 [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.getSignature)
- 新增 plus.navigator.isSimulator 判断App是否运行在模拟器环境 [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.isSimulator)
- 新增 plus.navigator.isRoot 判断设备是否被root [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.isRoot)
- 新增 plus.networkinfo.isSetProxy 判断设备的网络是否设置了代理 [规范](https://www.html5plus.org/doc/zh_cn/device.html#plus.networkinfo.isSetProxy)
+ 新增 QQ登录获取授权信息支持获取用户统一标识 unionid 属性 [规范](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.UserInfo)
+ 更新 uni-AD 快手联盟SDK为3.3.5版
+ Android平台 更新 支付宝SDK为15.8.00,解决提交 GooglePlay 审核报存在不安全的加密模式的Bug [详情](https://ask.dcloud.net.cn/question/114053)
......
......@@ -25,6 +25,100 @@
- 本地离线打包参考[Android平台UniPush模块配置](https://nativesupport.dcloud.net.cn/AppDocs/usemodule/androidModuleConfig/push)[iOS平台UniPush模块配置](https://nativesupport.dcloud.net.cn/AppDocs/usemodule/iOSModuleConfig/push)
### UniPush推送图标配置@unipush-icons
### UniPush自定义推送图标,可自定义push图标和小图标,位置如下图所示:
![](https://native-res.dcloud.net.cn/images/uniapp/push/custom_push_icon/custom_push_icon_small_instructions.png)
### 注意:需要手动在manifest.json配置 ,目前仅支持个推 & UniPush配置。
### 5+应用:
+ plus节点 --> distribute节点 --> plugins节点 --> push节点 --> igexin节点(或者unipush节点) --> icons节点 --> small节点下配置
```
"plugins": { // 第三方sdk配置
"push": { // 模块名称
"igexin": { // 个推SDK参数配置
"appid": "xxxxxxx", // 个推的appid
"appkey": "xxxxxxx", // 个推的appkey
"appsecret": "xxxxxxx", // 个推的appsecret
"icons": { // 推送图片配置
"push": { // push图标,规格与应用图片一致,不配置则默认使用push图标
"ldpi": "可选,48x48",
"mdpi": "可选,48x48",
"hdpi": "可选,72x72",
"xhdpi": "可选,96x96",
"xxhdpi": "可选,144x144",
"xxxhdpi": "可选,192x192"
},
"small": { // 小图标,png格式图片,仅使用alpha图层
"ldpi": "可选,18*18",
"mdpi": "可选,24*24",
"hdpi": "可选,36*36",
"xhdpi": "可选,48*48",
"xxhdpi": "可选,72*72"
},
"description": "推送图标"
},
}
}
}
```
### uni应用:
+ app-plus节点 --> distribute节点 --> sdkConfigs节点 --> push节点 --> igexin节点(或者unipush节点) --> icons节点 --> small节点下配置
~~~
"sdkConfigs": {
"push": {
"unipush": {
"icons": { // 推送图片配置
"push": { // push图标,规格与应用图片一致,不配置则默认使用push图标
"ldpi": "可选,48x48",
"mdpi": "可选,48x48",
"hdpi": "可选,72x72",
"xhdpi": "可选,96x96",
"xxhdpi": "可选,144x144",
"xxxhdpi": "可选,192x192"
},
"small": { // 小图标,png格式图片,仅使用alpha图层
"ldpi": "可选,18*18",
"mdpi": "可选,24*24",
"hdpi": "可选,36*36",
"xhdpi": "可选,48*48",
"xxhdpi": "可选,72*72"
},
"description": "推送图标"
},
}
}
}
~~~
### 具体配置信息说明如下:
### small图片要求
设计规范需要注意:
1. 必须是带 Alpha 透明通道的 PNG 图片。
2. 背景必须是透明的。 (如果非透明就会显示为白色方块)
![](http://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/push/unipsuh_small_icon_style.png.png)
### 使用UniPush
- **uni-app项目详细使用教程请参考 [统一推送UniPush](https://uniapp.dcloud.io/unipush)**
- **5+ App、Wap2App项目详细使用教程请参考 [UniPush使用指南](https://ask.dcloud.net.cn/article/35622)**
......
......@@ -20,13 +20,14 @@ uniCloud提供包月、按量计费两种计费方式(仅腾讯云),具体
阿里云的服务空间是纯免费的。但为避免资源滥用,有一些限制,见下。
|资源类目 |限制 |说明 |
|:-: |:-: |:-: |
|云函数并发限制 |1000个实例/服务空间|实际普通项目很难达到这个并发数,阿里云可以设置单实例多并发单实例最多100,理论最大并发量1000*100=100000 (10万),关于单实例多并发请参考:[单实例多并发](uniCloud/cf-functions.md?id=concurrency) |
|每个服务空间的云函数数量 |48个 |实际项目中由于clientDB和单路由云函数,只会用到几个云函数,达不到限制数字。[详见](https://uniapp.dcloud.net.cn/uniCloud/faq?id=merge-functions) |
|云函数定时触发最小间隔 |1小时 |- |
|云存储容量 |10GB |- |
|单次数据库执行时长限制 |1秒 |**不可申请调整** |
|资源类目 |限制 |说明 |
|:-: |:-: |:-: |
|云函数并发限制 |1000个实例/服务空间|实际普通项目很难达到这个并发数,阿里云可以设置单实例多并发单实例最多100,理论最大并发量1000*100=100000 (10万),关于单实例多并发请参考:[单实例多并发](uniCloud/cf-functions.md?id=concurrency) |
|每个服务空间的云函数数量 |48个 |实际项目中由于clientDB和单路由云函数,只会用到几个云函数,达不到限制数字。[详见](https://uniapp.dcloud.net.cn/uniCloud/faq?id=merge-functions) |
|云函数定时触发最小间隔 |1小时 |- |
|云存储容量 |10GB |- |
|云数据库容量 |100GB |- |
|单次数据库执行时长限制 |1秒 |**不可申请调整** |
尤其注意阿里云的cdn确实是全免费的,这些免费资源可用于正常公司业务,阿里云不允许开发者使用这些免费的存储及CDN资源来开展图床类业务。
......
注:本更新日志仅限uniCloud,包括uniCloud web控制台、uniCloud 云端运行环境。这些更新不跟随HBuilderX发版更新。
#### 2022-06-23
+ 【重要】uni-id重构。uni-id公共模块 + uni-id-cf云函数 的组合不再更新,取而代之的是 uni-id-common公共模块 + uni-id-pages云端一体模板
- 新增 uni-id-common公共模块。更小巧的公共模块,负责 uni-id 的 token 管理和权限校验 [详情](https://uniapp.dcloud.io/uniCloud/uni-id-common.html)
- 新增 uni-id-pages云端一体页面模板。包括一组前端页面 + uni-id-co云对象。包括用户注册、登录、忘记密码、个人中心等功能 [详情](https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html)
+ 新增 uniIdRouter路由管理。在 pages.json 里直接定义哪些页面需要登录后才能访问 [详情](https://uniapp.dcloud.io/uniCloud/uni-id-summary.html#uni-id-router)
+ 新增 uniCloud.onNeedLogin/offNeedLogin 用于监听/移除监听需要登录事件,需搭配 `uniIdRouter` 使用 [详情](https://uniapp.dcloud.io/uniCloud/client-sdk.html#on-need-login)
+ 新增 uniCloud.onRefreshToken/offRefreshToken 用于监听/移除监听 token 更新事件 [详情](https://uniapp.dcloud.io/uniCloud/client-sdk.html#on-refresh-token)
+ 调整 HBuilderX 中创建 uniCloud 项目时默认导入 uni-id-common公共模块,不再导入老版 uni-id公共模块
+ 调整 clientDB 优先依赖 uni-id-common,在没有 uni-id-common 时依赖老版 uni-id公共模块
+ 修复 本地调试插件 HBuilderX 3.4.12引出的运行项目时部分场景下访问非关联服务空间云函数报错的Bug
+ 修复 本地调试插件 部分app平台、web平台切换云端云函数/本地云函数无效的Bug [详情](https://ask.dcloud.net.cn/question/147633)
+ 修复 clientDB action 的 after 内抛出错误不能被另一个 action 的 after 接收到的Bug [详情](https://ask.dcloud.net.cn/question/147099)
+ 修复 项目内无 uni-id 时运行 jql 文件报错的Bug
+ uniCloud控制台 新增 Redis 数据可视化管理
#### 2022-06-14
+ 修复 本地调试插件 3.4.0版本引出的客户端连接本地云函数时获取客户端 userAgent 为`HBuilderX`的Bug
+ 修复 本地调试插件 云函数内使用`console.timeEnd`输出日志错乱的Bug
......
......@@ -36,7 +36,7 @@
**支付宝小程序开发工具上传文件到腾讯云时可能会返回失败,请以真机为准**
**各个小程序平台运行时,网络相关的 API 在使用前需要配置域名白名单。[参考](https://uniapp.dcloud.io/uniCloud/quickstart?id=%e5%b0%8f%e7%a8%8b%e5%ba%8f%e4%b8%ad%e4%bd%bf%e7%94%a8unicloud%e7%9a%84%e7%99%bd%e5%90%8d%e5%8d%95%e9%85%8d%e7%bd%ae)**
**各个小程序平台运行时,网络相关的 API 在使用前需要配置域名白名单。[参考](https://uniapp.dcloud.io/uniCloud/publish.html#useinmp)**
#### 请求参数
**Object object**
......
......@@ -9,16 +9,9 @@
### 注意:需要手动在manifest.json配置 ,目前仅支持个推 & UniPush配置。
### 5+应用:
+ plus节点 --> distribute节点 --> plugins节点 --> push节点 --> igexin节点(或者unipush节点) --> icons节点 --> small节点下配置
### uni应用:
+ app-plus节点 --> distribute节点 --> plugins节点 --> push节点 --> igexin节点(或者unipush节点) --> icons节点 --> small节点下配置
**UniPush 则把igexin节点修改为 unipush 即可**
### 具体配置信息说明如下:
```
"plugins": { // 第三方sdk配置
"push": { // 模块名称
......@@ -48,7 +41,52 @@
}
}
```
### small图片要求!!
必须是.png格式图片,要有一定的透明度。不按要求的图片无法正常使用 !!!具体[状态栏图标设计规范](https://developer.android.com/guide/practices/ui_guidelines/icon_design_status_bar)( 需要翻墙)
![](http://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/push/unipsuh_small_icon_style.png.png)
\ No newline at end of file
### uni应用:
+ app-plus节点 --> distribute节点 --> sdkConfigs节点 --> push节点 --> igexin节点(或者unipush节点) --> icons节点 --> small节点下配置
~~~
"sdkConfigs": {
"push": {
"unipush": {
"icons": { // 推送图片配置
"push": { // push图标,规格与应用图片一致,不配置则默认使用push图标
"ldpi": "可选,48x48",
"mdpi": "可选,48x48",
"hdpi": "可选,72x72",
"xhdpi": "可选,96x96",
"xxhdpi": "可选,144x144",
"xxxhdpi": "可选,192x192"
},
"small": { // 小图标,png格式图片,仅使用alpha图层
"ldpi": "可选,18*18",
"mdpi": "可选,24*24",
"hdpi": "可选,36*36",
"xhdpi": "可选,48*48",
"xxhdpi": "可选,72*72"
},
"description": "推送图标"
},
}
}
}
~~~
### 具体配置信息说明如下:
### small图片要求
设计规范需要注意:
1. 必须是带 Alpha 透明通道的 PNG 图片。
2. 背景必须是透明的。 (如果非透明就会显示为白色方块)
![](http://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/push/unipsuh_small_icon_style.png.png)
......@@ -536,7 +536,7 @@ HBuilderX3.0.7 之后,华为除了配置原有的厂商信息之外,需要
- 检查应用是否被授予推送权限:[https://ext.dcloud.net.cn/plugin?id=594](https://ext.dcloud.net.cn/plugin?id=594)
- 开启关闭推送服务:[https://ext.dcloud.net.cn/plugin?id=727](https://ext.dcloud.net.cn/plugin?id=727)
- 自定义推送铃声:[https://ext.dcloud.net.cn/plugin?id=7482](https://ext.dcloud.net.cn/plugin?id=7482)
- 如何自定义推送通知的图标:[https://uniapp.dcloud.net.cn/unipush-custom-icon.html](https://uniapp.dcloud.net.cn/unipush-custom-icon.html)
- 如何自定义推送通知的图标:[https://uniapp.dcloud.net.cn/unipush-custom-icon.html](https://uniapp.dcloud.net.cn/tutorial/app-push-unipush.html#unipush-icons)
## FAQ
- Q:5+app和wap2app需要uniPush怎么办?
......
......@@ -40,55 +40,57 @@ jest.config.js文件,为测试配置文件,详细内容如下:
```js
module.exports = {
globalTeardown: '@dcloudio/uni-automator/dist/teardown.js',
testEnvironment: '@dcloudio/uni-automator/dist/environment.js',
testEnvironmentOptions: {
compile: true,
h5: { // 为了节省测试时间,可以指定一个 H5 的 url 地址,若不指定,每次运行测试,会先 npm run dev:h5
url: "http://192.168.x.x:8080/h5/",
options: {
headless: false // 配置是否显示 puppeteer 测试窗口
}
},
"app-plus": { // 需要安装 HBuilderX
android: {
executablePath: "HBuilderX/plugins/launcher/base/android_base.apk" // apk 目录
},
ios: {
// uuid 必须配置,目前仅支持模拟器,可以(xcrun simctl list)查看要使用的模拟器 uuid
id: "",
executablePath: "HBuilderX/plugins/launcher/base/Pandora_simulator.app" // ipa 目录
}
},
"mp-weixin": {
port: 9420, // 默认 9420
account: "", // 测试账号
args: "", // 指定开发者工具参数
cwd: "", // 指定开发者工具工作目录
launch: true, // 是否主动拉起开发者工具
teardown: "disconnect", // 可选值 "disconnect"|"close" 运行测试结束后,断开开发者工具或关闭开发者工具
remote: false, // 是否真机自动化测试
executablePath: "", // 开发者工具cli路径,默认会自动查找, windows: C:/Program Files (x86)/Tencent/微信web开发者工具/cli.bat", mac: /Applications/wechatwebdevtools.app/Contents/MacOS/cli
},
"mp-baidu": {
port: 9430, // 默认 9430
args: "", // 指定开发者工具参数
cwd: "", // 指定开发者工具工作目录
launch: true, // 是否主动拉起开发者工具
teardown: "disconnect", // 可选值 "disconnect"|"close" 运行测试结束后,断开开发者工具或关闭开发者工具
remote: false, // 是否真机自动化测试
executablePath: "", // 开发者工具cli路径,默认会自动查找
}
},
testTimeout: 15000,
reporters: [
'default'
],
watchPathIgnorePatterns: ['/node_modules/', '/dist/', '/.git/'],
moduleFileExtensions: ['js', 'json'],
rootDir: __dirname,
testMatch: ['<rootDir>/src/**/*test.[jt]s?(x)'], // 测试文件目录
testPathIgnorePatterns: ['/node_modules/']
globalTeardown: '@dcloudio/uni-automator/dist/teardown.js',
testEnvironment: '@dcloudio/uni-automator/dist/environment.js',
testEnvironmentOptions: {
compile: true,
h5: { // 为了节省测试时间,可以指定一个 H5 的 url 地址,若不指定,每次运行测试,会先 npm run dev:h5
url: "http://192.168.x.x:8080/h5/",
options: {
headless: false // 配置是否显示 puppeteer 测试窗口
}
},
"app-plus": { // 需要安装 HBuilderX
android: {
appid: "", //自定义基座测试需配置manifest.json中的appid
package: "", //自定义基座测试需配置Android包名
executablePath: "HBuilderX/plugins/launcher/base/android_base.apk" // apk 目录或自定义调试基座包路径
},
ios: {
// uuid 必须配置,目前仅支持模拟器,可以(xcrun simctl list)查看要使用的模拟器 uuid
id: "",
executablePath: "HBuilderX/plugins/launcher/base/Pandora_simulator.app" // ipa 目录
}
},
"mp-weixin": {
port: 9420, // 默认 9420
account: "", // 测试账号
args: "", // 指定开发者工具参数
cwd: "", // 指定开发者工具工作目录
launch: true, // 是否主动拉起开发者工具
teardown: "disconnect", // 可选值 "disconnect"|"close" 运行测试结束后,断开开发者工具或关闭开发者工具
remote: false, // 是否真机自动化测试
executablePath: "", // 开发者工具cli路径,默认会自动查找, windows: C:/Program Files (x86)/Tencent/微信web开发者工具/cli.bat", mac: /Applications/wechatwebdevtools.app/Contents/MacOS/cli
},
"mp-baidu": {
port: 9430, // 默认 9430
args: "", // 指定开发者工具参数
cwd: "", // 指定开发者工具工作目录
launch: true, // 是否主动拉起开发者工具
teardown: "disconnect", // 可选值 "disconnect"|"close" 运行测试结束后,断开开发者工具或关闭开发者工具
remote: false, // 是否真机自动化测试
executablePath: "", // 开发者工具cli路径,默认会自动查找
}
},
testTimeout: 15000,
reporters: [
'default'
],
watchPathIgnorePatterns: ['/node_modules/', '/dist/', '/.git/'],
moduleFileExtensions: ['js', 'json'],
rootDir: __dirname,
testMatch: ['<rootDir>/src/**/*test.[jt]s?(x)'], // 测试文件目录
testPathIgnorePatterns: ['/node_modules/']
}
```
......@@ -126,6 +128,7 @@ await tag.$('.test')
3. 微信小程序暂不支持父子选择器
4. 百度小程序选择元素必须有事件的元素才能被选中,否则提示元素不存在
5. 分包中的页面,打开之后要延迟时间长一点,否则不能正确获取到页面信息
6. App-android自定义基座测试需要在`jest.config.js`文件android节点下配置appid(manifest.json中的appid)、package(包名)、executablePath(自定义调试基座包路径)
### 测试示例
......
......@@ -25,6 +25,8 @@ jest-environment-node@27.5.1
npm install @dcloudio/uni-automator --save-dev
```
3. package.json script节点新增命令
vue2项目新增如下:
```
"test:h5": "cross-env UNI_PLATFORM=h5 jest -i",
"test:android": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=android jest -i",
......@@ -33,6 +35,15 @@ npm install @dcloudio/uni-automator --save-dev
"test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i"
```
vue3项目新增如下:
```
"test:h5": "cross-env UNI_PLATFORM=h5 jest -i",
"test:android": "cross-env UNI_PLATFORM=app UNI_OS_NAME=android jest -i",
"test:ios": "cross-env UNI_PLATFORM=app UNI_OS_NAME=ios jest -i",
"test:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin jest -i",
"test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i"
```
### H5平台测试流程
1. 进入工程目录,安装依赖
......@@ -68,7 +79,7 @@ Time: 14.995s, estimated 16s
1. 配置全局 `adb` 环境变量
2. 配置 `Hbuilder` 调试基座/自定义基座 `android_base.apk` 目录,参考 `jest.config.js`
2. 配置 `Hbuilder` 调试基座/自定义基座 `android_base.apk` 目录,参考 [jest.config.js](collocation/auto/quick-start?id=jestconfigjs)
3. 创建 `cli` 工程/现有 `cli` 工程
切换到工程目录,安装依赖包 `adbkit`
......@@ -93,9 +104,9 @@ npm run test:android
npm install node-simctl --save-dev
```
2. 配置模拟器id,参考 `jest.config.js`
2. 配置模拟器id,参考 [jest.config.js](collocation/auto/quick-start?id=jestconfigjs)
3. 配置 `Hbuilder` 调试基座/自定义基座 `Pandora_simulator.app` 目录,参考 `jest.config.js`
3. 配置 `Hbuilder` 调试基座/自定义基座 `Pandora_simulator.app` 目录,参考 [jest.config.js](collocation/auto/quick-start?id=jestconfigjs)
4. 编写测试代码,参考测试用例
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册