Eric.Liang 发表于 2020-7-21 10:34:17

帮你打开活字格更神奇的功能:八十四,企业微信集成(扫码定位接口实现)

本帖最后由 Eric.Liang 于 2020-7-21 11:44 编辑

之前一直有人说活字格的百度地图定位是wifi定位,不准确;想要在企业微信中扫码二维码条形码;想要对接企业微信发送消息等等。

针对企业微信的扫码定位,之前我们专门写过一篇教程,如下
看完必恍然大悟的活字格内幕:十八,到底怎么集成微信?
https://gcdn.grapecity.com.cn/fo ... 38524&fromuid=51381
(出处: 葡萄城产品技术社区)

但是随着企业微信的更新,企业微信接口调用的地址相应的也发生了变化,因此,上述的地址,只能起到帮助大家学习的作用,暂时已经无法调用成功了。

http://img.soogif.com/1dUtXNxUlLQhnNu9gCr1diHPDvY4vLq7.gif_s400x0


不过不用担心,为了让各位格友能够继续使用,我针对原有的DEMO和企业微信的接口代码进行了优化。
在看DEMO之前,我们先来一起了解下,企业微信的集成思路
首先,我们要先了解企业微信集成都包含了哪些功能
企业微信API
https://work.weixin.qq.com/api/doc/90000/90003/90556


服务端API

客户端API


企业微信的服务端API和客户端API是相辅相成的,对于活字格而言,服务端API需要通过写C#ServerAPI在服务器端调用,客户端API,需要在前端通过JS调用
本节我们要讲的扫码,定位,录音等功能都属于客户端API


调用客户端API是有一个对应的流程的,你需要先通过服务端命令获取access_token,然后再去调用具体业务的API


那么,按照这个流程,我们需要先通过C#代码调用服务端API,获取access_token,然后通过JS调用客户端API实现对应的扫码,定位等功能

具体工程文件的实现
1.服务端代码获取accsee_token的功能我已经实现了,因为调用客户端API,在服务端会通过token和ticket获取对应的signature,感兴趣的大佬可以自行学习下C#代码


2.获取到的accsee_token,ticket和过期时间需要缓存到本地,过期之后再调用,节省资源
所以在本地,创建一个qyWeChatConfig的数据表,包括corpid,corpsecret,token,token_due_time,ticket,ticket_due_time字段


3.客户端API调用前,需要先完成JS-SDK的验证,引入JS文件和注入权限,注入权限需要的corpid,timestamp,nonceStr,signature从1中的服务端API中已经获取,只需要注入权限前调用下服务端ServerAPI获取即可。
注意,第二步在引用JS链接时,如果你的应用是http应用,引用http即可,如果是https应用,引用https cdn链接




4.接口权限注册完成之后,直接按照客户端API调用即可



这样,就完成了一个企业微信JS-SDK的的接口调用

效果如下:


相同的,当你把前期的注入权限完成后,JS-SDK的接口都是可以调用的
如果大家需要完成消息发送等功能,那就是单纯的服务端API的调用了,方法和1相同,自己写C#代码完成接口的调用,在活字格中通过JS代码或者Post数据命令插件完成即可
注意:在注入权限的时候一定要把自己需要调用的接口方法注入到config函数中哦


工程文件见附件


http://img.soogif.com/MtjzPmM3NhhRQbfQVVIR41iE3L105kBW.jpg_s400x0




Eric.Liang 发表于 2020-12-2 12:25:20

6.0 update 1版本的工程文件与代码见附件




页: [1]
查看完整版本: 帮你打开活字格更神奇的功能:八十四,企业微信集成(扫码定位接口实现)