springboot+vue项目如何集成企业微信

news/2024/7/7 10:21:57/文章来源:https://www.cnblogs.com/hibpm/p/18278658

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

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

1、准备应用

1.1、注册企业微信账号

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

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

企业微信官网:https://work.weixin.qq.com/

填写注册信息进行注册

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.hqwc.cn/news/735932.html

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

相关文章

win11添加开机自启动

方法1win + R 打开运行,输入 shell:startup会打开一个文件夹将想要启动的程序快捷方式放进文件夹在设置里面搜索“启动”,可以看到开机启动项,确认已经打开。以上,针对不用管理员权限启动的程序,有效。 方法2 下面看需要管理员权限的:按Win+R,输入regedit,打开注册表编…

使用 Amazon Bedrock Converse API 简化大语言模型交互

本文将介绍如何使用 Amazon Bedrock 最新推出的 Converse API,来简化与各种大型语言模型的交互。该 API 提供了一致的接口,可以无缝调用各种大型模型,从而消除了需要自己编写复杂辅助功能函数的重复性工作。文中示例将展示它相比于以前针对每个模型进行独立集成的方式,具有…

MyBatis中Where标签:揭秘高效SQL构建的秘密

哈喽,大家好,我是木头左!理解Where标签的基础概念 在MyBatis中,<where>标签是用于构建SQL查询语句中的一个非常重要的元素。它允许你在一个动态的SQL语句中添加WHERE子句,而不需要担心SQL语法错误或额外的逗号和AND/OR关键字。使用<where>标签可以让的SQL语句…

用Python pynput库捕捉每一次组合键的优雅舞步

哈喽,大家好,我是木头左!一、初识pynput:键盘与鼠标的监控利器 当谈论计算机交互时,键盘和鼠标无疑是最常用的设备。无论是编写代码、浏览网页还是玩游戏,都依赖于这些输入设备与机器沟通。但在一些特殊的场景中,可能需要知道用户具体按下了哪些键,甚至是以何种顺序、何…

模拟集成电路设计系列博客——8.3.1 抖动与相位噪声

8.3.1 抖动与相位噪声 不像大部分集成电路中的模拟信号以电压或电荷来承载信息,对于时钟波形来说,其重要方面在于其穿越某些特定阈值时的特定时间点。抖动是这些特定时间点上的随机偏差,而相位噪声是这些时间点上的随即偏差,相位噪声则是抖动的频域表示。由于抖动和相位噪声…

Linux 中 uid、gid、euid、egid、groups 之间的关系

导航1 权限匹配流程 2 五种身份变化 3 有效用户/组 4 特权对 Shell 脚本无效 5 Sudo 与 SUID/SGID 的优先级 6 SUID、SGID、Sticky 各自的功能Linux最优秀的地方之一,就在于他的多人多工环境。而为了让各个使用者具有较保密的档案资料,因此档案的权限管理就变的很重要了。 Li…

通义灵码 Visual Studio 小白上手指南

本安装步骤适用于 Windows 10 及以上操作系统中安装和使用通义灵码。一、下载和安装指南 本安装步骤适用于 Windows 10 及以上操作系统中安装和使用通义灵码。 步骤 1:准备工作操作系统:Windows 10 及以上; 下载并安装 ****Visual Studio 2022 17.3.0 及以上版本。步骤 2:在…

mysql 8修改数据库用户密码

一、使用以下命令 ALTER USER root@localhost IDENTIFIED BY 1234; 二、在navicat中点击“用户”菜单然后点击“编辑”按钮修改用户密码

java中的函数式接口:(Consumer、BiConsumer、Supplier、Predicate、Function、BiFunction)

Consumer说明:(1)consumer接口来自java8中引入的Java.util.function包(2)Consumer是一个功能接口,用来作为lambda表达式或方法引用的任务目标(传递一个参数执行指定的方法)。 功能:Consumer的功能接口是一个接受单一参数并且不返回任何结果的操作。必要时,"结果&q…

