微信小程序插件:不支持
功能描述
强制微信小程序重启并使用新版本。在微信小程序新版本下载完成后(即收到 onUpdateReady 回调)调用。
示例代码
示例代码
UpdateManager 对象,用来管理更新,可通过 wx.getUpdateManager 接口获取实例。
强制微信小程序重启并使用新版本。在微信小程序新版本下载完成后(即收到 onUpdateReady 回调)调用。
监听向微信后台请求检查更新结果事件。微信在微信小程序每次启动(包括热启动)时自动检查更新,不需由开发者主动触发。
监听微信小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调
监听微信小程序更新失败事件。微信小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调
const updateManager = wx.getUpdateManager()
updateManager.onCheckForUpdate(function (res) {
// 请求完新版本信息的回调
console.log(res.hasUpdate)
})
updateManager.onUpdateReady(function () {
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success: function (res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
}
}
})
})
updateManager.onUpdateFailed(function () {
// 新版本下载失败
})
微信小程序插件:不支持
监听插件更新失败事件。插件有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调
插件更新失败事件的监听函数
| 属性 | 类型 | 说明 |
|---|---|---|
| pluginVersion | string | 插件新版本号 |
微信小程序插件:不支持
监听向微信后台请求检查插件更新结果事件。微信在微信小程序每次启动(包括热启动)时自动检查插件更新,不需由开发者主动触发。
向微信后台请求检查插件更新结果事件的监听函数
| 属性 | 类型 | 说明 |
|---|---|---|
| hasUpdate | boolean | 是否有插件新版本 |
| pluginVersion | string | 插件新版本号。仅当 hasUpdate 为 true 时返回 |
基础库 2.25.0 开始支持,低版本需做兼容处理。
PluginUpdateManager 对象,用来管理插件更新,可通过 wx.getPluginUpdateManager 接口获取实例。
监听向微信后台请求检查插件更新结果事件。微信在微信小程序每次启动(包括热启动)时自动检查插件更新,不需由开发者主动触发。
监听插件有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调
监听插件更新失败事件。插件有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调
const pluginUpdateManager = wx.getPluginUpdateManager({
pluginId: 'wx1234567890abcdef'
})
pluginUpdateManager.onCheckForUpdate(function (res) {
// 请求完插件新版本信息的回调
console.log(res.hasUpdate)
if (res.hasUpdate) {
console.log(res.pluginVersion)
}
})
pluginUpdateManager.onUpdateReady(function (res) {
wx.showModal({
title: '更新提示',
content: '插件新版本已经准备好,是否重启应用?',
success: function (modalRes) {
if (modalRes.confirm) {
// 插件新版本已经下载好,调用 applyUpdate 应用新版本并重启
wx.getUpdateManager().applyUpdate()
}
}
})
})
pluginUpdateManager.onUpdateFailed(function (res) {
// 插件新版本下载失败
console.log(res.pluginVersion)
})
基础库 2.25.0 开始支持,低版本需做兼容处理。
微信小程序插件:不支持
获取插件版本更新管理器,用于管理指定插件的更新。
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| pluginId | string | 是 | 插件 appId |
插件更新管理器对象
基础库 1.9.90 开始支持,低版本需做兼容处理。
微信小程序插件:不支持
微信 Windows 版:支持
微信 鸿蒙 OS 版:支持
获取全局唯一的版本更新管理器,用于管理微信小程序更新。关于微信小程序的更新机制,可以查看运行机制文档。
更新管理器对象
示例代码
基础库 2.12.0 开始支持,低版本需做兼容处理。
以 Promise 风格 调用:支持
微信小程序插件:支持,需要微信小程序基础库版本不低于 2.12.0
微信 Mac 版:支持
微信 鸿蒙 OS 版:支持
更新客户端版本。当判断用户微信小程序所在客户端版本过低时,可使用该接口跳转到更新微信页面。
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| success | function | 否 | 接口调用成功的回调函数 | |
| fail | function | 否 | 接口调用失败的回调函数 | |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
基础库 2.20.1 开始支持,低版本需做兼容处理。
微信小程序插件:支持,需要微信小程序基础库版本不低于 2.21.3
微信 Windows 版:支持
微信 Mac 版:支持
微信 鸿蒙 OS 版:支持
获取微信APP授权设置
| 属性 | 类型 | 说明 |
|---|---|---|
| albumAuthorized | ‘authorized’/’denied’/’not determined’ | 允许微信使用相册的开关(仅 iOS 有效) |
| bluetoothAuthorized | ‘authorized’/’denied’/’not determined’ | 允许微信使用蓝牙的开关(安卓基础库 3.5.0 以上有效) |
| cameraAuthorized | ‘authorized’/’denied’/’not determined’ | 允许微信使用摄像头的开关 |
| locationAuthorized | ‘authorized’/’denied’/’not determined’ | 允许微信使用定位的开关 |
| locationReducedAccuracy | boolean | 定位准确度。true 表示模糊定位,false 表示精确定位(仅 iOS 有效) |
| microphoneAuthorized | ‘authorized’/’denied’/’not determined’ | 允许微信使用麦克风的开关 |
| notificationAuthorized | ‘authorized’/’denied’/’not determined’ | 允许微信通知的开关 |
| notificationAlertAuthorized | ‘authorized’/’denied’/’not determined’ | 允许微信通知带有提醒的开关(仅 iOS 有效) |
| notificationBadgeAuthorized | ‘authorized’/’denied’/’not determined’ | 允许微信通知带有标记的开关(仅 iOS 有效) |
| notificationSoundAuthorized | ‘authorized’/’denied’/’not determined’ | 允许微信通知带有声音的开关(仅 iOS 有效) |
| phoneCalendarAuthorized | ‘authorized’/’denied’/’not determined’ | 允许微信读写日历的开关 |
const appAuthorizeSetting = wx.getAppAuthorizeSetting()
console.log(appAuthorizeSetting.albumAuthorized)
console.log(appAuthorizeSetting.bluetoothAuthorized)
console.log(appAuthorizeSetting.cameraAuthorized)
console.log(appAuthorizeSetting.locationAuthorized)
console.log(appAuthorizeSetting.locationReducedAccuracy)
console.log(appAuthorizeSetting.microphoneAuthorized)
console.log(appAuthorizeSetting.notificationAlertAuthorized)
console.log(appAuthorizeSetting.notificationAuthorized)
console.log(appAuthorizeSetting.notificationBadgeAuthorized)
console.log(appAuthorizeSetting.notificationSoundAuthorized)
console.log(appAuthorizeSetting.phoneCalendarAuthorized)
'authorized' 表示已经获得授权,无需再次请求授权;'denied' 表示请求授权被拒绝,无法再次请求授权;(此情况需要引导用户打开系统设置,在设置页中打开权限)'non determined' 表示尚未请求授权,会在微信下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关)