微信接口
本文档罗列了微信的常用接口,具体请查阅微信文档
getUser(openid)
从微信服务器获取最新的用户数据,即存在user表wx里数据。
sendText(openid, txt)
发送文本消息。支持链接与换行
$wx.sendText('人气大赛\n\n→<a href="http://www.zc-yun.com">点击进入投票页面</a>←\n↑↑↑↑↑\n点击上方蓝字')
sendNews(openid, article)
发送图文信息。图文是{ title, description, url, picurl }
格式的对象
sendTemplate(openid, url, template_id, data)
发送模板消息。templateId是从微信公众号申请到的模板ID
createTmpQRCode(scene, expire)
创建临时二维码。失效时间expire以秒为单位,默认30秒,最大不超过2592000(30天)。可得$r:{ url, ticket, expire_seconds }。
createLimitQRCode(scene)
创建永久二维码。无过期时间,数量较少(最多10万个)。适用于帐号绑定、用户来源统计等场景
带场景值二维码
上面两个都属于带场景值二维码,场景值scene最长64。把返回的$r.url生成二维码(比如用二维码生成插件),用户扫描时,微信会将带场景值推送给服务器(即微信公众号配置讲述的启用服务器配置),如果用户还未关注公众号则会先引导关注,开发者根据不同的场景值做出不同的处理。
使用场景:统计不同渠道的关注量,回复不同的内容(可多条)
orderQuery(_id)
查询微信支付订单
downloadBill(date, type)
下载对账单。账单类型type是"ALL|SUCCESS|REFUND|RECHARGE_REFUND"中的一种,默认是"ALL"
downloadBill("20140603", "SUCCESS")
注:上面的都可在桌面端使用,下面的只在微信端可用
openAddress()
打开”我的地址“,用户授权并选择一个地址后可得$r:{ userName, postalCode, provinceName, cityName, countryName, detailInfo, nationalCode, telNumber }
scanQR()
调起微信扫一扫。可得$r:{ resultStr, errMsg }
getLoc()
获取地理位置。用户授权后可得$r:{ longitude: 经度, latitude: 纬度, accuracy: 精度, speed: 速度 }
openLoc(longitude, latitude, name, address, infoUrl, scale)
打开微信地图。longitude:浮点数,范围180 ~ -180;latitude:浮点数,范围90 ~ -90;infoUrl:在查看位置界面底部显示的超链接,可点击跳转;scale:整形,范围1 ~ 28,默认15。
previewImage()
微信全屏预览图片。平台在微信上的每个页面都调用了一次此接口,所以通常不用自己调用。但如果有些图片一开始不显示,只有符合特定渲染条件时才显示,当渲染条件变化时就需要调用一次此接口。
unifiedOrder(order, onError)
唤起微信支付/统一下单。参数order可以是待支付订单的_id;如订单还未创建,也可以是至少包含如下信息的对象,平台会自动以此创建好订单后马上唤起支付
{
type: String, // 订单分类 自定义字符串
desc: String, // 订单描述 自定义字符串
id: String, // 产品 _id
price: Number, // 单价
count: Number, // 数量
}