记企业微信调用wx.getContent判断进入H5页面的入口环境

判断H5页面是否在企业微信环境中打开 判断H5页面是否在企业微信环境中打开: var ua = navigator.userAgent.toLowerCase(); // 将用户代理头的值转为小写 判断微信的方法: ua.match(/micromessenger/i) == 'micromessenger' 或者 /micromessenger/i.test(navigator.userAgent); //结果为true或者false 判断企业微信环境: ua.match(/wxwork/i) == 'wxwork' 或者 /wxwo 阅读详情

首先引用所需要的js文件

<!-- config -->
<script src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<!-- agentConfig -->
<script type="text/javascript" src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>

获取config的配置信息,配置成功后在调用你所需要调用企业微信的接口

注意:如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。

调用agentConfig(注入的是应用的身份与权限)时要在config(注入的是企业的身份与权限)信息配置成功后在配置(注意:从企业微信3.0.24及以后版本(可通过企业微信UA判断版本号),无须先调用wx.config,可直接wx.agentConfig.)

wx.agentConfig({
          beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
          // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
          // debug: true,
          // 必填,企业微信的corpid,必须与当前登录的企业一致
          corpid: data.wx_corpid,
          // 必填,公众号的唯一标识
          agentid: data.wx_agentid,
          // 必填,生成签名的时间戳
          timestamp: data.sign.timestamp,
          // 必填,生成签名的随机串
          nonceStr: data.sign.nonceStr,
          // 必填,签名
          signature: data.sign.signature,
          // 必填,需要使用的JS接口列表,所有JS接口列表
          jsApiList: ["checkJsApi", "getContext", "getCurExternalContact"],
          success: function(res) {
            _this.checkJsApi()
          }
        })

 checkJsApi:当前客户端版本是否支持指定JS接口

wx.checkJsApi({
    jsApiList: ['chooseImage'], // 需要检测的JS接口列表
    success: function(res) {
        // 以键值对的形式返回,可用的api值true,不可用为false
        // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
    }
});

成功后调用wx.getContext接口,获取进入的信息,通过wx.getCurExternalContact获取用户id获取数据,后面就根据业务逻辑写就好了

checkJsApi() {
      const _this = this
      wx.checkJsApi({
        jsApiList: [ "getContext", "getCurExternalContact"], // 需要检测的JS接口列表
        success: function (res) {
          // 以键值对的形式返回,可用的api值true,不可用为false
          // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
          let obj = res.checkResult;
          wx.invoke('getContext', {}, function(res){
            if(res.err_msg == "getContext:ok"){
              // single_kf_tools  客服工具栏进入
              // entry  = res.entry ; //返回进入H5页面的入口类型,目前有normal、contact_profile、single_chat_tools、group_chat_tools、chat_attachment
              if (res.entry === 'single_kf_tools') {
                _this.getUserId()
              }
            }else {
              //错误处理
              _this.$toast('请从微信客服端进入!')
            }
          });
        },
      });
    },
    getUserId() {
      const _this = this
      wx.invoke('getCurExternalContact', {}, function(res){
        if (res.err_msg == "getCurExternalContact:ok") {
          _this.userId  = res.userId ; //返回当前外部联系人userId
          const params = {
            company_id: localStorage.getItem("company_id") || Cookies.get('company_id'),
            weixin_id: _this.userId
          }
          _this.getData(params)
        } else {
          //错误处理
          console.log('getCurExternalContact:err')
          // window.alert(res)
        }
      });
    }

 

SPD-Conv+YOLOv8:空间深度转换卷积赋能小目标检测,从原理到实战的科研级优化指南 从理解SPD-Conv“空间到深度+逐步卷积”的核心设计,到亲手将其嵌入YOLOv8并验证在小目标场景的表现,再到基于此探索属于自己的科研与工程方向——这个过程能让你深刻理解“小目标特征保留”在检测任务中的核心价值。现在就开始行动,相信你会在小目标检测的“细节捕捉”之路上,走出一条属于自己的技术路径。实验通常会证明:嵌入SPD-Conv后,YOLOv8在小目标AP上提升5-8个百分点,mAP50-95提升3-5个百分点,而推理速度仅下降5%以内,充分体现了其“保细节+提精度”的优势。 阅读详情

相关推荐

在 Dify 平台部署一个 知识库问答(KBQA) 工作流

加强检索约束,Prompt 加限制(“仅基于知识库回答”):启用缓存,使用轻量级 LLM(如 Mistral-7B)(OpenAI Embedding、M3E、BGE等)(支持 PDF/TXT/Markdown/Word)(GPU/CPU 资源,用于向量数据库和模型推理)企业内部文档(PDF/Word/Excel)网页爬取数据(Markdown/HTML)分块大小(太小→信息碎片化,太大→噪声多)相似度阈值(太高→漏检,太低→噪声多)(是否返回正确文档)结构化数据(数据库/API)

