中药材天地网做中药零售网站,简洁大气蓝色文章资讯网站,校园网登录入口,网站平台建设技术基础效果展示#xff08;需要使用微信内置浏览器打开#xff09;#xff1a; 目录
1. 快速集成H5开发应用
1.1 开始 1.2 创建应用
1.2.1 登录管理后台
1.2.2 添加自建应用
1.2.3 配置应用 1.2.4 获取应用的 AgentID 与 Secret
1.3 配置应用
1.3.1 配置应用主页 1.3.2 配置… 效果展示需要使用微信内置浏览器打开 目录
1. 快速集成H5开发应用
1.1 开始 1.2 创建应用
1.2.1 登录管理后台
1.2.2 添加自建应用
1.2.3 配置应用 1.2.4 获取应用的 AgentID 与 Secret
1.3 配置应用
1.3.1 配置应用主页 1.3.2 配置鉴权
2. 使用JS-SDK说明
步骤一引入JS文件
步骤二通过config接口注入权限验证配置
步骤三通过ready接口处理成功验证
步骤四通过error接口处理失败验证
2.1 调起企业微信扫一扫接口
3. 全部代码
wx.config 中参数说明
1. debug
2. appId
3. timestamp、nonceStr、signature 等
3.1 signature签名生成规则如下
3.2 获取 jsapi_ticket
3.3 获取access_token
4. jsApiList 1. 快速集成H5开发应用
根据官方文档进行配置。
1.1 开始 1.2 创建应用
1.2.1 登录管理后台
登录 企业微信管理后台。 注意请确保你的账号已经拥有当前企业的 超级管理员 或 分级管理员 权限。 1.2.2 添加自建应用
在 应用管理 界面选择 应用 并在 自建 中点击 创建应用。 1.2.3 配置应用
在弹出框填写应用的图标、标题、描述和可见范围基本信息。 注意开发阶段“应用可见范围”可先选择小范围可见待开发完成后再开放给企业员工。 1.2.4 获取应用的 AgentID 与 Secret
查看应用详情可以获取到应用接口的几个重要参数。
字段说明AgentId应用的唯一标识用于接口区分不同应用或者回调通知中标识通知来源。Secret用于获取access_token相当于登录密码开发者应保管好该字段值避免在公开场合暴露比如在网页参数
在自建应用的首页复制出 AgentID。
并且点击 Secret 查看将当前应用的 Secret 发送到企业微信中。 1.3 配置应用
1.3.1 配置应用主页
应用主页是从工作台点击进入应用后直接打开的页面应用的主页可以设置成网页或者小程序。
登录管理后台在应用详情页面点击 应用主页选中 网页设置工作台应用主页。 1.3.2 配置鉴权
对于需要通过应用获取登录用户信息的应用须在管理后台配置当前应用的可信域名。如果你的应用并不需要该功能可以跳过这一步。
登录管理后台在应用详情页面开发者接口 网页授权及JS-SDK点击 设置可信域名在输入框填入该应用的线上域名。 关于网页授权登录相关的更多信息请参考 网页授权登录。 根据官方文档的步骤有几点需要注意一下
已经注册了有效的企业微信企业并且拥有该企业的超级管理员或分级管理员权限。获取 AgentID 与 Secret并保存发送给后台人员方便后续调用接口获取签名后面会提到。配置应用主页网页地址为http://127.0.0.1/XXX.html这样的地址是不合格的会以下报错误意思是invalid url domain当前页面所在域名与使用的appid没有绑定请确认正确填写绑定的域名如果使用了端口号则配置的绑定域名也要加上端口号一个appid可以绑定三个有效域名。最好是部署到服务器上的可用地址。配置鉴权其实就是配置你在应用中使用到的接口域名当填写可调用JS-SDK、跳转小程序的可信域名提示“域名所有权校验不通过”时要点击下面的“申请校验域名”根据提示下载文件并将这个文件放到域名根目录下此时再去填写可信域名就可以了。完成上面步骤后就可以开始开发调用企业微信扫一扫的API。下面图面是开发企业微信扫一扫查看官方文档的步骤。 企业微信JS-SDK是企业微信面向网页开发者提供的基于企业微信内的网页开发工具包。
通过使用企业微信JS-SDK网页开发者可借助企业微信高效地使用拍照、选图、语音、位置等手机系统的能力同时可以直接使用企业微信分享、扫一扫等企业微信特有的能力为企业微信用户提供更优质的网页体验。
2. 使用JS-SDK说明 所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名)且可信域名必须有ICP备案且在管理端验证域名归属。 验证域名归属的方法在企业微信的管理后台“我的应用”里进入应用设置应用可信域名。 步骤一引入JS文件 在需要调用JS接口的页面引入如下JS文件支持httpshttp://res.wx.qq.com/open/js/jweixin-1.2.0.js script srchttp://res.wx.qq.com/open/js/jweixin-1.2.0.js/script 为支持微信插件原企业号功能请引用此文件。原企业微信的js文件在微信插件不生效。 jweixin-1.6.0 版本企业微信客户端暂不支持。 步骤二通过config接口注入权限验证配置 所有需要使用JS-SDK的页面必须先注入配置信息否则将无法调用同一个url仅需调用一次对于变化url的SPAsingle-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使用权限签名算法。后面会提一下。 步骤三通过ready接口处理成功验证 wx.ready(function(){// config信息验证后会执行ready方法所有接口调用都必须在config接口获得结果之后config是一个客户端的异步操作所以如果需要在页面加载时就调用相关接口则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口则可以直接调用不需要放在ready函数中。
}); 步骤四通过error接口处理失败验证 wx.error(function(res){// config信息验证失败会执行error函数如签名过期导致验证失败具体错误信息可以打开config的debug模式查看也可以在返回的res参数中查看对于SPA可以在这里更新签名。
}); 2.1 调起企业微信扫一扫接口 wx.scanQRCode({desc: scanQRCode desc,needResult: 0, // 默认为0扫描结果由企业微信处理1则直接返回扫描结果scanType: [qrCode, barCode], // 可以指定扫二维码还是条形码一维码默认二者都有success: function(res) {// 回调var result res.resultStr;//当needResult为1时返回处理结果},error: function(res) {if (res.errMsg.indexOf(function_not_exist) 0) {alert(版本过低请升级)}}
});3. 全部代码 !DOCTYPE html
html langen
headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width,initial-scale1,minimum-scale1,maximum-scale1,user-scalableYestitle微信扫码/title
/head
bodydiv classlbox_close wxapi_formh3微信扫一扫/h3input idcodeValuebutton idscanQRCode扫码/button /div
/body
/html
script srchttp://res.wx.qq.com/open/js/jweixin-1.2.0.js/script
script src../js/jquery.min.js/script
scriptvar url encodeURIComponent(window.location.href);var baseUrl http|https://可信域名;// 签名生成规则如下// 参与签名的参数有四个: noncestr随机字符串, jsapi_ticket(如何获取参考“获取企业jsapi_ticket”以及“获取应用的jsapi_ticket接口”), // timestamp时间戳, url当前网页的URL 不包含#及其后面部分// **即获取签名首先需要jsapi_ticket而jsapi_ticket需要参数access_token而获得access_token需要appId、appSecret$(document).ready(function () { $.get(baseUrl/whTraceWeb/jsapi/getSign?tokenUrldecodeURIComponent(url), function(obj){wx.config({beta: true,// 必须这么写否则wx.invoke调用形式的jsapi会有问题debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来若要查看传入的参数可以在pc端打开参数信息会通过log打出仅在pc端时才会打印。appId: obj.appId, // 必填公众号的唯一标识timestamp: obj.timestamp, // 必填生成签名的时间戳 % Html.Encode(ViewData[timestamp ]) %nonceStr: obj.nonceStr, // 必填生成签名的随机串signature: obj.signature, // 必填签名jsApiList: [checkJsApi,scanQRCode] // 必填需要使用的JS接口列表, 这里只需要调用扫一扫}); }); wx.ready(function(){wx.checkJsApi({ //判断当前客户端版本是否支持指定JS接口jsApiList: [scanQRCode],success: function (res) {// 以键值对的形式返回可用true不可用false。如{checkResult:{scanQRCode:true},errMsg:checkJsApi:ok}if(res.checkResult.scanQRCode ! true){alert(抱歉当前客户端版本不支持扫一扫);}},fail: function (res) { //检测getNetworkType该功能失败时处理alert(checkJsApi error);}});}); //wx.ready结束wx.error(function(res){alert(错误信息:JSON.stringify(res));}) });$(#scanQRCode).click(function(event){wx.scanQRCode({desc: scanQRCode desc,needResult : 1, // 默认为0扫描结果由企业微信处理1则直接返回扫描结果scanType : [ qrCode, barCode ], // 可以指定扫二维码还是一维码默认二者都有success : function(res) {console.log(调用扫描成功,res);var result res.resultStr; // 当needResult 为 1 时扫码返回的结果$(#codeValue).val(result);//显示结果alert(扫码结果为 result);},error:function(res){console.log(res)if (res.errMsg.indexOf(function_not_exist) 0) {alert(版本过低请升级)}}}); //wx.scanQRcode结束}); 4. wx.config 中参数说明 wx.config({beta: true,// 必须这么写否则wx.invoke调用形式的jsapi会有问题debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来若要查看传入的参数可以在pc端打开参数信息会通过log打出仅在pc端时才会打印。appId: , // 必填企业微信的corpIDtimestamp: , // 必填生成签名的时间戳nonceStr: , // 必填生成签名的随机串signature: ,// 必填签名见 附录-JS-SDK使用权限签名算法jsApiList: [] // 必填需要使用的JS接口列表凡是要调用的接口都需要传进来
}); 1. debug 当应用测试完成要上传到服务器上时最好关闭debug即将 debug 设置为false。否则会在客户端弹出很多信息例如下面 2. appId 来自“我的企业-企业信息-企业ID”而非自建应用中的AgentId。 3. timestamp、nonceStr、signature 等 将具体生成规则告诉后台让后台帮忙返回这几个字段值。原因是为了避免信息密钥泄露以及访问次数的限制。具体的生成规则查看 JS-SDK使用权限签名算法。 3.1 signature签名生成规则如下 参与签名的参数有四个: noncestr随机字符串, jsapi_ticket(如何获取参考“获取企业jsapi_ticket”以及“获取应用的jsapi_ticket接口”), timestamp时间戳, url当前网页的URL 不包含#及其后面部分 将这些参数使用URL键值对的格式 即 key1value1key2value2…拼接成字符串string1。 有两个注意点1. 字段值采用原始值不要进行URL转义2. 必须严格按照如下格式拼接不可变动字段顺序。 jsapi_ticketJSAPITICKETnoncestrNONCESTRtimestampTIMESTAMPurlURL 示例 : 假如有如下参数 noncestr Wm3WZYTPz0wzccnW
jsapi_ticket sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg
timestamp 1414587457
url http://mp.weixin.qq.com?paramsvalue步骤1. 将这些参数拼接成字符串string1 jsapi_ticketsM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qgnoncestrWm3WZYTPz0wzccnWtimestamp1414587457urlhttp://mp.weixin.qq.com?paramsvalue步骤2. 对string1进行sha1签名得到signature 0f9de62fce790f9a083d5c99e95740ceb90c27ed 注意事项 签名用的noncestr和timestamp必须与wx.config中的nonceStr和timestamp相同。签名用的url必须是调用JS接口页面的完整URL。出于安全考虑开发者必须在服务器端实现签名的逻辑。 3.2 获取 jsapi_ticket timestamp、nonceStr、signature 这3个字段中主要是获取 signature 比较麻烦不过这里交给后台处理了我们只需要将步骤告诉他后面连接他给的接口就行了。获取 signature 首先就要获取 jsapi_ticket而获取 jsapi_ticket需要参数 access_token。按照官方文档的顺序先来说如何获取 jsapi_ticket 吧 jsapi_ticket 是H5应用调用企业微信JS接口的临时票据。正常情况下jsapi_ticket的有效期为7200秒通过access_token来获取。由于获取jsapi_ticket的api调用次数非常有限一小时内一个企业最多可获取400次且单个应用不能超过100次频繁刷新jsapi_ticket会导致api调用受限影响自身业务开发者必须在自己的服务全局缓存jsapi_ticket。 请求方式GETHTTPS请求URLhttps://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_tokenACCESS_TOKEN 请求参数必须说明access_token是调用接口凭证 企业内部开发获取方式参考“获取access_token” 第三方应用开发获取方式参考“获取企业凭证”返回结果 {errcode:0,errmsg:ok,ticket:bxLdikRXVbTPdHSM05e5u5sUoXNKd8-41ZO3MhKoyN5OfkWITDGgnr2fwJ0m9E8NYzWKVZvdVtaUgWvsdshFKA,expires_in:7200
} 返回结果参数说明ticket生成签名所需的 jsapi_ticket最长为512字节expires_in凭证的有效时间秒 3.3 获取access_token
为了安全考虑开发者请勿将access_token返回给前端需要开发者保存在后台所有访问企业微信api的请求由后台发起。获取access_token是调用企业微信API接口的第一步相当于创建了一个登录凭证其它的业务API接口都需要依赖于access_token来鉴权调用者身份。 因此开发者在使用业务接口前要明确 access_token的颁发来源使用正确的 access_token。
请求方式 GETHTTPS请求地址 https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpidIDcorpsecretSECRET注此处标注大写的单词ID和SECRET为需要替换的变量根据实际获取值更新。其它接口也采用相同的标注不再说明。
请求参数必须说明corpid是企业ID非自建应用中的 AgentId。获取方式参考术语说明-corpidcorpsecret是应用的凭证密钥即自建应用中的Secret。获取方式参考术语说明-secret
权限说明 每个应用有独立的secret获取到的access_token只能本应用使用所以每个应用的access_token应该分开来获取。
返回结果
{errcode: 0,errmsg: ok,access_token: accesstoken000001,expires_in: 7200
}
返回结果参数说明errcode出错返回码为0表示成功非0表示调用失败errmsg返回码提示语access_token获取到的凭证最长为512字节expires_in凭证的有效时间秒
4. jsApiList 需要使用的JS接口列表凡是要调用的接口都需要传进来。例如这里使用了判断当前客户端版本是否支持指定JS接口 wx.checkJsApi、企业微信扫一扫 wx.scanQRCode两个接口所以传 jsApiList: [checkJsApi, scanQRcode]。 参考博客
调用微信公众平台扫一扫示例及解决接口报错 { errMsg: config:invalid signature } - 名字被占用。 - 博客园一、解决报错问题 单从报错信息 invalid signature 就可以看出是 签名signature 有问题 查了很多资料终于知道了问题点 后台让我直接调接口是不对的签名是根据请求接口的页https://www.cnblogs.com/lyr1213/p/9166982.html企业微信自建页面开发调用JS-SDK api的一些问题_qq_夏阳的博客-CSDN博客_企业微信sdk开发先来看下企业微信的文档1可信域名域名在你创建的应用里面配置点击应用管理-点开你的应用设置可信域名即可跟微信公众号开发是一样的需要放置一个.txt的校验文件在域名下面2引入js文件一定要是这个文件不能是微信公众号里面的文件地址http://res.wx.qq.com/open/js/jweixin-1.2.0.js3api注册要把你使用的api 全部放在jsApiList里面开发调试过程中debug:true ,这样在调试过程中报错就会提示出.https://blog.csdn.net/qq_41806475/article/details/106873516?spm1001.2101.3001.6650.1utm_mediumdistribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_paycolumn_v3depth_1-utm_sourcedistribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_paycolumn_v3utm_relevant_index2微信企业号或微信公众号调用扫一扫功能_Ag_yangyx的博客-CSDN博客_企业微信调用扫一扫微信企业号或微信公众号调用扫一扫功能JS-SDK安全域名配置配置设置好之后下面就上代码java代码JS-SDK安全域名配置企业微信号 —— 安全域名配置需要通过验证如下图微信公众 ——— 安全域名配置设置 ——公众号设置 —— 功能设置 ——JS接口安全域名设置 如下图配置设置好之后下面就上代码!DOCTYPE html...https://blog.csdn.net/qq_38528283/article/details/88666983?utm_term%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E5%AE%9E%E7%8E%B0%E6%89%AB%E4%B8%80%E6%89%AButm_mediumdistribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-5-88666983spm3001.4430微信公众号网页调用微信扫一扫功能_m0_37027631的博客-CSDN博客_微信公众号扫一扫目录前言准备条件用到的微信接口代码效果总结前言 最近其他项目组需要在微信公众号里面调用微信的扫一扫功能于是就帮忙一起搞了搞一开始以为挺简单从网上搜一下教程弄一下就可以了没成想还挺麻烦的网上的教程呢好多都是会了不用看不会的看了也没啥用的。于是自己在弄完以后想着写一篇博客造福一下大家。希望对大家能有所帮助。准备条件 1、ICP备案的域名并且绑定对应的外网服务器。 用处你写的扫一扫功能的代码只有放到这个域名所对...https://blog.csdn.net/m0_37027631/article/details/106112523前端调用微信扫一扫 - 剑无尘 - 博客园前端页面调用微信扫一扫功能。。。首先浏览器环境为微信内置浏览器才可以调用微信扫一扫。 首先需要引用 微信的JS script srchttps://res.wx.https://www.cnblogs.com/cr-cool/p/10959974.html