您的位置:首页 > 移动开发

APP 开发 和ios 安卓的交互大全

2017-09-22 15:39 543 查看
if(window.plus)
__plusReady();

else
document.addEventListener("plusready", __plusReady, false);

var huilianUtils = {};

(function(utils) {
var ua = navigator.userAgent.toLowerCase();
var isApp = ua.match(/yyband/i) == "yyband";

function getQueryString(name) {     
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");     
var r = window.location.search.substr(1).match(reg);     
if(r != null) return  unescape(r[2]);
return null;
}
utils.getQueryString = getQueryString;

function setCookie(name, value) {
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";
}
utils.setCookie = setCookie;

function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if(arr = document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
utils.getCookie = getCookie;

utils.openUrlSync = function(url, webappid) {
var _url = url;
if(!(/^(file|http)/i.test(_url)))
_url = huilianConfig.htmlUrl + _url;
if(isApp) {
plus.bridge.execSync("yyband", "openUrlSync", [_url, webappid]);
} else {
window.location.href = _url;
}
};
utils.openRemoteUrl = function(url, webappid) {

  
var _url = huilianConfig.remoteUrl + url;
if(isApp) {
plus.bridge.execSync("yyband", "openUrlSync", [_url, webappid]);
} else {
window.location.href = _url;
}
};
utils.openUrl = function(url, webappid) {

var _url =   url;
if(isApp) {
plus.bridge.execSync("yyband", "openUrlSync", [_url, webappid]);
} else {
window.location.href = _url;
}
};
utils.backSync = function() {
if(isApp) {
plus.bridge.execSync("yyband", "backSync", []);
} else {
history.go(-1);
}
};

utils.closeSync = function() {
if(isApp) {
plus.bridge.execSync("yyband", "closeSync", []);
}
};
utils.logoutSync = function() {
if(isApp) {
plus.bridge.execSync("yyband", "logoutSync", []);
} else {

}
};

utils.plan = function(actID,actStatus) {
if(isApp) {
plus.bridge.execSync("yyband", "plan", [actID,actStatus]);
} else {

}
};
utils.share = function(title, content, linkUrl, imageUrl, fnCallback) {
if(isApp) {
var callbackId = plus.bridge.callbackId(fnCallback);
plus.bridge.exec("yyband", "share", [callbackId, title, content, linkUrl, imageUrl]);
} else {
//todo: 判断是否微信, 使用微信分享相关业务
}
};

function getToken() {
var token = getQueryString("token");
if(token) {
setCookie("app_token", token);
} else {
token = getCookie("app_token");
if(!token) {
if(isApp) {
try {
token = plus.bridge.execSync("yyband", "getTokenSync");
} catch(e) {}
}
}
}
return token;
};
utils.getToken = getToken;

function __callApi(apiCommand, reqData, successCallback, errorCallback, method) {
if(!method)
method = 'post';
var __url = huilianConfig.apiUrl + apiCommand;
if(__url.indexOf("?") > 0)
__url += "&token=" + getToken();
else
__url += "?token=" + getToken();
$.ajax({
type: method,
url: __url,
data: reqData,
success: function(result, status, xhr) {
successCallback(result, status, xhr);
},
error: function(xhr, status, error) {
if(errorCallback) {
errorCallback(xhr, status, error);
}
}
});
}
utils.callApi = function(apiCommand, reqData, successCallback, errorCallback, method) {
if(isApp) {
if(window.plus) {
__callApi(apiCommand, reqData, successCallback, errorCallback, method);
} else {
document.addEventListener("plusready", function() {
__callApi(apiCommand, reqData, successCallback, errorCallback, method);
}, false);
}
} else {
__callApi(apiCommand, reqData, successCallback, errorCallback, method);
}
};

})(huilianUtils);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  app