1Introduction
- description:微信 JSSDK 二次封装
- author:ydr.me
- create:2015-12-15 10:40
- update:2016年05月27日15:50:59
- github:https://github.com/blearjs/blear.utils.weixin
2Example
var weixin = require('blear.utils.weixin');
需要自行引入官网 jssdk 脚本。
- v1.4.0:res.wx.qq.com
- v1.3.0:res.wx.qq.com
- v1.2.0:res.wx.qq.com
- v1.1.0:res.wx.qq.com
- v1.0.0:res.wx.qq.com
3Prototype
3.1#config(configs): weixin
配置微信 JSSDK,返回 weixin
,支持链式调用。官方文档:mp.weixin.qq.com
3.1.1configs
- 类型:
Object
- 说明:配置信息
3.1.2configs.debug
- 类型:
Boolean
- 说明:是否调试模式
- 默认:根据
DEBUG
全局变量来配置
3.1.3configs.appId
- 类型:
String
- 说明:公众号唯一标识,必填
3.1.4configs.timestamp
- 类型:
String | Number
- 说明:生成签名时的时间戳,必填
3.1.5configs.nonceStr
- 类型:
String
- 说明:生成签名的随机串,必填
3.1.6configs.signature
- 类型:
String
- 说明:签名,必填
3.1.7configs.jsApiList
- 类型:
String
- 说明:需要使用的JS接口列表
- 默认:已支持全部接口
3.2#ready(callback): weixin
微信客户端成功配置后回调,异步。返回 weixin
,支持链式调用
3.2.1callback
- 类型:
Function
3.3#broken(callback): weixin
微信客户端失败配置后回调,异步。返回 weixin
,支持链式调用。
3.3.1callback
- 类型:
Function
3.4#share(shareData): weixin
设置分享数据。返回 weixin
,支持链式调用。
3.4.1shareData
- 类型:
Object
- 说明:分享配置
3.4.2shareData.title
- 类型:
String
- 说明:分享的标题,必填
3.4.3shareData.desc
- 类型:
String
- 说明:分享的描述,必填
3.4.4shareData.timelineDesc
- 类型:
String
- 说明:分享在朋友圈的描述
3.4.5shareData.link
- 类型:
String
- 说明:分享的链接,必填
3.4.6shareData.img
- 类型:
String
- 说明:分享的图片,必填
3.4.7shareData.type
- 类型:
String
- 说明:分享的附加内容类型
3.4.8shareData.data
- 类型:
String
- 说明:分享的附加内容
3.5#support(api, callback(support)): weixin
判断微信客户端是否支持某个 API,异步。返回 weixin
,支持链式调用。
weixin.support('chooseWXPay', function(support) {
if (support) {
alert('很高兴,你的微信客户端支持网页唤起微信支付。')
} else {
alert('对不起,你的微信客户端还不支持网页唤起微信支付,赶紧升级吧!')
}
});
3.5.1api
- 类型:
String
- 说明:接口名称
3.5.2callback
- 类型:
Function
3.5.3callback: this
- 类型:
Object
- 说明:指向
weixin
3.5.4callback: support
- 类型:
Boolean
- 说明:如果支持,则为
true
;否则为false
3.6#previewImage(data): weixin
图片查看器。返回 weixin
,支持链式调用。
3.6.1data
- 类型:
String
- 说明:图片数据
3.6.2data.active
- 类型:
Number
- 说明:初始化第几张图片
- 默认:
0
3.6.3data.list
- 类型:
Array
- 说明:图片数组
3.7#getLocation(callback(result)): weixin
获取当前地理位置,异步。返回 weixin
,支持链式调用。
3.7.1callback
- 类型:
Function
3.7.2callback: this
- 类型:
Object
- 说明:指向
weixin
3.7.3callback: result
- 类型:
Object
- 说明:地理位置描述对象
3.7.4callback: result.latitude
- 类型:
Number
- 说明:纬度,
90 ~ -90
之间
3.7.5callback: result.longitude
- 类型:
Number
- 说明:经度,
180 ~ -180
之间
3.7.6callback: result.speed
- 类型:
Number
- 说明:速度,单位
m/s
3.7.7callback: result.accuracy
- 类型:
Number
- 说明:精度
3.8#hideOptionMenu(): weixin
隐藏右上角菜单。返回 weixin
,支持链式调用。
3.9#hideShareMenus(): weixin
隐藏分享菜单。返回 weixin
,支持链式调用。
3.10#hideExternalMenus(): weixin
隐藏扩展菜单。返回 weixin
,支持链式调用。
3.11#showShareMenus(): weixin
显示分享菜单。返回 weixin
,支持链式调用。
3.12#showExternalMenus(): weixin
显示扩展菜单。返回 weixin
,支持链式调用。
3.13#showOptionMenu(): weixin
显示右上角菜单。返回 weixin
,支持链式调用。
3.14#chooseWXPay(signature, callback(err)): weixin
微信支付,异步。返回 weixin
,支持链式调用。
3.14.1signature
- 类型:
Object
- 说明:签名信息描述对象
3.14.2signature.timestamp
- 类型:
Number
- 说明:支付签名时间戳
3.14.3signature.nonceStr
- 类型:
String
- 说明:支付签名随机字符串,不长于 32 位
3.14.4signature.package
- 类型:
String
- 说明:统一支付接口返回的
prepay_id
参数值
3.14.5signature.signType
- 类型:
String
- 说明:签名方式,默认为'SHA1',使用新版支付需传入'MD5'
- 默认:
MD5
3.14.6signature.paySign
- 类型:
String
- 说明:支付签名
3.14.7callback
- 类型:
Function
3.14.8callback: this
- 类型:
Object
- 说明:指向
weixin
3.14.9callback: err
- 类型:
Error | null
- 说明:无错误返回
null
,否则返回Error
实例
3.15#scan(auto, callback(err, result)): weixin
微信扫码,异步。返回 weixin
,支持链式调用。
3.15.1auto
- 类型:
Boolean
- 说明:是否自动处理扫码结果
3.15.2callback
- 类型:
Function
3.15.3callback: this
- 类型:
Object
- 说明:指向
weixin
3.15.4callback: err
- 类型:
Error | null
- 说明:无错误返回
null
,否则返回Error
实例
3.15.5callback: result
- 类型:
String
- 说明:扫码结果
3.16#uploadImage(callback(err, result)): weixin
上传图片,异步。内部会自动处理选择图片和上传图片两步。返回 weixin
,支持链式调用。
3.16.1callback
- 类型:
Function
3.16.2callback: this
- 类型:
Object
- 说明:指向
weixin
3.16.3callback: err
- 类型:
Error | null
- 说明:无错误返回
null
,否则返回Error
实例
3.16.4callback: result
- 类型:
String
- 说明:上传结果
3.16.5callback: result.serverId
- 类型:
String
- 说明:微信服务器对该图片的映射 ID,开发者需要自行从微信服务器下载该图片,然后上传到自己的业务服务器上,详细参考 微信官方文档
3.17#is: isWeixinClient
判断当前是否为微信客户端。
3.17.1isWeixinClient
- 类型:
Boolean
3.18#version: weixinClientVersion
获取微信客户端版本。
3.18.1weixinClientVersion
- 类型:
String
3.19#netWork: weixinClientNetWork
获取微信客户端所在的网络环境。
3.19.1weixinClientNetWork
- 类型:
String
3.20#language: weixinClientLanguage
获取微信客户端设置的语言。
3.20.1weixinClientLanguage
- 类型:
String
4Dependencies
- blear.classes.class
- blear.classes.error
- blear.utils.array
- blear.utils.function
- blear.utils.number
- blear.utils.object
- blear.utils.string
- blear.utils.time
- blear.utils.typeis
5Reference
- 微信 JSSDK 说明文档:mp.weixin.qq.com
- 微信 JS 接口签名校验工具:mp.weixin.qq.com