wxwork和wx.qy判断企业微信小程序编译运行环境

简介: 根据官方文档有两种方式可以判断:1、方法一: 调用获取系统信息API【uni.getSystemInfoSync()】,获取environment 字段判断。在官方文档中特别说明:在企业微信中调用此接口时,会额外返回一个 environment 字段(微信中不返回),如此字段值为 wxwork,则表示当前小程序运行在企业微信环境中。注意:只有运行在企业微信环境中,才能调用【wx.qy】的接口。2、方法二: 根据上面一个提示,告诉我们在企微环境中,才可以调用【wx.qy】以获取版本信息。

前言


根据官方文档有两种方式可以判断:

1、方法一: 调用获取系统信息API【uni.getSystemInfoSync()】,获取environment 字段判断。


在官方文档中特别说明:在企业微信中调用此接口时,会额外返回一个 environment 字段(微信中不返回),如此字段值为 wxwork,则表示当前小程序运行在企业微信环境中。

注意:只有运行在企业微信环境中,才能调用【wx.qy】的接口。


2、方法二: 根据上面一个提示,告诉我们在企微环境中,才可以调用【wx.qy】以获取版本信息。


由于调用获取系统信息API可能存在错误:


1、企业微信小程序调用getSystemInfo获取不到environment: “wxwork”?

2、企业微信小程序模式 environment: “wxwork” 时有时无?

这两个都来自微信开放社区的问答,但是从回答中没有看到明确的答案,应该是他们通过代码片段内部解决了吧,只是没有放出来,应该是开发问题(来自微信官方的自信)。

那么根据微信官方文档,取以上两个方法综合处理,应该是没得问题的。


以下是关于在个人微信和企业微信输出的比较:


1、企业微信
wx.qy = {
    "version":{
        "updateTime":"2020.9.09 16:00:00",
        "info":"",
        "version":"1.3.7"
    },
    "isWxLoginSupport":true
}


返回企业微信API相关版本信息。


let _sysInfo = uni.getSystemInfoSync()
_sysInfo = {
    ...
    "environment":"wxwork",
    "model":"iPhone X",
}
// 其中
_sysInfo.environment = wxwork;


返回 environment 字段为 wxwork。


2、个人微信


wx.qy = undefined

无法获取到相关信息。


let _sysInfo = uni.getSystemInfoSync()
_sysInfo = {
    ...
    "model":"iPhone X",
}
// 其中
_sysInfo.environment = undefined;


没有返回 environment 字段。


3、应用


判断是否在企业微信环境中编译运行


isQiWeiCompileOperation() {
  let _sInfo = uni.getSystemInfoSync()
  if ((_sInfo.environment && 'wxwork' == _sInfo.environment) || wx.qy ) {
  return true
  } else {
  return false
  }
}


更新并存储小程序编译环境


updateCompileOperation() {
  let _sInfo = uni.getSystemInfoSync()
  if ((systemInfo.environment && 'wxwork' == systemInfo.environment) || wx.qy ) {
  state.vuex_is_qy = true
  } else {
  state.vuex_is_qy = false
  }
}


// 在小程序启动页【App.vue】调用存储
async onLaunch(options) {
  this.$store.commit('updateCompileOperation')
},


相关文章
|
22天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的校园水电费管理微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的校园水电费管理微信小程序的详细设计和实现
41 0
|
22天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的优购电商小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的优购电商小程序的详细设计和实现
39 0
|
1天前
|
小程序 Java API
微信小程序和springboot实现微信支付
微信小程序和springboot实现微信支付
6 0
|
1天前
|
小程序 API
微信小程序-微信支付
微信小程序-微信支付
6 0
|
12天前
|
小程序 开发工具 Android开发
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(二)
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(二)
|
12天前
|
小程序 JavaScript 开发工具
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(一)
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(一)
|
12天前
|
移动开发 小程序 安全
使用阿里云短信+微信短链接跳转微信小程序
此内容是关于使用阿里云短信带传递参数的微信短链接跳转到微信小程序。首先,需要准备微信开发者工具和一个已认证的小程序。接着,开通云开发并配置云开发权限。然后,配置H5静态网页,包括设置云开发权限和处理不同设备的跳转方式。最后,上传云函数并修改其权限,获取微信短信链接,配置短链接参数,并开通阿里云短信服务以进行测试验证。整个过程涉及到了微信开发者工具、云开发、H5页面配置、云函数的创建和部署以及阿里云短信服务的开通和使用等步骤。
38 0
|
22天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的在线课堂微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的在线课堂微信小程序的详细设计和实现
32 3
|
22天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的微信课堂助手小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的微信课堂助手小程序的详细设计和实现
56 3
|
22天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的微信点餐小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的微信点餐小程序的详细设计和实现
31 1

热门文章

最新文章