前言

企业微信JS-SDK是企业微信面向网页开发者提供的基于企业微信内的网页开发工具包。 – 企业微信开发文档

所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),且可信域名必须有ICP备案且在管理端验证域名归属。

步骤一:引入js文件

在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js

<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

步骤二:通过config接口注入权限验证配置

所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA(single-page application)的web app可在每次url变化时进行调用)。

wx.config({beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: '', // 必填,企业微信的corpIDtimestamp: , // 必填,生成签名的时间戳nonceStr: '', // 必填,生成签名的随机串signature: '',// 必填,签名,见 附录-JS-SDK使用权限签名算法jsApiList: [] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
});
  • 生成签名算法详见:附录-JS-SDK使用权限签名算法(你把url传过去,后端给你出好接口,注意你给的url地址一定是 #以前的部分

封装方法

熟悉了解以上步骤,下面开始进行封装

1. 采用混入的方法去使用这个官方SDK

    1. 创建mixin,weChat.js
import { getCorp, getAgentConfig } from '@/api/wechat' // 这是后端给的接口,用于获取签名算法等信息// 调用agentConfig的注意事项// 调用wx.agentConfig之前,必须确保先成功调用wx.config. 注意:从企业微信3.0.24及以后版本(可通过企业微信UA判断版本号),无须先调用wx.config,可直接wx.agentConfig.
// 仅部分接口才需要调用agentConfig,需注意每个接口的说明const weChatMixin = {methods: {// 用于调用wx.configasync wxInterfaceCall(url, wxApi, fn) { const wx = window.wxconst res = await getCorp({ url })if (res.code === 200) {if (res.code === 200) {const datas = res.resultwx.config({debug: true,appId: datas.appid,timestamp: datas.timestamp,nonceStr: datas.nonceStr,signature: datas.signature,jsApiList: Array.isArray(wxApi) && wxApi.length > 0 ? wxApi : []})if (fn && typeof fn === 'function') {wx.ready(() => {fn(wx)})}}}},// 用于需要 调用agentConfig的接口async wxAgentConfig(url, wxApi, fn) { const wx = window.wxconst res = await getCorp({ url })if (res.code === 200) {if (res.code === 200) {const datas = res.resultwx.config({beta: true,debug: false,appId: datas.appid,timestamp: datas.timestamp,nonceStr: datas.nonceStr,signature: datas.signature,jsApiList: ['agentConfig']})wx.ready(() => {wx.checkJsApi({jsApiList: ['agentConfig'],success: async() => {const res1 = await getAgentConfig({ url })if (res1.code === 200) {const dataRes = res1.resultwx.agentConfig({corpid: dataRes.appid, // 必填,企业微信的corpid,必须与当前登录的企业一致agentid: dataRes.agentid, // 必填,企业微信的应用id (e.g. 1000247)timestamp: dataRes.timestamp, // 必填,生成签名的时间戳nonceStr: dataRes.nonceStr, // 必填,生成签名的随机串signature: dataRes.signature, // 必填,签名,见附录-JS-SDK使用权限签名算法jsApiList: Array.isArray(wxApi) && wxApi.length > 0 ? wxApi : [],success: res => {if (fn && typeof fn === 'function') {fn(wx)}}})}}})})}}}}
}export default weChatMixin
    1. 在你要调用微信sdk签名的页面去调用就ok了
