H5实现微信分享自定义&地图

这几天紧急开发一个拼团+砍价的H5微信小商城。技术用的是:前端Vue+Vant快速开发组件框架、后端java。

  • 使用微信js-sdk流程图:

这里记录一下微信分享自定义:

1. 申请微信测试号

测试账号拥有几乎所有的公众号接口,而个人只能申请订阅号,几乎没有接口可用,并且消息推送还会受到次数限制。如果只是做开发测试的话,那么测试帐号比较好用。

扫码登录即申请成功!登录后可以看到测试号的appID、appsecret

设置一下js安全接口域名,设置成自己的本机Ip即可。

扫码关注测试公众号,现在就可以使用微信的接口了。

2. 获取Access token

可以看到文档就是让我们发起一个get请求, 携带三个参数:

这里指的就是测试号的appID、appsecret。

3. 获取jsapi_ticket

根据获取到的access_token来获取jsapi_ticket,也是get请求!

正常情况下,access_token 和 jsapi_ticket的有效期为7200秒,由于获取jsapi_ticket的api调用次数非常有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。

按照微信的推荐方案这两个方法必须要在服务端调用,并使用缓存或数据库存储。 解决方案: 在服务端启动后执行定时器,每隔7000秒定时刷新token及ticket。存储在数据库或缓存中间件例如: redis中, 并向客户端提供一个主动刷新token及ticket的方法

我这里为了减少项目的依赖性,存储在数据库。 如果项目中使用了redis,更加建议使用redis存储。代码如下:

4.  生成签名

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

5. 引入js文件

Vue项目引入方式:

js引入方式:在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.6.0.js

当资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.6.0.js (支持https)

6. config接口注入权限验证配置

所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用)

7.  通过ready接口处理成功验证

config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。

8. 使用接口

所有接口通过wx对象(也可使用jWeixin对象)来调用,参数是一个对象,除了每个接口本身需要传的参数之外,还有以下通用参数:

  1. success:接口调用成功时执行的回调函数。
  2. fail:接口调用失败时执行的回调函数。
  3. complete:接口调用完成时执行的回调函数,无论成功或失败都会执行。
  4. cancel:用户点击取消时的回调函数,仅部分有用户取消操作的api才会用到。
  5. trigger: 监听Menu中的按钮点击时触发的方法,该方法仅支持Menu中的相关接口。

例如:

附上我的http请求方法:

OK完工。以上就是H5实现微信分享自定义&地图的全部内容,如果还有其他不懂的可以添加右下角微信,欢迎骚扰!

大家也可以点击我的gitee来获取我的其他项目源码。 拜拜!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值