tnblog
首页
视频
资源
登录

VUE(前端)使用微信JSSDK

11918人阅读 2020/3/31 15:27 总访问:296705 评论:0 收藏:0 手机
分类: .NET
  1.  前端使用微信 JSSDK
  2.  需绑定域名不能带有http、https开头



  1. 前端使用时直接引入js
  2. 微信提供了两种js
  3. 在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.6.0.js
  4. 如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.6.0.js (支持https)
  5. 安装 npm i -S weixin-sdk-js  微信sdk包
  6. import wx from "weixin-sdk-js"; 引入微信jssdk


二,注册


wx.config({
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  appId: '', // 必填,公众号的唯一标识
  timestamp: , // 必填,生成签名的时间戳
  nonceStr: '', // 必填,生成签名的随机串
  signature: '',// 必填,签名
  jsApiList: [] // 必填,需要使用的JS接口列表});
  
  
签名获取// (可以后台获取 access_token)
     
  
参考以下文档获取access_token(有效期7200秒,开发者必须在自己的服务全局缓存access_token):https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
用第一步拿到的access_token 采用http GET方式请求获得jsapi_ticket(有效期7200秒,开发者必须在自己的服务全局缓存jsapi_ticket)
:https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

//后台跟前端获取到的都是json对象



    前端返回对象

签名算法

签名生成规则如下:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。

对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。

这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。



步骤1. 对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1:

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=http://mp.weixin.qq.com?params=value

步骤2. 对string1进行sha1签名,得到signature:

0f9de62fce790f9a083d5c99e95740ceb90c27ed

注意事项

  1. 签名用的noncestr和timestamp必须与wx.config中的nonceStr和timestamp相同。

  2. 签名用的url必须是调用JS接口页面的完整URL。

  3. 出于安全考虑,开发者必须在服务器端实现签名的逻辑。

   官方jssdk地址  https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html


注意事项 :前端权限注册时,时间戳,随机字符串必须跟签名算法一样否则报错



评价

01-后端开发的-MVC-与前端开发-MVVM-之间的区别

现在网站开发一般都是前台页面与后台的数据交互相互分离的状态,两者之间可以使用 Ajax 远程发送和响应数据,[注意:当然也不...

前端---css

一,css的三大特性层叠性,继承性,优先级。1,层叠性:指多种css样式。如果样式冲突,会以css的书写顺序,将最后的样式为准...

前端、Cordova安卓、iOS开发,全自学 一个星期多时间累死我了,撑过来了

前言自学前端之路:不知不觉出来工作已经快一个月了,给你们分享一下状况正文最近公司用的项目是ionic框架开发不得不自学哇...

react前端开发环境搭建

(一) 安装Node.js,具体步骤如下首先,我们需要安装Node.js,直接搜索并在官网下载安装包Node.js官网:https://nodejs.org/...

前端好用的导出excel插件,可自定义写导出样式等等

前端好用的导出excel插件,可自定义写导出样式等等github:https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md

@postmapping参数接受_spring-boot如何去获取前端传递的参数

原文链接:https://blog.csdn.net/weixin_39875167/article/details/112091649url里的参数通过url里传过来的参数一般有三种...

前端容器启动时执行命令

dockerfile FROM nginx RUN rm /etc/nginx/conf.d/default.conf ADD ./default.conf /etc/nginx/conf.d COPY ./c...

vue布局模板,前端布局模板,flex布局应用

设计图效果: 代码: <!-- 学习活跃度 --> <template> <div class="learnActivityContainer&q...

前端jsts小写数字转大写

简单的处理就是用一个键值对来匹配写好对应的键值对: const state = reactive({ smallBigDic: { 1: "...

C ?、?? 问号和2个问号的用法(类型?、对象?

C# ?C# ???:单问号1.定义数据类型可为空。可用于对int,double,bool等无法直接赋值为null的数据类型进行null的赋值如这...

Python实例 1-日志抓取处理 补错(附日志小技巧

有时候数据出了问题,可以从日志中恢复数据(如果你没记日志..没备份..→_→..)一、日志展示介绍个平常自己用的小方法,如...

C 数组拆分(泛型

主要用到了泛型。泛型是c#2.0的一个新增加的特性,它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值...

C网络流读取(图片

stringurl="...."; Streamstream=WebRequest.Create(url).GetResponse().GetResponseStream(); constintbuffer...

MySQL 视图的(增删改 查

要显示视图的定义,需要在SHOWCREATEVIEW子句之后指定视图的名称, 我们先来创建几张表,完事后在进行演示:--用户信息表...

使用NPOI导出excel(包括图片

Excl模板导出相信我们都会,那么模板上要导出图片呢?嗯~还是来个例子:准备工作:首先要引用NPOI包:然后获取数据集(我这...
若人生只如初见,愿还是相遇的那个下午,阳光明媚转身一笑便如春暖花开
排名
16
文章
53
粉丝
7
评论
13
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
重要的事情,你怎么不做呢?