>  기사  >  위챗 애플릿  >  엔터프라이즈 WeChat 애플릿 개발 프로세스

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

coldplay.xixi
coldplay.xixi앞으로
2021-04-27 10:11:232864검색

엔터프라이즈 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으로 문의하시기 바랍니다. 삭제