微信公众号开发接入JSJDK之调用定位功能,扫一扫
写在前面:由于客户经费有限,做不了原生,所以我们开发的是微信H5页面,嵌入在公众号里面,但是,我们想使用原生的一些功能咋办呢?例如扫一扫,分享,获取定位。这方面微信大大做的特别到位,提供了JSJDK。以下就是我接入JSJDK的心得。拿出来分享给大家。如有表述不对,望各位悉心指明。
第一步:
申请公众号,前往https://mp.weixin.qq.com我开发时用了我自己的公众号来测试,是个人订阅号,但是个人的订阅号是有蛮多权限没开放的,比如微信支付。所以后期会使用客户的公众号接入。
第二步:
前往公众平台-->公众号设置-->功能设置
这里我们需要填写的是JS接口安全域名,需要注意的是,必须安全的域名,也就是经过ICP备案的。这里会提供一个txt文件,这个是到时候我们要放置到你的web服务器(例如nginx root目录下),这也是微信给我们的一个安全认证吧。
说到这个安全域名,如果开发的时候没有咋办,小编我就是。第一,微信提供了测试账号,第二,小编用是在natapp平台买了一个15元的二级域名,买的时候千万要注意,一定要看清是要能支持微信开发的域名,小编这就上了一次当,白买了一个,说多了都是累。
第三步:
认真阅读微信公众平台技术文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432
第四步:
前端代码编写
1.导入依赖包
npm i -S weixin-js-sdk
2.贴入前端代码
如果你的vue路由使用的是hash,一定要使用 const url = location.href.split("#")[0]; 来截取。因为在ios下也是一样的。但是你也可以使用history模式。
第五步:
后端代码编写,小编这里就不贴出代码了,因为代码比较多,这里小编说下具体理论吧,我们申请了公众号后会有AppId和secret,我们需要把这两个参数带入到后台,第一步根据AppId和secret生成access_token,第二步根据access_token生成ticket,第三步拼接url+access_token+ticket+时间戳+随机字符串,然后排序,最后根据SHA1加密算法进行加密。
最后生成的是signature签名,而,这个正是我们索要得到的。