Ⅰ 微信内H5页面自定义分享
微信内H5页面默认可分享至微信好友、微信朋友圈、qq好友、QQ空间。若要自定义分享标题与图标,则需通过开发实现。为达到这一目的,开发者需利用微信js-SDK,即微信面向网页开发者提供的网页开发工具包。
使用微信JS-SDK,网页开发者可以高效地调用微信内的手机系统能力,如拍照、选图、语音、位置等,并直接使用微信特有的功能如分享、扫一扫、卡券、支付等,为用户提供更优质的网页体验。
微信JS-SDK使用步骤如下:
步骤一:绑定域名
登录微信公众平台,在“公众号设置”的“功能设置”中填写“JS接口安全域名”。确保调用JS接口的页面与配置的“JS接口安全域名”一致,以生成签名。
步骤二:引入JS文件
在需要调用JS接口的页面引入JS文件,支持使用AMD/CMD标准模块加载方法加载,文件路径为res2.wx.qq.com/open/js/...
步骤三:通过config接口注入权限验证配置
所有需要使用JS-SDK的页面在使用前必须调用config接口注入配置信息。同一URL仅需调用一次,对于SPA的web app,可在每次URL变化时进行调用,确保权限验证。
步骤四:通过ready接口处理成功验证
步骤五:通过error接口处理失败验证
所有接口通过wx对象(也可使用jWeixin对象)来调用,参数为对象,包括每个接口所需参数及通用参数。签名信息signature由服务器端提供,timestamp和nonceStr是参与签名生成的字段。
在进行分享操作时,可通过自定义“分享给微信朋友”、“分享到QQ好友”、“分享到朋友圈”或“分享到QQ空间”的按钮,实现分享内容的个性化设定。签名生成前,必须先了解jsapi_ticket,它是公众号用于调用微信JS接口的临时票据,有效期为7200秒。
获取access_token是第一步,通过公众号的全局唯一接口调用来获取。开发者需在自己的服务中全局缓存access_token,以避免频繁调用接口导致的受限问题。
使用第一步获取的access_token调用接口获得jsapi_ticket,有效期同样为7200秒。生成签名时,需将所有待签名参数按照字段名的ASCII码排序,使用URL键值对格式拼接成字符串,然后进行sha1签名,得到signature。
最后,务必注意签名生成步骤,确保在获取access_token和jsapi_ticket后,按照规范生成签名,以确保分享功能的正常运行。