【企业微信实现免密登录以及发送消息(企业内部应用)】

创建应用:

首先是注册企业微信,没有企业信息个人也能注册,个人注册企业微信后无法认证,如果有开发第三方应用的需求就必须进行企业认证,如果只是开发企业内部应用,则无需注册也OK。
创建企业内部应用
创建企业内部应用
这里需要注意一下可见范围,在后续的获取用户信息(包含敏感信息)时,获取的用户必须在这里勾选,也就是说没有勾选可见范围的用户是无法获取到用户信息的。


设置应用

在这里插入图片描述
在这里插入图片描述
这里配置可调用JS-SDK、跳转小程序的可信域名(最多10个,需完成域名校验)时,需要注意以下几点

  1. 域名必须备案
  2. 域名必须映射IP(因为接下来要配置企业可信IP
  3. 将下载下来的txt文件放在域名根目录下(通过下面的链接能访问到即配置成功。)

:域名根目录:放在服务器的nginx目录(/usr/local/nginx/html)下即可(通过下面的链接能访问到即配置成功。)
在这里插入图片描述
在这里插入图片描述
这里配置企业可信IP时,将域名映射的IP输入即可,这里输入映入映射的IP就行了,我这里其他三个是本地开发用的,不用管。


获取token:

接口:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET


获取code(临时授权码):

这里是个难点:code通过重定向的方式从https://open.weixin.qq.com/connect/oauth2/authorize获取

这里是将当前页面设置为重定向的页面(重新加载一次该页面第二次获取到code)。在页面绑定一个按钮事件调用onClickGetCode方法,appid为企业id,agentid为应用id,redirect_uri是重定向的页面路径,这里是完整路径,采用hash模式,#h后面的页面就是当前页面,state非必填。将拼接好的url设置为window.location.href用来实现重定,重定向后(第二次进入该页面时)就能拿到code,通过created时调用getUrlParam方法,取出其中的code字段即可。(这里切记必须配置agaentid,否则获取到的code无法用来获取敏感信息;scope也必须是snsapi_privateinfo才能获取到敏感信息)
在这里插入图片描述

贴一下上图中的代码:

//页面创建的时候获取code(第一次获取不到,第二次进入页面时通过重定向的方式会携带过来)
created() {// this.location = JSON.stringify(window.location)this.code = this.getUrlParam('code')},//方法
methods: {// 重定向后拿取codegetUrlParam(name) {const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')const r = window.location.search.substr(1).match(reg)if (r != null) {return unescape(r[2])}return null},// 通过重定向获取codeonClickGetCode() {const url = 'https://open.weixin.qq.com/connect/oauth2/authorize'const appid = ''//企业idconst agentid = ''//应用idconst redirect_uri = encodeURIComponent('https://saastx.zhuzaocloud.com/cookie-test/#/pages/index/index')const state = '123456'const wx_url = url + '?appid=' + appid + '&redirect_uri=' + redirect_uri +'&response_type=code&scope=snsapi_privateinfo' + '&agentid=' + agentid + '#wechat_redirect'window.location.href = wx_url},}

获取用户信息(包含敏感信息):

提示:这里分两步实现:

首先是获取user_ticket

接口:https://qyapi.weixin.qq.com/cgi-bin/auth/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
这里需要注意如果获取到的结果中没有user_ticket时检查获取code时scope是否为snsapi_privateinfo
贴一下代码:

// 接口qywxGetUserInfo(data) {return request.get('cgi-bin/auth/getuserinfo', {params: data});},
//请求
// 用户基础信息(主要是要用user_ticket来获取用户详情)onClickGetUser() {var data = {access_token: 'token',//自己获取到的tokencode: 'code',//通过重定向获取到的code}HomeApi.qywxGetUserInfo(data).then((user) => {//user里有user_ticket})},

其次是通过user_ticket获取用户敏感信息

接口:https://qyapi.weixin.qq.com/cgi-bin/auth/getuserdetail?access_token=ACCESS_TOKEN
这里需要注意两点,首先是POST请求,其次access_token是拼接到请求后面的,而user_ticket是在POST请求的请求包体里
贴一下代码:

// 接口qywxGetUserDetail(data, token) {return request.post('cgi-bin/auth/getuserdetail?access_token=' + token, data);},
//请求
// 用户详情(包含敏感信息)onClickGetDetail() {var obj = {user_ticket: 'user_ticket',//上面获取到的user_ticket}let token = 'token'//自己获取到的tokenHomeApi.qywxGetUserDetail(obj, token).then((detail) => {//detail中包含以下信息// address: ""// avatar: "https://wx.qlogo.cn/mmhead/Q3auHgzwzM77HAQia9BtKrw4aSE1Jq4qMmZtP95bjbHM4UUyGZ5IdRA/0"// biz_mail: "weijianpeng18421@outlook.com" //邮箱,欢迎交流// email: ""// errcode: 0// errmsg: "ok"// gender: "1"// mobile: "176xxxx3559"// qr_code: "https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=vc71a55a5b5e44d8dd"//微信二维码,欢迎交流// userid: "xxxxx"})},

发送消息:

提示:这里以文本消息为例:


贴一下代码:
这里需要注意两点,首先是POST请求,其次access_token是拼接到请求后面的,而obj (消息配置)是在POST请求的请求包体里

// 接口(发送消息)qywxSendMessage(data, token) {return request.post('cgi-bin/message/send?access_token=' + token, data);},
//请求
// 发送消息onClickSendMessage() {var obj = {"touser": "@all",//注意这里touser、toparty、totag不能同时为空,@all向该企业应用的全部成员发送。"msgtype": "text","agentid": 000000,//写自己的应用id"text": {"content": "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"},"safe": 0,"enable_id_trans": 0,"enable_duplicate_check": 0,"duplicate_check_interval": 1800}let token = 'token'HomeApi.qywxSendMessage(obj, token).then((message) => {})},

收到的消息
在这里插入图片描述


结束--->下班下班--------------------------->>>回家回家


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

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

相关文章

wechat_0010-企业微信,把自己的项目接入企业微信

1、一个可以公网访问的接入项目 2、需要一个企业微信账号 企业微信官网&#xff1a;https://work.weixin.qq.com/ 3、策略文件 报illegal key size异常时见 博客&#xff1a;http://www.cnblogs.com/shirui/p/7411735.html 4、微信的加密解密包 下载链接&#xff1a;http://…

我们用Windows官方跑了跑Linux GUI应用程序,不愧是“胶水操作系统”

梦晨 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 现在&#xff0c;Windows不仅是最好的Linux发行版&#xff0c;还是最好的Linux桌面了。 怎么回事&#xff1f; 原来是Windows官方的Linux子系统&#xff08;WSL&#xff09;&#xff0c;终于支持Linux GUI了&#xff01; 也…

用了一下国产免费 AI 代码补全工具,真不错!

作者&#xff1a;去伪存真 原文&#xff1a;https://juejin.cn/post/7216992973418217533 前言 ChatGPT把AI带火了&#xff0c;我就在想&#xff0c;能用它做点什么呢&#xff0c;总不能只让它给我们带来焦虑&#xff0c;也要让我们从科技浪潮中分得一点红利吧。一番查找下来&a…

AI设计 | 如何让零基础小白在3分钟内利用AI人工智能设计Logo?

作为一个缺乏基础知识的初学者&#xff0c;你或许会认为Logo设计很难。但是&#xff0c;AI人工智能这个神奇的工具可以帮助你轻松地设计出自己的Logo&#xff0c;让整个过程变得愉快且简单。只要按照我的步骤并跟随我&#xff0c;你可以成为一位杰出的Logo设计师&#xff0c;不…

Tushare接口+LSTM模型预测股票走势

Tushare接口LSTM模型预测股票走势 Tushare ID&#xff1a;423115 Tushare接口优势以及使用方法 Tushare是一款国内使用较为热门的财经接口&#xff0c;数据源稳定不易出错&#xff0c;速度较快&#xff0c;能符合开发的需求&#xff0c;下面讲讲使用的基本方法。 注册账号 …

基于LSTM的对股票走势的预测

下图是基于LSTM的对股票走势的预测的结果 项目附件说明 本次实验项目文件有以下文件夹:stockPredict 文件夹。 1、根目录下存放使用的 python 代码。 2、data 文件夹下存放获取到的股票数据。 3、model 文件夹中包含已经训练好的模型。 4、img 文件夹中包含测试数据表现折线…

股票价、量走势图绘制

在证券投资分析领域中价、量走势分布图是投资者常用的一个参考方面。本案例主要介绍股票每日收盘价格、成交量的走势图以及月交易量分布饼图的绘制技能&#xff0c;并进一步介绍了子图的绘制方法 。 今有股票代码600000行情交易数据表&#xff08;trd.xlsx&#xff09;&#xf…

动态分析股票走势算法图,股票趋势预测算法

股票动态市盈率怎么计算出来的&#xff1f; 谈论起市盈率&#xff0c;这可真是有人爱&#xff0c;有人恨&#xff0c;有人认为有用&#xff0c;也认为无用。这个市盈率到底有没有用&#xff0c;咋用&#xff1f; 在为大家介绍我使用市盈率买股票的方法之前&#xff0c;先和大…

(个人简历一)用纯html写个人简历

效果 实现代码 用纯table实现 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>简历</title></head><body><table border"1" cellspacing"0" align"center"><t…

一位优秀前端工程师的简历应该怎么写?

​如今前端市场的从业人员很多且鱼龙混杂&#xff0c;真正的高手大牛非常稀缺&#xff0c;呈典型的金字塔形状&#xff0c;所以前端的招聘也是很多猎头及HR的痛点所在。那么在这种混乱的环境中&#xff0c;如何才能让自己突出重围&#xff1f;需要实力&#xff0c;更需要技巧。…

简历解析步骤(第一步)技术与实现(1)识文字,取信息

简历解析步骤&#xff08;第一步&#xff09;技术与实现&#xff08;1&#xff09;识文字&#xff0c;取信息 在上篇文章中&#xff0c;我们讲解了简历解析的理论。一般情况下&#xff0c;我们会以图片或文档的形式收到简历&#xff0c;为了实现解析&#xff0c;首先需要将其中…

实战简历编写,打造硬核敲门砖

实战简历编写&#xff0c;打造硬核敲门砖 1.自我介绍2. 技能描述3.工作经历4.项目经历4.1 商城4.2 进销存 自我评价教育经历 1.自我介绍 简历开篇就是介绍自己&#xff0c;忌长篇大论&#xff0c;那么点时间&#xff0c;相信你自己作为面试官&#xff0c;也不想去看阅读理解 …

1小时学会不打代码制作一个网页精美简历(1)

作者简介 作者名&#xff1a;1_bit 简介&#xff1a;CSDN博客专家&#xff0c;2020年博客之星TOP5&#xff0c;蓝桥签约作者。15-16年曾在网上直播&#xff0c;带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息&#xff0c;迷茫的你会找到答案。系列教程将会在…

如何写好的前端简历

识别亮点&#xff1f; 亮点应该是那些能让你显得与众不同的经历&#xff0c;比如说&#xff1a; 做过一些深度的性能优化&#xff0c;并且有比较大的性能收益&#xff0c;能量化提升空间的。 做过一些业务逻辑特别复杂、业务影响力特别大的项目。 推进过一些制度、工具&#xf…

前端开发工程师简历

简历是什么 找工作之前投递的个人信息和工作能力----不全面 应该是&#xff1a;个人当前阶段的价值体现 前者&#xff1a;我能卖多少钱&#xff1b;后者&#xff1a;我现在值多少钱 建议&#xff1a;每隔半年/一年给自己做总结的时候写一份简历&#xff08;相当于个人价值总结…

前端 100 问:能搞懂80%的请把简历给我

更新&#xff1a;目前已达到『1.2W』Star了&#xff0c;谢谢大家的支持&#xff0c;最近折腾了一个博客网站出来&#xff0c;方便大家阅读&#xff0c;后续会有更多内容和更多优化&#xff0c;猛戳这里查看 ------ 以下是正文 ------ 引言 半年时间&#xff0c;几千人参与&a…

前端工程师简历怎么写?

其实前端工程师并不少&#xff0c;但很多时候合适的前端工程师难找。可能是由于程序员比较内向&#xff0c;前端工程师都没有把自己最厉害的那一面表现出来。今天我们来聊聊前端工程师的简历怎么写&#xff0c;希望能够对大家有帮助。 简历的重要性 简历的作用其实一直被忽…

前端简历模板

个人资料 姓名&#xff1a;嘻嘻 性别&#xff1a;女 电话&#xff1a;12132323613 邮箱&#xff1a;12132143285163.com 现居地&#xff1a;上海市 工作年限&#xff1a;3年 求职意向 期望职位&#xff1a;前端开发工程师期望薪资&#xff1a;面议 工作性质&#xff1a;…

如何写简历,Web前端简历

面试官到底想看什么样的简历&#xff1f; 面试一直是程序员跳槽时期非常热门的话题,虽然现在已经过了跳槽的旺季,下一轮跳槽需要年底才会出现,但是当跳槽季的时候你再看这篇文章可能已经晚了,过冬的粮食永远不是冬天准备的,而是秋收的时候。 点个关注,点个收藏,需要的时候就防…

黑马程序员教你如何写出优秀的前端工程师简历

对于一名想找工作的前端开发工程师而言&#xff0c;简历直接关系到面试概率甚至薪资水平&#xff0c;其重要性已不用多说。在HR快速筛选简历的情况下&#xff0c;你的简历要脱颖而出&#xff0c;就得在短时间内将自己的亮点展示给招聘方。具体怎么做&#xff1f;黑马程序员前端…