微信小程序getAccountInfoSync判断环境、自动更新版本号
背景描述
在微信小程序开发中,可以使用getAccountInfoSync方法来获取当前小程序的信息,其中包括小程序的appid、版本号、环境等信息。通过判断小程序的环境,可以自动切换API地址,以便在不同的环境下使用不同的API,也可以根据环境自动将版本号显示在页面上。
根据环境切换API地址
以下是基于getAccountInfoSync方法判断环境,并自动切换API地址的示例代码,实际开发中应根据情况自行修改。
// 获取小程序信息
const accountInfo = wx.getAccountInfoSync()
// 判断当前小程序的环境
let apiUrl
if (accountInfo.miniProgram.envVersion === 'develop') {
// 开发环境
apiUrl = 'https://dev.api.example.com'
} else if (accountInfo.miniProgram.envVersion === 'trial') {
// 体验环境
apiUrl = 'https://test.api.example.com'
} else {
// 正式环境
apiUrl = 'https://api.example.com'
}
// 在代码中使用API地址
wx.request({
url: apiUrl + '/api/user',
method: 'GET',
success: function(res) {
console.log(res.data)
}
})
注意:envVersion有三种情况:
develop
、trial
、release
,分别对应开发模式
、体验版
、正式版
。
在上述代码中,首先使用getAccountInfoSync方法获取当前小程序的信息,然后根据小程序的环境判断使用哪个API地址,最后在代码中使用对应的API地址。
自动更新页面上显示的版本号
在微信小程序开发中,可以使用getAccountInfoSync方法获取当前小程序的版本号信息,将小程序的版本号显示在小程序页面上,以便用户了解当前使用的小程序版本。下面是简单的示例代码。
// 获取小程序信息
const accountInfo = wx.getAccountInfoSync()
// 获取当前版本号
const version = accountInfo.miniProgram.version
Page({
data: {
version: version
}
})
注意:
version
仅在envVersion
===release
时才有具体的版本号,其他环境下version
为空字符串,version
版本号和开发者工具上传代码时填写的版本号相同。
我们可以继续优化,把envVersion也考虑进来
getVersionInfo () {
const versionInfo = wx.getAccountInfoSync()
const { version, envVersion = __wxConfig } = versionInfo.miniProgram
this.setData({
versionNo: envVersion === 'release' ? version : envVersion
})
}
上述代码中针对version
仅在 envVersion
=== release
时才有具体的版本号做了处理,只有release
才会显示version
,develop
和trial
则显示envVersion
。
首先使用getAccountInfoSync方法获取当前小程序的信息,然后在Page的data属性中定义一个version属性,将获取到的版本号赋值给versionNo属性。最后在小程序页面上使用{{versionNo}}的方式来显示版本号即可。
结语
本文主要介绍了微信小程序开发中版本号的相关知识和管理方法,包括手动获取版本号,并通过代码实现了版本号的自动更新,根据环境自动切换api地址,希望我的文章能够帮到大家。
参考资料
转载自:https://juejin.cn/post/7229595897813434429