ホームページ  >  記事  >  WeChat アプレット  >  エンタープライズ WeChat アプレット開発のプロセス分析

エンタープライズ WeChat アプレット開発のプロセス分析

王林
王林転載
2020-12-23 09:22:162601ブラウズ

エンタープライズ WeChat アプレット開発のプロセス分析

はじめに:

Enterprise WeChat でのみアクセスでき、Enterprise WeChat の承認されたユーザーのみがそれを使用できる小さなプログラムを開発します。

(学習ビデオの共有: プログラミング ビデオ)

問題分析:

まず、解決する必要がある問題がいくつかあります。

1. 企業 WeChat でのみ使用され、通常のミニ プログラムでは使用できません

現在の動作環境を判断してください

2. このミニ プログラムは許可されたユーザーのみが使用できます

権限の検証

1: 通常の WeChat、ログインにアカウントとパスワードを使用します。レビュー目的のみ、アカウントの権限を制限できます

2: エンタープライズ WeChat、会社 ID の検証、ユーザーの検証ID、権限のある方のみ使用許可

3. 検索制御

ミニプログラム管理のバックグラウンドで「検索不可」を設定

4. 共有制御

ミニ プログラムの共有を閉じる

OK、上記の点を達成すると、Enterprise WeChat の承認されたユーザーのみが Enterprise WeChat のワークベンチでミニ プログラムを表示できるようになります。

処理プロセス

さて、問題が明確になったので、始めましょう。

1. ミニ プログラムの基本機能を開発し、レビューのために送信します

はい、そのとおりです。レビューに合格したミニ プログラムのみができるため、最初にレビューのために送信してください。エンタープライズ WeChat にバインドされています。したがって、まずミニプログラムの基本的な機能を作り、いくつかの機能を制限することもできます。同時に、無用なトラブルを避けるために、ミニプログラムの管理背景で「検索を許可しない」設定を行ってください。

2. ミニ プログラムを Enterprise WeChat に関連付ける

Enterprise WeChat バックエンド -> アプリケーション管理 -> ミニ プログラム -> ミニ プログラムを関連付け、WeChat QR を使用します。ミニ プログラム管理者のコードをスキャンして、指示に従ってください。

3. 関連付けられたアプレットのシークレットを取得し、表示範囲を設定します

関連付けたばかりのアプレットが、前の手順のアプレット ページに表示されます。クリックして入力すると、秘密と可視範囲を参照してください。

このシークレットは、アプレットが会社の WeChat データにアクセスするために使用するトークンと同等です。適切に保管してください。

表示範囲は承認です。このミニ プログラムを表示できるユーザーは誰ですか。表示されるように設定されているユーザーには、社内 WeChat ワークベンチでミニ プログラムが表示されます。

4. ミニ プログラムを変更する

さて、メイン イベントの時間です。

4.1. 動作環境の決定

ミニ プログラムは、現在の動作環境 (通常の WeChat またはエンタープライズ WeChat) と、現在のミニ プログラムを使用しているユーザーにその使用権限があるかどうかを決定する必要があります。

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

このインターフェースは、通常の WeChat でトークンを取得する方法と似ています。

このうち、corpid は企業の WeChat 管理背景 -> 私の会社 -> 企業情報 -> 企業 ID にあります。コープスクレトは、前のステップでミニ プログラムを関連付けた後に取得したシークレットです。

返される内容は以下の通り:

{
    "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は判定時に取得します。 runningEnvironment.res.code;grant_typefixedtransmissionauthorization_code

返される内容は次のとおりです:

{
    "userid": "bottle",
    "session_key": "xxxxx",
    "corpid": "xxxxxx",
    "deviceid": "xxxxxx",
    "errcode": 0,
    "errmsg": "ok"
}

ここでの corpid は、現在のユーザーに権限があるかどうかを最初に確認するために使用できます。その人がエンタープライズ WeChat を使用している限り、このアプレットを使用するとそのような結果が返されます。corpid が承認した企業の ID であるかどうかを確認する必要があります。そうでない場合は、続行せずに許可を返さないでください。次のステップへ。

もちろん、小規模なプログラムが複数の企業に関連付けられている状況を処理するために corpid を使用することもできますが、これは別の問題です。ここで簡単に述べておきますが、これは他社向けに開発された小規模なプログラムであるため、当社の小規模なプログラムは 2 つの企業とも関連付けられており、1 つは当社、もう 1 つは他社です。これによりテストも容易になり、必要なのは独自のテスターのみです。認可により、テストにまったく同じ環境を使用できるようになります。

3. ユーザー情報の取得 (権限の決定)

https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=xxx&userid=xxx

请求方式:GET

このうち、access_token は前の手順で gettoken で取得したもの、userid は前の手順で取得したユーザー ID です。

返される内容は次のとおりです。

許可あり

{
    "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 API (ミニ プログラム): https://work.weixin.qq.com/api/doc#90000/90136/90289

エンタープライズWeChat インターフェイス デバッグ ツール: https://work.weixin.qq.com/api/devtools/devtool.php

エラー コード クエリ ツール: https://open.work.weixin.qq.com/devtool /query

関連する推奨事項: 小さなプログラム開発

以上がエンタープライズ WeChat アプレット開発のプロセス分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。