Maison  >  Article  >  Applet WeChat  >  Processus de développement de l'applet Enterprise WeChat

Processus de développement de l'applet Enterprise WeChat

coldplay.xixi
coldplay.xixiavant
2021-04-27 10:11:232803parcourir

Processus de développement de l'applet Enterprise WeChat

Table des matières de l'article

    • Contexte
    • Analyse du problème
    • Processus de traitement
      • 1. Développer les fonctions de base du mini-programme et soumettre pour examen
      • 2. Mini-programme associé à Enterprise WeChat
      • 3. Obtenez le mini programme associé Secret, définissez la plage visible
      • 4 Modifier le mini programme
        • 4.1 Déterminer l'environnement d'exécution
        • 4.2. vérification
    • Matériel de référence

Recommandations d'apprentissage gratuites associées : Tutoriel de développement d'applets WeChat

Contexte

Développer un petit programme pour d'autres entreprises. Ce petit programme ne doit être accessible que dans WeChat d'entreprise. et n’est pas accessible via un accès WeChat ordinaire.

Seuls les utilisateurs autorisés dans Enterprise WeChat peuvent utiliser ce mini programme.

La raison pour laquelle j'ai besoin d'organiser un tel processus est que les documents sur WeChat sont trop dispersés et désordonnés. Il m'a également fallu beaucoup de temps pour redresser ce processus.

Analyse des problèmes

Tout d'abord, plusieurs problèmes doivent être résolus :

1 Il ne peut être utilisé que dans WeChat d'entreprise. et ne peut pas être utilisé dans des mini-programmes ordinaires. Utilisez

pour déterminer l'environnement d'exploitation actuel

2. Seuls les utilisateurs autorisés peuvent utiliser le mini-programme

Vérification des autorisations

1 : WeChat ordinaire, utilisez le compte + le mot de passe pour vous connecter, uniquement pour examen, les autorisations du compte peuvent être restreintes

2 : Enterprise WeChat, vérifiez l'ID de l'entreprise, vérifiez l'utilisateur ID, seules les personnes autorisées sont autorisées à utiliser

3. Contrôler la recherche

Définir "Non autorisé à être recherché" dans l'arrière-plan de gestion du mini programme

4. Contrôler le partage

Fermer le partage dans le mini programme

OK, après avoir effectué les points ci-dessus, seuls les utilisateurs autorisés de l'entreprise WeChat peuvent voir le mini programme dans le 工作台 de l'entreprise WeChat .

Processus de traitement

D'accord, maintenant que le problème a été clarifié, commençons.

1. Développez les fonctions de base du mini-programme et soumettez-le pour examen

Oui, vous avez bien lu, soumettez-le d'abord pour examen, car seuls les mini-programmes qui réussissent l'examen peuvent être lié à Enterprise WeChat. Par conséquent, créez d'abord les fonctions de base du mini programme, et vous pouvez restreindre certaines fonctions. Bref, laissez ce mini programme être d'abord mis sur les étagères. Dans le même temps, définissez « interdiction de recherche » dans l'arrière-plan de gestion du mini-programme pour éviter des problèmes inutiles.

2. Associez le mini-programme à Enterprise WeChat

Entrez dans le backend d'Enterprise WeChat-> Gestion des applications-> Associez le mini-programme, puis utilisez le QR WeChat. code de l'administrateur du mini programme pour scanner le code, suivez simplement les instructions.

3. Obtenez le secret du mini programme associé et définissez la plage visible

Le mini programme que vous venez d'associer apparaîtra sur la page du mini programme à l'étape précédente, et cliquez pour entrer. alors vous verrez la plage secrète et visible.

Ce secret est équivalent au jeton utilisé par l'applet pour accéder aux données WeChat de l'entreprise. Veuillez le conserver correctement.

La plage de visibilité est l'autorisation. Quels utilisateurs peuvent voir ce mini programme Ceux qui sont configurés pour être visibles verront le mini programme sur leur établi WeChat d'entreprise.

4. Modifier le mini programme

D'accord, c'est l'heure de l'événement principal.

4.1. Déterminer l'environnement d'exploitation

Le mini-programme doit déterminer l'environnement d'exploitation actuel (WeChat normal ou WeChat d'entreprise) et si l'utilisateur utilisant le mini-programme actuel a l'autorisation de l'utiliser.

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. Vérification des autorisations

L'arrière-plan doit appeler les interfaces suivantes pour effectuer la vérification des autorisations.

1. Obtenir access_token

https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxx&corpsecret=xxxx

请求方式:GET

Cette interface est similaire à la méthode d'obtention de jeton sur WeChat ordinaire.

Parmi eux, corpid est dans le contexte de gestion d'entreprise WeChat->Mon entreprise->Informations commerciales->Business ID corpsecret est le secret que nous avons obtenu après avoir associé le mini programme dans le étape précédente.

Le contenu renvoyé est le suivant :

{
    "errcode": 0,
    "errmsg": "ok",
    "access_token": "xxxxxx",
    "expires_in": 7200}

2. Obtenez l'ID utilisateur

https://qyapi.weixin.qq.com/cgi-bin/miniprogram/jscode2session?access_token=xxx&js_code=xxx&grant_type=authorization_code

请求方式:GET

Parmi eux, access_token est ce que nous avons obtenu avec gettoken à l'étape précédente est l'environnement de course jugé plus tôt Le js_code obtenu à l'époque res.code transmission fixe grant_typeauthorization_code

renvoie le contenu suivant :

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

ici peut être utilisé pour vérifier initialement si l'utilisateur actuel dispose des autorisations. Parce que quelle que soit l'entreprise que quelqu'un utilise, tant qu'il utilise WeChat Enterprise et cette applet, il renverra un tel résultat. Vous devez vérifier si corpid est l'ID de l'entreprise. vous avez autorisé. Dans le cas contraire, renvoyez directement le résultat sans autorisation. Oui, pas besoin de passer à l'étape suivante. corpid

Bien sûr,

peut également être utilisé pour gérer des situations dans lesquelles un petit programme est associé à plusieurs entreprises, mais c'est un autre problème. Permettez-moi de mentionner brièvement ici, parce qu'il s'agit d'un petit programme développé pour d'autres sociétés, que notre petit programme est également associé à deux sociétés, l'une est notre société et l'autre est l'autre société. Cela facilite également nos tests et ne nécessite que nos propres testeurs. L'autorisation leur permet d'utiliser exactement le même environnement pour les tests. corpid

3. Obtenir des informations sur l'utilisateur (déterminer les autorisations)

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,后面根据有权限还是无权限,执行不同的操作就可以了,这里不再赘述。

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer