likes
comments
collection
share

微信小程序getAccountInfoSync判断环境、自动更新版本号

作者站长头像
站长
· 阅读数 22

背景描述

在微信小程序开发中,可以使用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有三种情况:developtrialrelease,分别对应开发模式体验版正式版

在上述代码中,首先使用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才会显示versiondeveloptrial则显示envVersion

首先使用getAccountInfoSync方法获取当前小程序的信息,然后在Page的data属性中定义一个version属性,将获取到的版本号赋值给versionNo属性。最后在小程序页面上使用{{versionNo}}的方式来显示版本号即可。

结语

本文主要介绍了微信小程序开发中版本号的相关知识和管理方法,包括手动获取版本号,并通过代码实现了版本号的自动更新,根据环境自动切换api地址,希望我的文章能够帮到大家。

参考资料

# 微信小程序getAccountInfoSync文档

转载自:https://juejin.cn/post/7229595897813434429
评论
请登录