企业微信网页应用开发 - 权限验证

编程入门 行业动态 更新时间:2024-10-28 14:32:46

第一个坑就是权限验证。官方说明见:使用说明 - 企业微信API

企业微信的js文件非常迷,我找到的就有不同版本(3个)和npm包(2个)选择。但事实是,没有任何官方说明不同版本之间的关系。js文件不对,最常报的错就是XX is not a function... 相关版本链接如下:

  • http://res.wx.qq/open/js/jweixin-1.2.0.js
  • https://res.wx.qq/wwopen/js/jsapi/jweixin-1.0.0.js
  • https://open.work.weixin.qq/wwopen/js/jwxwork-1.0.0.js
  • wxwork-js-sdk - npm
  • https://npm.io/package/wxwork-jsapi

我其实也没有彻底把这个问题解决,这里只提供下我的思路。这篇文章企业微信 JS-SDK 自建应用踩坑指南 - 简书 给了很多启发。

1. 权限认证的两个接口:config和agentconfig

不同认证下能调用的api是有差别的。在每个接口的说明文档中会写需要哪种认证,比如openUserProfile要求调用agentconfig:

而不同js版本对agentconfig支持不一样,官方建议的版本是jwxwork-1.0.0.js。参考上面链接的那篇文章,直接用jweixin-1.0.0.js可以同时支持两个接口。

2. config和agentconfig的区别

 官方文档说:config注入的是企业的身份与权限,而agentConfig注入的是应用的身份与权限。

我个人的理解(不一定对),config对应的接口大部分调用方式是wx.func_name(...),而agentConfig是wx.invoke("func_name", ...)(不是绝对的)。简单来说,config管的是通用类的交互行为以及交互行为的监听回调,比如选择一张照片、扫二维码、打开菜单等;agentConfig管的是场景相关、需要去微信后台拿的数据,比如应用进入的入口、当前聊天对象的usrid等。

所以,大概率两个接口都是需要的。官方文档中提到,从3.0.24版本之后调用agentConfig前不需要成功调用config(我选择了都调)。

 3. npm包

两个npm包都不是官方出的,且很久没有更新,不推荐。

4. js引入

官方推荐用cdn引入js文件。在PC客户端和微信开发工具中没有问题。但是在浏览器里就死活不行,一直报not a function的错误,设置UA模拟微信浏览器也不行。我的应用基于uniapp,有人说它内置了一个wx对象,产生了冲突。并没有找到彻底解决办法。

目前有效到折衷处理是把js下载到本地,修改文件中第一个this为window,用require方式引入就可以正常使用了。

var wx = require("./static/js/jweixin-1.0.0.js")
wx.config(...)
wx.agentconfig(...)

更多推荐

企业微信网页应用开发 - 权限验证

本文发布于:2023-06-10 20:33:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1342557.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:权限   网页   企业

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!