提交 2d4d3f93 编写于 作者: 雪洛's avatar 雪洛

docs: revert docs modification

上级 00acd9dc
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 调用
......
......@@ -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)
......
......@@ -619,645 +619,6 @@ Tips:关于摇树优化(treeShaking)原理及优化结果,参考:[http
}
```
### 完整 manifest.json@full-manifest
```javascript
{
"appid": "__UNI__XXXXXX,创建应用时云端分配的,不要修改。",
"name": "应用名称,如uni-app",
"description": "应用描述",
"versionName": "1.0.0",
"versionCode": "100",
"uniStatistics": {
"enable": false
},
"app-plus": {
"nvueCompiler": "weex", //可选,字符串类型,nvue页面编译模式,可取值uni-app、weex,参考:https://ask.dcloud.net.cn/article/36074
"nvueStyleCompiler": "weex", //可选,字符串类型,nvue页面样式编译模式,可取值uni-app、weex,参考:https://ask.dcloud.net.cn/article/38751
"renderer": "native", //可选,字符串类型,可不加载基于 webview 的运行框架,可取值native
"compilerVersion": 2, //可选,数字类型,编译器版本,可取值2、3,参考:https://ask.dcloud.net.cn/article/36599
"nvueLaunchMode": "normal", //可选,字符串类型,nvue首页启动模式,compilerVersion值为3时生效,可取值normal、fast,参考:https://ask.dcloud.net.cn/article/36749
"nvue": { //可选,JSON对象,nvue页面相关配置
"flex-direction": "row" //可选,字符串类型,nvue页面的flex-direction默认值,可取值row、row-reverse、column、column-reverse
},
"optimization": { //可选,JSON对象,分包配置
"subPackages": true //可选,Boolean类型,是否开启分包优化,参考:https://uniapp.dcloud.io/collocation/pages.html#subpackages
},
"uniStatistics": { //可选,JSON对象,uni统计配置
"enable": true, //可选,Boolean类型,是否开启uni统计
},
"screenOrientation": [ //可选,字符串数组类型,应用支持的横竖屏
"portrait-primary", //可选,字符串类型,支持竖屏
"portrait-secondary", //可选,字符串类型,支持反向竖屏
"landscape-primary", //可选,字符串类型,支持横屏
"landscape-secondary" //可选,字符串类型,支持反向横屏
],
"splashscreen": { //可选,JSON对象,splash界面配置
"alwaysShowBeforeRender": true, //可选,Boolean类型,是否等待首页渲染完毕后再关闭启动界面
"autoclose": true, //可选,Boolean类型,是否自动关闭启动界面
"waiting": true, //可选,Boolean类型,是否在程序启动界面显示等待雪花
"event": "loaded", //可选,字符串类型,可取值titleUpdate、rendering、loaded,uni-app项目已废弃
"target": "defalt", //可选,字符串类型,可取值default、second,uni-app项目已废弃
"dealy": 0, //可选,数字类型,延迟自动关闭启动时间,单位为毫秒,uni-app项目已废弃
"ads": { //可选,JSON对象,开屏广告配置
"backaground": "#RRGGBB", //可选,字符串类型,格式为#RRGGBB,开屏广告背景颜色
"image": "" //可选,字符串类型,底部图片地址,相对应用资源目录路径
},
"androidTranslucent": false //可选,Boolean类型,使用“自定义启动图”启动界面时是否显示透明过渡界面,可解决点击桌面图标延时启动应用的效果
},
"modules": { //可选,JSON对象,使用的模块
"Bluetooth": { //可选,JSON对象,Bluetooth(低功耗蓝牙)
"description": "低功耗蓝牙"
},
"Contacts": { //可选,JSON对象,Contact(通讯录)
"description": "通讯录"
},
"FaceID": { //可选,JSON对象,FaceID(人脸识别),仅iOS支持
"description": "人脸识别"
},
"Fingerprint": { //可选,JSON对象,Fingerprint(指纹识别)
"description": "指纹识别"
},
"Geolocation": { //可选,JSON对象,Geolocation(定位)
"description": "定位"
},
"iBeacon": { //可选,JSON对象,iBeacon
"description": "iBeacon"
},
"LivePusher": { //可选,JSON对象,LivePusher(直播推流)
"description": "直播推流"
},
"Maps": { //可选,JSON对象,Maps(地图)
"description": "地图"
},
"Messaging": { //可选,JSON对象,Messaging(短彩邮件消息)
"description": "短彩邮件消息"
},
"OAuth": { //可选,JSON对象,OAuth(登录鉴权)
"description": "登录鉴权"
},
"Payment": { //可选,JSON对象,Payment(支付)
"description": "iBeacon"
},
"Push": { //可选,JSON对象,Push(消息推送)
"description": "iBeacon"
},
"Share": { //可选,JSON对象,Share(分享)
"description": "iBeacon"
},
"Speech": { //可选,JSON对象,Speech(语音输入)
"description": "iBeacon"
},
"Statistic": { //可选,JSON对象,Statistic(统计)
"description": "iBeacon"
},
"SQLite": { //可选,JSON对象,SQLite(统计)
"description": "iBeacon"
},
"VideoPlayer": { //可选,JSON对象,VideoPlayer(视频播放)
"description": "iBeacon"
},
"Webview-x5": { //可选,JSON对象,Android X5 Webview(腾讯TBS),仅Android支持
"description": "iBeacon"
},
"UIWebview": { //可选,JSON对象,UIWebview,仅iOS支持
"description": "iBeacon"
}
},
"webView": { // 3.5.0 + 当系统webview低于指定版本时,会弹出提示。或者下载x5内核后继续启动,仅Android支持
"minUserAgentVersion": "95.0.4638.75", // 最小webview版本
"x5": { // 此属性需要勾选 Android X5 Webview 模块,详细参见下面的说明
"timeOut": 3000, // 超时时间
"showTipsWithoutWifi": true, // 是否在非WiFi网络环境时,显示用户确认下载x5内核的弹窗。
"allowDownloadWithoutWiFi": false // 是否允许用户在非WiFi网络时进行x5内核的下载。(如果为true,就不会显示用户确认的弹窗。)
}
},
"distribute": { //必选,JSON对象,云端打包配置
"android": { //可选,JSON对象,Android平台云端打包配置
"packagename": "", //必填,字符串类型,Android包名
"keystore": "", //必填,字符串类型,Android签名证书文件路径
"password": "", //必填,字符串类型,Android签名证书文件的密码
"aliasname": "", //必填,字符串类型,Android签名证书别名
"schemes": "", //可选,字符串类型,参考:https://uniapp.dcloud.io/tutorial/app-android-schemes
"abiFilters": [ //可选,字符串数组类型,参考:https://uniapp.dcloud.io/tutorial/app-android-abifilters
"armeabi-v7a",
"arm64-v8a",
"x86",
"x86_64"
],
"permissions": [ //可选,字符串数组类型,Android权限配置
"<uses-feature android:name=\"android.hardware.camera\"/>"
],
"custompermissions": false, //可选,Boolean类型,是否自定义Android权限配置
"permissionExternalStorage": { //可选,JSON对象,Android平台应用启动时申请读写手机存储权限策略
"request": "always", //必填,字符串类型,申请读写手机存储权限策略,可取值none、once、always
"prompt": "" //可选,字符串类型,当request设置为always值用户拒绝时弹出提示框上的内容
},
"permissionPhoneState": { //可选,JSON对象,Android平台应用启动时申请读取设备信息权限配置
"request": "always", //必填,字符串类型,申请读取设备信息权限策略,可取值none、once、always
"prompt": "" //可选,字符串类型,当request设置为always值用户拒绝时弹出提示框上的内容
},
"minSdkVersion": 21, //可选,数字类型,Android平台最低支持版本,参考:https://uniapp.dcloud.io/tutorial/app-android-minsdkversion
"targetSdkVersion": 30, //可选,数字类型,Android平台目标版本,参考:https://uniapp.dcloud.io/tutorial/app-android-targetsdkversion
"packagingOptions": [ //可选,字符串数组类型,Android平台云端打包时build.gradle的packagingOptions配置项
"doNotStrip '*/armeabi-v7a/*.so'",
"merge '**/LICENSE.txt'"
],
"jsEngine": "v8", //可选,字符串类型,uni-app使用的JS引擎,可取值v8、jsc
"debuggable": false, //可选,Boolean类型,是否开启Android调试开关
"locale": "default", //可选,应用的语言
"forceDarkAllowed": false, //可选,Boolean类型,是否强制允许暗黑模式
"resizeableActivity": false, //可选,Boolean类型,是否支持分屏调整窗口大小
"hasTaskAffinity": false, //可选,Boolean类型,是否设置android:taskAffinity
"buildFeatures": { //(HBuilderX3.5.0+版本支持)可选,JSON对象,Android平台云端打包时build.gradle的buildFeatures配置项
"dataBinding": false, //可选,Boolean类型,是否设置dataBinding
"viewBinding": false //可选,Boolean类型,是否设置viewBinding
}
},
"ios": { //可选,JSON对象,iOS平台云端打包配置
"appid": "", //必填,字符串类型,iOS平台Bundle ID
"mobileprovision": "", //必填,字符串类型,iOS打包使用的profile文件路径
"p12": "", //必填,字符串类型,iOS打包使用的证书文件路径
"password": "", //必填,字符串类型,iOS打包使用的证书密码
"devices": "iphone", //必填,字符串类型,iOS支持的设备类型,可取值iphone、ipad、universal
"urlschemewhitelist": "baidumap",//可选,字符串类型,应用访问白名单列表,参考:https://uniapp.dcloud.io/tutorial/app-ios-schemewhitelist
"urltypes": "", //可选,字符串类型,参考:https://uniapp.dcloud.io/tutorial/app-ios-schemes
"UIBackgroundModes": "audio", //可选,字符串类型,应用后台运行模式,参考:https://uniapp.dcloud.io/tutorial/app-ios-uibackgroundmodes
"frameworks": [ //可选,字符串数组类型,依赖的系统库,已废弃,推荐使用uni原生插件扩展使用系统依赖库
"CoreLocation.framework"
],
"deploymentTarget": "10.0", //可选,字符串类型,iOS支持的最低版本
"privacyDescription": { //可选,JSON对象,iOS隐私信息访问的许可描述
"NSPhotoLibraryUsageDescription": "", //可选,字符串类型,系统相册读取权限描述
"NSPhotoLibraryAddUsageDescription": "", //可选,字符串类型,系统相册写入权限描述
"NSCameraUsageDescription": "", //可选,字符串类型,摄像头使用权限描述
"NSMicrophoneUsageDescription": "", //可选,字符串类型,麦克风使用权限描述
"NSLocationWhenInUseUsageDescription": "", //可选,字符串类型,运行期访问位置权限描述
"NSLocationAlwaysUsageDescription": "", //可选,字符串类型,后台运行访问位置权限描述
"NSLocationAlwaysAndWhenInUseUsageDescription": "", //可选,字符串类型,运行期后后台访问位置权限描述
"NSCalendarsUsageDescription": "", //可选,字符串类型,使用日历权限描述
"NSContactsUsageDescription": "", //可选,字符串类型,使用通讯录权限描述
"NSBluetoothPeripheralUsageDescription": "", //可选,字符串类型,使用蓝牙权限描述
"NSBluetoothAlwaysUsageDescription": "", //可选,字符串类型,后台使用蓝牙权限描述
"NSSpeechRecognitionUsageDescription": "", //可选,字符串类型,系统语音识别权限描述
"NSRemindersUsageDescription": "", //可选,字符串类型,系统提醒事项权限描述
"NSMotionUsageDescription": "", //可选,字符串类型,使用运动与健康权限描述
"NSHealthUpdateUsageDescription": "", //可选,字符串类型,使用健康更新权限描述
"NSHealthShareUsageDescription": "", //可选,字符串类型,使用健康分享权限描述
"NSAppleMusicUsageDescription": "", //可选,字符串类型,使用媒体资料库权限描述
"NFCReaderUsageDescription": "", //可选,字符串类型,使用NFC权限描述
"NSHealthClinicalHealthRecordsShareUsageDescription": "", //可选,字符串类型,访问临床记录权限描述
"NSHomeKitUsageDescription": "", //可选,字符串类型,访问HomeKit权限描述
"NSSiriUsageDescription": "", //可选,字符串类型,访问Siri权限描述
"NSFaceIDUsageDescription": "", //可选,字符串类型,使用FaceID权限描述
"NSLocalNetworkUsageDescription": "", //可选,字符串类型,访问本地网络权限描述
"NSUserTrackingUsageDescription": "" //可选,字符串类型,跟踪用户活动权限描述
},
"idfa": true, //可选,Boolean类型,是否使用广告标识
"capabilities": { //可选,JSON对象,应用的能力配置(Capabilities)
},
"CFBundleName": "HBuilder", //可选,字符串类型,CFBundleName名称
"validArchitectures": [ //可选,字符串数组类型,编译时支持的CPU指令,可取值arm64、arm64e、armv7、armv7s、x86_64
"arm64"
]
},
"sdkConfigs": { //可选,JSON对象,三方SDK相关配置
"geolocation": { //可选,JSON对象,Geolocation(定位)模块三方SDK配置
"system": { //可选,JSON对象,使用系统定位
"__platform__" : [ "ios", "android" ] //可选,字符串数组类型,支持的平台
},
"amap": { //可选,JSON对象,使用高德定位SDK配置
"__platform__" : ["ios", "android"], //可选,字符串数组类型,支持的平台
"appkey_ios": "", //必填,字符串类型,iOS平台高德定位appkey
"appkey_android": "" //必填,字符串类型,Android平台高德定位appkey
},
"baidu": { //可选,JSON对象,使用百度定位SDK配置
"__platform__" : [ "ios", "android" ], //可选,字符串数组类型,支持的平台
"appkey_ios": "", //必填,字符串类型,iOS平台百度定位appkey
"appkey_android": "" //必填,字符串类型,Android平台百度定位appkey
}
},
"maps" : { //可选,JSON对象,Maps(地图)模块三方SDK配置
"amap": { //可选,JSON对象,使用高德地图SDK配置
"appkey_ios": "", //必填,字符串类型,iOS平台高德地图appkey
"appkey_android": "" //必填,字符串类型,Android平台高德地图appkey
},
"baidu": { //可选,JSON对象,使用百度地图SDK配置
"appkey_ios": "", //必填,字符串类型,iOS平台百度地图appkey
"appkey_android": "" //必填,字符串类型,Android平台百度地图appkey
},
"google": { //可选,JSON对象,使用Google地图SDK配置
"APIKey_ios": "", //必填,字符串类型,iOS平台Google地图APIKey
"APIKey_android": "" //必填,字符串类型,Android平台Google地图APIKey
}
},
"oauth": { //可选,JSON对象,OAuth(登录鉴权)模块三方SDK配置
"univerify" : { //可选,JSON对象,使用一键登录(univerify)SDK配置,无需手动配置参数,云端打包自动获取配置参数
},
"apple": { //可选,JSON对象,使用苹果登录(Sign in with Apple)SDK配置,无配置参数,仅iOS平台支持
},
"weixin": { //可选,JSON对象,使用微信登录SDK配置
"appid": "", //必填,字符串类型,微信开放平台申请的appid
"appsecret": "", //必填,字符串类型,微信开放平台申请的appsecret
"UniversalLinks": "" //可选,字符串类型,微信开放平台配置的iOS平台通用链接
},
"qq": { //可选,JSON对象,使用QQ登录SDK配置
"appid": "", //必填,字符串类型,QQ开放平台申请的appid
"UniversalLinks": "" //可选,字符串类型,QQ开放平台配置的iOS平台通用链接
},
"sina": { //可选,JSON对象,使用新浪微博登录SDK配置
"appkey": "", //必填,字符串类型,新浪微博开放平台申请的appid
"redirect_uri": "", //必填,字符串类型,新浪微博开放平台配置的redirect_uri
"UniversalLinks": "" //可选,字符串类型,新浪微博开放平台配置的iOS平台通用链接
},
"google": { //可选,JSON对象,使用Google登录SDK配置
"clientid": "" //必填,字符串类型,Google开发者后台申请的clientid
},
"facebook": { //可选,JSON对象,使用Facebook登录SDK配置
"appid": "" //必填,字符串类型,Facebook开发者后台申请的appid
}
},
"payment": { //可选,JSON对象,Payment(支付)模块三方SDK配置
"appleiap": { //可选,JSON对象,使用Apple应用内支付配置,无配置参数,仅iOS平台支持
},
"alipay": { //可选,JSON对象,使用支付宝支付SDK配置
"__platform__": [ "ios", "android" ] //可选,字符串数组类型,支持的平台
},
"weixin": { //可选,JSON对象,使用微信支付SDK配置
"__platform__": [ "ios", "android" ], //可选,字符串数组类型,支持的平台
"appid": "", //必填,字符串类型,微信开放平台申请的appid
"UniversalLinks": "" //可选,字符串类型,微信开放平台配置的iOS平台通用链接
},
"paypal": { //可选,JSON对象,使用paypal支付SDK配置
"__platform__": [ "ios", "android" ], //可选,字符串数组类型,支持的平台
"returnURL_ios": "", //必填,字符串类型,paypa开发者者后台配置的iOS平台returnURL
"returnURL_android": "" //必填,字符串类型,paypa开发者者后台配置的Android平台returnURL
},
"stripe": { //可选,JSON对象,使用stripe支付SDK配置
"__platform__": [ "ios", "android" ], //可选,字符串数组类型,支持的平台
"returnURL_ios" : "" //必填,字符串类型,stripe开发者者后台配置的iOS平台returnURL
},
"google": { //可选,JSON对象,使用google支付SDK配置,无配置参数,仅Android平台支持
}
},
"push": { //可选,JSON对象,Push(消息推送)模块三方SDK配置
"unipush": { //可选,JSON对象,使用UniPush SDK配置,无需手动配置参数,云端打包自动获取配置参数
"icons": { //可选,JSON对象,推送图标配置
"push": { //可选,JSON对象,Push图标配置
"ldpi": "", //可选,字符串类型,普通屏设备推送图标路径,分辨率要求48x48
"mdpi": "", //可选,字符串类型,大屏设备设备推送图标路径,分辨率要求48x48
"hdpi": "", //可选,字符串类型,高分屏设备推送图标路径,分辨率要求72x72
"xdpi": "", //可选,字符串类型,720P高分屏设备推送图标路径,分辨率要求96x96
"xxdpi": "", //可选,字符串类型,1080P高密度屏幕推送图标路径,分辨率要求144x144
"xxxdpi": "", //可选,字符串类型,4K屏设备推送图标路径,分辨率要求192x192
},
"smal": { //可选,JSON对象,Push小图标配置
"ldpi": "", //可选,字符串类型,普通屏设备推送小图标路径,分辨率要求18x18
"mdpi": "", //可选,字符串类型,大屏设备设备推送小图标路径,分辨率要求24x24
"hdpi": "", //可选,字符串类型,高分屏设备推送小图标路径,分辨率要求36x36
"xdpi": "", //可选,字符串类型,720P高分屏设备推送小图标路径,分辨率要求48x48
"xxdpi": "", //可选,字符串类型,1080P高密度屏幕推送小图标路径,分辨率要求72x72
"xxxdpi": "", //可选,字符串类型,4K屏设备推送小图标路径,分辨率要求96x96
}
}
},
"igexin": { //可选,JSON对象,使用个推推送SDK配置,**已废弃,推荐使用UniPush,UniPush是个推推送VIP版,功能更强大**
"appid": "", //必填,字符串类型,个推开放平台申请的appid
"appkey": "", //必填,字符串类型,个推开放平台申请的appkey
"appsecret": "", //必填,字符串类型,个推开放平台申请的appsecret
"icons": { //可选,JSON对象,推送图标配置
"push": { //可选,JSON对象,Push图标配置
"ldpi": "", //可选,字符串类型,普通屏设备推送图标路径,分辨率要求48x48
"mdpi": "", //可选,字符串类型,大屏设备设备推送图标路径,分辨率要求48x48
"hdpi": "", //可选,字符串类型,高分屏设备推送图标路径,分辨率要求72x72
"xdpi": "", //可选,字符串类型,720P高分屏设备推送图标路径,分辨率要求96x96
"xxdpi": "", //可选,字符串类型,1080P高密度屏幕推送图标路径,分辨率要求144x144
"xxxdpi": "", //可选,字符串类型,4K屏设备推送图标路径,分辨率要求192x192
},
"smal": { //可选,JSON对象,Push小图标配置
"ldpi": "", //可选,字符串类型,普通屏设备推送小图标路径,分辨率要求18x18
"mdpi": "", //可选,字符串类型,大屏设备设备推送小图标路径,分辨率要求24x24
"hdpi": "", //可选,字符串类型,高分屏设备推送小图标路径,分辨率要求36x36
"xdpi": "", //可选,字符串类型,720P高分屏设备推送小图标路径,分辨率要求48x48
"xxdpi": "", //可选,字符串类型,1080P高密度屏幕推送小图标路径,分辨率要求72x72
"xxxdpi": "", //可选,字符串类型,4K屏设备推送小图标路径,分辨率要求96x96
}
}
}
},
"share": { //可选,JSON对象,Share(分享)模块三方SDK配置
"weixin": { //可选,JSON对象,使用微信分享SDK配置
"appid": "", //必填,字符串类型,微信开放平台申请的appid
"UniversalLinks": "" //可选,字符串类型,微信开放平台配置的iOS平台通用链接
},
"qq": { //可选,JSON对象,使用QQ分享SDK配置
"appid": "", //必填,字符串类型,QQ开放平台申请的appid
"UniversalLinks": "" //可选,字符串类型,QQ开放平台配置的iOS平台通用链接
},
"sina": { //可选,JSON对象,使用新浪微博分享SDK配置
"appkey": "", //必填,字符串类型,新浪微博开放平台申请的appid
"redirect_uri": "", //必填,字符串类型,新浪微博开放平台配置的redirect_uri
"UniversalLinks": "" //可选,字符串类型,新浪微博开放平台配置的iOS平台通用链接
}
},
"speech": { //可选,JSON对象,Speech(语音识别)模块三方SDK配置
"baidu": { //可选,JSON对象,使用百度语音识别SDK配置
"appid": "", //必填,字符串类型,百度开放平台申请的appid
"apikey": "", //必填,字符串类型,百度开放平台申请的apikey
"secretkey": "" //必填,字符串类型,百度开放平台申请的secretkey
}
},
"statics": { //可选,JSON对象,Statistic(统计)模块三方SDK配置
"umeng": { //可选,JSON对象,使用友盟统计SDK配置
"appkey_ios": "", //必填,字符串类型,友盟统计开放平台申请的iOS平台appkey
"channelid_ios": "", //可选,字符串类型,友盟统计iOS平台的渠道标识
"appkey_android": "", //必填,字符串类型,友盟统计开放平台申请的Android平台appkey
"channelid_android": "" //可选,字符串类型,友盟统计Android平台的渠道标识
},
"google" : { //可选,JSON对象,使用Google Analytics for Firebase配置
"config_ios" : "", //必填,字符串类型,Google Firebase统计开发者后台获取的iOS平台配置文件路径
"config_android" : "" //必填,字符串类型,Google Firebase统计开发者后台获取的Android平台配置文件路径
}
},
"ad": { //可选,JSON对象,uni-AD配置
"360": { //可选,JSON对象,使用360广告联盟SDK,无需手动配置,在uni-AD后台申请开通后自动获取配置参数
},
"csj": { //可选,JSON对象,使用今日头条穿山甲广告联盟SDK,无需手动配置,在uni-AD后台申请开通后自动获取配置参数
},
"gdt": { //可选,JSON对象,使用腾讯优量汇广告联盟SDK,无需手动配置,在uni-AD后台申请开通后自动获取配置参数
},
"ks": { //可选,JSON对象,使用快手广告联盟SDK,无需手动配置,在uni-AD后台申请开通后自动获取配置参数
},
"ks-content": { //可选,JSON对象,使用快手内容联盟SDK,无需手动配置,在uni-AD后台申请开通后自动获取配置参数
},
"sigmob": { //可选,JSON对象,使用Sigmob广告联盟SDK,无需手动配置,在uni-AD后台申请开通后自动获取配置参数
},
"hw": { //可选,JSON对象,使用华为广告联盟SDK,无需手动配置,在uni-AD后台申请开通后自动获取配置参数
},
"bd": { //可选,JSON对象,使用百度百青藤广告联盟SDK,无需手动配置,在uni-AD后台申请开通后自动获取配置参数
},
"BXM-AD": { //可选,JSON对象,使用互动游戏(变现猫)SDK,无需手动配置,在uni-AD后台申请开通后自动获取配置参数
}
}
},
"icons": { //可选,JSON对象,应用图标相关配置
"ios":{ //可选,JSON对象,iOS平台图标配置
"appstore": "", //必填,字符串类型,分辨率1024x1024, 提交app sotre使用的图标路径
"iphone":{ //可选,JSON对象,iPhone设备图标配置
"app@2x": "", //可选,字符串类型,分辨率120x120,程序图标路径
"app@3x": "", //可选,字符串类型,分辨率180x180,程序图标路径
"spotlight@2x": "", //可选,字符串类型,分辨率80x80,Spotlight搜索图标路径
"spotlight@3x": "", //可选,字符串类型,分辨率120x120,Spotlight搜索图标路径
"settings@2x": "", //可选,字符串类型,分辨率58x58,Settings设置图标路径
"settings@3x": "", //可选,字符串类型,分辨率87x87,Settings设置图标路径
"notification@2x": "", //可选,字符串类型,分辨率40x40,通知栏图标路径
"notification@3x": "" //可选,字符串类型,分辨率60x60,通知栏图标路径
},
"ipad":{ //可选,JSON对象,iPad设备图标配置
"app": "", //可选,字符串类型,分辨率76x76,程序图标图标路径
"app@2x": "", //可选,字符串类型,分辨率152x152,程序图标图标路径
"proapp@2x": "", //可选,字符串类型,分辨率167x167,程序图标图标路径
"spotlight": "", //可选,字符串类型,分辨率40x40,Spotlight搜索图标路径
"spotlight@2x": "", //可选,字符串类型,分辨率80x80,Spotlight搜索图标路径
"settings": "", //可选,字符串类型,分辨率29x29,Settings设置图标路径
"settings@2x": "", //可选,字符串类型,分辨率58x58,Settings设置图标路径
"notification": "", //可选,字符串类型,分辨率20x20,通知栏图标路径
"notification@2x": "" //可选,字符串类型,分辨率740x40,通知栏图标路径
}
},
"android":{ //可选,JSON对象,Android平台图标配置
"ldpi": "", //可选,字符串类型,普通屏设备程序图标,分辨率要求48x48,已废弃
"mdpi": "", //可选,字符串类型,大屏设备程序图标,分辨率要求48x48,已废弃
"hdpi": "", //可选,字符串类型,高分屏设备程序图标,分辨率要求72x72
"xhdpi": "", //可选,字符串类型,720P高分屏设备程序图标,分辨率要求96x96
"xxhdpi": "", //可选,字符串类型,1080P高分屏设备程序图标,分辨率要求144x144
"xxxhdpi": "" //可选,字符串类型,2K屏设备程序图标,分辨率要求192x192
}
},
"splashscreen":{ //可选,JSON对象,启动界面配置
"iosStyle": "common", //可选,字符串类型,iOS平台启动界面样式,可取值common、default、storyboard
"ios":{ //可选,JSON对象,iOS平台启动界面配置
"storyboard": "", //可选,字符串类型,自定义storyboard启动界面文件路径,iosStyle值为storyboard时生效
"iphone":{ //可选,JSON对象,iPhone设备启动图配置,iosStyle值为default时生效
"default": "", //可选,字符串类型,分辨率320x480,iPhone3(G/GS)启动图片路径,已废弃
"retina35": "", //可选,字符串类型,分辨率640x960,3.5英寸设备(iPhone4/4S)启动图片路径,已废弃
"retina40": "", //可选,字符串类型,分辨率640x1136,4.0英寸设备(iPhone5/5S)启动图片路径
"retina40l":"", //可选,字符串类型,分辨率1136x640,4.0英寸设备(iPhone5/5S)横屏启动图片路径
"retina47": "", //可选,字符串类型,分辨率750x1334,4.7英寸设备(iPhone6/7/8)启动图片路径
"retina47l": "", //可选,字符串类型,分辨率1334x750,4.7英寸设备(iPhone6/7/8)横屏启动图片路径
"retina55": "", //可选,字符串类型,分辨率1242x2208,5.5英寸设备(iPhone6/7/8Plus)启动图片路径
"retina55l": "", //可选,字符串类型,分辨率2208x1242,5.5英寸设备(iPhone6/7/8Plus)横屏启动图片路径
"iphonex": "", //可选,字符串类型,分辨率1125x2436,5.8英寸设备(iPhoneX/XS)启动图片路径
"iphonexl": "", //可选,字符串类型,分辨率2436x1125,5.8英寸设备(iPhoneX/XS)横屏启动图片路径
"portrait-896h@2x": "", //可选,字符串类型,分辨率828x1792,6.1英寸设备(iPhoneXR)启动图片路径
"landscape-896h@2x": "", //可选,字符串类型,分辨率1792x828,6.1英寸设备(iPhoneXR)iPhoneXR横屏启动图片路径
"portrait-896h@3x": "", //可选,字符串类型,分辨率1242x2688,6.5英寸设备(iPhoneXS Max)启动图片路径
"landscape-896h@3x": "" //可选,字符串类型,分辨率2688x1242,6.5英寸设备(iPhoneXS Max)横屏启动图片路径
},
"ipad":{ //可选,JSON对象,iPad设备启动图配置,iosStyle值为default时生效
"portrait": "", //可选,字符串类型,分辨率768x1004,iPad竖屏启动图片路径,已废弃
"portrait-retina": "", //可选,字符串类型,分辨率1536x2008,iPad高分屏竖屏启动图片路径,已废弃
"landscape": "", //可选,字符串类型,分辨率1024x748,iPad横屏启动图片路径,已废弃
"landscape-retina": "", //可选,字符串类型,分辨率2048x1496,iPad高分屏横屏启动图片路径,已废弃
"portrait7": "", //可选,字符串类型,分辨率768x1024,9.7/7.9英寸iPad/mini竖屏启动图片路径
"landscape7": "", //可选,字符串类型,分辨率1024x768,9.7/7.9英寸iPad/mini横屏启动图片路径
"portrait-retina7": "", //可选,字符串类型,分辨率1536x2048,9.7/7.9英寸iPad/mini高分屏竖屏图片路径
"landscape-retina7": "", //可选,字符串类型,分辨率2048x1536,9.7/7.9英寸iPad/mini高分屏横屏启动图片路径
"portrait-1112h@2x":"", //可选,字符串类型,分辨率1668x2224,10.5英寸iPad Pro竖屏启动图片路径
"landscape-1112h@2x":"", //可选,字符串类型,分辨率2224x1668,10.5英寸iPad Pro横屏启动图片路径
"portrait-1194h@2x":"", //可选,字符串类型,分辨率1668x2388,11英寸iPad Pro竖屏启动图片路径
"landscape-1194h@2x":"", //可选,字符串类型,分辨率2388x1668,11英寸iPad Pro横屏启动图片路径
"portrait-1366h@2x":"", //可选,字符串类型,分辨率2048x2732,12.9英寸iPad Pro竖屏启动图片路径
"landscape-1366h@2x":"" //可选,字符串类型,分辨率2732x2048,12.9英寸iPad Pro横屏启动图片路径
}
},
"androidStyle": "common",//可选,字符串类型,Android平台启动界面样式,可取值common、default
"android":{ //可选,JSON对象,Android平台启动图片配置, androidStyle值为default时生效
"ldpi": "", //可选,字符串类型,分辨率320x442,低密度屏幕启动图片路径,已废弃
"mdpi": "", //可选,字符串类型,分辨率240x282,中密度屏幕启动图片路径,已废弃
"hdpi": "", //可选,字符串类型,分辨率480x762,高密度屏幕启动图片路径
"xhdpi": "", //可选,字符串类型,分辨率720x1242,720P高密度屏幕启动图片路径
"xxhdpi": "" //可选,字符串类型,分辨率1080x1882,1080P高密度屏幕启动图片路径
}
},
"orientation": [ //可选,字符串数组类型,应用支持的横竖屏,**已废弃,使用screenOrientation配置**
"portrait-primary",
"portrait-secondary",
"landscape-primary",
"landscape-secondary"
]
},
"compatible": { //可选,JSON对象,uni-app兼容模式
"ignoreVersion": false, //可选,Boolean类型,是否忽略版本兼容检查提示
"runtimeVersion": "", //可选,字符串类型,兼容的uni-app运行环境版本号,多个版本使用,分割
"compilerVersion": "" //可选,字符串类型,兼容的编译器版本号
},
"confusion": { //可选,JSON对象,原生混淆加密配置,参考:https://uniapp.dcloud.io/tutorial/app-sec-confusion
"description": "", //可选,字符串类型,原生混淆描述
"resources": { //必填,JSON对象,原生混淆文件配置
"js/common.js": { //可选,JSON对象,键名为需要原生混淆的文件路径
}
},
},
"channel": "", //可选,字符串类型,渠道标识
"cers": { //可选,JSON对象,应用的异常崩溃与错误报告系统配置
"crash": true, //可选,Boolean类型,是否提交应用异常崩溃信息
},
"cache": { //可选,JSON对象,Webview窗口默认使用的缓存模式,uni-app项目已废弃
"mode": "default" //可选,字符串类型,可取值default、cacheElseNetwork、noCache、cacheOnly
},
"error": { //可选,JSON对象,页面加载错误配置,uni-app项目仅对webview组件有效,参考:https://uniapp.dcloud.io/tutorial/app-webview-error
"url": "" //必填,字符串类型,webview页面错误是跳转的页面地址
},
"kernel": { //可选,JSON对象,webview内核配置
"ios": "WKWebview", //可选,iOS平台使用的webview类型,可取值WKWebview、UIWebview
"recovery": "reload" //可选,iOS平台使用WKWebview时,内核崩溃后的处理逻辑,可取值restart、reload、none
},
"launchwebview": { //可选,JSON对象,应用首页相关配置,uni-app项目不建议手动修改
"plusrequire": "normal", //可选,字符串类型,加载plus API时机,可取值ahead、normal、later、none
"injection": false, //可选,Boolean类型,是否提前注入plus API
"overrideresource": [ //可选,JSON对象数组,应用首页的拦截资源相关配置
{
"match": "", //可选,字符串类型,匹配拦截的资源url地址的正则表达式
"redirect":"", //可选,字符串类型,拦截资源的重定向地址
"mime":"", //可选,字符串类型,拦截资源的数据类型mime
"encoding":"", //可选,字符串类型,拦截资源的数据编码
"header": { //可选,JSON对象,拦截资源的http头数据
}
}
],
"overrideurl": { //可选,JSON对象,应用首页的拦截链接请求处理逻辑
"mode": "reject", //可选,字符串类型,拦截模式,可取值allow、reject
"match": "", //可选,字符串类型,匹配拦截规则,支持正则表达式
"exclude": "none" //可选,字符串类型,排除拦截理规则,可取值none、redirect
},
"replacewebapi": { //可选,JSON对象,是否重写Web API实现相关配置
"geolocation": "none" //可选,字符串类型,重写标准定位API,可取值none、alldevice、auto
},
"subNViews": [ //可选,JSON对象数组,首页原生View相关配置,已废弃
{
"id": "", //可选,字符串类型,原生View标识
"styles": { //可选,JSON对象,原生View样式
},
"tags": [ //可选,JSON对象数组,原生View中包含的tag标签列表
{}
]
}
],
"titleNView": { //可选,JSON对象,标题栏相关配置
"backgroundColor": "#RRGGBB", //可选,字符串类型,#RRGGBB格式,标题栏背景颜色
"titleText": "", //可选,字符串类型,标题栏标题文字内容
"titleColor": "#RRGGBB", //可选,字符串类型,#RRGGBB格式,标题栏标题文字颜色
"titleSize": "17px", //可选,字符串类型,标题字体大小,默认大小为17px
"autoBackButton": true, //可选,Boolean类型,是否显示标题栏上返回键
"backButton": { //可选,JSON对象,返回键样式
"backgournd": "#RRGGBB", //可选,字符串类型,#RRGGBB格式,返回按钮背景颜色
"color": "#RRGGBB", //可选,字符串类型,#RRGGBB格式,返回图标颜色
"colorPressed": "#RRGGBB", //可选,字符串类型,#RRGGBB,返回图标按下时的颜色
},
"buttons": [ //可选,JSON对象数组,标题栏按钮配置
{
"color": "#RRGGBB", //可选,字符串类型,#RRGGBB格式,按钮上的文字颜色
"colorPressed": "#RRGGBB", //可选,字符串类型,#RRGGBB格式,按钮按下状态的文字颜色
"float": "right", //可选,字符串类型,按钮显示位置,可取值left、right
"fontWeight": "normal", //可选,字符串类型,按钮上文字的粗细,可取值normal、bold
"fontSize": "22px", //可选,字符串类型,按钮上文字的大小
"fontSrc": "", //可选,字符串类型,按钮上文字使用的字体文件路径
"text": "" //可选,字符串类型,按钮上显示的文字
}
],
"splitLine": { //可选,JSON对象,标题栏分割线样式
"color": "#RRGGBB", //可选,字符串类型,#RRGGBB格式,分割线颜色
"height": "1px" //可选,字符串类型,分割线高度
}
},
"statusbar": { //可选,JSON对象,状态栏配置
"background": "#RRGGBB" //可选,字符串类型,#RRGGBB格式,沉浸式状态栏样式下系统状态栏背景颜色
},
"top": "0px", //可选,字符串类型,Webview的顶部偏移量,支持px、%单位
"height": "100%", //可选,字符串类型,Webview窗口高度,支持px、%单位
"bottom": "0px", //可选,字符串类型,Webview的底部偏移量,仅在未同时设置top和height属性时生效
"backButtonAutoControl": "none", //可选,字符串类型,运行环境自动处理返回键的控制逻辑,可取值none、hide、close
"additionalHttpHeaders": { //可选,JSON对象,额外添加HTTP请求头数据
}
},
"nativePlugins": { //可选,JSON数组对象,uni原生插件配置,参考:https://nativesupport.dcloud.net.cn/NativePlugin/use/use_local_plugin
"%UniPlugin-ID%": { //可选,JSON对象,键名为插件标识,值为插件配置参数
}
},
"popGesture": "none", //可选,字符串类型,窗口侧滑返回默认效果,可取值none、close、hide
"runmode": "liberate", //可选,字符串类型,应用资源运行模式,可取值normal、liberate
"safearera": { //可选,JSON对象,安全区域配置
"background": "#RRGGBB", //可选,字符串类型,#RRGGBB格式,安全区域背景颜色
"backgroundDark": "#RRGGBB", //可选,字符串类型,#RRGGBB格式,暗黑模式安全区域背景颜色
"bottom": { //可选,JSON对象,底部安全区域配置
"offset": "none" //可选,字符串类型,安全区域偏移值,可取值auto、none
},
"left": { //可选,JSON对象,左侧安全区域配置
"offset": "none" //可选,字符串类型,安全区域偏移值,可取值auto、none
},
"right": { //可选,JSON对象,左侧安全区域配置
"offset": "none" //可选,字符串类型,安全区域偏移值,可取值auto、none
}
},
"softinput": { //可选,JSON对象,软键盘相关配置
"navBar": "auto", //可选,字符串类型,iOS平台软键盘上导航条的显示模式,可取值auto、none
"auxiliary": false, //可选,Boolean类型,是否开启辅助输入功能
"mode": "adjustResize" //可选,字符串类型,弹出系统软键盘模式,可取值adjustResize、adjustPan
},
"ssl": { //可选,JSON对象,ssl相关设置
"untrustedca": "accept" //可选,字符串类型,https请求时服务器非受信证书的处理逻辑,可取值accept、refuse、warning
},
"statusbar": { //可选,JSON对象,应用启动后的系统状态栏相关配置
"immersed": "none", //可选,字符串类型,沉浸式状态栏样式,可取值none、suggestedDevice、supportedDevice
"style": "light", //可选,字符串类型,系统状态栏样式(前景颜色),可取值dark、light
"background": "#RRGGBB" //可选,字符串类型,#RRGGBB格式,系统状态栏背景颜色
},
"useragent": { //可选,JSON对象,应用UserAgent相关配置
"value": "", //可选,字符串类型,设置的默认userAgent值
"concatenate": false //可选,Boolean类型,是否将value值作为追加值连接到系统默认userAgent值之后
},
"useragent_android": { //可选,JSON对象,Android平台应用UserAgent相关配置,优先级高于useragent配置
"value": "", //可选,字符串类型,设置的默认userAgent值
"concatenate": false //可选,Boolean类型,是否将value值作为追加值连接到系统默认userAgent值之后
},
"useragent_ios": { //可选,JSON对象,iOS平台应用UserAgent相关配置,优先级高于useragent配置
"value": "", //可选,字符串类型,设置的默认userAgent值
"concatenate": false //可选,Boolean类型,是否将value值作为追加值连接到系统默认userAgent值之后
}
},
"quickapp": {},
"mp-weixin": {
"appid": "wx开头的微信小程序appid",
"uniStatistics": {
"enable": false
}
},
"mp-baidu": {
"appid": "百度小程序appid"
},
"mp-toutiao": {
"appid": "字节跳动小程序appid"
},
"mp-lark": {
"appid": "飞书小程序appid"
},
"h5": {
"title": "演示",
"template": "index.html",
"router": {
"mode": "history",
"base": "/hello/"
},
"async": {
"loading": "AsyncLoading",
"error": "AsyncError",
"delay": 200,
"timeout": 3000
}
}
}
```
### FAQ
Q:iOS 应用调用相机等权限时,弹出的提示语如何修改?
......
......@@ -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` 使用相对路径可能出现路径查找失败的情况,故建议使用绝对路径。
......
......@@ -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)**
......
......@@ -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.
先完成此消息的编辑!
想要评论请 注册