엔터프라이즈 WeChat 애플릿 개발 프로세스

coldplay.xixi
풀어 주다: 2021-04-27 10:11:23
앞으로
2773명이 탐색했습니다.

엔터프라이즈 WeChat 애플릿 개발 프로세스

기사 디렉토리

    • 배경
    • 문제 분석
    • 처리 프로세스
      • 1. 미니 프로그램 기본 기능 개발, 검토를 위해 제출
      • 2.
      • 3. 미니 프로그램의 비밀 가져오기, 가시 범위 설정
      • 4, 미니 프로그램 수정
        • 4.1, 실행 환경 결정
        • 4.2, 권한 확인
    • 참고 자료

관련 무료 학습 추천 :WeChat 미니 프로그램 개발 튜토리얼

Background

타사용 미니 프로그램 개발 본 미니 프로그램은 기업 위챗에서만 접속 가능하며, 일반 위챗으로는 접속이 불가능합니다.

Enterprise WeChat에서 승인된 사용자만 이 미니 프로그램을 사용할 수 있습니다.

이러한 과정을 정리해야 하는 이유는 위챗에 있는 문서가 너무 산만하고 지저분하기 때문입니다. 이 과정을 정리하는 데도 오랜 시간이 걸렸습니다.

문제 분석

우선 해결해야 할 몇 가지 문제가 있습니다.

1 기업 WeChat에서만 사용할 수 있으며 일반 미니 프로그램에서는 사용할 수 없습니다

현재 운영 환경을 확인합니다.

2. 승인된 사용자만 이 미니 프로그램을 사용할 수 있습니다

권한 확인

1: 일반 WeChat, 로그인 시 계정 + 비밀번호를 사용하고 검토용으로만 계정 권한을 제한할 수 있습니다

2: Enterprise WeChat, 회사 ID 확인, 사용자 ID 확인, yes 권한만 허용됩니다

3. 검색 제어

미니 프로그램 관리 배경에서 "검색 허용 안 함"을 설정하세요

4. 공유 제어를 닫습니다. 미니 프로그램에서

OK, 위의 작업을 수행하세요. 몇 가지 사항을 보면 Enterprise WeChat의 승인된 사용자만 Enterprise WeChat의 Workbench에서 미니 프로그램을 볼 수 있다는 것을 알 수 있습니다.

처리 프로세스

工作台看到该小程序。

处理流程

好,既然问题已经明确了,那我们就搞起。

1、小程序基础功能开发,提交审核

对,没看错,先提交审核,因为只有审核通过的小程序才能被企业微信绑定。所以,先把小程序的基础功能做出来,可以限制一部分功能,总之,就是先让这个小程序上架。同时,在小程序的管理后台设置「不允许被搜索」,避免不必要的麻烦。

2、企业微信关联小程序

进入企业微信后台 -> 应用管理 -> 小程序 -> 关联小程序,然后使用小程序管理员的微信扫码,按照指引操作即可。

3、获取关联小程序的 Secret,设置可见范围

上一步的小程序页面会出现刚才关联的小程序,点击进入,然后就看到 secret 及可见范围。

这个 secret 相当于该小程序访问该企业微信数据的令牌,请妥善保存。

可见范围就是授权,哪些用户能看到这个小程序,被设置可见的人将会在自己企业微信的工作台看到该小程序。

4、修改小程序

好了,到重头戏了。

4.1、判断运行环境

小程序需要判断当前的运行环境(普通微信 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); } } }); }})
로그인 후 복사

4.2、权限校验

后台需要调用以下几个接口来进行权限校验。

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.codegrant_type固定传authorization_code

返回内容如下:

{ "userid": "bottle", "session_key": "xxxxx", "corpid": "xxxxxx", "deviceid": "xxxxxx", "errcode": 0, "errmsg": "ok"}
로그인 후 복사

这里的corpid可以用来初步校验当前用户是否有权限,因为无论哪个公司的人,只要他用企业微信,使用这个小程序,都会返回这样的结果,你需要根据corpid是否是你授权的企业的ID来校验,如果不是,直接返回无权限就可以,不用进行下一步。

当然corpid

자, 이제 문제가 해결되었으니 시작하겠습니다.

1. 미니 프로그램의 기본 기능을 개발하고 검토를 위해 제출

