小編給大家分享一下如何開發(fā)企業(yè)微信小程序,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
華池網(wǎng)站建設公司成都創(chuàng)新互聯(lián),華池網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為華池上千提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的華池做網(wǎng)站的公司定做!
背景
為其他公司開發(fā)一個小程序,這個小程序要只能在企業(yè)微信里面訪問,不能通過普通微信訪問。
企業(yè)微信里只有授權的用戶可以使用該小程序。
之所以要整理這樣一個流程,是因為微信那邊的文檔太分散了,亂七八糟的,我也是花了很長時間才把這個流程理順。
問題分析
首先,這里面需要解決幾個問題:
1、只在企業(yè)微信里使用,不能在普通小程序使用
判斷當前運行環(huán)境
2、只有授權的用戶可以使用該小程序
權限校驗
1:普通微信,使用賬號+密碼登陸,審核專用,可限制賬號權限
2:企業(yè)微信,校驗企業(yè)id,校驗用戶id,有權限的才允許使用
3、控制搜索
在小程序管理后臺設置「不允許被搜索」
4、控制分享
小程序里面關閉分享
OK,做到以上幾點,就實現(xiàn)了只有企業(yè)微信里授權的用戶,才能夠在企業(yè)微信的 工作臺
看到該小程序。
處理流程
好,既然問題已經(jīng)明確了,那我們就搞起。
對,沒看錯,先提交審核,因為只有審核通過的小程序才能被企業(yè)微信綁定。所以,先把小程序的基礎功能做出來,可以限制一部分功能,總之,就是先讓這個小程序上架。同時,在小程序的管理后臺設置「不允許被搜索」,避免不必要的麻煩。
進入企業(yè)微信后臺 -> 應用管理 -> 小程序 -> 關聯(lián)小程序,然后使用小程序管理員的微信掃碼,按照指引操作即可。
上一步的小程序頁面會出現(xiàn)剛才關聯(lián)的小程序,點擊進入,然后就看到 secret 及可見范圍。
這個 secret 相當于該小程序訪問該企業(yè)微信數(shù)據(jù)的令牌,請妥善保存。
可見范圍就是授權,哪些用戶能看到這個小程序,被設置可見的人將會在自己企業(yè)微信的工作臺看到該小程序。
好了,到重頭戲了。
小程序需要判斷當前的運行環(huán)境(普通微信 or 企業(yè)微信),需要判斷使用當前小程序的用戶是否有權限使用。
var isWxWork = false;wx.getSystemInfo({ success(res) { console.log(res.environment); isWxWork = res.environment == 'wxwork'; if (!isWxWork) { // 當前環(huán)境不是企業(yè)微信,怎么處理你隨便 return; } // 當前環(huán)境是企業(yè)微信,執(zhí)行登陸,獲取用戶 code,用于后面的權限校驗 wx.qy.login({ success: function (res) { if (res.code) { console.log(res.code); // 這里可以將 res.code 通過請求發(fā)送給后臺,讓后臺做權限校驗 } else { console.log('登錄失?。?#39; + res.errMsg); } } }); }})
后臺需要調(diào)用以下幾個接口來進行權限校驗。
1、獲取 access_token
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxx&corpsecret=xxxx 請求方式:GET
這個接口和普通微信獲取 token 的方法類似。
其中,corpid
在企業(yè)微信管理后臺->我的企業(yè)->企業(yè)信息->企業(yè)ID;corpsecret
就是我們上一步關聯(lián)小程序后獲取的 secret。
返回內(nèi)容如下:
{ "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
是前面判斷運行環(huán)境時獲取到的 res.code
;grant_type
固定傳 authorization_code
返回內(nèi)容如下:
{ "userid": "bottle", "session_key": "xxxxx", "corpid": "xxxxxx", "deviceid": "xxxxxx", "errcode": 0, "errmsg": "ok"}
這里的 corpid
可以用來初步校驗當前用戶是否有權限,因為無論哪個公司的人,只要他用企業(yè)微信,使用這個小程序,都會返回這樣的結(jié)果,你需要根據(jù) corpid
是否是你授權的企業(yè)的ID來校驗,如果不是,直接返回無權限就可以,不用進行下一步。
當然 corpid
也可以用于處理一個小程序關聯(lián)多家公司的情況,不過這是另一個問題了。這里簡單提一嘴,因為是給其他公司開發(fā)的小程序,所以我們這個小程序也關聯(lián)了兩個企業(yè),一個我們公司,一個對方公司,這樣也方便我們測試,只需要給我們自己的測試人員授權就可以讓他們使用完全相同的環(huán)境進行測試了。
3、獲取用戶信息(判斷權限)
https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=xxx&userid=xxx 請求方式:GET
其中,access_token
是我們前一步 gettoken 獲取到的;userid
就是我們上一步獲取到的 userid
。
返回內(nèi)容如下:
有權限
{ "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,后面根據(jù)有權限還是無權限,執(zhí)行不同的操作就可以了,這里不再贅述。
以上是“如何開發(fā)企業(yè)微信小程序”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁名稱:如何開發(fā)企業(yè)微信小程序
本文路徑:http://jinyejixie.com/article12/ggegdc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計、自適應網(wǎng)站、搜索引擎優(yōu)化、定制開發(fā)、網(wǎng)站策劃、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)