common.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. /*/**
  2. * Created by 80374009 on 2017/3/20.
  3. */
  4. // 终端号
  5. var TerminalNo;
  6. // 设备类型
  7. var MachineType;
  8. // 钥匙持有人AgentID
  9. var AgentID;
  10. // 对Date的扩展,将 Date 转化为指定格式的String
  11. // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
  12. // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
  13. // 例子:
  14. // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
  15. // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
  16. Date.prototype.Format = function(fmt) {
  17. var o = {
  18. "M+": this.getMonth() + 1, //月份
  19. "d+": this.getDate(), //日
  20. "h+": this.getHours(), //小时
  21. "m+": this.getMinutes(), //分
  22. "s+": this.getSeconds(), //秒
  23. "q+": Math.floor((this.getMonth() + 3) / 3), //季度
  24. "S": this.getMilliseconds() //毫秒
  25. };
  26. if (/(y+)/.test(fmt)) {
  27. fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  28. }
  29. for (var k in o) {
  30. if (new RegExp("(" + k + ")").test(fmt)) {
  31. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  32. }
  33. }
  34. return fmt;
  35. }
  36. //调用接口
  37. function commonInterfaceForJs(param) {
  38. var ret = "";
  39. try
  40. {
  41. ret = window.external.CommonInterfaceForJs(param);
  42. }
  43. catch(err)
  44. {
  45. }
  46. return ret;
  47. }
  48. /* 获取链接中的请求参数
  49. 例:
  50. var Request = new Object();
  51. Request = GetRequest();
  52. terminalNo = Request['TerminalNo'];
  53. agentID = Request['AgentID'];
  54. */
  55. function GetRequest() {
  56. var url = location.search;
  57. var theRequest = new Object();
  58. if (url.indexOf("?") != -1) {
  59. var str = url.substr(1);
  60. var strs = str.split("&");
  61. for (var i = 0; i < strs.length; i++) {
  62. theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
  63. }
  64. }
  65. return theRequest;
  66. }
  67. function refresh() {
  68. var objtime = new Date();
  69. var hh = objtime.getHours();
  70. if (hh < 10) hh = '0' + hh;
  71. var mm = objtime.getMinutes();
  72. if (mm < 10) mm = '0' + mm;
  73. var clock = hh + ":" + mm;
  74. document.getElementById("time").innerHTML = clock;
  75. setTimeout("refresh()", 1000);
  76. }
  77. //查询版本号
  78. function qryVersion(callback) {
  79. setTimeout(function () {
  80. //版本号
  81. var param = "{\"command\": 242,\"param\": {}}";
  82. var ret = commonInterfaceForJs(param);
  83. var obj = JSON.parse(ret);
  84. version = obj.content.version;
  85. callback();
  86. }, 10);
  87. }
  88. //右上角显示版本号
  89. function showVersion() {
  90. document.getElementById("Version").innerHTML = version;
  91. }
  92. //重启系统页面
  93. function Restart() {
  94. document.getElementById('BackgroundCover').style.display = 'block';
  95. document.getElementById('CoverPage').style.display = 'block';
  96. var param2 = "{\"command\": 241,\"param\":{}}";
  97. var ret2 = commonInterfaceForJs(param2);
  98. var obj2 = JSON.parse(ret2);
  99. if (obj2.errorcode == 0) {
  100. document.getElementById("CoverTxt").innerHTML = "正在重启应用,请稍候";
  101. }
  102. else {
  103. document.getElementById("CoverTxt").innerHTML = "重启应用失败";
  104. }
  105. }
  106. //重启计算机
  107. function RestartMachine() {
  108. document.getElementById('BackgroundCover').style.display = 'block';
  109. document.getElementById('CoverPage').style.display = 'block';
  110. var param = "{\"command\": 266,\"param\":{}}";
  111. var ret = commonInterfaceForJs(param);
  112. var obj = JSON.parse(ret);
  113. if (obj.errorcode == 0) {
  114. document.getElementById("CoverTxt").innerHTML = "正在重启计算机,请稍候";
  115. }
  116. else {
  117. document.getElementById("CoverTxt").innerHTML = "重启计算机失败";
  118. }
  119. }
  120. //左上角显示关机按钮
  121. function ShowTurnOff(type) {
  122. document.getElementById('off').style.display = 'block';
  123. }
  124. //关机
  125. function TurnOff() {
  126. var isTf = confirm("请确认是否关机!");
  127. if (isTf) {
  128. document.getElementById('BackgroundCover').style.display = 'block';
  129. document.getElementById('CoverPage').style.display = 'block';
  130. var param = "{\"command\": 266,\"param\":{\"reboot\":false }}";
  131. var ret = commonInterfaceForJs(param);
  132. var obj = JSON.parse(ret);
  133. if (obj.errorcode != 0) {
  134. confirm("关机失败!Error:" + obj.errormsg + ",ErrorCode:" + obj.errorcode.toString(16));
  135. return;
  136. }
  137. document.getElementById("CoverTxt").innerHTML = "正在关机,请稍候";
  138. }
  139. }
  140. //弹出键盘
  141. function showkeybd(keyid) {
  142. VirtualKeyboard.toggle(keyid, 'softkey');
  143. $("#kb_langselector,#kb_mappingselector,#copyrights").css("display", "none");
  144. }
  145. //当前时间格式化
  146. function getNowFormatDate() {
  147. var date = new Date();
  148. var seperator1 = "/";
  149. var seperator2 = ":";
  150. var month = date.getMonth() + 1;
  151. var strDate = date.getDate();
  152. if (month >= 1 && month <= 9) {
  153. month = "0" + month;
  154. }
  155. if (strDate >= 0 && strDate <= 9) {
  156. strDate = "0" + strDate;
  157. }
  158. var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
  159. + " " + date.getHours() + seperator2 + date.getMinutes()
  160. + seperator2 + date.getSeconds();
  161. return currentdate;
  162. }
  163. //获取当前时间,格式YYYY-MM-DD
  164. function getNowDate() {
  165. var date = new Date();
  166. var seperator1 = "-";
  167. var year = date.getFullYear();
  168. var month = date.getMonth() + 1;
  169. var strDate = date.getDate();
  170. if (month >= 1 && month <= 9) {
  171. month = "0" + month;
  172. }
  173. if (strDate >= 0 && strDate <= 9) {
  174. strDate = "0" + strDate;
  175. }
  176. var currentdate = year + seperator1 + month + seperator1 + strDate;
  177. return currentdate;
  178. }
  179. // 将js对象转成url jquery实现
  180. var parseParam = function (paramObj, key) {
  181. var paramStr = "";
  182. if (paramObj instanceof String || paramObj instanceof Number || paramObj instanceof Boolean) {
  183. paramStr += "&" + key + "=" + encodeURIComponent(paramObj);
  184. } else {
  185. $.each(paramObj, function (i) {
  186. var k = key == null ? i : key + (paramObj instanceof Array ? "[" + i + "]" : "." + i);
  187. paramStr += '&' + parseParam(this, k);
  188. });
  189. }
  190. return paramStr.substr(1);
  191. };
  192. //封装调用接口服务
  193. function entityService(param, errMsg) {
  194. var ret = commonInterfaceForJs(param);
  195. var obj = JSON.parse(ret);
  196. if (obj.errorcode != 0) {
  197. confirm(errMsg + "Error:" + obj.errormsg + ",ErrorCode:" + obj.errorcode.toString(16));
  198. return;
  199. }
  200. if ((obj.content.ret != 0) && (obj.content.ret != 1056) ){
  201. confirm(errMsg + "Error:" + obj.content.msg + ",ErrorCode:" + obj.content.ret.toString(16));
  202. return;
  203. }
  204. if((obj.content.errorCode != null) && (obj.content.errorCode!=0)){
  205. confirm(errMsg + "Error:" + obj.content.errorMsg + ",ErrorCode:" + obj.content.errorCode);
  206. return;
  207. }
  208. return obj;
  209. }
  210. function openKeyBoard(){
  211. var param = "{ \"command\" : 276, \"param\":{ \"action\":1} } ";
  212. var ret = commonInterfaceForJs(param);
  213. var obj = JSON.parse(ret);
  214. if (obj.errorcode != 0) {
  215. confirm("系统键盘打开失败!Error:" + obj.errormsg + ",ErrorCode:" + obj.errorcode.toString(16));
  216. return;
  217. }
  218. //ret这个值有可能是 1056 服务的实例已在运行中 ,1056时不报错
  219. if ((obj.content.ret != 0)&&(obj.content.ret != 1056) ){
  220. confirm("系统键盘打开失败!Error:" + obj.content.msg + ",ErrorCode:" + obj.content.ret.toString(16));
  221. return;
  222. }
  223. }
  224. //退出离线双录页面
  225. function oflVideoExit() {
  226. //通知IEBrowser,当前已经退出双录业务,关闭系统键盘实体
  227. //ret这个值有可能是 1056 服务的实例已在运行中 ,1056时要特殊处理
  228. var param= "{ \"command\" : 276, \"param\":{ \"action\":0} } ";
  229. entityService(param,'系统键盘关闭失败!');
  230. window.history.go(-1);
  231. }
  232. //输入内容校验oninput="checkCardNo(value)" onpropertychange="checkCardNo (value)"
  233. function checkRegex(value,regex,errID,errMsg) {
  234. if(regex.test(value)||(value=="")){
  235. //格式正确
  236. document.getElementById(errID).innerHTML="";
  237. }else{
  238. //格式错误
  239. document.getElementById(errID).innerHTML=errMsg;
  240. }
  241. }
  242. // 打开遮盖层
  243. function ShowLoading(loadMsg) {
  244. $("#mask").css("height", $(document).height());
  245. $("#mask").css("width", $(document).width());
  246. var appendElement='<div id="loadContent"><p style="color:red;font-weight: bold;">'+loadMsg+'</p><img id="img-waiting" src="images/loader.gif" style="width:60px;height:24px;margin:10px auto;"></div>'
  247. $("#mask").append(appendElement);
  248. $("#loadContent").css('width', '20%');
  249. $("#loadContent").css('height', '10%');
  250. $("#loadContent").css('z-index', '10');
  251. $("#loadContent").css('margin', '450px auto');
  252. $("#loadContent").css('text-align', 'center');
  253. $("#mask").show();
  254. }
  255. // 关闭遮盖层
  256. function HideLoading() {
  257. $("#mask").find('#loadContent').remove();
  258. $("#mask").hide();
  259. }
  260. //获取集中配置
  261. function GetCenterSetting(entity, key) {
  262. var param = "{ \"command\" : 271, \"param\":{ \"key\":\"" + key + "\", \"entity\":\"" + entity + "\" } } ";
  263. var ret = commonInterfaceForJs(param);
  264. var obj = JSON.parse(ret);
  265. return obj;
  266. }
  267. //判断空对象
  268. function isEmptyObject(obj){
  269. for(var key in obj)
  270. {
  271. if(key!=undefined)return false;
  272. }
  273. return true;
  274. }
  275. //记录日志,仅供侧边栏使用,调用chrome浏览器接口
  276. var MethodID={
  277. LOG_INFO:3080194,
  278. LOG_WARN:3080195,
  279. LOG_ERROR:3080196,
  280. }
  281. function logEvent(msg) {
  282. log(MethodID.LOG_INFO,msg);
  283. }
  284. function logWarn(msg) {
  285. log(MethodID.LOG_WARN,msg);
  286. }
  287. function logError(msg) {
  288. log(MethodID.LOG_ERROR,msg);
  289. }
  290. function log(methodID,msg){
  291. var req={};
  292. req.messageType=2;
  293. req.methodID=methodID;
  294. req.log="SideBar "+msg;
  295. var reqJson=JSON.stringify(req);
  296. // window.cefQuery({
  297. // request: reqJson,
  298. // persistent: false,
  299. // onSuccess: function(response) { return response},
  300. // onFailure: function(code, msg) {
  301. // var err=code+msg;
  302. // return err;
  303. // }
  304. // });
  305. }
  306. function RetnWF3() {
  307. var wstr="";
  308. var date=new Date();
  309. var day=date.getDay();
  310. switch (day) {
  311. case 0:wstr="星期日";break;
  312. case 1:wstr="星期一";break;
  313. case 2:wstr="星期二";break;
  314. case 3:wstr="星期三";break;
  315. case 4:wstr="星期四";break;
  316. case 5:wstr="星期五";break;
  317. case 6:wstr="星期六";break;
  318. }
  319. return wstr;
  320. }
  321. // 日期时间补零
  322. function getZero(num){
  323. if(parseInt(num)<10){
  324. num = '0'+num
  325. }
  326. return num
  327. }
  328. // 获取当前时间 YYYY-MM-DD hh-mm-ss
  329. function getFamtterTimer(time){
  330. let date = new Date(time)
  331. let Y = date.getFullYear()
  332. let M = date.getMonth() + 1
  333. let D = date.getDate()
  334. let h = date.getHours()
  335. let m = date.getMinutes()
  336. let s = date.getSeconds()
  337. let dateTime = Y+'-'+getZero(M)+'-'+getZero(D)+' '+getZero(h)+':'+getZero(m)+':'+getZero(s)
  338. return dateTime
  339. }