예, 잘 읽으셨습니다. 검토를 통과한 미니 프로그램만 Enterprise에 바인딩될 수 있기 때문에 먼저 검토를 위해 제출하십시오. 위챗. 따라서 먼저 미니 프로그램의 기본 기능을 만들고 일부 기능을 제한할 수 있습니다. 즉, 이 미니 프로그램을 먼저 선반에 올려 놓으세요. 동시에 불필요한 문제를 피하기 위해 미니 프로그램의 관리 배경에서 "검색이 허용되지 않음"을 설정하십시오.

2. 미니 프로그램을 Enterprise WeChat과 연결

Enterprise WeChat 백엔드 -> 애플리케이션 관리 -> 미니 프로그램 연결 후 미니 프로그램의 WeChat 관리자를 사용하세요. QR 코드를 스캔하고 지침을 따르세요. 그냥 하세요.

3. 연결된 애플릿의 비밀을 가져오고 가시 범위를 설정하세요.

방금 연결한 애플릿이 이전 단계의 애플릿 페이지에 표시됩니다. 클릭하여 입력하면 비밀이 표시됩니다. 그리고 가시 범위. 이 비밀은 기업의 WeChat 데이터에 접근하기 위해 애플릿에서 사용하는 토큰과 동일합니다. 올바르게 보관하세요. 이 미니 프로그램을 볼 수 있는 사용자는 공개 범위에 따라 회사 WeChat 워크벤치에서 미니 프로그램을 볼 수 있습니다.

4. 미니 프로그램 수정

자, 이제 메인 이벤트 시간입니다.

4.1. 운영 환경 결정

미니 프로그램은 현재 운영 환경(일반 WeChat 또는 기업 WeChat)을 결정하고 현재 미니 프로그램을 사용하는 사용자에게 사용 권한이 있는지 여부를 결정해야 합니다.
https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=xxx&userid=xxx 请求方式:GET
로그인 후 복사
로그인 후 복사

4.2.권한 확인

권한 확인을 위해 백그라운드에서 다음 인터페이스를 호출해야 합니다. 1. access_token
{ "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": []}
로그인 후 복사
로그인 후 복사
획득 이 인터페이스는 일반 WeChat에서 토큰을 획득하는 방법과 유사합니다. 그 중 corpid는 기업 WeChat 관리 배경->내 비즈니스->기업 정보->기업 ID corpsecret은 연결 후 얻은 것입니다. 이전 단계의 미니 프로그램에서 얻은 비밀입니다. 반환된 내용은 다음과 같습니다.
{ "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": []}
로그인 후 복사
로그인 후 복사
2. 사용자 ID 가져오기rrreee이 중 access_token은 이전 단계에서 gettoken을 통해 가져옵니다. 실행 환경을 판단할 때 grant_typeauthorization_code반환되는 내용은 다음과 같습니다.rrreee 여기 corpid는 현재 사용자에게 권한이 있는지 처음에 확인하는 데 사용할 수 있습니다. 누군가가 어떤 회사를 사용하든 Enterprise WeChat을 사용하고 이 애플릿을 사용하는 한 그러한 결과가 반환되기 때문입니다. . corpid가 본인인지 확인해야 합니다. 승인된 기업의 ID를 확인하세요. 그렇지 않으면 다음 단계로 이동하지 않고 권한을 반환하지 마세요. 물론 corpid를 사용하여 작은 프로그램이 여러 회사와 연결되는 상황을 처리할 수도 있지만 이는 또 다른 문제입니다. 여기서 간단히 언급하자면, 이 프로그램은 다른 회사를 위해 개발된 작은 프로그램이기 때문에 우리의 작은 프로그램도 두 회사와 연결되어 있습니다. 하나는 우리 회사이고 다른 하나는 다른 회사입니다. 이는 또한 테스트를 용이하게 하고 자체 테스터만 필요합니다. . 인증을 통해 테스트에 동일한 환경을 사용할 수 있습니다. 3. 사용자 정보 획득(권한 확인)
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,后面根据有权限还是无权限,执行不同的操作就可以了,这里不再赘述。

相关免费学习推荐:微信小程序开发

위 내용은 엔터프라이즈 WeChat 애플릿 개발 프로세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!