function GetFileName(filename) { var startPos = filename.lastIndexOf("/"); var ext = filename.substr(startPos + 1); return ext; } function GenerateRandom() { var retstr = ""; var date = new Date(); retstr = date.getFullYear().toString() + "-" + date.getMonth().toString() + "-" + date.getDate().toString() + "-" + date.getUTCHours().toString() + "-" + date.getUTCMinutes() + "-" + date.getUTCSeconds().toString(); var Num = ""; for(var i = 0; i < 6; i++) { Num += Math.floor(Math.random() * 10); } return retstr + Num; } function getImage() { var c = plus.camera.getCamera(); c.captureImage(function(e) { plus.io.resolveLocalFileSystemURL(e, function(entry) { var s = entry.toLocalURL(); var bitmap = new plus.nativeObj.Bitmap("bighead"); bitmap.load(s, function() { bitmap.save("_doc/" + GenerateRandom() + ".jpg", { overwrite: true, format: "jpg", quality: 100 }, function(event) { var target = event.target; var width = event.width; // 保存后图片的实际宽度,单位为px var height = event.height; // 保存后图片的实际高度,单位为px //裁剪 mui.openWindow({ url: '/User/SelectHead.html', id: 'SelectHead', extras: { headsrc: target, realwidth: width, realheight: height }, show: { aniShow: 'pop-in' } }); bitmap.clear(); }, function(exc) { console.log("save Bitmap error" + exc.message + " " + exc.code); }); }, function(ex) { console.log("load Bitmap error" + ex.message); }); }, function(e) { console.log("读取拍照文件错误:" + e.message); }); }, function(s) { console.log("error" + s.message); }, { filename: "_doc/" + GenerateRandom() + ".jpg" }); } function galleryImg() { plus.gallery.pick(function(a) { plus.io.resolveLocalFileSystemURL(a, function(entry) { var s = entry.toLocalURL(); var bitmap = new plus.nativeObj.Bitmap("bighead"); bitmap.load(s, function() { bitmap.save("_doc/" + GenerateRandom() + ".jpg", { overwrite: true, format: "jpg", quality: 100 }, function(event) { var target = event.target; var width = event.width; // 保存后图片的实际宽度,单位为px var height = event.height; // 保存后图片的实际高度,单位为px //裁剪 mui.openWindow({ url: '/User/SelectHead.html', id: 'SelectHead', extras: { headsrc: target, realwidth: width, realheight: height }, show: { aniShow: 'pop-in' } }); bitmap.clear(); }, function(exc) { console.log("save Bitmap error" + exc.message + " " + exc.code); }); }, function(ex) { console.log("load Bitmap error" + ex.message); }); }, function(e) { console.log("读取拍照文件错误:" + e.message); }); }, function(a) {}, { filter: "image" }) } function ChangeCurrentTab(tabid) { var ucenterTab = document.getElementById(tabid); //模拟点击 mui.trigger(ucenterTab, 'tap'); //切换选项卡高亮 var current = document.querySelector(".web-tool>.active"); if(defaultTab !== current) { current.classList.remove('active'); ucenterTab.classList.add('active'); } } function ReloadAllTabs() { if(plus.webview.currentWebview().opener() != undefined && plus.webview.currentWebview().opener() != null) { plus.webview.currentWebview().opener().reload(true); if(plus.webview.currentWebview().opener().opener() != undefined && plus.webview.currentWebview().opener().opener() != null) plus.webview.currentWebview().opener().opener().reload(true); } else plus.webview.currentWebview().reload(true); var subpages = ['index.html', 'message.html', 'kcb.html', 'kq.html', 'ucenter.html']; for(var i = 0; i < 5; i++) { plus.webview.getWebviewById(subpages[i]).reload(true); } } Date.prototype.Format = function(fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for(var k in o) if(new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; } function formatDateTime(date) { var myyear = date.getFullYear(); var mymonth = date.getMonth() + 1; var myweekday = date.getDate(); var myHours = date.getHours(); var myMinutes = date.getMinutes(); var mySeconds = date.getSeconds(); if(mymonth < 10) { mymonth = "0" + mymonth; } if(myweekday < 10) { myweekday = "0" + myweekday; } if(myHours < 10) { myHours = "0" + myHours; } if(myMinutes < 10) { myMinutes = "0" + myMinutes; } if(mySeconds < 10) { mySeconds = "0" + mySeconds; } return(myyear + "-" + mymonth + "-" + myweekday + " " + myHours + ":" + myMinutes + ":" + mySeconds); } function formatDate(date) { var myyear = date.getFullYear(); var mymonth = date.getMonth() + 1; var myweekday = date.getDate(); var myHours = date.getHours(); var myMinutes = date.getMinutes(); var mySeconds = date.getSeconds(); if(mymonth < 10) { mymonth = "0" + mymonth; } if(myweekday < 10) { myweekday = "0" + myweekday; } if(myHours < 10) { myHours = "0" + myHours; } if(myMinutes < 10) { myMinutes = "0" + myMinutes; } if(mySeconds < 10) { mySeconds = "0" + mySeconds; } return(myyear + "-" + mymonth + "-" + myweekday); } function jsonDateFormatDateTime(strDate) { //json日期格式转换为正常格式 if(strDate != undefined && strDate != null) { var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/, function(a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')'); return formatDateTime(date); } else { return ''; } } function jsonDateFormatDate(strDate) { //json日期格式转换为正常格式 if(strDate != undefined && strDate != null) { var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/, function(a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')'); return formatDate(date); } else { return ''; } } function UpdateUserColumns(columns, where) { var xhr = new plus.net.XMLHttpRequest(); xhr.responseType = "json"; xhr.onreadystatechange = function() { switch(xhr.readyState) { case 4: if(xhr.status == 200) { if(xhr.response.Statu == 1) { plus.nativeUI.toast('修改成功。'); plus.nativeUI.closeWaiting(); plus.webview.currentWebview().reload(); } else { plus.nativeUI.toast('出错了,请稍候再试。'); plus.nativeUI.closeWaiting(); } } else { plus.nativeUI.closeWaiting(); plus.nativeUI.toast('您的网络不给力'); } break; default: break; } } xhr.open("POST", serverdomain + "/Account/UpdateUserColumns"); var data = "columns=" + columns + "&where=" + where + ""; xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send(data); plus.nativeUI.showWaiting("加载中..."); } /** * 获取本地是否安装客户端 **/ function isAppInstalled(id) { if(id === 'qihoo' && mui.os.plus) { return true; } if(mui.os.android) { var main = plus.android.runtimeMainActivity(); var packageManager = main.getPackageManager(); var PackageManager = plus.android.importClass(packageManager) var packageName = { "qq": "com.tencent.mobileqq", "weixin": "com.tencent.mm", "sinaweibo": "com.sina.weibo" } try { return packageManager.getPackageInfo(packageName[id], PackageManager.GET_ACTIVITIES); } catch(e) {} } else { switch(id) { case "qq": var TencentOAuth = plus.ios.import("TencentOAuth"); return TencentOAuth.iphoneQQInstalled(); case "weixin": var WXApi = plus.ios.import("WXApi"); return WXApi.isWXAppInstalled() case "sinaweibo": var SinaAPI = plus.ios.import("WeiboSDK"); return SinaAPI.isWeiboAppInstalled() default: break; } } } /*获取指定字典的列表*/ function GetDictionaryData(userPicker, dicttypecode) { // var xhr = new plus.net.XMLHttpRequest(); // xhr.responseType = "json"; // xhr.onreadystatechange = function() { // switch(xhr.readyState) { // case 4: // if(xhr.status == 200) { // console.log(JSON.stringify(xhr.response.msg)); // userPicker.setData(ChangeJsonObjectPropertyToValueText(xhr.response.msg, "dict")); // } else {} // break; // default: // break; // } // } // xhr.open("GET", encodeURI(serverdomain + "/WebService/UserService.ashx?Action=dicEntry&content={'dictypeid':'" + dicttypecode + "'}")); // xhr.send(); mui.post(api+'/user/getdataitem',{data:dicttypecode},function(res){ if(res.code=="200"){ console.log(JSON.stringify(res.data)) userPicker.setData(ChangeJsonObjectPropertyToValueText(res.data, "dict")) } }) } function GetDictionaryDataBySource(userPicker, dicttypecode) { mui.post(api+'/user/getCultureInfo',{data:dicttypecode},function(res){// if(res.code=="200"){ userPicker.setData(ChangeJsonObjectPropertyToValueText(res.data, "dict")) } },'json') } /*获取校区的列表*/ function GetSchoolData(userPicker) { // var xhr = new plus.net.XMLHttpRequest(); // xhr.responseType = "json"; // xhr.onreadystatechange = function() { // switch(xhr.readyState) { // case 4: // if(xhr.status == 200) { // console.log(JSON.stringify(xhr.response.msg)); // userPicker.setData(ChangeJsonObjectPropertyToValueText(xhr.response.msg, "school")); // } else {} // break; // default: // break; // } // } // xhr.open("GET", encodeURI(serverdomain + "/WebService/UserService.ashx?Action=getSchoolArea&content={'app':'1'}")); // xhr.send(); mui.get(api+'/user/getcompany',{},function(res){ if(res.code=="200"){ userPicker.setData(ChangeJsonObjectPropertyToValueText(res.data, "school")) } }) } /*获取专业列表*/ function GetDepartData(userPicker, schoolid, whcdid) { //plus.nativeUI.showWaiting("加载中..."); // var xhrdepart = new plus.net.XMLHttpRequest(); // xhrdepart.responseType = "json"; // xhrdepart.onreadystatechange = function() { // switch(xhrdepart.readyState) { // case 4: // if(xhrdepart.status == 200) { // plus.nativeUI.closeWaiting(); // userPicker.setData(ChangeJsonObjectPropertyToValueText(xhrdepart.response.msg, "depart")); // } else { // plus.nativeUI.closeWaiting(); // } // break; // default: // break; // } // } // xhrdepart.open("GET", encodeURI(serverdomain + "/WebService/UserService.ashx?Action=getDepartsByName&content={'school':'" + schoolid + "','culture':'" + whcdid + "','app':'1'}")); // xhrdepart.send(); console.log(schoolid) mui.post(api+'/user/getmajor',{data:schoolid},function(res){ plus.nativeUI.closeWaiting() if(res.code=="200"){ console.log(JSON.stringify(res.data)); userPicker.setData(ChangeJsonObjectPropertyToValueText(res.data, "depart")); } },'json'); } /*返回字典数据重新组装*/ function ChangeJsonObjectPropertyToValueText(oldjsonlist, typename) { var newlist = new Array(); if(oldjsonlist.length > 0) { for(var iobj in oldjsonlist) { var newobj = {}; if(typename == "dict") { newobj.value = oldjsonlist[iobj].dicentryid; newobj.text = oldjsonlist[iobj].name; } if(typename == "school") { newobj.value = oldjsonlist[iobj].schoolID; newobj.text = oldjsonlist[iobj].school; } if(typename == "depart") { newobj.value = oldjsonlist[iobj].departID; newobj.text = oldjsonlist[iobj].depart; } if(typename == "province") { newobj.value = oldjsonlist[iobj].ProID; newobj.text = oldjsonlist[iobj].name; } if(typename == "city") { newobj.value = oldjsonlist[iobj].CityID; newobj.text = oldjsonlist[iobj].name; } if(typename == "area") { newobj.value = oldjsonlist[iobj].Id; newobj.text = oldjsonlist[iobj].name; } newlist.push(newobj); } } return newlist; } function isIdCardNo(num) { num = num.toUpperCase(); //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。 if(!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))) { //alert('输入的身份证号长度不对,或者号码不符合规定!\n15位号码应全为数字,18位号码末位可以为数字或X。'); alert('身份证号长度不正确或不符合规定!'); return false; } //验证前2位,城市符合 var aCity = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江 ", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" }; if(aCity[parseInt(num.substr(0, 2))] == null) { alert('身份证号不正确或不符合规定!'); return false; } //alert('城市:'+aCity[parseInt(num.substr(0,2))]); //下面分别分析出生日期和校验位 var len, re; len = num.length; if(len == 15) { re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/); var arrSplit = num.match(re); //检查生日日期是否正确 var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]); var bGoodDay; bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4])); if(!bGoodDay) { alert('身份证号的出生日期不对!'); return false; } else { //将15位身份证转成18位 //校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。 var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); var nTemp = 0, i; num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6); for(i = 0; i < 17; i++) { nTemp += num.substr(i, 1) * arrInt[i]; } num += arrCh[nTemp % 11]; return true; } } if(len == 18) { re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/); var arrSplit = num.match(re); //检查生日日期是否正确 var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]); var bGoodDay; bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4])); if(!bGoodDay) { //alert(dtmBirth.getYear()); //alert(arrSplit[2]); alert('身份证号的出生日期不对!'); return false; } else { //检验18位身份证的校验码是否正确。 //校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。 var valnum; var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); var nTemp = 0, i; for(i = 0; i < 17; i++) { nTemp += num.substr(i, 1) * arrInt[i]; } valnum = arrCh[nTemp % 11]; if(valnum != num.substr(17, 1)) { //alert('18位身份证的校验码不正确!应该为:' + valnum); alert('18位身份证号的校验码不正确!'); return false; } return true; } } return false; }