vue.js引入微信sdk?

Posted 前端工程师的吹水领域

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue.js引入微信sdk?相关的知识,希望对你有一定的参考价值。

第一次尝试在vue项目里面引入微信sdk!

为以后支付什么鬼的乱七八糟功能做铺垫!

但网上的资料真的很~铺垫~贼铺垫~

以下是连小白都能看得懂的教程!


这篇推文只是试试水~~

你可以不看内容

但请看一下末尾谢谢~

文笔不好,不喜勿喷!

如有雷同,算你倒霉!


以我现在项目里的某一个页面来做例子:

先来个判断此时是否用微信打开本网页的方法:

当isWeiXin()为true时就代表你用微信打开了这个网页啦


引入包:npm install weixin-js-sdk --save


一、关于配置:

根据你的项目架构,你可以放在APP.vue或者main.js里面,这里以main.js为例。


【配置最坑爹的就是signature(签名)!】

vue.js引入微信sdk?


开始配置各个参数:

vue.js引入微信sdk?


timestamp(时间戳):Date.now()   JS的时间戳获取方式


nonceStr(16位自定义随机字符串):

关于这个字符串,在这里介绍一种小白能理解的方法,如下

vue.js引入微信sdk?

62个字符,每次调用采用随机数return一个字符,不要问我为什么下面写的是61....(如果你不知道为啥,我推荐你去中山火炬职院信息系好好学习一下!)

然后写一个16次的for循环,最终拼接起来就是个16位纯随机的字符串啦。

vue.js引入微信sdk?

这样写....小白应该看得懂吧...


signature(签名):这个签名是最烦人的!。。。

  1. 先简介一下jsapi_ticket

    vue.js引入微信sdk?

    vue.js引入微信sdk?


  2. jsapi_ticket的获取方式:

    (下次有时间就发一篇关于node后台的攻略。。。)


  3. 签名主要由 jsapi_ticket、nonceStr、timestamp、url四个部分按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。

    vue.js引入微信sdk?


  4. vue.js引入微信sdk?


  5. sha1加密方式传说是最安全的加密方式,分享个sha1.js:http://files.cnblogs.com/mofish/sha1.js,如果你可以使用import或者require方式引入就最好了,如果你不能引入或者有其他问题,你可以采用下面这种小白方式:将下图所示function直接copy进main.js。

    vue.js引入微信sdk?


  6. 以上jsapi_ticket、nonceStr、timestamp、url四个参数准备好后,便可以设置config了:

    vue.js引入微信sdk?



二、局部文件自定义分享内容设置(以项目某个详情页为例)

  1. 有两种情况:一种是用户点击微信右上角调出的分享,那么我们就要在渲染出页面前就配置好分享的内容,等待用户去分享就行(固定的分享内容);另一种是你的页面有一个按钮-点击后就调用了微信的分享(动态的分享内容),这种的话不止要做前者的预配置,还要在你调用该按钮的时候再重新设置一次动态生成的内容。


  2. 以固定分享内容为例:

    我在加载该页整体数据的function请求成功后就开始做分享内容的设定(如果是微信打开该网页的情况下)

  3. 有一点要强调一下:如果你有多个页面可以分享,那么最好做全局性的配置,比如说写一个全局方法,每次分享的设置只需要传入上面所说的四个参数后进行一次配置,注意是进行一次配置!如果你的执行序反过来,那你是得不到效果的;每次进入到一个新的页面时,要清除掉已经做好的分享监听内容,或者是重新盖掉监听内容,否则就会出现A页面做了配置,跳转到B页面,用户点了分享,却分享了A页面的内容。。。呵呵~


按照以上流程配置完后

可以在微信开发者工具上做测试了!


下次打算写一篇

egg框架的node后台搭建与使用

或者是

前端直传阿里云oss与node后台传oss


前端工程师的吹水领域!

每周看心情更新~~~

文笔不好,不喜勿喷!

如有雷同,算你倒霉!

《中山好人好事》


以上是关于vue.js引入微信sdk?的主要内容,如果未能解决你的问题,请参考以下文章

uniapp h5引入微信JS-SDK后获取不到wx对象

Vue自学笔记(1)引入vue.js步骤

微信jssdk的使用

vuejs 项目引入微信jssdk

引入vue.js 文件

微信公众号开发之vue整理