应用系统集成企业微信的技术方案和最佳实践

本文以springboot+vue技术开发的低代码平台为案例,介绍应用系统如何集成企业微信,包括同步企业微信组织用户、单点登录、消息发送等。

在线体验:http://www.yunchengxc.com

1、准备应用

1.1、注册企业微信账号

作为企业微信的企业管理员,首先登录企业微信官网,注册一个企业微信账号。

如果已经有账号,则直接使用即可。

企业微信官网:企业微信

填写注册信息进行注册

1.2、创建企业微信应用

在企业微信管理后台,找到应用管理菜单,点击下方的“创建应用”按钮。

填写应用信息,设置可见范围为所有人,不然会影响同步用户和发送消息通知。

1.3、配置开发者接口

新建应用后进入应用详情,滑倒最下面配置【网页授权及JS-SDK】、【企业微信授权登录】、【企业可信IP】

1.3.1、【网页授权及JS-SDK】配置可信域名

配置这一步骤后才可以配置企业可信IP,填写项目的域名(仅支持域名),域名需要在公网能够访问到。填写完成后点击申请校验域名。

把下载下来的文件放到服务器上,并且可以根据可信域名访问到文件才算时校验通过。

1.3.2、【企业微信授权登录】配置

企业微信扫码登录功能需要设置回调地址。回调地址就是正式系统的访问地址,图中是本地开发的示例。使用企业微信登录,只能回调至该域名下的页面。

1.3.3、【企业可信IP】配置

项目需要远程调用企业微信的接口,这里要写我们的公网ip,不然我们的请求会被拦截。

1.4、配置通讯录同步应用

我们自建的应用只有读取用户的权限,想要进行写的操作需要通过通讯录同步应用去调用接口。点击安全与管理菜单->管理工具->通讯录同步

点击开启接口同步

配置可信IP

2、配置系统参数

2.1、找到应用凭证

点击我的企业菜单,获取企业ID(corpId)

打开自建应用获取自建应用的AgentId(appAgentId) 和 Secret(appSecret)

打开通讯录同步获取通讯录同步Secret(synSecret)

2.2、配置后端参数

在后端工程的yml文件中,把应用凭证对应配置到“yuncheng.workWechat”下,参数名称与应用凭证的名称对应。

2.3、配置前端参数

在前端工程的“public/config/bootConfig.js”文件内,配置参数“VUE_APP_WORKWECHAT_APP_ID”的值,对应企业微信的“corpId”;

配置参数“VUE_APP_WORKWECHAT_AGENT_ID”的值,对应企业微信的“AgentId”;配置“VUE_APP_WORKWECHAT_REDIRECT_URI”参数,登录成功重定向 url,默认当前域名,可以不用改动。

在前端工程的“src/settings.js”文件内,配置开关参数“showWorkWechat”的值为“true”,开启前端的企业微信扫码按钮、同步部门用户按钮的显示。

3、同步部门用户

3.1、同步部门

在组织管理模块,点击“同步企业微信->本地同步到企业微信”。

同步完成后,会有弹框提示同步情况,企业微信管理后台同步后的截图如下。

3.2、同步用户

在用户管理模块,点击“同步企业微信->本地同步到企业微信”。

同步完成后,会有弹框提示同步情况,企业微信管理后台同步后的截图如下。

注意:同步到企业微信的账号,如果该账号没有加入过当前企业团队,系统会自动向该账号发送加入邀请,该账号需要同意邀请后,才能加入当前企业团队。

3.3、同步注意事项

部门和用户的同步规则:以本地数据为准。

本地往企业微信同步,如果企业微信不存在,则新建;如果存在,则更新;如果企业微信有多余的部门,则删除,并把删除部门下的应用转移到跟部门下。

企业微信往本地同步,如果本地不存在,则新建,如果存在,则更新,如果本地有多余的账号,则保持不变。本地新创建的用户的默认密码是“123456”,需要自行设置用户的角色、岗位等信息。

本地和企业微信是否同一用户的账号,是通过用户表的“work_wechat_id”进行判断的。

4、企业微信扫码登录

4.1、扫码登录