ros microros 舵机控制原理

1. 什么是舵机: 舵机是一种位置伺服的驱动器,主要是由外壳、电路板、驱动马达、齿轮组和位置反馈电位计等元件所构成,适用于那些需要角度不断变化并可以保持的控制系统。 2. 舵机的工作原理是:控制电路板接收来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减…

STM32时钟配置

STM32F10x时钟配置 根据参考手册可知STM32F10x系列的时钟树如下:图中给了说明了HSE、HSI、LSI、LSE的全称。HSE(The high speed external clock signal),高速外部时钟信号,需要4-16MHz的外部振荡器 HSI(The high speed internal clock signal),高速内部时钟信号,使用8MHz…

SpringBoot项目配置文件加密

前言 防止配置文件敏感信息泄露,去年公司出现过类似事件,也防止源码泄露,对项目中的配置文件进行加密 引入方式 pom文件引入以下依赖 <dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifac…

Educational Codeforces Round 167 (Rated for Div. 2) A-D

A. Catch the Coin题意:在一个二维坐标系上有一个硬币每秒y轴坐标减一,而你每秒可以向旁边八个方向移动,问你有没有一个时刻你会和硬币重叠。 思路:注意到在y小于-2时,我们无论如何都追不到硬币,而其他时候我们可以采取向左下或者右下的策略来保持和硬币y轴下落同步移动的…

ASP.NET Core MVC 从入门到精通之HttpContext

原文链接:https://www.cnblogs.com/hsiang/p/17368101.html 什么是HttpContext? 在B/S模式开发的程序中,客户端是浏览器,服务器端Web服务程序,HttpContext是连接客户端和服务器端程序的桥梁,交代了当前请求的环境信息,它封装了请求[Request]和响应[Response]及其他所有信…

实战篇——SQL注入sqli-labs-master靶场实战一

实战篇——SQL注入sqli-labs-master靶场实战(1) SQL注入的原理 没有对用户的输入进行合法性判断或过滤,而是直接将其拼接至SQL查询语句当中作为命令执行,从而导致非法操作。 SQL注入的检测 也就是闭合方式的判断,根据报错信息的不同情况可以分为3类——(1)有报错信息 (2)无报…

不用虚拟机在Windows上安装Linux子系统(win11)

打开终端输入以下命令查看是否支持安装systeminfo最底下是4个yes代表支持 在开始菜单输入如下搜索 打开拉到最底下,勾选这两个选项 按照提示重启电脑 打开终端输入以下命令会自动安装最新的Ubuntu发行版wsl --install可以通过如下命令查看其他版本wsl --list --online安装过程…

manim边学边做--Tex

Tex类继承自MathTex,具体功能和MathTex差不多,有一些细节的差别。在实际的使用中,我感觉Tex在结合一般文本和公式时更方便一些,所以我用的比较多的是Tex。Tex在manim各个模块中的位置大致如上图中所示。 1. Tex与MathTex区别 Tex的主要参数和方法和MathTex是一样的,所以本…

[开源分享]好用的在线客服系统 PHP客服系统源码 聊天源码(开源代码+终身使用+安装教程+全新UI)

源码介绍 PHP在线客服系统源码采用全新UI,重新设计前端界面,后台采用php+mysql,免费开源源码。在线客服系统已成为企业与客户之间沟通的重要渠道。通过在线客服系统,企业可以方便地与客户进行实时沟通和解决问题,提升客户满意度。php客服系統源码主要功能要求: 全新UI 自动…

不只是前端,后端、产品和测试也需要了解的浏览器知识

一、我们为什么要了解浏览器? 1. 对于前端开发者 1.浏览器是用户体验的第一线。我们需要了解浏览器的工作原理,才能有效地设计和实现用户界面,确保良好的用户体验。 2.好的产品需要考虑浏览器兼容性。我们需要了解这些差异,以确保网站或应用在不同的浏览器中都能正常工作,…