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')
},


相关文章
|
6月前
|
iOS开发
“企业微信iPad协议”第0x0B次编译:当朋友圈接口在凌晨悄然返回空数组
新品海报发布失败,排查发现企业微信iPad端因本地时间偏差超60秒,导致`ext_ticket`校验失败。NTP校准后恢复正常。问题根源:独立加签逻辑对时间敏感,且错误不提示。精准时间成合规关键。
364 0
|
6月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
6月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
10月前
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
2057 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
10月前
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
1229 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
278 1
ly~
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
426 6
|
12月前
|
存储 移动开发 小程序
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
基于开源技术栈构建的校园圈子系统小程序,整合社交与生活服务功能,涵盖兴趣圈子、私信聊天、资料共享、二手交易、兼职跑腿等六大核心模块。通过多端账号同步(微信公众号/小程序/H5),实现数据实时交互,满足学生群体的多元化需求。项目精准锚定校园市场,以“社交+服务”双轮驱动,提供一站式解决方案,支持快速部署与多校区运营,同时具备广告、佣金、会员等多元变现能力,是打造校园生态的理想工具。
1294 3
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
|
小程序 数据安全/隐私保护 开发者
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
988 3
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
3689 12

热门文章

最新文章