企业微信H5开发遇到的坑

企业微信官方推荐wx.agentConfig引用<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>是没有效果的

必须引用以下代码才有效果,这也是我看了社区的回答才有所收获,是一个坑

且VUE引用在线的js必须在index.html文件中,放在<head>标签里才可以

<script src="https://res.wx.qq.com/wwopen/js/jsapi/jweixin-1.0.0.js"></script><script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

企业官方说要使用wx.agentConfig这个方法就必须先引用成功wx.config这个,首先官方不支持前端做这个签名,由JAVA生成返回给前端,其中特别注意signature两次的签名不能一样,否则会报错

wx.config({beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: '', // 必填,企业微信的corpID,必须是本企业的corpID,不允许跨企业使用timestamp: '', // 必填,生成签名的时间戳nonceStr: '', // 必填,生成签名的随机串signature: '',// 必填,签名,见 附录-JS-SDK使用权限签名算法jsApiList: [] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
});wx.agentConfig({beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题debug: false,corpid: data.cropId, // 必填,企业微信的corpid,必须与当前登录的企业一致agentid: data.agentId, // 必填,企业微信的应用id (e.g. 1000247)timestamp: data.timestamp, // 必填,生成签名的时间戳nonceStr: data.nonceStr, // 必填,生成签名的随机串signature: data.agentSignature,// 必填,签名,见附录-JS-SDK使用权限签名算法jsApiList: ["getContext", "shareAppMessage", "sendChatMessage"], //必填,传入需要使用的接口名称success: function (res) {// 回调console.log('成功--', res)},fail: function (res) {console.log('fail--', res)that.$toast(res.errMsg)if (res.errMsg.indexOf('function not exist') > -1) {that.$toast('版本过低请升级')}}});

如果可信域名配置完成就可以进行开发,当然开发也有两种模式,一种是使用远程服务器开发,不用发布就可以直接在企业微信软件打开进行调试,另一种就是在本地开发,但涉及企业微信功能的API只能在发布的情况下进行调试,根据项目实际情况来,或者开发如何方便如何来

此次就记录到这里,不得不说企业微信还是有点坑的

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

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

相关文章

react hook函数式组件useState使用/params父向子传参

引入 import { useState } from "react";定义 const [count, setCount] useState(0);使用 import { useState } from "react"; function Son(params) {const [count, setCount] useState(0);function handleClick() {setCount(count 1);}// 父 <S…

js--处理object的常用方法

处理object的常用方法 1、判断数据类型2、Object.getOwnPropertyNames() 1、判断数据类型 Object.prototype.toString.call(null);// ”[object Null]” Object.prototype.toString.call(undefined);// ”[object Undefined]” Object.prototype.toString.call(“abc”);// ”…

asp.net blazor集成ReactiveUI.Blazor

asp.net blazor项目添加Nuget包ReactiveUI和ReactiveUI.Blazor 创建视图模型BlogPostViewModel继承自ReactiveObject public class BlogPostViewModel : ReactiveObject{private readonly AnonymousBlogClient _http;public List<BlogCategory> Categories { get; set; …

基于架构软件设计方法及应用

随着国内外化工行业的繁荣与发展&#xff0c;从2018年开始&#xff0c;某能源集团下属的化工部&#xff0c;连续投资建设了MES&#xff08;生产制造&#xff09;系统、设备管理系统、安全管控系统、能源管理系统。这些系统建设得都非常好&#xff0c;无论是业务的切合度&#x…

狂神说笔记 快速入门Nginx

公司产品出现瓶颈&#xff1f; 我们公司项目刚刚上线的时候&#xff0c;并发量小&#xff0c;用户使用的少&#xff0c;所以在低并发的情况下&#xff0c;一个jar包启动应用就够了&#xff0c;然后内部tomcat返回内容给用户。 但是慢慢的&#xff0c;使用我们平台的用户越来…

【考研复习】二叉树的特殊存储|三叉链表存储二叉树、一维数组存储二叉树、线索二叉树

文章目录 三叉链表存储二叉树三叉链表的前序遍历&#xff08;不使用栈&#xff09;法一三叉链表的前序遍历&#xff08;不使用栈&#xff09;法二 一维数组存储二叉树一维数组存储二叉树的先序遍历 线索二叉树的建立真题演练 三叉链表存储二叉树 三叉链表结构体表示如下图所示…

HBase之Compaction

目录 Compaction触发条件相关参数 文件选取策略ExploringCompactionPolicy常见优化 Compaction 随着memstore的不断flush&#xff0c;storefile的数量将会不断增加。compaction将通过合并storefile来减少文件数量&#xff0c;并提高读性能。conpaction以store为单位 Compacti…

飞书开发学习笔记(六)-网页应用免登

飞书开发学习笔记(六)-网页应用免登 一.上一例的问题修正 在上一例中&#xff0c;飞书登录查看网页的界面显示是有误的&#xff0c;看了代码&#xff0c;理论上登录成功之后&#xff0c;应该显示用户名等信息。 最后的res.nickName是用户名&#xff0c;res.i18nName.en_us是英…

BASE理论

BASE理论 介绍 BASE理论是指基本可用&#xff08;Basically Available&#xff09;、软状态&#xff08;Soft State&#xff09;和最终一致性&#xff08;Eventually Consistent&#xff09;。与CAP理论不同&#xff0c;BASE理论重点强调分布式系统的可用性、灵活性和实时性。…

IntelliJ IDEA 安装 GitHub Copilot插件 (最新)

注意&#xff1a; GitHub Copilot 插件对IDEA最低版本要求是2021.2&#xff0c;建议直接用2023.3&#xff0c;一次到位反正后续要升级的。 各个版本的依赖关系&#xff0c;请参照&#xff1a; ##在线安装&#xff1a; 打开 IntelliJ IDEA扩展商店&#xff0c;输入 "Git…

Gitlab CI如何实现安全获取ssh-key拉取依赖项目,打包成品

文章目录 前言配置流程注册ssh-keygit runner映射文件方法1 .gitlab-ci.yml使用方法2 docker build 实现 总结 前言 之所以写这篇文章是由于存在以下场景&#xff1a; 当前的项目编译需要依赖别的项目协同编译&#xff0c;如何将别的项目也pull到该项目里&#xff0c;编译成品…

解决跨域的方法

针对不同情况和需求&#xff0c;可以采取以下几种方法来解决跨域问题&#xff1a; JSONP&#xff08;JSON with Padding&#xff09;&#xff1a;由于在 script 标签中不存在跨域限制&#xff0c;所以可以通过动态创建 script 标签&#xff0c;将需要获取的数据包装成一个函数&…

2023-11-16 精神分析-企业主的土皇帝做法-分析

摘要: 中午在一阵头痛中被一阵电话声吵醒, 原来是个企业主给我的电话。 说明下, 此企业主是从阿里出来的, 阿里多年&#xff0c;被熏陶的深入骨髓。不过也不一定非要和工作过的企业有关, 但是必然脱不了关系。 本文记录这通诡异的电话带来的思考。 事先声明: 这几天一直在发…

数据结构-二叉树力扣题

目录 1.相同的树 2.二叉树中查找值为x的节点 3.单值二叉树 4.对称二叉树 5.二叉树的前序遍历 6.另一颗树的子树 层序遍历&#xff1a; 7.二叉树遍历 8.判断二叉树是否是完全二叉树 一个特殊的性质&#xff1a; 1.相同的树 题目链接&#xff1a;力扣&#xff08;LeetC…

NativeScript开发ios应用,怎么生成测试程序?

在 NativeScript 中&#xff0c;要部署 iOS 应用程序&#xff0c;你需要遵循以下一般步骤&#xff1a; 1、确保开发环境&#xff1a; 确保你的开发环境中已经安装了 Xcode&#xff0c;并且你有一个有效的 Apple 开发者账号。 2、构建 iOS 应用&#xff1a; 在你的 NativeScri…

docker mysql 启动报错

使用docker 启动MySQL报一下错误&#xff1a; Cant read dir of /etc/my.cnf.d (errcode 2 - No such file or directory)我的启动命令是&#xff1a; sodu docker run -p 3307:3306 --name mysql \ -v D:/docker/data/mysql/logs:/var/log/mysql \-v D:/docker/data/mysql/c…

新版软考高项试题分析精选(四)

请点击↑关注、收藏&#xff0c;本博客免费为你获取精彩知识分享&#xff01;有惊喜哟&#xff01;&#xff01; 1、一般而言&#xff0c;大型软件系统中实现数据压缩功能&#xff0c;工作在OSI参考模型的&#xff08; &#xff09;。 A.应用层 B.表示层 C.会话层 D.网络层…

【验证码逆向专栏】百某网数字九宫格验证码逆向分析

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 本文章未…

vue中ref的用法

vue中ref的用法 在项目中使用ref时有时候直接取值,有时候返回的却是一个数组,不知其中缘由,后查了一下ref用法,所以总结一下. 1.绑定在dom元素上时&#xff0c;用起来与id差不多&#xff0c;通过this.$refs来调用: <div id"passCarEchart" ref"passCarEch…

[PyTorch][chapter 63][强化学习-QLearning]

前言&#xff1a; 这里结合走迷宫的例子,重点学习一下QLearning迭代更新算法 0,1,2,3,4 是房间&#xff0c;之间绿色的是代表可以走过去。 5为出口 可以用下图表示 目录&#xff1a; 策略评估 策略改进 迭代算法 走迷宫实现Python 一 策略评估 强化学习最终是为了…