微信js-sdk的使用(asp.net + angular)

在有认证公众号或测试号的前提下(建议先到本目录下查看微信公众号授权登录文档入门),接入微信接口,完善系统,下面以测试号和新闻稿系统为例说明。


配置js安全域名

配置安全域名才能使用js-sdk,只允许指定域名内的url访问。

13908708-d54835cd630a6101.png
配置安全域名



全局缓存并刷新access_token、jsapi_ticket

此处的access_token和授权登录的票据不一样,不可混为一谈,同样获取票据接口有次数限制,因此在Global.asax里面定时获取,同样js凭证在调用接口的时候也是需要使用的,也有次数等限制,所以统一全局缓存并刷新,下面是具体代码:

13908708-7a9d507de5dd13bc.png
C# global.cs,应用启动时触发
13908708-26766cd4bc6e7344.png
刷新逻辑


根据jsapi_ticket完成签名

在对微信sdk进行配置前,要先完成签名,签名要求如下:

参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义

具体代码如下:

13908708-00083e3ecd6dde55.png
C#实现签名
13908708-de103037dc9d7adb.png
签名实体类


引入sdk(http://res.wx.qq.com/open/js/jweixin-1.2.0.js)

既然这个sdk是js文件,那当然需要引入,引入我们分为几种方式,一种是直接引入,即是在html中添加script标签;第二种是按需加载,按需加载又可以分为require加载和动态加载。因为是后期添加sdk功能上去的,直接引入和require都不太方便,所以采用动态加载,引入方式如下:

定义动态引入方法

13908708-c71f987d2c4b9236.png
自定义加载script的方法


使用sdk(config、ready、error)

13908708-6ef6e755a3e8cc03.png
配置jssdk


config里面的参数从后台签名中获取,jsApiList是将来需要调用的接口,这里添加了两个接口,一个是分享给用户,一个是微信扫一扫,如需添加其他接口按照附录添加即可。

用户触发的接口可以在ready外。

更多接口还是以官方文档为准,这里只提供一个思路,万变不离其宗(微信支付接口测试号好像无权调用)。



上机测试

...



参考:

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

13908708-e3f2a48deb19a785.png
示范测试号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值