sys
小程序系统模块,主要用于授权登录
API
login
授权登录,用户允许之后,小程序平台会返回vtime及accesstoken
其中vtime表示令牌的有效期,单位为秒
accesstoken为令牌,后端可用此令牌到众圈开放平台获取用户的头像、昵称、性别等资料。
login(callback, mpid)
- @callback {Function}:执行完该操作后的回调函数。回调函数将收到一个Response对象
ok {boolean}
:true表示成功,false表示发生了错误statusCode {int}
:状态码,失败时有data {Object}
:数据vtime {int}
:令牌有效期accesstoken {string}
:令牌
- mpid {string}: 小程序MPID,可选参数,用于playground调试时使用,传递对应的小程序MPID
Demo
var sys = weex.requireModule('sys');
sys.login((e) => {
if(e.ok) {
// 拿到授权后,调用小程序自己服务端获取用户资料,需要服务端封装接口
modal.toast({message: "获取授权成功"});
}else {
modal.toast({message: e.statusCode + ': ' + e.data});
}
});
pay
拉起收银台,小程序在创建订单前,需要拉起收银台获取支付渠道及支付令牌。
pay(options, callback)
- @options {Object}: 订单信息及通信通道名
orderDesc {string}
:订单标题totalAmount {number}
:订单金额channelName {string}
:通信通道名称mpid {string}
: 小程序MPID,可选参数,用于playground调试时使用,传递对应的小程序MPID
- @callback {Function}:执行完该操作后的回调函数。回调函数将收到一个Response对象
ok {boolean}
:true表示成功,false表示发生了错误statusCode {int}
:状态码,失败时有
Demo
var sys = weex.requireModule('sys');
sys.pay({
'orderDesc': '这是一个测试订单1',
'totalAmount': 1,
'channelName': 'sysPayChannel'
}, (ret) => {
if(!ret.ok) {
modal.toast({message: "参数非法, orderDesc, totalAmount, channelName必填"});
}
});
isLogined
判断用户是否已登录,宿主小程序
使用
since v0.28.1
isLogined(callback) - @callback {Function}:执行完该操作后的回调函数。回调函数将收到一个Response对象
result {Object}
:success表示用户已登录,fail表示未登录
Demo
var sys = weex.requireModule('sys');
if(parseInt(WXEnvironment.weexVersionCode) >= 2801) {
sys.isLogined((ret) => {
if(ret.result == 'fail') {
// 未登录
modal.toast({message: '请先登录'});
}else {
// other code
}
});
}
getPhoneNumber
授权获取用户手机号
since v0.28.2
getPhoneNumber(options, callback) - @options {Object}: 输入参数
mpid {string}
: 调试时输入你创建的小程序ID
- @callback {Function}:执行完该操作后的回调函数。回调函数将收到一个Response对象
ok {boolean}
:true表示成功,false表示发生了错误statusCode {int}
:状态码,失败时有data {Object}
:数据vtime {int}
:令牌有效期accesstoken {string}
:令牌
Demo
var sys = weex.requireModule('sys');
if(parseInt(WXEnvironment.weexVersionCode) >= 2802) {
sys.getPhoneNumber({
'mpid': 'your mpid' // 调试时存在,改为你自己的小程序ID
}, (e) => {
if(e.ok) {
// 拿到授权后,调用小程序自己服务端获取用户资料,需要服务端封装接口
modal.toast({message: "获取授权成功"});
}else {
modal.toast({message: e.statusCode + ': ' + e.data});
}
});
}
setLeaderBoard
设置我的排行榜
since v0.28.2
setLeaderBoard(options, callback) - @options {Object}: 输入参数
mpid {string}
: 调试时输入你创建的小程序IDscore {number}
: 当前分数
- @callback {Function}:执行完该操作后的回调函数。回调函数将收到一个Response对象
ok {boolean}
:true表示成功,false表示发生了错误statusCode {int}
:状态码,失败时有
Demo
var sys = weex.requireModule('sys');
if(parseInt(WXEnvironment.weexVersionCode) >= 2802) {
sys.setLeaderBoard({
'mpid': 'your mpid', // 调试时存在,改为你自己的小程序ID
'score': 128
}, (e) => {
if(e.ok) {
modal.toast({message: "设置成功"});
}else {
modal.toast({message: e.statusCode + ': ' + e.data});
}
});
}
getMyLeaderBoard
获取我的排行榜,返回两条数据,一条是全服的最高分,一条是当前APP的最高分。
since v0.28.2
getMyLeaderBoard(options, callback) - @options {Object}: 输入参数
mpid {string}
: 调试时输入你创建的小程序ID
- @callback {Function}:执行完该操作后的回调函数。回调函数将收到一个Response对象
ok {boolean}
:true表示成功,false表示发生了错误statusCode {int}
:状态码,失败时有data {array}
: 数组,第一条为全服最高分,第二条数据为本区最高分unionid {string}
: 用户唯一标识appid {string}
: appidappname {string}
: APP名称icon {string}
: APP ICONmpid {string}
: 小程序IDscore {number}
: 分数mininame {string}
: 小程序名称logo {string}
: 小程序图标systemtype {number}
: 小程序系统类别canoffline {number}
: 是否支持离线访问gender {number}
: 性别 0女 1男 2未设置nickname {string}
: 昵称avatar {string}
: 头像updateat {string}
: 最后更新时间
Demo
var sys = weex.requireModule('sys');
if(parseInt(WXEnvironment.weexVersionCode) >= 2802) {
sys.getMyLeaderBoard({
'mpid': 'your mpid', // 调试时存在,改为你自己的小程序ID
}, (e) => {
if(e.ok) {
modal.toast({message: "获取成功"});
}else {
modal.toast({message: e.statusCode + ': ' + e.data});
}
});
}
getLeaderBoards
获取排行榜,支持总榜、月榜、周榜
since v0.28.2
getLeaderBoards(options, callback) - @options {Object}: 输入参数
mpid {string}
: 调试时输入你创建的小程序IDsearchtype {string}
: 排行榜类型 1总榜 2周榜 3月榜orderbytype {string}
: 排行区域类型 1全服 2本区offset {number}
: 分页控制参数,起始偏移limit {number}
: 每页数据条数
- @callback {Function}:执行完该操作后的回调函数。回调函数将收到一个Response对象
ok {boolean}
:true表示成功,false表示发生了错误statusCode {int}
:状态码,失败时有data {array}
: 数组unionid {string}
: 用户唯一标识appid {string}
: appidappname {string}
: APP名称icon {string}
: APP ICONmpid {string}
: 小程序IDscore {number}
: 分数mininame {string}
: 小程序名称logo {string}
: 小程序图标systemtype {number}
: 小程序系统类别canoffline {number}
: 是否支持离线访问gender {number}
: 性别 0女 1男 2未设置nickname {string}
: 昵称avatar {string}
: 头像updateat {string}
: 最后更新时间
Demo
var sys = weex.requireModule('sys');
if(parseInt(WXEnvironment.weexVersionCode) >= 2802) {
sys.getLeaderBoards({
'mpid': 'your mpid', // 调试时存在,改为你自己的小程序ID
'searchtype': 1,
'orderbytype': 1,
'offset': 0,
'limit': 10
}, (e) => {
if(e.ok) {
modal.toast({message: "获取成功"});
}else {
modal.toast({message: e.statusCode + ': ' + e.data});
}
});
}
showLeaderBoards
显示系统默认的排行榜,小程序可以直接通过此方法显示系统的排行榜,也可根据接口自行实现。
since v0.28.2
showLeaderBoards(options, callback) - @options {Object}: 输入参数
mpid {string}
: 调试时输入你创建的小程序ID
- @callback {Function}:执行完该操作后的回调函数。回调函数将收到一个Response对象
ok {boolean}
:true表示成功,false表示发生了错误statusCode {int}
:状态码,失败时有
Demo
var sys = weex.requireModule('sys');
if(parseInt(WXEnvironment.weexVersionCode) >= 2802) {
sys.showLeaderBoards({
'mpid': 'your mpid', // 调试时存在,改为你自己的小程序ID
}, (e) => {
if(e.ok) {
modal.toast({message: "执行成功"});
}else {
modal.toast({message: e.statusCode + ': ' + e.data});
}
});
}