123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- window.onResume = document.createEvent('Event');
- window.onResume.initEvent('onResume', true, true);
- window.WjySdk = {
- fnId : 0,
- cbList : [],
- }
- /**
- * 定时执行方法,防止ios里的延迟
- */
- WjySdk.run = function(funName,args,duration){
- var self = this,timer;
- duration = duration || 500;
- self[funName].apply(WjySdk,args);
- timer = setInterval(function(){
- if(typeof window.Wjy != "undefined"){
- clearInterval(timer);
- }
- self[funName].apply(WjySdk,args);
- },duration);
- }
- WjySdk.run2 = function(funName, args, duration){
- var self = this;
- var duration = duration || 500;
- var timer;
- var times = 0; //最大尝试次数
- if(typeof window.Wjy != "undefined") {
- self[funName].apply(WjySdk, args);
- } else {
- timer = setInterval(function(){
- //最多尝试5次
- if(typeof window.Wjy != "undefined" || times == 5){
- self[funName].apply(WjySdk, args);
- clearInterval(timer);
- } else {
- times += 1;
- }
- }, duration)
- }
- }
- /**
- * 检查注入状态
- * @param {String} name 方法名
- */
- WjySdk.checkInject = function(name) {
- if (typeof window.Wjy != "undefined") {
- if(typeof Wjy[name] == "undefined") {
- console.log('没有' + name + '这个方法')
- return false;
- } else {
- return true;
- }
- } else {
- console.log("js方法未注入!name:" + name)
- return false;
- }
- }
- WjySdk.callfn = function() {
- var _fnId = this.fnId++;
- var name = arguments[0];
- var param = [];
- for(var i = 1; i < arguments.length; i++) {
- if(typeof arguments[i] == "function") {
- this.cbList[_fnId] = arguments[i];
- arguments[i] = 'WjySdk.cbList[' + _fnId + ']';
- }
- param.push(arguments[i]);
- }
- if(this.checkInject(name)) {
- // console.log('Wjy[' + name + '](' + param.join(',') + ')');
- Wjy[name].apply(Wjy, param);
- return true;
- } else {
- // console.error('Wjy[' + name + '] is not exist.');
- return false;
- }
- }
- WjySdk.appBridge = function(uri) {
- var iframe = document.createElement("IFRAME");
- iframe.setAttribute('src', uri);
- document.documentElement.appendChild(iframe);
- iframe.parentNode.removeChild(iframe);
- iframe = null;
- }
- //已经反馈
- WjySdk.openFeedback = function(){
- return this.callfn("openFeedback");
- }
- //设置up主抽奖通知栏
- WjySdk.openNotificationSettingIfNeeded = function(msg){
- return this.callfn("openNotificationSettingIfNeeded",msg);
- }
- WjySdk.openLogin = function() {
- return this.callfn("openLogin");
- }
- WjySdk.getUserInfo = function(callback) {
- return this.callfn("getUserInfo", callback);
- }
- WjySdk.getDeviceInfo = function(callback) {
- return this.callfn("getDeviceInfo", callback);
- }
- WjySdk.openUrl = function(url, title, needTopBar) {
- title = title || '';
- needTopBar = needTopBar !== null ? needTopBar : true;
- return this.callfn("openUrl", url, title, needTopBar);
- }
- WjySdk.copy = function(txt) {
- return this.callfn("copy", txt);
- }
- WjySdk.historyBack = function() {
- return this.callfn("historyBack");
- }
- WjySdk.closeWebview = function() {
- return this.callfn("closeWebview");
- }
- WjySdk.setTitle = function(title) {
- return this.callfn("setTitle", title);
- }
- WjySdk.getNetworkType = function(callback) {
- return this.callfn("getNetworkType", callback);
- }
- WjySdk.getSupportShareType = function(callback) {
- return this.callfn("getSupportShareType", callback);
- }
- WjySdk.shareMessage = function(type, title, link, desc, imgUrl) {
- return this.callfn("shareMessage", type, title, link, desc, imgUrl);
- }
- WjySdk.showLoading = function(txt) {
- txt = txt || '正在加载中...';
- return this.callfn("showLoading", txt);
- }
- WjySdk.hideLoading = function() {
- return this.callfn("hideLoading");
- }
- WjySdk.showTip = function(txt, timeout) {
- return this.callfn("showTip", txt, timeout);
- }
- WjySdk.showErrorTip = function(txt, timeout) {
- if (window.Ouj && Ouj.showErrortip) {
- OujSdk.showTip(txt, timeout);
- } else {
- return this.callfn("showErrortip", txt, timeout);
- }
- }
- WjySdk.showDialog = function(txt) {
- return this.callfn("showDialog", txt);
- }
- WjySdk.confirm = function(txt, callback, title, buttonLables) {
- title = title || '提醒';
- buttonLables = buttonLables || '确定,取消';
- return this.callfn("confirm", title, txt, callback, buttonLables);
- }
- WjySdk.hideTopBar = function(flag) {
- return this.callfn("hideTopBar",flag);
- }
- WjySdk.hideMenuButton = function() {
- return this.callfn("hideMenuButton");
- }
- WjySdk.hideShare = function() {
- return this.callfn("hideShare");
- }
- WjySdk.aliPay = function(platformData, callback) {
- return this.callfn("aliPay", platformData, callback);
- }
- WjySdk.wxPay = function(platformData, callback) {
- if (typeof platformData == 'object') {
- platformData = JSON.stringify(platformData);
- }
- return this.callfn("wxPay", platformData, callback);
- }
- WjySdk.setShareInfo = function(title, link, desc, imgUrl) {
- return this.callfn("setShareInfo", title, link, desc, imgUrl);
- }
- WjySdk.toIndex = function() {
- return this.appBridge("glance://toIndex");
- }
- //预告片
- WjySdk.toVideoPreview = function(articleId) {
- return this.openUrl("glance://toVideoPreview?articleId="+articleId)
- }
- //解说视频
- WjySdk.toCommentaryDetail = function(commentaryId) {
- return this.openUrl("glance://toCommentaryDetail?commentaryId="+commentaryId)
- }
- //电影详情
- WjySdk.toVideoDetail = function(articleId) {
- return this.openUrl("glance://toVideoDetail?articleId="+articleId)
- }
- export default WjySdk;
|