Authored by 郭成尧

与APP交互相关方法初步添加

... ... @@ -8,15 +8,151 @@
*
* 希望能与 微信 JS-SDK 一样方便
*/
const $ = require('yoho-jquery');
const tip = require('common/tip');
const native = window.yohoInterface;
var yoho = {
isApp: /yoho/.test((navigator.userAgent || '').toLowerCase()),
goLogin: function() {
window.yohoWapInterface = {
headerRightTopBtn: $.loop()
};
const yoho = {
/**
* 判断是否是 APP
*/
isApp: /yoho_blk/i.test((navigator.userAgent || '').toLowerCase()),
/**
* JS 与 APP 共享的对象
*/
data: window.yohoInterfaceData,
/**
* 跳转至指定index的tab(从0开始)
* @param args 传递给 APP 的参数
* @param success 调用成功的回调方法
* @param fail 调用失败的回调方法
*/
goTap(args, success, fail) {
if (this.isApp) {
native.triggerEvent(success || $.loop(), fail || $.loop(), {
method: 'go.tab',
arguments: args
});
} else {
tip('暂不支持,请在BLK应用中打开');
}
},
/**
* 跳转至登陆页面
* @param args 传递给 APP 的参数
* @param success 调用成功的回调方法
* @param fail 调用失败的回调方法
*/
goLogin(args, success, fail) {
if (this.isApp) {
// ...
native.triggerEvent(success || $.loop(), fail || $.loop(), {
method: 'go.login',
arguments: args
});
} else {
location.href = '';
tip('暂不支持,请在BLK应用中打开');
}
},
/**
* 跳转至购物车页面
* @param args 传递给 APP 的参数
* @param success 调用成功的回调方法
* @param fail 调用失败的回调方法
*/
goShopingCart(args, success, fail) {
if (this.isApp) {
native.triggerEvent(success || $.loop(), fail || $.loop(), {
method: 'go.shopingCart',
arguments: args
});
} else {
tip('暂不支持,请在BLK应用中打开');
}
},
/**
* 跳转至地址管理页面
* @param args 传递给 APP 的参数
* @param success 调用成功的回调方法
* @param fail 调用失败的回调方法
*/
goAddress(args, success, fail) {
if (this.isApp) {
native.triggerEvent(success || $.loop(), fail || $.loop(), {
method: 'go.address',
arguments: args
});
} else {
tip('暂不支持,请在BLK应用中打开');
}
},
/**
* 跳转至图片浏览页面
* @param args 传递给 APP 的参数
* @param success 调用成功的回调方法
* @param fail 调用失败的回调方法
*/
goImageBrowser(args, success, fail) {
if (this.isApp) {
native.triggerEvent(success || $.loop(), fail || $.loop(), {
method: 'go.imageBrowser',
arguments: args
});
} else {
tip('暂不支持,请在BLK应用中打开');
}
},
/**
* 跳转至新页面(页面内容为html)
* @param args 传递给 APP 的参数
* @param success 调用成功的回调方法
* @param fail 调用失败的回调方法
*/
goNewPage(args, success, fail) {
if (this.isApp) {
native.triggerEvent(success || $.loop(), fail || $.loop(), {
method: 'go.newPage',
arguments: args
});
} else {
tip('暂不支持,请在BLK应用中打开');
}
},
/**
* 跳转至支付页面
* @param args 传递给 APP 的参数
* @param success 调用成功的回调方法
* @param fail 调用失败的回调方法
*/
goPay(args, success, fail) {
if (this.isApp) {
native.triggerEvent(success || $.loop(), fail || $.loop(), {
method: 'go.pay',
arguments: args
});
} else {
tip('暂不支持,请在BLK应用中打开');
}
},
/**
* 原生调用 JS 方法
* @param name 方法名
* @param callback 回调
*/
addNativeMethod(name, callback) {
window.yohoWapInterface[name] = callback;
}
};
... ...