点击登录页面的企业微信扫码Tab页,会显示企业微信二维码,使用手机企业微信扫码功能,完成扫码登录。

注意:必须完成上一步的用户同步,并且企业微信用户必须接受邀请加入企业团队后,才能进行扫码登录。

4.2、本地用户和企业微信的关联字段

本地和企业微信通过用户表的“sys_user.work_wechat_id”字段,和企业微信用户的账号id进行关联

如果扫码登录后,提示用户不存在,需要检查企业微信账号所关联的“work_wechat_id”,登录失败的原因可能有以下几点:

原因1、在平台的用户管理中可能没有该userId对应的用户;

原因2、企业管理员可能没有同步企业微信用户或者该企业微信账号没有加入对应的企业微信企业团队;

原因3、企业管理员可能没有给企业微信应用设置可见范围。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/8941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

铅离子/镉离子绿色荧光探针,具有高特异性高灵敏度

基本信息: 中文名称:铅离子/镉离子绿色荧光探针 英文名称:Leadmium TM Green AM dye 外观:固体或粉末状 规格:10mg、25mg、50mg (可支持定制) 纯度:95% 储存条件:-20C避光避湿…

46. UE5 RPG 增加角色受击反馈

在前面的文章中,我们实现了对敌人的属性的初始化,现在敌人也拥有的自己的属性值,技能击中敌人后,也能够实现血量的减少。 现在还需要的就是在技能击中敌人后,需要敌人进行一些击中反馈,比如敌人被技能击中后…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-10.1-NXP SDK 移植

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

夸克网盘拉新怎么做?分享网盘拉新攻略!

夸克网盘拉新怎么做?如何通过推广夸克网盘来赚佣金?相信大家应该都使用过夸克网盘,现在夸克网盘的拉新赚佣金活动开展的如火如荼,不少朋友通过夸克网盘拉新赚取收益,真的很香。还有一部分想要赚佣金但是不知道如何操作…

C语言例题39、输入一个正整数,将其反方向逆序输出

#include <stdio.h>void main() {int x;int ge; //个位int result 0;printf("请输入一个正整数&#xff1a;");scanf("%d", &x);while (x > 0) {//解题原理ge x % 10;//每次分解取得个位的数字result result * 10 ge;//个十百千万顺序向左…

libcity 笔记:添加自定义dataset

假设我们把libcity/data/dataset/trajectory_dataset.py复制一份到libcity/data/dataset/dataset_subclass/GeolifeDM_dataset.py&#xff0c;里面内容不变&#xff0c;只是把class的名字换了 那其他需要修改哪些内容&#xff0c;使得这个dataset生效呢 libcity/data/dataset/d…

Python应用:让生活更智能

随着科技的进步&#xff0c;Python已成为一种非常受欢迎的编程语言&#xff0c;它在数据分析、人工智能、Web开发等领域有着广泛的应用。今天&#xff0c;我们将探讨一个Python应用的例子&#xff0c;这个应用将帮助我们更智能地管理日常生活。 应用名称&#xff1a;智能生活助…

福建 | 福建铭发用行动诠释“敢为天下先”的泉州精神

福建铭发 泉州TOP级企业 在福建&#xff0c;提到混凝土搅拌站&#xff0c;铭发是绕不开的一个存在。 他们是当地最早一批建成的商砼企业&#xff0c;也是如今发展规模最大的TOP级企业。 从2007年建站至今&#xff0c;近15年的发展&#xff0c;他们形成了一套铭发特色的企业经…

Windows平台PyCharm之PySide6开发环境搭建与配置

PySide6 是一个用于创建跨平台 GUI 应用程序的库&#xff0c;它是 Qt for Python 的官方库。Qt 是一个跨平台的 C 应用程序框架&#xff0c;用于开发具有图形用户界面&#xff08;GUI&#xff09;的应用程序。PySide6 允许开发者使用 Python 语言访问 Qt 的功能&#xff0c;从而…

数据结构(十一)----图的应用