<template><div>....</div>
</template>
<script>
import weChatMixin from '@/mixin/weChat' export default {mixins: [weChatMixin], methods: {// 加客户addClient() {this.wxAgentConfig(this.getSignUrl.split('#')[0], ['navigateToAddCustomer'], wx => {wx.invoke('navigateToAddCustomer',{type: 1,userid: this.routeQuery.id},function(res) {...});})},},
};
</script>

企业微信 - 封装JS-SDK使用方法相关推荐

  1. 微信开放JS SDK,再次给浏览器们上了一课

    2015 年刚刚开始,微信 JS SDK 发布,惊爆众人,HTML5 产业好事连连. JS SDK 这个概念,其实微博和淘宝的开放平台很早前就有,包括手机 QQ 前段时间也推出了几个增强 API,但都 ...

  2. 企业微信推送消息延迟_一种基于企业微信的消息推送方法与流程

    本发明涉及消息推送技术领域,特别涉及一种基于企业微信的消息推送方法. 背景技术: 随着微信公众号的普及,微信企业号也越来越受到人们的关注.而腾讯公司在微信企业号的基础上又进行了进一步的升级,提供了类似 ...

  3. 微信企业号JS SDK

    微信企业号JS SDK <?php define('CorpID', "wx82e2c31215d9a5a7"); define('CorpSecret', "&q ...

  4. 微信开放JS SDK,这场web巨变意味着什么?

    原文链接:原文链接 作者王安 如有侵权请及时联系,立即删除. 摘要:微信近期推出JS SDK,开放了包括分享.图像.地理位置.微店.微信支付等11个接口.新能力给公众号运营者.开发者更多的玩法.而这样 ...

  5. 企业微信如何设置发票抬头 管理员在企业微信设置发票抬头的方法介绍

    企业微信如何设置发票抬头?公司的发票抬头在企业微信中是由管理员在后台进行设置的,接下来的文章中小编将会带来详细的操作流程,感兴趣的朋友不要错过哦! 管理员在企业微信设置发票抬头的方法介绍 1.管理员在 ...

  6. python项目开发计划_开源项目 | 企业微信第三方Python SDK项目启动计划

    各位知友大家好!我是量潮科技创始人 @iGuo ,这篇文章和大家分享我们公司目前的一些技术进展和一些开源项目的规划. 在技术方面,我们目前还处在搭建平台的早期阶段:在架构完善以后,我会专门写一篇文章介 ...

  7. 微信如何添加企业微信信息服务器地址,企业微信怎么添加管理员 设置方法介绍...

    企业微信是很多小伙伴在日常工作中都会使用到的一款办公软件,它可以有效的提高团队的交流效率,让大家的办公更加简单高效,不少小伙伴都会在软件中设置多位管理员来协助自己管理企业,提高企业的管理效率促进企业发 ...

  8. 企业微信可信域名个人配置方法,个人添加企业微信可信IP方法

    截止2022年12月11日,目前方法已经失效. 各平台累计浏览量13W左右,估计微信都想不到突然之间怎么这么多人用企业微信,之前验证过的域名还可以正常使用,再新验证的域名大多都已经失效了,感谢大家20 ...

  9. 前端开发处理企业微信浏览器时,开启企业微信浏览器调试模式的方法。

    具体方法如下: 1.下载pak文件到企业微信的版本目录下. pak文件 2.重启企业微信. 3.打开后进行快捷键. windows:快捷键 ctrl + alt + shift + D,进入调试模式: ...

最新文章

  1. mysql索引能重复吗_mysql重复索引与冗余索引实例分析
  2. gradle 配置java 项目maven 依赖
  3. 常见软件架构方式的区别
  4. Spring注解中@Configuration和@Configurable的区别
  5. python学习笔记(15)循环设计
  6. P1848 [USACO12OPEN]Bookshelf G(线段树优化 DP)
  7. 突破性能极限——阿里云神龙最新ASPLOS论文解读
  8. 白话中台战略:中台是个什么鬼?
  9. php 连接主从redis,PHP7对Redis的扩展及Redis主从搭建
  10. Cstyle的UEFI导读之SEC第一篇 Reset Vector
  11. C++ RapidXml快速入门
  12. 标准Lena测试图像下载
  13. 鹏业安装算量软件功能按钮汇总(一)
  14. Unity可编程渲染管线系列(十)细节层次(交叉淡化几何体)
  15. Hbuilder 历次版本更新记录
  16. git 同时连接云效平台和github
  17. flutter 相机加入mask(遮罩层)
  18. Openstack Trove概要
  19. AI人工智能—数据标注的主要类型和标注注意事项
  20. 这些年,亲眼所见的软件公司中混迹的老油条汇总

热门文章

  1. 游戏运营是什么?运营专员需要具备什么能力?
  2. 如何使用轻量应用服务器搭建高颜值的YesPlayMusic网易云播放器
  3. cmd命令行窗口打开python文件显示拒绝访问
  4. 什么是搜索引擎留痕?
  5. 微信朋友圈广告投放审核服务器,微信朋友圈广告位投放文案审核规范
  6. OpenCV读取图片和保存图片全黑
  7. lsdyna如何设置set中的node_list_如何画出一幅好看的图
  8. 链表实现学生信息管理系统
  9. input 起止时间_几种常用的控件(下拉框 可选框 起止日期 在HTML页面直接读取当前时间)...
  10. 2022年卡塔尔世界杯的“科技与狠活”