Artikelverzeichnis
Tutorial zur WeChat-Miniprogrammentwicklung
HintergrundAuf dieses Miniprogramm kann nur im Unternehmens-WeChat zugegriffen werden und nicht über normales WeChat. Nur autorisierte Benutzer in Enterprise WeChat können dieses Miniprogramm verwenden.
Der Grund, warum ich einen solchen Prozess organisieren muss, ist, dass die Dokumente auf WeChat zu verstreut und unordentlich sind. Außerdem hat es lange gedauert, bis ich diesen Prozess in Ordnung gebracht habe.
ProblemanalyseZuallererst gibt es mehrere Probleme, die gelöst werden müssen:
1. Es kann nur im Unternehmens-WeChat verwendet werden und kann nicht in gewöhnlichen Miniprogrammen verwendet werden
Berechtigungsüberprüfung. Unternehmens-ID überprüfen, Benutzer-ID überprüfen, ja. Nur Berechtigungen sind zulässig im MiniprogrammBestimmen Sie die aktuelle Betriebsumgebung
2. Nur autorisierte Benutzer können dieses Miniprogramm verwenden.
OK, machen Sie die oben genannten Schritte. In einigen Punkten wird festgestellt, dass nur autorisierte Benutzer in Enterprise WeChat das Miniprogramm auf der Workbench
von Enterprise WeChat sehen können.
Verarbeitungsprozess
Okay, jetzt, da das Problem geklärt ist, können wir loslegen.1. Entwickeln Sie die Grundfunktionen des Miniprogramms und reichen Sie es zur Überprüfung ein
Ja, Sie haben richtig gelesen, reichen Sie es zuerst zur Überprüfung ein, denn nur Miniprogramme, die die Überprüfung bestehen, können an Enterprise gebunden werden WeChat. Machen Sie daher zunächst die Grundfunktionen des Miniprogramms und schränken Sie einige Funktionen ein. Kurz gesagt, lassen Sie dieses Miniprogramm zuerst in die Regale. Stellen Sie gleichzeitig im Verwaltungshintergrund des Miniprogramms „Suchen nicht zulässig“ ein, um unnötigen Ärger zu vermeiden.
Geben Sie das Enterprise WeChat-Backend ein –> Um den QR-Code zu scannen und den Anweisungen zu folgen, tun Sie es einfach. 工作台
看到该小程序。
处理流程
好,既然问题已经明确了,那我们就搞起。
对,没看错,先提交审核,因为只有审核通过的小程序才能被企业微信绑定。所以,先把小程序的基础功能做出来,可以限制一部分功能,总之,就是先让这个小程序上架。同时,在小程序的管理后台设置「不允许被搜索」,避免不必要的麻烦。
进入企业微信后台 -> 应用管理 -> 小程序 -> 关联小程序,然后使用小程序管理员的微信扫码,按照指引操作即可。
上一步的小程序页面会出现刚才关联的小程序,点击进入,然后就看到 secret 及可见范围。
这个 secret 相当于该小程序访问该企业微信数据的令牌,请妥善保存。
可见范围就是授权,哪些用户能看到这个小程序,被设置可见的人将会在自己企业微信的工作台看到该小程序。
好了,到重头戏了。
小程序需要判断当前的运行环境(普通微信 or 企业微信),需要判断使用当前小程序的用户是否有权限使用。
var isWxWork = false;wx.getSystemInfo({ success(res) { console.log(res.environment); isWxWork = res.environment == 'wxwork'; if (!isWxWork) { // 当前环境不是企业微信,怎么处理你随便 return; } // 当前环境是企业微信,执行登陆,获取用户 code,用于后面的权限校验 wx.qy.login({ success: function (res) { if (res.code) { console.log(res.code); // 这里可以将 res.code 通过请求发送给后台,让后台做权限校验 } else { console.log('登录失败!' + res.errMsg); } } }); }})
后台需要调用以下几个接口来进行权限校验。
1、获取 access_token
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxx&corpsecret=xxxx 请求方式:GET
这个接口和普通微信获取 token 的方法类似。
其中,corpid
在企业微信管理后台->我的企业->企业信息->企业ID;corpsecret
就是我们上一步关联小程序后获取的 secret。
返回内容如下:
{ "errcode": 0, "errmsg": "ok", "access_token": "xxxxxx", "expires_in": 7200}
2、获取 userid
https://qyapi.weixin.qq.com/cgi-bin/miniprogram/jscode2session?access_token=xxx&js_code=xxx&grant_type=authorization_code 请求方式:GET
其中,access_token
是我们前一步 gettoken 获取到的;js_code
是前面判断运行环境时获取到的 res.code
;grant_type
固定传 authorization_code
返回内容如下:
{ "userid": "bottle", "session_key": "xxxxx", "corpid": "xxxxxx", "deviceid": "xxxxxx", "errcode": 0, "errmsg": "ok"}
这里的 corpid
可以用来初步校验当前用户是否有权限,因为无论哪个公司的人,只要他用企业微信,使用这个小程序,都会返回这样的结果,你需要根据 corpid
是否是你授权的企业的ID来校验,如果不是,直接返回无权限就可以,不用进行下一步。
当然 corpid
https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=xxx&userid=xxx 请求方式:GET
{ "errcode": 0, "errmsg": "ok", "userid": "xxx", "name": "xxx", "department": [], "position": "", "mobile": "xxx", "gender": "2", "email": "", "avatar": "http://p.qlogo.cn/bizmail/xxx/0", "status": 1, "isleader": 0, "extattr": { "attrs": [] }, "telephone": "", "enable": 1, "hide_mobile": 0, "order": [], "qr_code": "https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=xxx", "alias": "", "is_leader_in_dept": []}
corpid
im WeChat-Management-Hintergrund des Unternehmens –>Mein Unternehmen –>Unternehmensinformationen – >Unternehmens-ID ist das, was wir nach der Zuordnung haben Das Miniprogramm im vorherigen Schritt Das erhaltene Geheimnis. 🎜🎜Der zurückgegebene Inhalt lautet wie folgt: 🎜{ "errcode": 60011, "errmsg": "no privilege to access/modify contact/party/agent , hint: [1564556097_7_8d45297bd21be3702ff430560e1f0652], from ip: 118.113.1.217, more info at https://open.work.weixin.qq.com/devtool/query?e=60011", "department": [], "order": [], "is_leader_in_dept": []}
access_token
durch gettoken im vorherigen Schritt abgerufen; Bei der Beurteilung der laufenden Umgebung ist der grant_type
so festgelegt, dass er authorization_code
übergibt. Der zurückgegebene Inhalt lautet wie folgt: 🎜rrreee🎜 Das corpid
hier Es kann verwendet werden, um zunächst zu überprüfen, ob der aktuelle Benutzer über Berechtigungen verfügt, denn egal welches Unternehmen jemand verwendet, solange er Enterprise WeChat verwendet und dieses Applet verwendet, wird ein solches Ergebnis zurückgegeben . Sie müssen überprüfen, ob corpid
die ID des autorisierten Unternehmens ist. Wenn nicht, geben Sie einfach keine Erlaubnis zurück, ohne mit dem nächsten Schritt fortzufahren. 🎜🎜Natürlich kann corpid
auch für Situationen verwendet werden, in denen ein kleines Programm mit mehreren Unternehmen verknüpft ist, aber das ist ein anderes Problem. Lassen Sie mich das hier kurz erwähnen, da es sich um ein kleines Programm handelt, das für andere Unternehmen entwickelt wurde. Unser kleines Programm ist auch mit zwei Unternehmen verbunden, eines ist unser Unternehmen und das andere ist das andere Unternehmen. Dies erleichtert auch unsere Tests und erfordert nur unsere eigenen Tester Durch die Autorisierung können sie genau dieselbe Umgebung zum Testen verwenden. 🎜🎜3. Benutzerinformationen einholen (Berechtigung ermitteln)🎜https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=xxx&userid=xxx 请求方式:GET
其中,access_token
是我们前一步 gettoken 获取到的;userid
就是我们上一步获取到的 userid
。
返回内容如下:
{ "errcode": 0, "errmsg": "ok", "userid": "xxx", "name": "xxx", "department": [], "position": "", "mobile": "xxx", "gender": "2", "email": "", "avatar": "http://p.qlogo.cn/bizmail/xxx/0", "status": 1, "isleader": 0, "extattr": { "attrs": [] }, "telephone": "", "enable": 1, "hide_mobile": 0, "order": [], "qr_code": "https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=xxx", "alias": "", "is_leader_in_dept": []}
{ "errcode": 60011, "errmsg": "no privilege to access/modify contact/party/agent , hint: [1564556097_7_8d45297bd21be3702ff430560e1f0652], from ip: 118.113.1.217, more info at https://open.work.weixin.qq.com/devtool/query?e=60011", "department": [], "order": [], "is_leader_in_dept": []}
OK,后面根据有权限还是无权限,执行不同的操作就可以了,这里不再赘述。
相关免费学习推荐:微信小程序开发
Das obige ist der detaillierte Inhalt vonWeChat-Applet-Entwicklungsprozess für Unternehmen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!