fs = function(){};
(function($){
var readyTest = /complete|loaded|interactive/;
/**
* 获取函数内容字符串
* @param {Object} fun
*/
$.functionToJavaParam=function(fun)
{
var s = fun.toString() ;
if (s.search(/^\s*function\s*\(/) != -1) {
//if(s.indexOf("function (")>=0) {
return s;
}
var _text = s.substr(9);
return _text.substr(0,_text.indexOf('('));
};
/**
* 网页加载完成
* @param {Object} callback
*/
$.Ready = function(callback)
{
if (readyTest.test(document.readyState)) {
callback();
} else {
document.addEventListener('DOMContentLoaded', function() {
callback();
}, false);
}
return this;
};
/**
* 如果用了iscroll,必须调用这一句
*/
$.iscrollInit = function(){
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
};
/*
* 获取系统类型
*/
$.getSystemType = function(){
var ua = navigator.userAgent.toLowerCase();
if (/iphone|ipad|ipod/.test(ua)) {
return "ios" ;
} else if (/android/.test(ua)) {
return "android" ;
}
return "undefined" ;
};
/**
* 手机按了返回键
* @param {Object} callback
*/
$.onKeyBack = function(callback){
if($.getSystemType()=="android")
window.KeyEvent.onBack($.functionToJavaParam(callback)) ;
} ;
/**
* 不关闭程序,在后台运行
*/
$.runToBack = function(){
if($.getSystemType()=="android")
window.appSystem.runToBack() ;
};
// 在logact里写log
$.log = function(str)
{
if($.getSystemType()=="android")
window.appSystem.Log(str);
else if($.getSystemType()=="ios")
$$ios.log(str);
else
console.log(str) ;
};
// 退出系统
$.exit = function()
{
if($.getSystemType()=="android")
window.appSystem.exit();
else if($.getSystemType()=="ios")
$$ios.quit();
};
// 打开新窗口url
$.open = function(url,options)
{
var to = true ;
if(typeof($.onOpen)!='undefined')
to=$.onOpen(url) ;
if(to==false)
return ;
var date = new Date();
var times = date.getTime();
fs.session.put("startShiYongTime", times.toString());
if($.getSystemType()=="android")
{
var ex = options || {} ;
var optstr = JSON.stringify(ex) ;
var opt = JSON.parse(optstr) ;
window.appSystem.open(url,JSON.stringify(opt)) ;
}
else if($.getSystemType()=="ios")
$$ios.pushPage(url,options);
else
window.location.href = url ;
};
// 重新加载url
$.redirect = function(url,options)
{
var to = true ;
if(typeof($.onRedirect)!='undefined')
to=$.onRedirect(url) ;
if(to==false)
return ;
if($.getSystemType()=="android")
{
var ex = options || {} ;
var optstr = JSON.stringify(ex) ;
var opt = JSON.parse(optstr) ;
window.appSystem.redirect(url,JSON.stringify(opt)) ;
}
else if($.getSystemType()=="ios")
$$ios.redirectPage(url,options);
else
window.location.href = url ;
};
$.closeAndRedirect = function(url,options){
var to = true ;
if(typeof($.onRedirect)!='undefined')
to=$.onRedirect(url) ;
if(to==false)
return ;
if($.getSystemType()=="android")
{
var ex = options || {} ;
var optstr = JSON.stringify(ex) ;
var opt = JSON.parse(optstr) ;
window.appSystem.closeAndRedirect(url,JSON.stringify(opt)) ;
}
else if($.getSystemType()=="ios")
$$ios.redirectPage(url,options);
else
window.location.href = url ;
};
// 关闭窗口
$.close = function()
{
var to = true ;
if(typeof($.onClose)!='undefined')
to=$.onClose() ;
if(to==false)
return ;
if($.getSystemType()=="android")
window.appSystem.close() ;
else if($.getSystemType()=="ios")
$$ios.popPage();
else
window.history.back(-1) ;
};
// 重新加载当前页
$.reload = function(){
if($.getSystemType()=="android")
window.appSystem.reload() ;
else if($.getSystemType()=="ios")
$$ios.reloadPage();
};
/**
* 重启APP,在增量后可使用
*/
$.reStartApp = function(){
if($.getSystemType()=="android")
window.appSystem.reStartApp() ;
else if($.getSystemType()=="ios")
$$ios.restartApp();
};
/**
* ajax 请求
* @param url
* @param {Object} options 与mui.ajax一至
*/
$.ajax = function(url,options) {
if($.getSystemType()=="android")
{
$.log(JSON.stringify(options)) ;
var success = null ;
if("success" in options)
success = $.functionToJavaParam(options.success) ;
var error = null ;
if("error" in options)
error = $.functionToJavaParam(options.error) ;
window.ajax.Ajax(url, JSON.stringify(options),success,error);
}
/**
* 在这里加入ios的实现,要求跨域
*/
else if($.getSystemType()=="ios"){
$$ios.ajax(url,options);
}
else
$.log("该浏览器不支持ajax!") ;
};
$.shared = function(){} ;
$.session = function(){} ;
/**
* 获取当前页ID
*/
$.getID = function(){
if($.getSystemType()=="android")
return window.appSystem.getID();
return undefined ;
};
/**
* 设置当页ID
* @param {Object} id
*/
$.setID = function (id) {
if ($.getSystemType() == "android")
return window.appSystem.setID(id);
else if ($.getSystemType() == "ios")
return $$ios.getPageID();
return undefined;
};
/**
* 给指定页面发消息 可以用 $(...).on接收
* @param {Object} id
* @param {Object} event
* @param {Object} args
*/
$.sendMsgTo = function(id,event,args){
if($.getSystemType()=="android")
window.appSystem.sendMsgTo(id, event, args);
else if($.getSystemType()=="ios")
$$ios.sendMsgTo(id,event,args);
} ;
/**
* 当前webview传消息
* @param {Object} event
* @param {Object} args
*/
$.sendMsg = function(event,args){
if($.getSystemType()=="android")
return window.appSystem.sendMsg(event,args);
else if($.getSystemType()=="ios")
$$ios.sendMsg(event,args);
};
/**
* 发送消息
* @param {Object} phone
* @param {Object} text
*/
$.sendSMS = function(phone,text){
if($.getSystemType()=="android")
window.appSystem.sendSMS(phone,text);
else if($.getSystemType()=="ios")
$$ios.sendSms(phone,text);
} ;
/**
* 动态加载,只支持安卓
* @param {Object} classname
*/
$.loadClass = function(classname){
if($.getSystemType()=="android")
return window.appSystem.loadClass(classname) ;
} ;
/**
* 动态调用android方法
* @param {Object} clsObj
* @param {Object} funname
* @param {Object} args
*/
$.doInvoke = function(clsObj,funname,args){
if($.getSystemType()=="android")
return window.appSystem.doInvoke(classname,funname,args) ;
} ;
/**
* 获取GPS定位
* @param {Object} callback
*/
$.getCurrentPosition = function(onSuccess,onError,options){
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(onSuccess,onError,options);
}
else
$.log("该浏览器不支持location!") ;
};
/**
* 获取GPS定位,定时
* @param {Object} callback
*/
$.watchPosition = function(onSuccess,onError,options){
if (navigator.geolocation)
{
return navigator.geolocation.watchPosition(onSuccess,onError,options);
}
else
$.log("该浏览器不支持location!") ;
return -1 ;
};
/**
* 停止定位
* @param {Object} id
*/
$.clearWatch = function(id){
if (navigator.geolocation)
{
return navigator.geolocation.clearWatch(id) ;
}
else
$.log("该浏览器不支持location!") ;
}
$.upload = function (url, path, fileName, update, result) {
if ($.getSystemType() == "android")
return window.appSystem.upload(url, path, fileName, update, result);
}
})(fs) ;
/*
* shared 存储
*/
(function($,shared){
/**
* 获取手机中的存储数据
* @param {Object} key
*/
shared.get = function(key,defaultstr){
if($.getSystemType()=="android")
return window.store.get(key, defaultstr);
else if($.getSystemType()=="ios")
return $$ios.getShared(key,defaultstr);
else
{
$.log("该浏览器不支持storeGet!") ;
return defaultstr ;
}
} ;
/**
* 设置手机中的存储数据
* @param {Object} key
*/
shared.put = function(key,value){
if($.getSystemType()=="android")
window.store.put(key,value);
else if($.getSystemType()=="ios")
$$ios.setShared(key,value);
else
$.log("该浏览器不支持storePut!") ;
} ;
})(fs,fs.shared) ;
/**
* session 使用
*/
(function($,session){
/**
* 设置手机中的暂存数据
* @param {Object} key
*/
session.put = function(key,value){
if($.getSystemType()=="android")
window.session.put(key,value);
else if($.getSystemType()=="ios") {
$$ios.setSession(key,value);
}
else
$.log("该浏览器不支持sessionPut!") ;
} ;
/**
* 获取手机中的暂存数据
* @param {Object} key
*/
session.get = function (key, defaultstr){
if($.getSystemType()=="android")
return window.session.get(key, defaultstr);
else if($.getSystemType()=="ios")
return $$ios.getSession(key,defaultstr);
else
{
$.log("该浏览器不支持sessionGet!") ;
return defaultstr ;
}
} ;
/**
* 获取手机中的暂存数据所有key
*/
session.keys = function(){
if($.getSystemType()=="android")
return window.session.keys();
else if($.getSystemType()=="ios")
return $$ios.allSessionKey();
else
{
$.log("该浏览器不支持sessionKeys!") ;
return null ;
}
} ;
/**
* 获取手机中的暂存数据所有key
*/
session.clear = function(){
if($.getSystemType()=="android")
window.session.clear();
else if($.getSystemType()=="ios")
return $$ios.clearSession();
else
{
$.log("该浏览器不支持sessionClear!") ;
}
} ;
})(fs,fs.session) ;