井底小蛙的博客 1520

2021-06-01

企业微信开发sendChatMessage:no permission 一、引入官方js 我是用vue写的,所以在index.html中引入一下代码: <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> 二、在App.vue中注入相关配置 // 通过config接口注入权限验证配置 let jsApiList = [ 'selectExternalContact', '

zqhs5599的博客 2209

从零打造音乐会级特雷门琴:原理、设计与调试全解析

电子乐器的工作原理通常基于信号生成与调制。特雷门琴作为世界上最早的电子乐器之一,其核心原理是利用射频振荡器和电容传感,将演奏者的手势变化转化为音高与音量信号。这种技术通过外差式混频实现音高控制,并利用压控放大器实现细腻的音量动态,其工程价值在于将抽象的空间位置信息精确映射为连续的音频参数。在音乐制作、声音艺术和交互装置等领域,这类技术为创造独特的演奏体验提供了基础。本文聚焦于如何从电路层面实现一台高稳定性的特雷门琴,详细阐述了从LC振荡器设计、天线场形优化到音色混合检波等关键环节,并分享了基于LTspice

weixin_34046298的博客 170

invoke用法

在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上的文本显示“关闭”,初学者往往会想当然地这么写: void ButtonOnClick(object sender,EventArgs e) { button.Text="关闭"; } 这样的写法运行程序之后,可能会触发异常,异常信息大致是“不能从不是创建该控件的线程调用它”。注意这里是“可能”,并不一定会触发该种异常。造...

xdwxdw01的博客 2228

用MFRC522+STM32打造智能门禁:从硬件选型到云端控制全流程

本文详细介绍了基于STM32微控制器和MFRC522射频模块构建智能门禁系统的完整流程。从硬件选型、电路设计、底层驱动开发,到系统软件架构与状态机设计,并最终实现通过ESP8266模块接入云端平台(如OneNET)进行远程控制和数据可视化。项目深入探讨了MFRC522的SPI通信、卡片操作流程、天线调试以及云端MQTT集成等关键技术,为嵌入式开发者提供了一个从本地感知到云端管控的物联网项目实战参考。

raspberrypi5的博客 741

RTKlib操作手册--使用样例数据演示

本文将使用样例数据演示如何使用RTKLIB进行rtk差分定位。

samur2的博客 7776

