微信小程序区分开发环境、生产环境(开发版、体验版、正式版)

2021-01-24 09:51:48

参考地址 微信小程序区分开发环境、生产环境(开发版、体验版、正式版)

一、先说方法:wx.getAccountInfoSync()

获取当前帐号信息。线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取。
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/account-info/wx.getAccountInfoSync.html

在之前官方没有提供判别方法,上线之前要手动修改请求的URL,现在可以根据wx.getAccountInfoSync()的返回值判断运行环境,自动配置REQUEST_URL,方法在最后。缺点是:要设置基础库版本。

这里注意一下基础库版本,如果用户微信版本更新不及时可能会报错,建议设置最低基础库。

wx.getAccountInfoSync返回值

envVersion类型

// 获取当前帐号信息const accountInfo = wx.getAccountInfoSync();// env类型export const env = accountInfo.miniProgram.envVersion;if(!evn){
  console.error("获取运行环境失败!");}const baseApi = {
  // 开发版
  develop: "https://test.domain.cn",
  // 体验版
  trial: "https://test.domain.cn",
  // 正式版
  release: "https://admin.domain.cn"};// request请求baseURLexport const baseURL = baseApi[env] + "/path";

二、利用 request header refer

第二种方法可以在服务端配置,根据refer区分做转发,具体根据服务nginx、node等自己查找方法即可。缺点是:增加转发服务器的请求压力



  • 2020-03-03 09:51:38

    写一个可插入自定义标签的 Textarea 组件

    为了实现这个功能,我最先想的是改造一个 <textarea> 然后我想到了 contenteditable (链接指向 mozilla.org) 这一属性 这是一个 html5 的属性,可以让元素内容可编辑

  • 2020-03-03 20:18:21

    Vuepress如何做到在 Markdown 中使用 Vue 语法

    在 vuepress 刚出时,我就觉得这是个很值得追更的开源项目。果不其然,里面众多的前端编程技巧让我受益良多。 于是在周末这种日子里,人家追剧我追码。 今天,我就和大家分享下 vuepress 是如何做到在 Markdown 中使用 Vue 语法的。

  • 2020-03-03 21:35:57

    PWA:安装 Web 应用

    要完整介绍 PWA 是什么,需要扯一堆名词,毫无意义。 以改造公羊阅读的过程为例,简要的说明什么是 PWA。