目录 一.最小生成树 1.Prim算法&#xff08;普里姆&#xff09; 2.Kruskal算法(克鲁斯卡尔): 二.最短路径&#xff08;BFS算法&#xff09; 1.单源最短路径 &#xff08;1&#xff09;BFS算法&#xff08;无权图&#xff09; &#xff08;2&#xff09;Dijkstra算法&…

不走寻常路!酷开科技不断升级酷开系统满足消费者日益增长的需求

在科技日新月异的今天&#xff0c;人们对生活品质的要求越来越高。为此&#xff0c;酷开科技不断升级酷开系统&#xff0c;以满足消费者日益增长的需求。为了让消费者体验更好的服务&#xff0c;在酷开系统中设立了酷开会员&#xff0c;满足消费者的更多需求。丰富的特权和定制…

STL学习笔记

1 基本概念 1.1 STL STL(Standard Template Library,标准模板库)STL从广义上分为: 容器(container) 算法(algorithm) 选代器(iterator)容器和算法之间通过迭代器&#xff08;看作指针&#xff09;进行无缝连接STL 几乎所有的代码都采用了横板类或者模板函数 1.2 容器 STL容器…

图片如何压缩到500kb以下?3步完成图片压缩

在日常生活和工作中&#xff0c;经常需要处理各种图片&#xff0c;而有时候图片文件过大&#xff0c;不仅占用了大量的存储空间&#xff0c;还可能影响文件的传输速度和加载速度。因此&#xff0c;如何将图片压缩到500kb以内成为了许多人的需求&#xff0c;普通的图片压缩可能没…

使用Docker安装Whistle Web Debugging Proxy

大家好&#xff0c;继续给大家分享如何使用docker来安装Whistle Web Debugging Proxy&#xff0c;关于Whistle Web Debugging Proxy的介绍和使用&#xff0c;大家可以参考下面文章&#xff0c;希望本文能够给大家的工作带来一定帮助。 Whistle Web Debugging Proxy介绍及使用 …

vue+lodop实现web端打印标签功能

背景&#xff1a;项目要求在web端连接标签打印机&#xff0c;打印收件人信息 lodop打印插件地址&#xff1a;Lodop和C-Lodop官网主站 在项目中使用 1、去官网下载lodop包下载中心 - Lodop和C-Lodop官网主站 windows系统直接下载windows32版的就可以 2、解压安装 点击CLodop…

SpringCloud Config 分布式配置中心

SpringCloud Config 分布式配置中心 概述分布式系统面临的——配置问题ConfigServer的作用 Config服务端配置Config客户端配置 可以有一个非常轻量级的集中式管理来协调这些服务 概述 分布式系统面临的——配置问题 微服务意味着要将单体应用中的业务拆分成一个个字服务&…

python如何整体缩进

python自带编辑器的缩进和取消缩进快捷键&#xff1a; 整体缩进 Ctrl【 整体取消缩进 Ctrl】 pycharm编辑器的缩进和取消缩进快捷键&#xff1a; 整体缩进&#xff1a; tab 整体取消缩进&#xff1a; tabshift

HDMI ARC功能详解及应用介绍

一、HDMI HDMI(High-Definition Multimedia Interface&#xff0c;高清多媒体接口)&#xff0c;是一种专用的音频/视频接口&#xff0c;用于发送未压缩的视频数据和压缩/未压缩的音频数据。HDMI是模拟视频标准的数字替代品。HDMI视频和音频信号传输通道采用了TMDS&#xff08;T…

【经验总结】Vue2中的全局变量(store

需求场景 需要在vue中存储一个可变的&#xff0c;可读写的全局变量在不同的js、页面中均可调用和读写 技术&#xff1a;使用vue的store 用法总结 一、定义变量 1、找到vue的/src/store路径&#xff0c;在modules文件夹下创建文件&#xff08;这里便于测试创建demo.js&…

51单片机入门:DS1302时钟

51单片机内部含有晶振&#xff0c;可以实现定时/计数功能。但是其缺点有&#xff1a;精度往往不高、不能掉电使用等。 我们可以通过DS1302时钟芯片来解决以上的缺点。 DS1302时钟芯片 功能&#xff1a;DS1302是一种低功耗实时时钟芯片&#xff0c;内部有自动的计时功能&#x…