企业微信wx.invoke(“agentConfig“或者wx.agentConfig配置无效的方法

腾讯接口问题,大家按照我这么改动绝对成功 agentid: that.agentid+’’, // 加一个‘’ 表示字符串 //判断返回时候获取res.errMsg 判断 if (res.errMsg != “agentConfig:ok”) { //错误处理 console.log(“pppp======”); return; } ...

qq_35260055的博客 9387

告别CMake依赖!在Visual Studio 2022中直接配置VTK 9.4开发环境(附完整项目示例)

本文详细介绍了如何在Visual Studio 2022中直接配置VTK 9.4开发环境,无需依赖CMake。通过图文教程和完整项目示例,帮助C++开发者快速集成VTK库,简化开发流程,提升工作效率。特别适合科学可视化任务的开发者。

weixin_26804345的博客 414

微信服务号Java对接的四大坑与避坑指南

微信服务号接口开发本质上是HTTP通信、加密校验、平台规则与Java工程实践的深度耦合。理解其底层原理,需掌握Token签名验证、access_token生命周期管理、XML/JSON消息格式规范及CDN缓存机制等核心概念。技术价值在于构建高可用、可追溯、抗抖动的服务端能力,支撑自定义菜单、自动回复、事件处理等关键场景。实际落地中,JDK版本兼容性、Nginx头透传、ClassLoader隔离、线程安全缓存等问题频发,尤其在Spring Boot项目中易引发token验证失败、消息解析乱码、502错误等典型

weixin_33827590的博客 181

Python控制LitePoint IQxel-MW 无线网络测试仪

由于项目需要进行WIFI和BT(蓝牙)的射频测试,所以需要开发一款支持WIFI/BT射频测试的工具。开发射频测试工具的话那肯定离不开仪表的控制。我们项目用的就Litepoint的IQxel-MW无线网络测试仪。这篇文章主要就是介绍一下如何控制仪表以及实现的过程!LitePoint是美国硅谷的一家仪器厂商,主要做一些无线通讯测试仪表,包括WIFI,BT(Bluetooth),LTE等等。

xgh1951的博客 1万+

华为od 面试八股文_C语言_02_含答案

华为od 面试八股文_C语言_02_含答案

MISAYAONE的博客 2230

invoke的简介使用方法

void ButtonOnClick(object sender,EventArgs e) { this.Invoke(new Action(()=&gt; { button.Text="changed"; })); }使用场合问题如果你的后台线程在更新一个UI控件的状态后不需要等待,而是要继续往下处理,那么你就应该使用BeginInvoke来进...

weixin_39235487的博客 2410

第55篇:数据隐私保护技术盘点——差分隐私、同态加密与它们的坑(踩坑总结)

数据隐私保护是AI工程化中必须严肃对待的课题。差分隐私和同态加密是两把利器,但也都是“重武器”,使用不当反而会伤及自身。差分隐私像“模糊处理”,通过加噪来保证统计安全性,要小心管理隐私预算和效用权衡。同态加密像“保险箱里打算盘”,保证了计算的精确性,但必须承受巨大的性能和工程复杂度代价。我的建议是:从小规模实验开始,先用DP-SGD在MNIST/CIFAR-10等标准数据集上感受噪声与精度的关系;再用TenSEAL等易用的库尝试一个加密逻辑回归,体会密文膨胀和速度延迟。

ai_blue_pm的博客 281

微信公众号JS-SDK开发

日常开发中,有时候会使用到微信的js,所以我们需要做JS-SDK开发,在这里记录一下JS-SDK开发过程 在后台配置好JS安全域名,此处域名和上面网页授权的域名一致。 配置完成后,在前端需要使用微信JS的页面上请求后台去验证签名是否正确,如果正确,后台返回签名等信息,然后前端再使用签名等信息调用wx.config,在wx.config里面jsApiList[]里面的就是我们需要用到的微信J...

jiushancunMonkeyKing的博客 1230

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

打工日志 企业微信开发

在不少企业中,都要用到工单模块,而单独做一个小程序就很浪费开发时间,我们可以直接使用企业微信的审批功能,这样就能很好的解决大部分需求。

meims的博客 907

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

企业微信开发经验合集

RestTemplate真坑,估计是urlconnection问题。如果企业id、应用id等都配置正确,如果你是java项目。

Liubingzhe 1248

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

企业微信开发——企业内部自建应用开发(第三篇)---JS_SDK的wx.agentConfig配置

企业内部自建应用开发(第三篇)---JS_SDK的wx.agentConfig配置

qq_35878240的博客 4756

微信接口的使用

发送给朋友和分享到朋友圈 1.绑定域名 2.获取签名包 3.引入Js文件 4.通过config接口注入权限验证 5.通过ready接口处理成功验证 5.1 通过checkJsApi判断当前客户端版本是否支持分享参数自定义 5.2实现JS分享 ...

dust__的博客 1563

微信分享的那些坑

最近项目中有用到微信分享,记录下所遇到的坑 有兴趣的同学可以去研究下微信公众平台开发者文档 地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432 一、微信分享配置 首先在页面引用微信分享的js,注意js的版本,如果分享的链接是https开头的,建议js的版本在1.4.0以上 //res.wx.qq.c...

gao_yz的博客 1477

企业微信客户端API分享微信朋友圈使用过程及总结

本篇文章我们将介绍使用企业微信客户端API分享微信朋友圈中所遇到各式各样的API无效以及各机型的兼容问题。

weixin_44052136的博客 5112

企微(跳转踩坑)

企微跳转外部浏览器404问题

huacheng0394的博客 1693

h5链接企业微信WECOM-JSSDK的使用

在调用 JSAPI 前,需要先通过 ww.register 注册当前页面的身份信息。当执行过这段代码以后,直接放在这行代码的下面。这里面的参数需要接口来配合。

Youyzq的博客 4054

企业微信消息模板通过中转页面(h5)判断跳转pc还是跳小程序

3、上面引用时按照开发文档中进行引用的,结果你会发现有问题,wx.agentConfig这个根本调不通,文档没有更新不能用这个,得用这个。7、wx.config和wx.agentConfig需要获取签名,他们两个获取签名都是要调接口去获取的,签名的接口都不同,这个得注意。1、在进行配置的时候得先引入引用weixin-1.2.0.js,并且必须线上引入,不能npm i XXX进行引入,public->4、请求签名传的url不能转义、不加参数;index.html中引用。

weixin_41277748的博客 3103

h5应用调用企业微信api过程(获取当前外部联系人userId方法)

【代码】h5应用调用企业微信api过程(获取当前外部联系人userId方法)

jared.wang 3466

前端wx-jssdk的使用及企微和微信下分享等功能自定义处理

前端wx-jssdk的使用及企微和微信下分享等功能自定处理 一、前端wx-jssdk的使用 wx-jssdk使用需要微信公众平台内进行设置(绑定域名等操作)及后端配合才能真正使用,下文是讲述前端如何使用。 wx-jssdk的接口文档 1、导包 在main.ts中(以vite+react项目中为例),为什么在main.ts中进行使用呢?其实在index.html文件中调用也是可以的,因为我要用到上面公共方法,并且保证要完成加载在线wx-jssdk包完后,再进行挂载等步,实现异步变同步处理更方便,就放在main

weixin_45315794的博客 7983
上一篇: 2021-03-05
下一篇: vue导出excel文件下载
learning_ever
博客等级 码龄10年 40粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值