瀏覽代碼

推送页面处理

wenmenghao321 2 年之前
父節點
當前提交
6f53783f68
共有 40 個文件被更改,包括 4158 次插入0 次删除
  1. 3 0
      src/jfw/modules/app/src/web/templates/entniche/entniche_seniorset.html
  2. 99 0
      src/web/staticres/entniche/css/common.css
  3. 642 0
      src/web/staticres/entniche/css/font.css
  4. 360 0
      src/web/staticres/entniche/css/layout.css
  5. 1 0
      src/web/staticres/entniche/css/mobiscroll.min.css
  6. 645 0
      src/web/staticres/entniche/css/wxkeyset.css
  7. 二進制
      src/web/staticres/entniche/images/addbg.png
  8. 二進制
      src/web/staticres/entniche/images/byEmail.png
  9. 二進制
      src/web/staticres/entniche/images/checked.png
  10. 二進制
      src/web/staticres/entniche/images/close.png
  11. 二進制
      src/web/staticres/entniche/images/editemail.png
  12. 二進制
      src/web/staticres/entniche/images/historypush.png
  13. 二進制
      src/web/staticres/entniche/images/merge.png
  14. 二進制
      src/web/staticres/entniche/images/nopush.png
  15. 二進制
      src/web/staticres/entniche/images/pushfrequency.png
  16. 二進制
      src/web/staticres/entniche/images/pushway.png
  17. 二進制
      src/web/staticres/entniche/images/resultpreview.png
  18. 二進制
      src/web/staticres/entniche/images/right.png
  19. 二進制
      src/web/staticres/entniche/images/set-right.png
  20. 二進制
      src/web/staticres/entniche/images/set.png
  21. 二進制
      src/web/staticres/entniche/images/set1.png
  22. 二進制
      src/web/staticres/entniche/images/set11.png
  23. 二進制
      src/web/staticres/entniche/images/set2.png
  24. 二進制
      src/web/staticres/entniche/images/set21.png
  25. 二進制
      src/web/staticres/entniche/images/set3.png
  26. 二進制
      src/web/staticres/entniche/images/set31.png
  27. 二進制
      src/web/staticres/entniche/images/spg.gif
  28. 二進制
      src/web/staticres/entniche/images/switch.png
  29. 二進制
      src/web/staticres/entniche/images/switchOff.png
  30. 二進制
      src/web/staticres/entniche/images/time.png
  31. 二進制
      src/web/staticres/entniche/images/turn-off.png
  32. 二進制
      src/web/staticres/entniche/images/turn-on.png
  33. 二進制
      src/web/staticres/entniche/images/usinghelp.png
  34. 二進制
      src/web/staticres/entniche/images/zhaobiaodingyue-close.png
  35. 二進制
      src/web/staticres/entniche/images/zhinengmoshi.png
  36. 1966 0
      src/web/staticres/entniche/js/common.js
  37. 0 0
      src/web/staticres/entniche/js/fastclick.min.js
  38. 0 0
      src/web/staticres/entniche/js/mobiscroll.min.js
  39. 19 0
      src/web/staticres/entniche/js/rem.js
  40. 423 0
      src/web/templates/weixin/entniche/entniche_seniorset.html

+ 3 - 0
src/jfw/modules/app/src/web/templates/entniche/entniche_seniorset.html

@@ -128,6 +128,9 @@
       margin-top: 0.16rem;
       display: none;
     }
+    /* .app-layout-content-b{
+      top: 0 !important;
+    } */
 	</style>
     <script>
     var identification = getParam('pagesource')

+ 99 - 0
src/web/staticres/entniche/css/common.css

@@ -0,0 +1,99 @@
+/*@import url(/jyapp/css/layout.css?v=51430);*/
+/*@import url(/jyapp/css/font.css?v=51430);*/
+body{
+	margin: 0px;
+	font-family: tahoma, arial, 'Hiragino Sans GB', 'Microsoft YaHei', 宋体, sans-serif;
+	-webkit-tap-highlight-color: transparent;
+	font-size: 16px;
+}
+ul{
+	list-style: none;
+	padding: 0px;
+	margin: 0px;
+}
+img{
+	vertical-align: sub;
+}
+a{
+	color: #0987ff;
+}
+::-webkit-input-placeholder {
+    color: #ddd;
+}
+.overflow-hidden{
+	overflow: hidden;
+	height: 100%;
+}
+[type='text']{
+	border: 1px solid #ccc;
+	border-radius: 4px;
+	padding-left: 10px;
+	padding-right: 0px;
+}
+[type='text'],textarea{
+	box-shadow: 0px 0px 0px rgba(0,0,0,0);
+    -webkit-appearance: none;
+}
+.red-border{
+	border-color: red !important;
+}
+.btn{
+	background-color: #24C0D7;
+	text-align: center;
+	vertical-align: middle;
+	touch-action: manipulation;
+	cursor: pointer;
+	background-image: none;
+	border: 1px solid transparent;
+	white-space: nowrap;
+	padding: 8px 12px;
+	font-size: 14px;
+	line-height: 1.42857143;
+	border-radius: 4px;
+	-webkit-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+	color: #FFFFFF;
+	position: relative;
+	outline-width: 0px;
+	box-shadow: none !important;
+}
+.btn[disabled]{
+	cursor: not-allowed;
+	pointer-events: none;
+	opacity: .5;
+	filter: alpha(opacity=65);
+	-webkit-box-shadow: none;
+	box-shadow: none;
+}
+.border-top{
+	border-top: 1px solid #CCCCCC;
+}
+.hide{
+	display: none;
+}
+.mustshare-mark{
+	position: fixed;
+	left: 0px;
+	right: 0px;
+	bottom: 0px;
+	top: 0px;
+	background-color: rgba(0,0,0,.84);
+	z-index: 999999;
+	display: none;
+}
+.mustshare-mark img:nth-child(1){
+	position: absolute;
+	top: 140px;
+	left: 50%;
+	margin-left: -141px;
+	width: 282px;
+}
+.mustshare-mark img:nth-child(2){
+	position: absolute;
+	top: 350px;
+	left: 50%;
+	margin-left: -74px;
+	width: 148px;
+}

+ 642 - 0
src/web/staticres/entniche/css/font.css

@@ -0,0 +1,642 @@
+/* @font-face {
+	font-family: 'YouShe';
+	src: url('/jyapp/fonts/YouSheBiaoTiHei-2.ttf');
+} */
+
+/*字体图标*/
+/* @font-face {
+	font-family: 'qimingxing';
+	src: url('/jyapp/fonts/qimingxing.eot');
+	src: url('/jyapp/fonts/qimingxing.eot?#iefix') format('embedded-opentype'),
+		url('/jyapp/fonts/qimingxing.woff?v=51430') format('woff'),
+		url('/jyapp/fonts/qimingxing.ttf?v=51430') format('truetype'),
+		url('/jyapp/fonts/qimingxing.svg') format('svg');
+} */
+
+.glyphicon {
+	position: relative;
+	top: 1px;
+	display: inline-block;
+	font-family: 'qimingxing';
+	font-style: normal;
+	font-weight: normal;
+	line-height: 1;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.anquan:before {
+	content: "\44";
+}
+
+.bianji:before {
+	content: "\22";
+}
+
+.biaojidizhi:before {
+	content: "\23";
+}
+
+.fuwu:before {
+	content: "\24";
+}
+
+.chenggongtishi:before {
+	content: "\25";
+}
+
+.dengjijiguan:before {
+	content: "\26";
+}
+
+.dengjizhuangtai:before {
+	content: "\27";
+}
+
+.douban:before {
+	content: "\28";
+}
+
+.falvshengming:before {
+	content: "\29";
+}
+
+.faren:before {
+	content: "\30";
+}
+
+.fenxiang:before {
+	content: "\32";
+}
+
+.gongshixinxi:before {
+	content: "\33";
+}
+
+.gongshijianjie:before {
+	content: "\34";
+}
+
+.guanxiwang:before {
+	content: "\35";
+}
+
+.huidingbu:before {
+	content: "\36";
+}
+
+.jiazai:before {
+	content: "\37";
+}
+
+.jingyingfanwei:before {
+	content: "\38";
+}
+
+.kehubiaoqian:before {
+	content: "\39";
+}
+
+.lianxidianhua:before {
+	content: "\40";
+}
+
+.lianxidizhi:before {
+	content: "\41";
+}
+
+.lianxiren:before {
+	content: "\42";
+}
+
+.lianxiwomen:before {
+	content: "\43";
+}
+
+.liaotian:before {
+	content: "\44";
+}
+
+.liaotianjilu:before {
+	content: "\45";
+}
+
+.liebiao:before {
+	content: "\46";
+}
+
+.mima:before {
+	content: "\47";
+}
+
+.qiyeleixing:before {
+	content: "\48";
+}
+
+.qqkongjian:before {
+	content: "\49";
+}
+
+.quanping:before {
+	content: "\4a";
+}
+
+.quanxianfenpei:before {
+	content: "\4b";
+}
+
+.riqi:before {
+	content: "\4c";
+}
+
+.shibai:before {
+	content: "\4d";
+}
+
+.shimingrenzheng:before {
+	content: "\4e";
+}
+
+.shuaxin:before {
+	content: "\4f";
+}
+
+.sousuo:before {
+	content: "\50";
+}
+
+.tengxun:before {
+	content: "\51";
+}
+
+.tianjiachengyuan:before {
+	content: "\52";
+}
+
+.tishi:before {
+	content: "\53";
+}
+
+.wangzhi:before {
+	content: "\54";
+}
+
+.wodehuangye:before {
+	content: "\55";
+}
+
+.weiguanwang:before {
+	content: "\56";
+}
+
+.weixin:before {
+	content: "\57";
+}
+
+.weixinhao:before {
+	content: "\58";
+}
+
+.xiaoxi:before {
+	content: "\59";
+}
+
+.xiayibu:before {
+	content: "\5a";
+}
+
+.xinlang:before {
+	content: "\61";
+}
+
+.xitongshezhi:before {
+	content: "\62";
+}
+
+.youjian:before {
+	content: "\63";
+}
+
+.yuangongguanli:before {
+	content: "\64";
+}
+
+.kefuzaixian:before {
+	content: "\65";
+}
+
+.grrz:before {
+	content: "\66";
+}
+
+.zhanghao:before {
+	content: "\67";
+}
+
+.zhuanjie:before {
+	content: "\68";
+}
+
+.zhucehao:before {
+	content: "\69";
+}
+
+.zhusuo:before {
+	content: "\6a";
+}
+
+.zican:before {
+	content: "\6b";
+}
+
+.biaoqian:before {
+	content: "\70";
+}
+
+.biaoqing:before {
+	content: "\71";
+}
+
+.bofangjilu:before {
+	content: "\72";
+}
+
+.yjrz:before {
+	content: "\73";
+}
+
+.jgrz:before {
+	content: "\74";
+}
+
+.enterjian:before {
+	content: "\75";
+}
+
+.fuxuangougou:before {
+	content: "\76";
+}
+
+.guanbi:before {
+	content: "\77";
+}
+
+.iconfontcolor71:before {
+	content: "\78";
+}
+
+.liaotian:before {
+	content: "\79";
+}
+
+.ren:before {
+	content: "\7A";
+}
+
+.shangyihua:before {
+	content: "\7B";
+}
+
+.shangyiye:before {
+	content: "\7C";
+}
+
+.shuaxin:before {
+	content: "\7D";
+}
+
+.svgzuidahua:before {
+	content: "\7E";
+}
+
+.tupian:before {
+	content: "\A1";
+}
+
+.uploading:before {
+	content: "\A2";
+}
+
+.mprz:before {
+	content: "\A3";
+}
+
+.yyzzrz:before {
+	content: "\A4";
+}
+
+.yingyong:before {
+	content: "\A5";
+}
+
+.zhuanrengong:before {
+	content: "\A6";
+}
+
+.qyrz:before {
+	content: "\A7";
+}
+
+.zuixiaohua:before {
+	content: "\A8";
+}
+
+.qq:before {
+	content: "\7e";
+}
+
+.jianyu:before {
+	content: "\51";
+}
+
+.zhengcefagui:before {
+	content: "\52";
+}
+
+.fuwushichang:before {
+	content: "\49";
+}
+
+.qiyeshequ:before {
+	content: "\57";
+}
+
+.weiguanwang1:before {
+	content: "\61";
+}
+
+.tuichu:before {
+	content: "\2A";
+}
+
+.youjian1:before {
+	content: "\2C";
+}
+
+.ren1:before {
+	content: "\2B";
+}
+
+.guanbi1:before{
+	content: "\6C";
+}
+
+.qq1:before {
+	content: "\6D";
+}
+
+.dizhi:before {
+	content: "\6E";
+}
+
+.ren2:before {
+	content: "\6F";
+}
+
+.shouji:before {
+	content: "\5B";
+}
+
+.wangzhi1:before {
+	content: "\5C";
+}
+
+.youjian2:before{
+	content: "\5D";
+}
+
+.jinbi:before{
+	content: "\5E";
+}
+
+.jianzhu:before{
+	content: "\5F";
+}
+
+.rili:before{
+	content: "\60";
+}
+
+.fenxiang1:before{
+	content: "\2D";
+}
+
+.zan:before{
+	content: "\2E";
+}
+
+.zhuyaorenyuan:before{
+	content: "\2F";
+}
+
+.weiguanwang2:before{
+	content: "\3A";
+}
+
+.shixinxinxi:before{
+	content: "\3B";
+}
+
+.qiyexinwen:before{
+	content: "\3C";
+}
+
+.qiyemingpian:before{
+	content: "\3D";
+}
+
+.qiyehuangye:before{
+	content: "\3E";
+}
+
+.qiyegaikuang:before{
+	content: "\3F";
+}
+
+.guanxiwang1:before{
+	content: "\31";
+}
+
+.biangengxinxi:before{
+	content: "\A9";
+}
+
+.quanping:before{
+	content: "\AA";
+}
+
+.suofang:before{
+	content: "\AB";
+}
+
+.yibanmoshi:before{
+	content: "\AC";
+}
+
+.xiangximoshi:before{
+	content: "\AE";
+}
+
+.weiguanzhu:before{
+	content: "";
+}
+
+.yiguanzhu:before{
+	content: "\AF";
+}
+
+.qmx-icon-jianyu:before{
+	content: "\BB";
+}
+
+.qmx-icon-xuqiu:before{
+	content: "\B1";
+}
+
+.qmx-icon-renzheng:before{
+	content: "\B2";
+}
+
+.qmx-icon-mingpian:before{
+	content: "\B3";
+}
+
+.qmx-icon-fabufuwu:before{
+	content: "\B4";
+}
+
+.qmx-icon-dingdan:before{
+	content: "\B5";
+}
+
+.qmx-icon-toubiao:before{
+	content: "\B6";
+}
+
+.qmx-icon-jifen:before{
+	content: "\B7";
+}
+
+.qmx-icon-guize:before{
+	content: "\B8";
+}
+
+.qmx-icon-xiaoxi:before{
+	content: "\B9";
+}
+
+.qmx-icon-shezhi:before{
+	content: "\BA";
+}
+
+.qmx-icon-shimingrenzheng:before{
+	content: "\BD";
+}
+
+.qmx-icon-anquan:before{
+	content: "\BC";
+}
+
+.qmx-icon-right:before{
+	content: "\BE";
+}
+
+.qmx-icon-xinxi:before{
+	content: "\BF";
+}
+
+.qmx-icon-zuopin:before{
+	content: "\C0";
+}
+
+.qmx-icon-save:before{
+	content: "\C1";
+}
+
+.qmx-icon-book:before{
+	content: "\C2";
+}
+
+.qmx-icon-jingqingqidai:before{
+	content: "\C3";
+}
+
+.qmx-icon-jingqingqidai2:before{
+	content: "\C4";
+}
+.qmx-icon-fenxiang:before {
+    content: "\2000";
+}
+/********************************/
+	/*字体图标*/
+
+@font-face {
+	font-family: 'jyapp';
+	src: url('/jyapp/fonts/jyAPP.eot');
+	src: url('/jyapp/fonts/jyAPP.eot?#iefix') format('embedded-opentype'),
+	url('/jyapp/fonts/jyAPP.woff?v=51430') format('woff'),
+	url('/jyapp/fonts/jyAPP.ttf?v=51430') format('truetype'),
+	url('/jyapp/fonts/jyAPP.svg') format('svg');
+}
+
+.jyapp-icon {
+	position: relative;
+	top: 0px;
+	display: inline-block;
+	font-family: 'jyapp';
+	font-style: normal;
+	font-weight: normal;
+	line-height: 1;
+	text-align: center;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.jyapp-icon-youjiantou:before {
+	content: "\A3";
+}
+.jyapp-icon-qq:before {
+	content: "\A5";
+}
+.jyapp-icon-biyan:before {
+	content: "\A6";
+}
+.jyapp-icon-zuojiantou:before {
+	content: "\A7";
+}
+.jyapp-icon-pengyouquan:before {
+	content: "\A8";
+}
+.jyapp-icon-shiyanshi:before {
+	content: "\A9";
+}
+.jyapp-icon-shoucang:before {
+	content: "\AA";
+}
+.jyapp-icon-sousuo:before {
+	content: "\AB";
+}
+.jyapp-icon-weixin:before {
+	content: "\AC";
+}
+.jyapp-icon-wodeme:before {
+	content: "\AD";
+}
+.jyapp-icon-shezhi:before {
+	content: "\AE";
+}
+.jyapp-icon-tongzhi:before {
+	content: "\AF";
+}
+.jyapp-icon-guanzhuqiye:before {
+	content: "\B3";
+}
+.jyapp-icon-guanzhuxiangmu:before {
+	content: "\B4";
+}
+.jyapp-icon-zhengyan:before {
+	content: "\B5";
+}
+.jyapp-icon-wodewode:before {
+	content: "\B6";
+}

+ 360 - 0
src/web/staticres/entniche/css/layout.css

@@ -0,0 +1,360 @@
+* {
+  -webkit-touch-callout:none;
+  -khtml-user-select:none;
+  -moz-user-select:none;
+  -ms-user-select:none;
+  user-select:none;
+}
+a,input,button{
+	outline: none !important;
+	-webkit-tap-highlight-color: rgba(255, 255, 255, 0) !important;
+	-webkit-focus-ring-color: rgba(0, 0, 0, 0) !important;
+}
+/*****app 第一版 布局*****/
+.app-layout-header{
+	line-height: 44px;
+    background-color: #FFFFFF;
+    text-align: center;
+    border-bottom: 1px solid #E6E6E6;
+    font-size: 17px;
+    position: absolute;
+    padding-top: 20px;
+    z-index: 99999;
+    left: 0;
+    right: 0;
+    top: 0;
+	color: #444444;
+}
+.app-layout-header>.app-back{
+	position: absolute;
+    font-size: 19px;
+    padding-top: 20px;
+    padding-left: 11px;
+	padding-right: 40px;
+    padding-bottom: 7px;
+    left: 0px;
+    top: 18px;
+	color: #444444;
+}
+.app-layout-content-a,.app-layout-content-b{
+    position: absolute;
+    top: 44px;
+    padding-top: 20px;
+    overflow-y: auto;
+    bottom: 0px;
+    left: 0px;
+    right:0px;
+    -webkit-overflow-scrolling:touch;
+}
+.app-layout-content-a{
+    bottom: 65px;
+}
+.app-layout-footer {
+  width: 100%;
+  background: #fff;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  z-index: 99;
+  border-top: 1px solid #E6E6E6;
+  box-sizing: border-box;
+}
+.app-layout-footer ul {
+  width: 100%;
+}
+
+.app-layout-footer ul li {
+  width: 25%;
+  float: left;
+  text-align: center;
+  color: #888888;
+  height: 49px;
+  position: relative;
+}
+
+.app-layout-footer ul li span {
+  font-size: 21px;
+  display: block;
+  width: 100%;
+  text-align: center;
+  margin-top: 10px;
+}
+
+.app-layout-footer ul li p {
+  	margin: 0;
+  	font-size: 10px;
+    position: absolute;
+    left: 0px;
+    right: 0px;
+    text-align: center;
+    bottom: 2px;
+	line-height: initial;
+}
+
+.app-layout-footer ul li.active span {
+  color: #2CB7CA;
+}
+
+.app-layout-footer ul li.active p {
+  color: #2CB7CA;
+}
+.easyalert{
+	position: fixed;
+	background-color: rgba(0,0,0,0.7);
+	top: 50%;
+	color: #fff;
+	z-index: 999;
+	border-radius: 6px;
+	padding: 17px 20px;
+    font-size: 15px;
+	line-height: 22px;
+	max-width: 260px;
+	text-align: center;
+	display: none;
+}
+.easyalert-icon{
+	font-size: 13px;
+	border-radius: 5px;
+	width: 120px;
+	height: 120px;
+	padding: 0px;
+	left: 50%;
+	right: 50%;
+	margin-top: -60px;
+	margin-left: -60px;
+	margin-right: -60px;
+}
+.jyapp-li-active{
+	background-color: #e5e5e8 !important;
+}
+.app-layout-footer .jyapp-icon-sousuo{
+	font-size: 42px;
+    top: -17px;
+    left: -10.5px;
+}
+/******************/
+.easypopup{
+	background-color: rgba(0,0,0,0.7);
+	position: fixed;
+	left: 0px;
+	right: 0px;
+	top: 0px;
+	bottom: 0px;
+	display: none;
+	z-index: 999;
+	letter-spacing: 1px;
+}
+.easypopup>div{
+	background-color: #fff;
+	position: fixed;
+	left: 50%;
+	top: 50%;
+	margin-left: -140px;
+    border-radius: 4px;
+	overflow: hidden;
+	width: 280px;
+}
+.easypopup .easypopup-edit{
+	width: 300px;
+	margin-left: -150px;
+}
+.easypopup .easypopup-header{
+	padding-top: 29px;
+	padding-bottom: 16px;
+	text-align: center;
+	font-size: 17px;
+	color: #1d1d1d;
+}
+.easypopup .easypopup-main .easypopup-content{
+	padding: 0px 20px 18px 20px;
+	color: #686868;
+}
+.easypopup .easypopup-edit .easypopup-content{
+	padding: 0px 15px 18px 15px;
+	color: #686868;
+}
+.easypopup .easypopup-alert .easypopup-content{
+	padding: 38px 20px 24px 20px;
+}
+.easypopup .easypopup-content{
+	text-align: center;
+	font-size: 15px;
+}
+.easypopup .easypopup-edit [type='text']{
+	height: 37px;
+	border-radius: 3px;
+	font-size: 16px;
+	color: #1d1d1d;
+	padding-left: 10px;
+	width: 100%;
+}
+.easypopup .easypopup-edit ::-webkit-input-placeholder {
+    color: #686868;
+}
+.easypopup .easypopup-footer{
+	text-align: center;
+	border-top: 1px solid #E0E0E0;
+	display: table;
+	width: 100%;
+	font-size: 18px;
+}
+.easypopup .easypopup-footer>span{
+	height: 50px;
+	line-height: 50px;
+	display: table-cell;
+	background-color: #fff;
+}
+.easypopup .easypopup-footer>span:last-child{
+	color: #2cb7ca;
+	border-left: 1px solid #E0E0E0;
+}
+.easypopup .easypopup-footer>span:first-child{
+	border-left: none;
+}
+.easypopup .easypopup-alert .easypopup-footer>span{
+	width: 100%;
+}
+
+/*分享好友弹窗*/
+.share {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: rgba(0, 0, 0, 0.6);
+  z-index: 99999;
+  display: none;
+}
+
+.share .shareMain {
+  width: 100%;
+  background: #f4f4f9;
+  position: absolute;
+  left: 0;
+  bottom: 0;
+}
+.share .shareMain ul{
+	background-color: #f4f4f9;
+	height: 120px;
+	padding-top: 32px;
+	box-sizing: border-box;
+}
+.share .shareMain ul li {
+  float: left;
+  text-align: center;
+  margin: 0px 15px;
+}
+
+.share .shareMain ul li span {
+    font-size: 50px;
+}
+
+.share .shareMain ul li span.jyapp-icon-weixin {
+  color: #0ab70e;
+}
+
+.share .shareMain ul li span.jyapp-icon-qq {
+  color: #4cafe9;
+}
+
+.share .shareMain ul li span.jyapp-icon-pengyouquan {
+  color: #a5e537;
+}
+
+.share .shareMain ul li p {
+  font-size: 14px;
+  color: #1D1D1D;
+margin:0px;
+}
+
+.share .shareMain a.shareQx {
+  display: block;
+  height: 50px;
+  line-height: 50px;
+  text-align: center;
+  background: #fff;
+  font-size: 17px;
+color:#1d1d1d;
+}
+.clearfix::after, .clearfix::before {
+    content: "";
+    display: block;
+    height: 0;
+    clear: both;
+    overflow: hidden;
+}
+ul, li, ol {
+    list-style: none;
+}
+.clearfix a, .clearfix strong {
+    color: #1d1d1d;
+}
+.jyapp-icon-weixin:before {
+    content: "\AC";
+}
+.redspot{
+	position: absolute;
+    width: 8px;
+    height: 8px;
+    background: #f12c20;
+    border-radius: 100%;
+}
+/* 统一头部 */
+.jy-app-header.app-layout-header .app-layout-content-a, .app-layout-content-b{
+    top: 21.33333vw;
+    padding-top: 0;
+}
+.jy-app-header.app-layout-header {
+    display: flex;
+    width: 100%;
+    justify-content: space-between;
+    align-items: center;
+}
+.jy-app-header.app-layout-header + .paddingtop {
+    padding-top: 21.33333vw;
+}
+.jy-app-header.app-layout-header >.app-back,.jy-app-header.app-layout-header >.app-back_,.jy-app-header.app-layout-header > .header-share {
+    top: auto;
+    bottom: 0;
+    position: unset;
+    padding: 16px 0;
+    position: relative;
+}
+.jy-app-header.app-layout-header span.app-back.jyapp-icon.jyapp-icon-zuojiantou::after {
+    content: "";
+    display: inline-block;
+    width: 4em;
+    height: 100%;
+    position: absolute;
+    top: 0;
+    left: 0;
+}
+.j-header.jy-app-header {
+    height: 21.33333vw;
+    padding: 10.66667vw 3.2vw 0 3.2vw;
+    font-family: inherit;
+    background: inherit;
+}
+
+.jy-app-header {
+    height: 21.33333vw;
+    padding: 10.66667vw 3.2vw 0 3.2vw;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    background: #fff;
+    font-family: Avenir,Helvetica,Arial,sans-serif;
+}
+.jy-app-header .icon-left {}
+.badge-number {
+    font-size: 11px;
+    line-height: 15px;
+    min-width: 15px;
+    color: #fff;
+    background: #FB483D;
+    padding: 0 4px;
+    display: inline-block;
+    text-align: center;
+    white-space: nowrap;
+    border-radius: 40px;
+}

文件差異過大導致無法顯示
+ 1 - 0
src/web/staticres/entniche/css/mobiscroll.min.css


+ 645 - 0
src/web/staticres/entniche/css/wxkeyset.css

@@ -0,0 +1,645 @@
+body{
+	background-color: #F5F4FA;
+	font-size: 16px;
+}
+img{
+	vertical-align: middle;
+}
+[type='text']{
+	border-radius: 2px;
+}
+.header{
+	background-color: #F5F4FA;
+	line-height: 50px;
+	height: 50px;
+	padding: 0px 15px;
+	border-bottom: 1px solid #CECECE;
+}
+.header-title{
+	position: absolute;
+	white-space: nowrap;
+    text-overflow: ellipsis;
+    overflow: hidden;
+	right: 60px;
+    left: 15px;
+}
+.content{
+	background-color: #fff;
+}
+.help{
+	width: 23px;
+	margin-left: 10px;
+}
+.complate{
+	color: #2CB7CA;
+	float: right;
+}
+.onenavbar{
+	margin: 15px 0px;
+	background-color: #fff;
+	height: 55px;
+	line-height: 55px;
+	position: relative;
+	padding: 0px 15px;
+}
+.onenavbar>img.img-left{
+	width: 27px;
+	margin-right: 5px;
+}
+.onenavbar>img.img-right{
+	width: 10px;
+	position: absolute;
+	top: 50%;
+	right: 20px;
+	margin-top: -8.5px;
+}
+/***********************keysetpage***********************/
+html.adjustment,body.adjustment{
+	height: 280px;
+    overflow-y: auto;
+}
+html.hidden,body.hidden,.keysetpage .keyWordContent.adjustment{
+	overflow: hidden;
+}
+.keysetpage .header.absolute{
+	position: relative;
+    left: 0px;
+    right: 0px;
+    /*top: 47px;*/
+	z-index: 1;
+	/*margin-top: 20px;*/
+	/*top: 0;*/
+}
+.keysetpage .keyWordContent.adjustment{
+	height: 200px;
+    overflow: hidden;
+}
+.keysetpage .keyWordContent.absolute{
+	/*padding-top: 66px;*/
+}
+.keysetpage .easyalert{
+	margin-left: -150px;
+	left: 50%;
+	margin-top: -39px;
+	text-align: left;
+}
+.keysetpage .easyalert.focus{
+	margin-top: 0px;
+	top: 170px;
+}
+.keysetpage .easyalert>span{
+	display: none;
+}
+.keysetpage .relRecom{
+    background-color: #fff;
+	display: none;
+	padding-bottom: 19px;
+    border-top: 1px solid #EBEBEB;
+    padding-top: 13px;
+    margin: 13px 5px 0px;
+}
+.keysetpage .relRecom.isnotios{
+	padding-bottom: 20px;
+}
+.keysetpage .loading>img{
+	width: 20px;
+	margin-right: 10px;
+}
+.keysetpage .relRecom center{
+    padding: 10px 20px;
+	font-size: 14px;
+	display: none;
+}
+.keysetpage .relRecom .relrecomtip img{
+    margin-right: 5px;
+    width: 20px;
+    height: 20px;
+}
+.keysetpage .relRecom ul{
+/*    padding-left: 15px;*/
+    height: 90px;
+    overflow: hidden;
+}
+.keysetpage .relRecom li{
+	padding: 0px 12px 1px 12px;
+    line-height: 30px;
+    text-align: center;
+    background-color: rgb(244,243,248);
+    margin: 0px 10px 80px 0px;
+    display: inline-block;
+    border-radius: 3px;
+    font-size: 14px;
+}
+.keysetpage .keyWordContent{
+	padding: 15px 5px 0px 10px;
+	background-color: #fff;
+}
+.keysetpage{
+	/*height: 100%;*/
+}
+.keysetpage .brace{
+	height: 150px;
+	display: none;
+}
+.keysetpage .keyWordGroup{
+    margin-bottom: 15px;
+	position: relative;
+	padding-left: 30px;
+	padding-right: 40px;
+	font-size: 16px;
+}
+.keysetpage .keyWordGroup>lable{
+	position: absolute;
+	left: 0px;
+	top: 10px;
+	width: 20px;
+	text-align: right;
+}
+.keysetpage .keyWordGroup>div{
+	position: relative;
+}
+.keysetpage .keyWordGroup>div>img{
+	position: absolute;
+	top: 50%;
+	right: 0px;
+	margin-top: -20px;
+	width: 20px;
+	padding: 10px;
+	display: none;
+}
+.keysetpage .keyWordGroup>span{
+	position: absolute;
+	top: 0px;
+	right: 0px;
+	height: 40px;
+    width: 40;
+}
+.keysetpage .keyWordGroup span img{
+	width: 23px;
+	display: none;
+	padding: 8.5px;
+}
+.keysetpage .keyWordGroup span .set1{
+	display: block;
+}
+.keysetpage .keyWordGroup.hasinput span .set1,.keysetpage .keyWordGroup.hasset span .set1{
+	display: none;
+}
+.keysetpage .keyWordGroup.hasinput span .set2,.keysetpage .keyWordGroup.hasset span .set3{
+	display: block;
+}
+.keysetpage .keyWordGroup [type='text']{
+	height: 40px;
+	font-size: 16px;
+	width: 100%;
+	webkit-transform: translateZ(0);
+	-moz-transform: translateZ(0);
+	-ms-transform: translateZ(0);
+	-o-transform: translateZ(0);
+	transform: translateZ(0);
+}
+.keysetpage .keyWordGroup [type='text'].focus{
+	padding-right: 45px;
+}
+/*********************seniorsetpage************************/
+.seniorsetpage .content{
+	margin-top: 15px;
+	background-color: inherit;
+}
+.seniorsetpage .content>div{
+	margin-bottom: 15px;
+	background-color: #fff;
+}
+.seniorsetpage .onenavbar{
+	border-bottom: 1px solid #E6E6E6;
+}
+
+
+/*新增智能订阅两个li*/
+/*start*/
+.navchoose-top li {
+	width: 100%;
+	height: 80px;
+	background-color: #fff;
+	overflow: hidden;
+	margin-bottom: 15px;
+}
+.navchoose-top ul{
+	background-color: rgba(245,244,250,1);
+}
+.navchoose-top li>div {
+	display: inline-block;
+	width: 100%;
+	height: 100%;
+	box-sizing: border-box;
+	padding: 20px 0 20px 52px;
+}
+
+
+.navchoose-top li>divdiv:nth-of-type(1) {
+	font-size: 17px;
+	margin-bottom: 8px;
+	color: #1d1d1d;
+}
+
+.navchoose-top li>div>div:nth-of-type(2) {
+	font-size: 14px;
+	color: #686868;
+}
+
+.navchoose-top li:nth-of-type(1)>div {
+	background: url(../images/syzindex/sys-index-icon1.png?v=51430) 15px 17px no-repeat, url(../images/search/search-lists-rightBg.png?v=51430) right bottom no-repeat;
+	background-size: 27px 27px,70px 70px;
+}
+
+.navchoose-top li:nth-of-type(2)>div {
+	background: url(../images/syzindex/sys-index-icon2.png?v=51430) 15px 17px no-repeat, url(../images/search/search-lists-rightBg.png?v=51430) right bottom no-repeat;
+	background-size: 27px 27px,70px 70px;
+}
+/*end*/
+
+.seniorsetpage .navchoose{
+	padding-left: 52px;
+	position: relative;
+	padding-top: 50px;
+}
+.seniorsetpage .navchoose li:first-child>img{
+	width: 27px;
+	margin-right: 10px;
+}
+.seniorsetpage .navchoose li:first-child{
+	position: absolute;
+    top: 0px;
+    left: 15px;
+    right: 0px;
+	width: inherit;
+}
+.seniorsetpage .navchoose li{
+	width: 100%;
+	height: 55px;
+	line-height: 55px;
+	border-bottom: 1px solid #E6E6E6;
+	position: relative;
+}
+.seniorsetpage .navchoose li:last-child{
+	border-bottom-width: 0px;
+}
+.seniorsetpage .navchoose li:nth-child(n+2)>img{
+	position: absolute;
+	bottom: 0px;
+	display: none;
+}
+.seniorsetpage .navchoose .checked-img{
+	top: 0px;
+    margin: auto;
+}
+.seniorsetpage .navchoose [class*='turn-']{
+    top: 12px;
+}
+.seniorsetpage .navchoose li:nth-child(n+2).checked>img{
+	display: inline-block;
+}
+.seniorsetpage .checked-img{
+	width: 17px;
+	right: 15px;
+}
+.seniorsetpage .navchoose li:last-child.on{
+	padding: 28px 0px 15px 0px;
+	line-height: 0px;
+	height: inherit;
+}
+.seniorsetpage .turn-on{
+	width: 52px;
+	right: 15px;
+}
+.seniorsetpage .turn-off{
+	width: 57px;
+	right: 15px;
+}
+.seniorsetpage .emailset{
+	margin-top: 20px;
+	display: none;
+}
+.seniorsetpage .emailset>span{
+	color: #999;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    overflow: hidden;
+	font-size: 14px;
+	display: inline-block;
+	height: 30px;
+	line-height: 30px;
+	vertical-align: middle;
+}
+.seniorsetpage .emailset>img{
+	width: 17.5px;
+}
+.seniorsetpage .modal-header {
+    background-color: #F0F0F0;
+    line-height: 40px;
+    border-top-right-radius: 5px;
+    border-top-left-radius: 5px;
+}
+.seniorsetpage .modal-footer{
+    text-align: center !important;
+    border-top: 0px !important;
+    padding: 0px 20px 20px !important;
+}
+.seniorsetpage .modal-footer>button{
+	width: 80px;
+	border-radius: 2px;
+}
+.seniorsetpage .modal-footer>button:first-child{
+    margin-right: 20px;
+}
+.seniorsetpage .modal-footer>button:last-child{
+    background-color: #ccc;
+}
+.seniorsetpage .error {
+    color: #e94f4f;
+    padding-top: 8px;
+	font-size: 14px;
+}
+/*********************filtersetpage************************/
+.filtersetpage ul{
+	border-bottom: 1px solid #CECECE;
+	padding: 0px 15px;
+}
+.filtersetpage li{
+	padding: 15px 0px;
+	width: 100%;
+	border-bottom: 1px solid #E6E6E6;
+	position: relative;
+}
+.filtersetpage li:last-child{
+	border-bottom-width: 0px;
+}
+.filtersetpage li>img{
+	float: right;
+	width: 10px;
+}
+.filtersetpage li>div{
+	font-size: 14px;
+	color: #999;
+	margin-top: 5px;
+	padding-right: 20px;
+}
+.filtersetpage li>div>span{
+	display: inline-block;
+	margin-right: 5px;
+}
+/********************areapage************************/
+.areapage .btn{
+	background-color: #F4F4F9;
+	color: #333;
+/*	padding: 9px 25px;*/
+    font-size: 14px;
+/*    margin-right: 10px;*/
+/*    margin-top: 20px;*/
+	/*dev2.1*/
+	width: 58px;
+    height: 35px;
+    padding: 0px;
+    margin-right: 3px;
+    margin-bottom: 9px;
+}
+.areapage .active{
+	background-color: #24C0D7;
+	color: #FFFFFF;
+}
+.areapage .content{
+	padding: 0px 15px;
+}
+.areapage li{
+    border-bottom: 1px solid #ddd;
+/*    padding: 15px 0px;*/
+	width: 100%;
+	/*    dev2.1   */
+	padding: 15px 0px 6px 15px;
+    position: relative;
+}
+.areapage li:first-child{
+/*	padding-top: 0px;*/
+	/*dev2.1*/
+	padding-top:20px;
+}
+.areapage li>div{
+	padding: 9px 0px;
+	width: 90px;
+    text-align: center;
+    border-radius: 3px;
+    background-color: #F0F0F0;
+	font-weight: bold;
+	font-size: 15px;
+}
+.areapage .content>div{
+	padding-top: 20px;
+}
+/********************infotypepage************************/
+.infotypepage .content>div{
+	padding-top: 20px;
+}
+.infotypepage .content{
+	padding: 0px 15px;
+}
+.infotypepage .btn{
+	font-size: 15px;
+	background-color: #F0F0F0;
+	color: #333;
+	padding: 0px;
+	width: 100px;
+    line-height: 40px;
+    height: 40px;
+	border-radius: 3px;
+}
+.infotypepage .active{
+	background-color: #24C0D7;
+	color: #FFFFFF;
+}
+.infotypepage li{
+	width: 100%;
+	border-bottom: 1px solid #ddd;
+	padding-top: 20px;
+	padding-bottom: 20px;
+}
+.infotypepage li:nth-child(n+2){
+	padding-left: 120px;
+	position: relative;
+}
+.infotypepage li:nth-child(n+2) .btn{
+	position: absolute;
+	left: 0px;
+    top: 50%;
+    margin-top: -20px;
+}
+.infotypepage li>div{
+	color: #999;
+	font-size: 14px;
+}
+/********************notkeypage************************/
+.notkeypage{
+	background-color: #fff;
+}
+.notkeypage .content{
+	padding: 20px 0px 0px 15px;
+}
+.notkeypage .content>div:first-child{
+}
+.notkeypage .content>div:first-child>span{
+	display: block;
+	font-size: 14px;
+	color: #999;
+	line-height: 20px;
+	padding: 10px 0px 20px 0px;
+}
+.notkeypage .keyWordGroup{
+	padding-right: 40px;
+	padding-left: 65px;
+	position: relative;
+	margin-bottom: 15px;
+}
+.notkeypage lable{
+	font-size: 15px;
+	position: absolute;
+	left: 0px;
+	top: 10px;
+}
+.notkeypage .delete{
+	position: absolute;
+    right: 0px;
+    top: 0px;
+    height: 40px;
+    line-height: 40px;
+    width: 40px;
+    text-align: center;
+}
+.notkeypage .delete>img{
+	width: 21px;
+	position: relative;
+	top: 50%;
+	margin-top: -10.5px;
+}
+.notkeypage .keyword{
+	height: 40px;
+    font-size: 16px;
+    width: 100%;
+	webkit-transform: translateZ(0);
+	-moz-transform: translateZ(0);
+	-ms-transform: translateZ(0);
+	-o-transform: translateZ(0);
+	transform: translateZ(0);
+}
+.notkeypage .add{
+	position: relative;
+	left: 58px;
+	color: #fff;
+	display: inline-block;
+}
+.notkeypage .add>span:first-of-type{
+	position: absolute;
+    font-size: 26px;
+    font-weight: bold;
+    top: 6px;
+    left: 38px;
+}
+.notkeypage .add>span:last-of-type{
+	position: absolute;
+    top: 12px;
+    left: 61px;
+	font-size: 18px;
+}
+.notkeypage .add>img{
+	width: 137px;
+}
+#pushfrequency ul>li:nth-child(n+2){
+    line-height: normal;
+    padding: 18px 0px;
+	color:#1d1d1d;
+}
+#pushfrequency ul>li>span{
+	display:block;
+	margin-top: 6px;
+    font-size: 14px;
+	color:#686868;
+}
+#pushfrequency ul>li:nth-child(n+3){
+	padding-top:16px;
+}
+#sp1{
+	display: inline-block;
+    width: 0px;
+    height: 0px;
+    border: 1px solid #ccc;
+    position: absolute;
+    right: 11px;
+    top: 27px;
+    border-width: 9px;
+    border-color: transparent transparent rgba(0, 0, 0, .2) transparent;
+}
+#sp2{
+	display: inline-block;
+    width: 0px;
+    height: 0px;
+    border: 1px solid #fff;
+    position: absolute;
+    right: 11px;
+    top: 28px;
+    border-width: 9px;
+    border-color: transparent transparent #fff transparent;
+    z-index: 999;
+}
+#surprise{
+	width: 120px;
+    height: 42px;
+/*    border: 1px solid #000;*/
+    position: absolute;
+    z-index: 99;
+    border-radius: 4px;
+    right: 3px;
+    top: 46px;
+	box-shadow: 0 0 12px rgba(0, 0, 0, .2);
+	text-align: center;
+    line-height: 42px;
+	background-color: #fff;
+	padding-left: 20px;
+}
+#surprise img{
+	display:block;
+	left: 15px;
+}
+/** dev2.1 **/
+.inputText{
+	position: relative !important;
+    top: 0px;
+    background-color: rgb(244,243,248);
+    text-align: center;
+    padding: 5px 25px 6px 25px;
+    font-size: 14px;
+    margin: auto 5px;
+    height: 20px;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    border-radius: 3px;
+}
+.inputText img{
+	/*display:block !important;
+	left: 32px;*/
+    width: 16px;
+	padding-right:10px;
+	/*position: absolute;
+	top: 13px;*/
+}
+.relRecom {
+	-webkit-animation-duration: 0.7s;
+    animation-duration: 0.7s;
+}
+.areapage li >span{
+    position: absolute;
+    left: 0px;
+    top: 22px;
+    font-size: 14px;
+}
+.seize{
+	margin-bottom:0px !important;
+}

二進制
src/web/staticres/entniche/images/addbg.png


二進制
src/web/staticres/entniche/images/byEmail.png


二進制
src/web/staticres/entniche/images/checked.png


二進制
src/web/staticres/entniche/images/close.png


二進制
src/web/staticres/entniche/images/editemail.png


二進制
src/web/staticres/entniche/images/historypush.png


二進制
src/web/staticres/entniche/images/merge.png


二進制
src/web/staticres/entniche/images/nopush.png


二進制
src/web/staticres/entniche/images/pushfrequency.png


二進制
src/web/staticres/entniche/images/pushway.png


二進制
src/web/staticres/entniche/images/resultpreview.png


二進制
src/web/staticres/entniche/images/right.png


二進制
src/web/staticres/entniche/images/set-right.png


二進制
src/web/staticres/entniche/images/set.png


二進制
src/web/staticres/entniche/images/set1.png


二進制
src/web/staticres/entniche/images/set11.png


二進制
src/web/staticres/entniche/images/set2.png


二進制
src/web/staticres/entniche/images/set21.png


二進制
src/web/staticres/entniche/images/set3.png


二進制
src/web/staticres/entniche/images/set31.png


二進制
src/web/staticres/entniche/images/spg.gif


二進制
src/web/staticres/entniche/images/switch.png


二進制
src/web/staticres/entniche/images/switchOff.png


二進制
src/web/staticres/entniche/images/time.png


二進制
src/web/staticres/entniche/images/turn-off.png


二進制
src/web/staticres/entniche/images/turn-on.png


二進制
src/web/staticres/entniche/images/usinghelp.png


二進制
src/web/staticres/entniche/images/zhaobiaodingyue-close.png


二進制
src/web/staticres/entniche/images/zhinengmoshi.png


+ 1966 - 0
src/web/staticres/entniche/js/common.js

@@ -0,0 +1,1966 @@
+/*
+ * Date Format 1.2.3
+ * (c) 2007-2009 Steven Levithan <stevenlevithan.com>
+ * MIT license
+ *
+ * Includes enhancements by Scott Trenda <scott.trenda.net>
+ * and Kris Kowal <cixar.com/~kris.kowal/>
+ *
+ * Accepts a date, a mask, or a date and a mask.
+ * Returns a formatted version of the given date.
+ * The date defaults to the current date/time.
+ * The mask defaults to dateFormat.masks.default.
+ */
+var dateFormat = function () {
+  var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
+    timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
+    timezoneClip = /[^-+\dA-Z]/g,
+    pad = function (val, len) {
+      val = String(val);
+      len = len || 2;
+      while (val.length < len) val = "0" + val;
+      return val;
+    };
+
+  // Regexes and supporting functions are cached through closure
+  return function (date, mask, utc) {
+    var dF = dateFormat;
+
+    // You can't provide utc if you skip other args (use the "UTC:" mask prefix)
+    if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) {
+      mask = date;
+      date = undefined;
+    }
+
+    // Passing date through Date applies Date.parse, if necessary
+    date = date ? new Date(date) : new Date;
+    if (isNaN(date)) throw SyntaxError("invalid date");
+
+    mask = String(dF.masks[mask] || mask || dF.masks["default"]);
+
+    // Allow setting the utc argument via the mask
+    if (mask.slice(0, 4) == "UTC:") {
+      mask = mask.slice(4);
+      utc = true;
+    }
+
+    var _ = utc ? "getUTC" : "get",
+      d = date[_ + "Date"](),
+      D = date[_ + "Day"](),
+      m = date[_ + "Month"](),
+      y = date[_ + "FullYear"](),
+      H = date[_ + "Hours"](),
+      M = date[_ + "Minutes"](),
+      s = date[_ + "Seconds"](),
+      L = date[_ + "Milliseconds"](),
+      o = utc ? 0 : date.getTimezoneOffset(),
+      flags = {
+        d: d,
+        dd: pad(d),
+        ddd: dF.i18n.dayNames[D],
+        dddd: dF.i18n.dayNames[D + 7],
+        m: m + 1,
+        mm: pad(m + 1),
+        mmm: dF.i18n.monthNames[m],
+        mmmm: dF.i18n.monthNames[m + 12],
+        yy: String(y).slice(2),
+        yyyy: y,
+        h: H % 12 || 12,
+        hh: pad(H % 12 || 12),
+        H: H,
+        HH: pad(H),
+        M: M,
+        MM: pad(M),
+        s: s,
+        ss: pad(s),
+        l: pad(L, 3),
+        L: pad(L > 99 ? Math.round(L / 10) : L),
+        t: H < 12 ? "a" : "p",
+        tt: H < 12 ? "am" : "pm",
+        T: H < 12 ? "A" : "P",
+        TT: H < 12 ? "AM" : "PM",
+        Z: utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
+        o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
+        S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
+      };
+
+    return mask.replace(token, function ($0) {
+      return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
+    });
+  };
+}();
+
+// Some common format strings
+dateFormat.masks = {
+  "default": "ddd mmm dd yyyy HH:MM:ss",
+  shortDate: "m/d/yy",
+  mediumDate: "mmm d, yyyy",
+  longDate: "mmmm d, yyyy",
+  fullDate: "dddd, mmmm d, yyyy",
+  shortTime: "h:MM TT",
+  mediumTime: "h:MM:ss TT",
+  longTime: "h:MM:ss TT Z",
+  isoDate: "yyyy-mm-dd",
+  isoTime: "HH:MM:ss",
+  isoDateTime: "yyyy-mm-dd'T'HH:MM:ss",
+  isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
+};
+
+// Internationalization strings
+dateFormat.i18n = {
+  dayNames: [
+    "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
+    "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
+  ],
+  monthNames: [
+    "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
+    "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
+  ]
+};
+
+// For convenience...
+Date.prototype.FormatEnhance = function (mask, utc) {
+  return dateFormat(this, mask, utc);
+};
+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;
+}
+
+//替换input中的非数字
+function rePlaceUnDigital (obj) {
+  if (/[^\d]/g.test(obj.value)) {
+    var pos = getCursorPos(obj);
+    var array = obj.value.split("");
+    for (var i in array) {
+      if (/[^\d]/g.test(array[i])) {
+        pos--;
+      }
+    }
+    obj.value = obj.value.replace(/[^\d]/g, '');
+    setCursorPos(obj, pos);
+  }
+}
+
+//替换input中的空格
+function rePlaceSpace (obj) {
+  if (obj.value.indexOf(' ') > -1) {
+    var pos = getCursorPos(obj);
+    var array = obj.value.split("");
+    for (var i in array) {
+      if (array[i] == " ") {
+        pos--;
+      }
+    }
+    obj.value = obj.value.replace(new RegExp(' ', 'gm'), '');
+    setCursorPos(obj, pos);
+  }
+}
+
+/**
+ * 设置光标在短连接输入框中的位置
+ * @param inpObj 输入框
+ * @param pos
+ */
+function setCursorPos (inpObj, pos) {
+  if (navigator.userAgent.indexOf("MSIE") > -1) {
+    var range = document.selection.createRange();
+    var textRange = inpObj.createTextRange();
+    textRange.moveStart('character', pos);
+    textRange.collapse();
+    textRange.select();
+  } else {
+    inpObj.setSelectionRange(pos, pos);
+  }
+}
+
+/**
+ * 获取光标在短连接输入框中的位置
+ * @param inpObj 输入框
+ */
+function getCursorPos (inpObj) {
+  if (navigator.userAgent.indexOf("MSIE") > -1) { // IE
+    var range = document.selection.createRange();
+    range.text = '';
+    range.setEndPoint('StartToStart', inpObj.createTextRange());
+    return range.text.length;
+  } else {
+    return inpObj.selectionStart;
+  }
+}
+
+//获取cookie
+function getCookie (name) {
+  var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
+  if (arr = document.cookie.match(reg))
+    return unescape(arr[2]);
+  else
+    return null;
+}
+
+/**
+ * 正则表达式实现endWith效果函数
+ * @param str 要判断的字符
+ **/
+String.prototype.endWith = function (str) {
+  var reg = new RegExp(str + "$");
+  return reg.test(this);
+}
+/**
+ * 正则表达式实现startWith效果函数
+ * @param str 要判断的字符
+ **/
+String.prototype.startWith = function (str) {
+  var reg = new RegExp("^" + str);
+  return reg.test(this);
+}
+
+/* ios input bugs*/
+function fixIOSInputBugs () {
+  var windowHeight = window.innerHeight
+
+  function checkHeightForIOS (e) {
+    var windowFocusHeight = window.innerHeight
+    if (windowHeight == windowFocusHeight) {
+      return
+    }
+    if (e.target.hasClass('searchinput') || e.currentTarget.hasClass('searchinput')) {
+      return
+    }
+    var currentPosition;
+    var speed = 1; //页面滚动距离
+    currentPosition = document.documentElement.scrollTop || document.body.scrollTop;
+    currentPosition -= speed;
+    window.scrollTo(0, currentPosition); //页面向上滚动
+    currentPosition += speed; //speed变量
+    window.scrollTo(0, currentPosition); //页面向下滚动
+  }
+
+  $("body").on('click', '#recList', function (e) {
+    checkHeightForIOS(e)
+  })
+  $("body").on('click', '.inputDiv', function (e) {
+    checkHeightForIOS(e)
+  })
+  $("body").on('blur', 'input', function (e) {
+    //		checkHeightForIOS(e)
+  })
+}
+
+//动态加载css
+function addCssByLink (url) {
+  var links = document.getElementsByTagName('link')
+  for (var i = 0; i < links.length; i++) {
+    if (links[i].href && links[i].href.indexOf(url) > -1) {
+      return;
+    }
+  }
+  var doc = document;
+  var link = doc.createElement("link");
+  link.setAttribute("rel", "stylesheet");
+  link.setAttribute("type", "text/css");
+  link.setAttribute("href", url);
+  var heads = doc.getElementsByTagName("head");
+  if (heads.length)
+    heads[0].appendChild(link);
+  else
+    doc.documentElement.appendChild(link);
+}
+
+//动态加载js
+function loadJS (url, success) {
+  var scripts = document.getElementsByTagName('script')
+  for (var i = 0; i < scripts.length; i++) {
+    if (scripts[i].src && scripts[i].src.indexOf(url) > -1) {
+      if (success) success();
+      return;
+    }
+  }
+  var domScript = document.createElement('script');
+  domScript.src = url;
+  success = success || function () {
+  };
+  domScript.onload = domScript.onreadystatechange = function () {
+    if (!this.readyState || 'loaded' === this.readyState || 'complete' === this.readyState) {
+      success();
+      this.onload = this.onreadystatechange = null;
+      //this.parentNode.removeChild(this);
+    }
+  }
+  document.getElementsByTagName('head')[0].appendChild(domScript);
+}
+
+//判断对象是否为空对象{}
+function isNullObj (obj) {
+  for (var i in obj) {
+    if (obj.hasOwnProperty(i)) {
+      return false;
+    }
+  }
+  return true;
+}
+
+var JyObjMessage = new Object();
+$(function () {
+  if (mySysIsIos()) {
+    window.JyObj = {
+      //获取经纬度
+      getLLitude: function () {
+        return JyObj.IosCall("getLLitude")
+      },
+      /*跳转到指定的webview
+       * name 对应的值:
+       *   search:搜索 subscribe:订阅 box:百宝箱 me:我的 message:消息
+       */
+      skipAppointTab: function (name) {
+        JyObjMessage.name = name
+        window.webkit.messageHandlers.skipAppointTab.postMessage(JyObjMessage)
+        JyObj.clearMessage()
+      },
+      /*刷新指定的webview
+       * name 对应的值:
+       *   search:搜索 subscribe:订阅 box:百宝箱 me:我的 message:消息
+       * type 对应的值:
+       *   0:当前页 1:一级页面
+       */
+      refreshAppointTab: function (name, type) {
+        JyObjMessage.name = name
+        JyObjMessage.type = type
+        window.webkit.messageHandlers.refreshAppointTab.postMessage(JyObjMessage)
+        JyObj.clearMessage()
+      },
+      skipCameraWithParam: function (type) {
+        JyObjMessage.type = type
+        window.webkit.messageHandlers.skipCameraWithParam.postMessage(JyObjMessage)
+        JyObj.clearMessage()
+      },
+      // 底部导航消息总数方法
+      sendMsgCount: function (num) {
+        JyObjMessage.num = num
+        window.webkit.messageHandlers.sendMsgCount.postMessage(JyObjMessage)
+        JyObj.clearMessage()
+      },
+      // 新打开相册客户端方法
+      skipAlbumWithParam: function (type) {
+        JyObjMessage.type = type
+        window.webkit.messageHandlers.skipAlbumWithParam.postMessage(JyObjMessage)
+        JyObj.clearMessage()
+      },
+      savePic: function (imgbase64) {
+        JyObjMessage.imgbase64 = imgbase64
+        window.webkit.messageHandlers.savePic.postMessage(JyObjMessage)
+        JyObj.clearMessage()
+      },
+      //读取复制内容
+      readRight: function () {
+        return window.webkit.messageHandlers.readRight.postMessage(JyObjMessage);
+      },
+      //写入复制内容
+      wirteRight: function (txt) {
+        JyObjMessage["txt"] = txt;
+        window.webkit.messageHandlers.wirteRight.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //清除复制内容
+      clearRight: function () {
+        window.webkit.messageHandlers.clearRight.postMessage(JyObjMessage);
+      },
+      //拨打电话
+      callPhone: function (phone) {
+        JyObjMessage["phone"] = phone;
+        window.webkit.messageHandlers.callPhone.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //抖音or快手其他应用appName:应用名称;appLink:应用链接
+      openOtherAppLinks: function (appName, appLink) {
+        JyObjMessage["appName"] = appName;
+        JyObjMessage["appLink"] = appLink;
+        window.webkit.messageHandlers.openOtherAppLinks.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //调用接口修改消息通知的打开数
+      openActivityPage: function (url, rectype, openid) {
+        JyObjMessage["url"] = url;
+        JyObjMessage["rectype"] = rectype;
+        JyObjMessage["openid"] = openid;
+        window.webkit.messageHandlers.openActivityPage.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //清除 JyObjMessage
+      clearMessage: function () {
+        JyObjMessage = new Object();
+      },
+      //隐藏显示底部菜单栏 0:隐藏;1:显示
+      hiddenBottom: function (val) {
+        JyObjMessage["hidden"] = val;
+        window.webkit.messageHandlers.hiddenBottom.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //微信登录
+      loginByWeixin: function () {
+        window.webkit.messageHandlers.loginByWeixin.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //分享功能
+      share: function (type, title, content, link) {
+        JyObjMessage["type"] = type
+        JyObjMessage["title"] = title
+        JyObjMessage["content"] = content
+        JyObjMessage["link"] = link
+        window.webkit.messageHandlers.share.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //保存用户token
+      saveUserToken: function (val) {
+        JyObjMessage["token"] = val;
+        window.webkit.messageHandlers.saveUserToken.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //获取用户token
+      getUserToken: function () {
+        return JyObj.IosCall("getUserToken")
+      },
+      //移除用户token
+      removeUserToken: function () {
+        window.webkit.messageHandlers.removeUserToken.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //查看开关状态 是否接受消息
+      checkNoticePermission: function () {
+        return JyObj.IosCall("checkNoticePermission")
+      },
+      //打开接受消息开关
+      openSystemNotification: function () {
+        window.webkit.messageHandlers.openSystemNotification.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //获取极光推送id
+      getPushRid: function () {
+        return JyObj.IosCall("getPushRid")
+      },
+      //跳转外部链接
+      openExternalLink: function (url, title) {
+        JyObjMessage["url"] = url
+        JyObjMessage["title"] = title
+        window.webkit.messageHandlers.openExternalLink.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //获取当前版本号
+      getVersion: function () {
+        return JyObj.IosCall("getVersion")
+      },
+      alert: function (content) {
+        JyObjMessage["content"] = content
+        window.webkit.messageHandlers.alert.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //是否安装了微信
+      isInstallWeixin: function () {
+        return JyObj.IosCall("isInstallWeixin")
+      },
+      //登录加密
+      getCipherText: function (val) {
+        JyObjMessage["phone"] = val
+        return JyObj.IosCall("getCipherText", JyObjMessage)
+      },
+      //刷新首页和订阅页面
+      checkLab: function () {
+        window.webkit.messageHandlers.checkLab.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //登录成功后向客户端传参
+      loginSuccess: function (status) {
+        JyObjMessage["status"] = status
+        window.webkit.messageHandlers.loginSuccess.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //客户端登录页面点击返回 跳转到搜索首页
+      backUrl: function (val) {
+        JyObjMessage["status"] = val;
+        window.webkit.messageHandlers.backUrl.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //清空通知栏消息
+      clearPushMessage: function () {
+        window.webkit.messageHandlers.clearPushMessage.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //隐藏小红点
+      hideRedSpotOnMenu: function (menu) {
+        JyObjMessage["menu"] = menu;
+        window.webkit.messageHandlers.hideRedSpotOnMenu.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //显示小红点
+      showRedSpotOnMenu: function (menu) {
+        JyObjMessage["menu"] = menu;
+        window.webkit.messageHandlers.showRedSpotOnMenu.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //微信支付
+      wxPay: function (order) {
+        JyObjMessage["order"] = order;
+        window.webkit.messageHandlers.wxPay.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //支付宝支付
+      aliPay: function (order) {
+        JyObjMessage["order"] = order;
+        window.webkit.messageHandlers.aliPay.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //获取原生的推送id
+      getOtherPushRid: function () {
+        return JyObj.IosCall("getOtherPushRid")
+      },
+      //获取手机型号
+      getPhoneBrand: function () {
+        return JyObj.IosCall("getPhoneBrand")
+      },
+      //获取定位
+      getLocation: function () {
+        return JyObj.IosCall("getLocation")
+      },
+      //切换菜单
+      chooseTab: function (indexTab) {
+        JyObjMessage["indexTab"] = indexTab;
+        window.webkit.messageHandlers.chooseTab.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //打开照相机
+      skipCamera: function () {
+        window.webkit.messageHandlers.skipCamera.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //打开相册
+      skipAlbum: function () {
+        window.webkit.messageHandlers.skipAlbum.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //点击返回调用
+      judgeIsHidden: function (referer) {
+        JyObjMessage["referer"] = referer;
+        window.webkit.messageHandlers.judgeIsHidden.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+      //返回值 处理
+      IosCall: function (functionName, args) {
+        if (args != "" && args != undefined) {
+          JyObj.clearMessage();
+        }
+        var payload = { "jsName": functionName, "arguments": args };
+        var res = prompt(JSON.stringify(payload));
+        if (res != "") {
+          var resObj = JSON.parse(res)
+          var type = resObj.type
+          switch (type) {
+            case "int":
+              return parseInt(resObj.value)
+            case "string":
+              return resObj.value
+            case "bool":
+              if (resObj.value == "true") {
+                return true
+              }
+              return false
+            default:
+              return ""
+          }
+        }
+        return ""
+      },
+      //查看定位开关状态 是否开启
+      checkLocationPermission: function () {
+        return JyObj.IosCall("checkLocationPermission")
+      },
+     	//ios附件下载
+    	//filename 文件名称不带后缀 【文件名称中不能带“/”否则会解析为多个目录】
+    	//filetype 文件类型:doc word excel 等等
+    	//fileurl 文件链接
+		//filesize 文件大小 字符串
+		//doc 、docx、excel 、xls 、 xlsxppt 、 pptx、 pdf、 txt、png 、PNG、jpg 、JPG 暂定这些为常见类型~支持在线预览+下载+转存
+		//其他类型仅支持下载+转存
+      downLoadFile: function (filename,filetype,fileurl,filesize) {
+    	if ( filename != "" ) {
+			filename = filename.replace(/\//g,"")
+		}
+        JyObjMessage["filename"] = filename;
+        JyObjMessage["filetype"] = filetype;
+        JyObjMessage["fileurl"] = fileurl;
+        JyObjMessage["filesize"] = filesize;
+        window.webkit.messageHandlers.downLoadFile.postMessage(JyObjMessage);
+        JyObj.clearMessage();
+      },
+    }
+    fixIOSInputBugs()
+  }
+  if (isIphoneX()) {
+    // $(".app-layout-header").css("padding-top"," 40px");//标题
+    $(".app-back.jyapp-icon.jyapp-icon-zuojiantou").css("padding-top", " 40px");//返回
+    $(".header-share").css("padding-top", " 40px");//分享
+    // $(".app-layout-content-a, .app-layout-content-b").css("top","64px");//正文
+    $(".feedback-nav").css("top", "85px");//意见反馈
+    $(".setpage .noticehead").css("top", "85px");//关注项目
+    $(".app-back.jyapp-icon.jyapp-icon-zuojiantou").addClass("jyapp-icon-zuojiantou-x");//登录
+    $("#header.reg").css("padding-top", "50px");//注册
+    $("#header.reg").css("height", "4.92rem");//注册
+    // $("#header.header-login").css("height", "4.92rem");//注册
+    try {
+      iphoneXInit();
+    } catch (e) {
+    }
+  }
+  //自定义tap
+  $(document).on("touchstart", function (e) {
+    var $target = $(e.target);
+    $target.data("isMoved", 0);
+    $target.data("startTime", Date.now());
+  });
+  $(document).on("touchmove", function (e) {
+    var $target = $(e.target);
+    $target.data("isMoved", 1);
+  });
+  $(document).on("touchend", function (e) {
+    var $target = $(e.target);
+    var startTime = $target.data("startTime");
+    if (Date.now() - startTime > 200) {
+      return;
+    }
+    if ($target.data("isMoved") == 1) {
+      return;
+    }
+    $target.trigger("tap", e);
+  });
+  $(".app-layout-header .app-back").unbind("click").on("click", function () {
+    if (typeof (clickBack) == "function") {
+      clickBack();
+    } else {
+      try {
+        afterClickBack();
+      } catch (e) { }
+      //可以自定义返回url,不过是跳转的方式
+      if (typeof (backUrl) != "undefined" && backUrl != null) {
+        if (typeof (backUrl) == "string") {
+          window.location.href = backUrl;
+        } else if (typeof (backUrl) == "number") {
+          try {
+            if (!mySysIsIos() && JyObj.getVersion() >= "2.9.9") {
+              JyObj.backUrl("")
+            }
+          } catch (error) {}
+          window.history.go(backUrl);
+        }
+      } else {
+        try {
+          if (!mySysIsIos() && JyObj.getVersion() >= "2.9.9") {
+            JyObj.backUrl("")
+          }
+        } catch (error) {}
+        window.history.back();
+      }
+    }
+  });
+  //	$(".app-layout-footer li").on("tap",function(){
+  //		if($(this).hasClass("active")){
+  //			return;
+  //		}
+  //		switch(this.id){
+  //			case "navbar-search":
+  //				if(sessionStorage){
+  //					sessionStorage.mainSearchReload = "1";
+  //				}
+  //				autoLogin("/jyapp/jylab/mainSearch");
+  //				break;
+  //			case "navbar-subscribe":
+  //				autoLogin("/jyapp/wxkeyset/keyset/index");
+  //				break;
+  //			case "navbar-laboratory":
+  //				autoLogin("/jyapp/jylab/index");
+  //				break;
+  //			case "navbar-me":
+  //				autoLogin("/jyapp/free/me");
+  //				break;
+  //		}
+  //	});
+  //	if(!mySysIsIos()){
+  try {
+    if (location.href.indexOf('/follow/set/list') == -1) {
+      afterPageInit();
+    }
+    //发送渠道统计
+    sendChannelSign();
+  } catch (e) {
+  }
+  //	}
+  window.checkTabTimerId = setInterval(function () {
+    if (localStorage.chooseTab != undefined) {
+      try {
+        JyObj.hiddenBottom("1");
+        JyObj.chooseTab(parseInt(localStorage.chooseTab));
+        localStorage.removeItem("chooseTab");
+      } catch (e) {
+      }
+    }
+    if (localStorage.reloadTab == "1" && window.location.pathname == "/jyapp/swordfish/historypush") {
+      localStorage.removeItem("reloadTab");
+      window.location.reload();
+    }
+  }, 1000);
+	//
+	externalLinks();
+});
+
+
+function externalLinks() {
+	//是否有外部链接需要访问(一般是广告位登录后跳转外部链接)
+  	var externalLinks = localStorage.getItem("noLoginExternalLinks");
+	if(externalLinks!=""&&externalLinks!=undefined&&externalLinks!="null"){
+		if (window.location.pathname.indexOf("jylab/mainSearch")>0){
+			setTimeout(function () {
+  				localStorage.removeItem('noLoginExternalLinks');
+				window.location.href=externalLinks;
+				//JyObj.openExternalLink(externalLinks,"剑鱼");
+			}, 1000);
+		}
+	}
+}
+var EasyAlert = {
+  timeout: null,
+  waitTime: 1000,
+  show: function (text, css, waitTime) {
+    if (this.timeout != null) {
+      clearTimeout(this.timeout);
+      this.hide();
+      this.timeout = null;
+    }
+    var thisClass = this;
+    this.timeout = setTimeout(function () {
+      thisClass.hide();
+      thisClass.timeout = null;
+    }, waitTime ? waitTime : this.waitTime);
+    $("body").append('<div class="easyalert" id="easyAlert">' + text + '</div>');
+    if (typeof (css) != "undefined") {
+      $("#easyAlert").css(css);
+    }
+    $("#easyAlert").css({
+      "left": "50%",
+      "margin-top": -($("#easyAlert").outerHeight() / 2),
+      "margin-left": -($("#easyAlert").outerWidth() / 2)
+    }).show();
+  },
+  hide: function () {
+    $("#easyAlert").remove();
+  }
+}
+var EasyPopup = function (id) {
+  this.id = id;
+  var thisClass = this;
+  document.getElementById(id).onclick = function (e) {
+    if (e.target.id == id) {
+      thisClass.hide();
+    }
+  }
+  this.show = function () {
+    $("#" + this.id).fadeIn();
+    var mainObj = $("#" + id + ">div:first");
+    mainObj.css({ "margin-top": -(mainObj.outerHeight() / 2) });
+  },
+    this.hide = function () {
+      $("#" + this.id).fadeOut();
+    }
+}
+var Verification = {
+  //手机号验证
+  isPhone: function (value) {
+    return /^[1][3-9][0-9]{9}$/.test(value);
+  }
+}
+
+//深信服用户开了一批特殊规则的手机号
+var CreatePhone = {
+  //自己创建的手机号验证[格式为100xxxxxxxx]
+  isPhone: function (value) {
+    return /^[1][0][0][0-9]{8}$/.test(value);
+  }
+}
+// 部分页面没有全局工具函数
+if (typeof utils !== 'object') {
+  utils = {}
+}
+Date.prototype.pattern = function (fmt) {
+  if (!fmt) return ''
+  var o = {
+    'y+': this.getFullYear(),
+    'M+': this.getMonth() + 1, // 月份
+    'd+': this.getDate(), // 日
+    // 12小时制
+    'h+': this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, // 小时
+    // 24小时制
+    'H+': this.getHours(), // 小时
+    'm+': this.getMinutes(), // 分
+    's+': this.getSeconds(), // 秒
+    'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
+    'S': this.getMilliseconds(), // 毫秒
+    'E+': this.getDay(), // 周
+  };
+  var week = {
+    '0': '日',
+    '1': '一',
+    '2': '二',
+    '3': '三',
+    '4': '四',
+    '5': '五',
+    '6': '六'
+  };
+  if (/(y+)/.test(fmt)) {
+    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
+  }
+  if (/(E+)/.test(fmt)) {
+    fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? '星期' : '周') : '') + week[
+    this.getDay() + '']);
+  }
+  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;
+}
+utils.dateFromNow = function (originTime, useOld) {
+  if (!originTime) return
+  // 原始时间 - 传入的时间戳
+  var originTimeStamp = +new Date(originTime)
+  // 当前时间戳
+  var nowTimeStamp = +new Date()
+  // 时间戳相差多少
+  var diffTimeStamp = nowTimeStamp - originTimeStamp
+
+  var postfix = diffTimeStamp > 0 ? '前' : '后'
+  // 求绝对值 ms(毫秒)
+  var diffTimeStampAbsMs = Math.abs(diffTimeStamp)
+  var diffTimeStampAbsS = Math.round(diffTimeStampAbsMs / 1000)
+
+  // 10天的秒数
+  var days11 = 11 * 24 * 60 * 60
+  // var dataMap = {
+  //     zh: ['年', '个月', '星期', '天', '小时', '分钟', '秒'],
+  //     number: [365*24*60*60, 30*24*60*60, 7*24*60*60, 24*60*60, 60*60, 60, 1]
+  // }
+  var dataMap = {
+    zh: ['天', '小时', '分钟', '秒'],
+    number: [24 * 60 * 60, 60 * 60, 60, 1]
+  }
+
+  var timeString = ''
+  // 10天前
+  var tenDaysAgo = diffTimeStampAbsS > days11
+  // 是否是当天
+  var isCurrentDay = new Date(originTimeStamp).pattern('yyyy.MM.dd') === new Date().pattern('yyyy.MM.dd')
+
+  var condition = !isCurrentDay
+  if (useOld) {
+    condition = tenDaysAgo
+  }
+
+  if (condition) {
+    // 不是当天,则使用正常日期显示
+    var originDate = new Date(originTimeStamp)
+    var nowDate = new Date()
+    // 是否同年
+    var sameYear = originDate.getFullYear() === nowDate.getFullYear()
+    // 如果是当年,则不显示年
+    var patternString = sameYear ? 'MM-dd' : 'yyyy-MM-dd'
+    timeString = originDate.pattern(patternString)
+  } else {
+    for (var i = 0; i < dataMap.number.length; i++) {
+      var inm = Math.floor(diffTimeStampAbsS / dataMap.number[i])
+      if (inm != 0) {
+        timeString = inm + dataMap.zh[i] + postfix
+        break
+      }
+    }
+  }
+  return timeString
+}
+//计算时差
+function timeDiff (date) {
+  var date1 = date;//开始时间
+  var date2 = new Date();//结束时间
+  var date3 = date2.getTime() - date1.getTime();//时间差的毫秒数
+  //计算出相差天数
+  var days = Math.floor(date3 / (24 * 3600 * 1000));
+  //计算出小时数
+  var leave1 = date3 % (24 * 3600 * 1000);//计算天数后剩余的毫秒数
+  var hours = Math.floor(leave1 / (3600 * 1000));
+  //计算相差分钟数
+  var leave2 = leave1 % (3600 * 1000);//计算小时数后剩余的毫秒数
+  var minutes = Math.floor(leave2 / (60 * 1000));
+  //计算相差秒数
+  var td = "30秒前";
+  if (days > 0) {
+    if (days > 10) {
+      var date1year = date1.getFullYear();
+      var date2year = date2.getFullYear();
+      var date1month = date1.getMonth() + 1;
+      var date1day = date1.getDate();
+      if (date1month < 10) {
+        date1month = "0" + date1month;
+      }
+      if (date1day < 10) {
+        date1day = "0" + date1day;
+      }
+      if (date1year < date2year) {
+        td = date1.getFullYear() + "-" + date1month + "-" + date1day;
+      } else {
+        td = date1month + "-" + date1day;
+      }
+    } else {
+      td = days + "天前"
+    }
+  } else if (hours > 0) {
+    td = hours + "小时前";
+  } else if (minutes > 0) {
+    td = minutes + "分钟前";
+  }
+  return td;
+}
+
+function newredirect (zbadd, link, sid, sds, index) {
+  if (link != null && typeof (link) != "undefined") {
+    link = link.replace(/\n/g, "");
+    if (!/^http/.test(link)) {
+      link = "http://" + link
+    }
+  }
+  var pt = ""
+  if (index == 1) {
+    pt = "projectMatch=项目匹配"
+  }
+  if (sds) {
+    window.location.href = "/jyapp/article/content/" + sid + ".html?keywords=" + encodeURIComponent(sds) + pt;
+  } else {
+    window.location.href = "/jyapp/article/content/" + sid + ".html?" + pt;
+  }
+}
+
+function pcredirect (link, sid) {
+  window.open("/pcdetail/" + sid + ".html");
+}
+
+var isNumber = /^[0-9]+$/
+var isLetter = /^[a-zA-Z]+$/
+function isRegExp (value) {
+  return Object.prototype.toString.call(value) === '[object RegExp]'
+}
+function keyWordHighlight (value, oldChars, newChar) {
+  if(typeof(oldChars) == "undefined" || oldChars == null || typeof(newChar) == "undefined" || newChar == null || newChar == ""){
+    return value;
+  }
+  var array = [];
+  if(oldChars instanceof Array){
+    array = oldChars.concat();
+  }else{
+    array.push(oldChars);
+  }
+
+  // 非字符串替换集合
+  var notStrReplacer = []
+  for (var i = 0; i < array.length; i++) {
+    if (!array[i]) {
+      continue
+    } else {
+      if (isRegExp(array[i])) {
+        // 正则直接替换
+        // 注意:该正则中必须包含至少一个分组匹配,分组中的内容用来替换
+        notStrReplacer.push(array[i])
+        array[i] = ''
+      } else {
+        // 字符串替换
+        array[i] = array[i].replace(/([\$\(\)\*\+\.\[\]\?\/\\\^\{\}\|])/g, '\\$1').replace(/\s+/g, '')
+      }
+
+      // array[i] = array[i].replace(/\$/g,"\\$");
+      // array[i] = array[i].replace(/\(/g,"\\(");
+      // array[i] = array[i].replace(/\)/g,"\\)");
+      // array[i] = array[i].replace(/\*/g,"\\*");
+      // array[i] = array[i].replace(/\+/g,"\\+");
+      // array[i] = array[i].replace(/\./g,"\\.");
+      // array[i] = array[i].replace(/\[/g,"\\[");
+      // array[i] = array[i].replace(/\]/g,"\\]");
+      // array[i] = array[i].replace(/\?/g,"\\?");
+      // array[i] = array[i].replace(/\\/g,"\\");
+      // array[i] = array[i].replace(/\//g,"\\/");
+      // array[i] = array[i].replace(/\^/g,"\\^");
+      // array[i] = array[i].replace(/\{/g,"\\{");
+      // array[i] = array[i].replace(/\}/g,"\\}");
+      // array[i] = array[i].replace(/\|/g,"\\|");
+    }
+  }
+
+  // 数组去空
+  var lastArr = []
+  array.forEach(function (item) {
+    if (item) {
+      lastArr.push(item)
+    }
+  })
+  if (lastArr.length === 0 && notStrReplacer.length === 0) {
+    return value
+  }
+  lastArr = lastArr.sort(function (a, b) {
+    return b.length - a.length
+  })
+
+  if (notStrReplacer.length) {
+    for (var j = 0; j < notStrReplacer.length; j++) {
+      // 正则替换
+      value = value.replace(notStrReplacer[j], newChar)
+    }
+  }
+  if (lastArr.length) {
+    value = value.replace(new RegExp('(' + lastArr.join('|') + ')', 'gmi'), newChar)
+  }
+
+  return value
+}
+
+function getWxVersion () {
+  var wechatInfo = navigator.userAgent.match(/MicroMessenger\/([\d\.]+)/i);
+  if (!wechatInfo) {
+    return null;
+  }
+  return wechatInfo[1];
+}
+
+/**
+ * 设置光标在短连接输入框中的位置
+ * @param inpObj 输入框
+ * @param pos
+ */
+function setCursorPos (inpObj, pos) {
+  if (navigator.userAgent.indexOf("MSIE") > -1) {
+    var range = document.selection.createRange();
+    var textRange = inpObj.createTextRange();
+    textRange.moveStart('character', pos);
+    textRange.collapse();
+    textRange.select();
+  } else {
+    inpObj.setSelectionRange(pos, pos);
+  }
+}
+
+/**
+ * 获取光标在短连接输入框中的位置
+ * @param inpObj 输入框
+ */
+function getCursorPos (inpObj) {
+  if (navigator.userAgent.indexOf("MSIE") > -1) { // IE
+    var range = document.selection.createRange();
+    range.text = '';
+    range.setEndPoint('StartToStart', inpObj.createTextRange());
+    return range.text.length;
+  } else {
+    return inpObj.selectionStart;
+  }
+}
+
+//获取url中参数
+function getUrlParam (name, type) {
+  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
+  var r = window.location.search.substr(1).match(reg);
+  if (r != null)
+    if (typeof (type) == "function") {
+      return type(r[2]);
+    } else {
+      return unescape(r[2]);
+    }
+  return null;
+}
+
+//自动登录
+function autoLogin (url, callBack) {
+  var sign = "";
+  try {
+    sign = JyObj.getUserToken();
+  } catch (e) {
+  }
+  if (sign == "" || sign == null || typeof (sign) == "undefined") {
+    if (callBack != null && typeof (callBack) != "undefined") {
+      callBack(null);
+    } else if (url != null && typeof (url) != "undefined") {
+      window.location.href = "/jyapp/free/login?url=" + encodeURIComponent(url);
+    }
+    return;
+  }
+  if (url != null && typeof (url) != "undefined") {
+    window.location.href = "/jyapp/free/login?sign=" + sign + "&url=" + encodeURIComponent(url);
+    return
+  }
+  $.ajax({
+    url: "/jyapp/free/login?t=" + new Date().getTime(),
+    type: "post",
+    data: { reqType: "signLogin", sign: sign },
+    dataType: "json",
+    success: function (r) {
+      //有回调函数不跳转
+      if (callBack != null && typeof (callBack) != "undefined") {
+        callBack(r.userInfo);
+        return;
+      }
+    },
+    error: function () {
+      //alert("服务器连接超时!");
+    }
+  });
+}
+
+// ios or android
+function msgAndroidOrIOS () {
+  var u = navigator.userAgent.toLowerCase()
+  var agent = null;
+  if (/iphone|ipod|ipad|ios/.test(u)) {
+    agent = 'ios'
+  } else if (/(Android)/i.test(u)) {
+    agent = 'android'
+  }
+  return agent
+}
+// 私信未读数量
+function kfData(acync, num) {
+  $.ajax({
+    type: 'POST',
+    url: '/jyapi/message/messageCount',
+    async: acync || false,
+    data: JSON.stringify({userType: 2}),
+    contentType: 'application/json',
+    success: function (res) {
+      localStorage.setItem('isMsgNum', num + res.count)
+    }
+  })
+}
+
+/**
+ * 检查当前是否是 tabbar 页面
+ * @returns {boolean}
+ */
+function checkNowInTabbarPage () {
+  var tabbarPages = [
+    '/jyapp/jylab/mainSearch',
+    '/jyapp/swordfish/historypush',
+    '/jyapp/frontPage/messageCenter/sess/index',
+    '/jyapp/jylab/index',
+    '/jyapp/free/me'
+  ]
+  return tabbarPages.some(function (v) {
+    return location.href.indexOf(v) > -1
+  })
+}
+
+// 底部导航消息总数
+function checkMsgCount(acync, str, callback) {
+  $.ajax({
+    type: 'GET',
+    url: '/jymessageCenter/getCount?t=' + Date.now(),
+    async: acync || false,
+    success: function (r) {
+      var num = r.data.count
+      console.info(num)
+      try {
+        JyObj.sendMsgCount(num)
+      } catch (e) {
+        console.log(e)
+      }
+      if (str == 1) {
+        var isMsg = localStorage.getItem('isMsgNum')
+        if (num !== Number(isMsg)) {
+          try {
+            /**
+             * 在此直接刷新 首页/消息 页面 (旧业务逻辑,可能是想消除对应页面未读消息小红点?)
+             * 改为判断是否为 tabbar 页面,仅在是 tabbar 页面是刷新
+             */
+            if (checkNowInTabbarPage()) {
+              JyObj.refreshAppointTab('search', 1)
+              JyObj.refreshAppointTab('message', 1)
+            }
+            // JyObj.checkLab()
+          } catch (e) {
+            console.log(e)
+          }
+          kfData(acync, num)
+          // localStorage.setItem('isMsgNum', num)
+        }
+      } else {
+        kfData(acync, num)
+        // localStorage.setItem('isMsgNum', num)
+      }
+
+      callback && callback()
+    }
+  })
+}
+
+function keepQuest() {
+  var appType = msgAndroidOrIOS(), timer = null
+  if (appType == 'ios' || appType == 'android') {
+    clearInterval(timer)
+    timer = setInterval(() => {
+      checkMsgCount(true, 1)
+    }, 300000)
+  }
+}
+
+/**
+ * 检查是否需要前往新用户兴趣设置
+ * @returns {boolean}
+ */
+function checkNeedGoNewUserSettingPage () {
+  // 同步请求判断是否新用户,需要跳转兴趣设置页面
+  var goPage
+  $.ajax({
+    type: 'post',
+    async: false,
+    url: '/salesLeads/appIsNewUerSales',
+    success: function (res) {
+      if (res && res.data) {
+        goPage = '/jy_mobile/uersales/newuser'
+      }
+    }
+  })
+  if (goPage) {
+    locationReplace(goPage)
+    return true
+  }
+  return false
+}
+
+/**
+ * 检查是否需要绑定手机号
+ * @returns {*}
+ */
+function checkNeedGoBindPhonePage () {
+  var userPhone
+  $.ajax({
+    url: "/jypay/user/getAccountInfo?t=" + Date.now(),
+    type: "GET",
+    async: false,
+    success: function(res){
+      if(res.error_code == 0 && res.data){
+        userPhone = res.data.phone;
+      }
+    }
+  })
+  if (!userPhone) {
+    locationReplace('/jyapp/account/phone/bind?mode=mergeBind')
+    return true
+  }
+  return false
+}
+
+function loginSuccess (result, loginType) {
+  // 清除缓存
+  clearObjKeyForRegFn(sessionStorage, /-login-clear/)
+  clearObjKeyForRegFn(localStorage, /-login-clear/)
+
+  // 清除订阅页面缓存
+  sessionStorage.removeItem('$data-historypush')
+  JyObj.refreshAppointTab('subscribe', 1)
+
+  JyObj.saveUserToken(result.sign);
+  // 数据包默认选中企业需请求默认企业接口
+  try {
+    window.onlyUserID =JyObj.getUserToken()
+    if (window.onlyUserID) {
+      function getCookieValue(name) {
+        var result = document.cookie.match("(^|[^;]+)\\s*" + name + "\\s*=\\s*([^;]+)")
+        return result ? result.pop() : ""
+      }
+
+      window.onlyUserID = getCookieValue('SESSIONID')
+    }
+
+    // 消息总数方法
+    checkMsgCount(true, 0);
+  } catch (e) {
+    console.log('获取ID失败')
+  }
+  if (JSON.stringify(window.onlyUserID) != localStorage.getItem('MobileWebAppForOnlyID')) {
+    localStorage.setItem('MobileWebAppForOnlyID', JSON.stringify(window.onlyUserID))
+    $.ajax({
+      type: 'get',
+      url: '/entbase/ent/mySelectent?t=' + new Date().getTime()
+    })
+  }
+
+
+  if (loginType === 'is-wx') {
+    // 检查是否绑定手机号
+    var isGoBindPhone = checkNeedGoBindPhonePage()
+    if (isGoBindPhone) {
+      return
+    }
+  }
+
+  // 检查是否需要前往新用户兴趣设置
+  var isStopNext = checkNeedGoNewUserSettingPage()
+  if (isStopNext) {
+    return
+  }
+
+  //分销跳转
+  if (getUrlParam("DisUrl") != null) {
+    afterLoginSuccess("", true);
+    locationReplace(getUrlParam("DisUrl"));
+    return
+  }
+  //
+  if (getUrlParam("to") === "back") {
+    //		sessionStorage.reloadHomePage=true;
+    if (sessionStorage && getUrlParam("back") !== "index") {
+      afterLoginSuccess("", true);
+      window.history.back();
+    } else {
+      afterLoginSuccess("S", false);//提示app定位搜索菜单
+      //window.location.href = "/jyapp/jylab/mainSearch";
+      location.replace("/jyapp/jylab/mainSearch");
+    }
+    return
+  }
+  //
+  var callBackUrl = getUrlParam("url", decodeURIComponent);
+  if (callBackUrl != null) {
+    afterLoginSuccess("", true);
+    //window.location.href = callBackUrl;
+    locationReplace(callBackUrl);
+    return
+  }
+  //
+  callBackUrl = getUrlParam("out", decodeURIComponent);
+  if (callBackUrl != null) {
+    afterLoginSuccess("", true);
+    localStorage.setItem("noLoginExternalLinks", callBackUrl);
+    window.history.back();
+    //访问外部链接
+    //JyObj.openExternalLink(callBackUrl);
+    return
+  }
+  //
+  if (sessionStorage) {
+    sessionStorage.mainSearchReload = "1";
+  }
+  afterLoginSuccess("S", false);
+  //window.location.href = "/jyapp/jylab/mainSearch";
+  //location.replace("/jyapp/jylab/mainSearch");
+
+}
+
+//2020-05-30 android replace失效
+function locationReplace (url) {
+  if (history.replaceState) {
+    history.replaceState(null, document.title, url);
+    history.go(0);
+  } else {
+    location.replace(url);
+  }
+}
+
+function afterLoginSuccess (type, canBack) {
+  if (!canBack) {
+    prohibitBack();
+    localStorage.reLogin = "1";
+  }
+  try {
+    JyObj.refreshAppointTab('me', 1)
+  } catch (e) {
+    console.log(e)
+  }
+  JyObj.loginSuccess(type);
+}
+
+//ios JyObj对象加载完成回调
+function afterPageInit () {
+  	setInterval(function () {
+    	redSpotOnMenu();
+  	}, 600000);
+  	try {
+    	afterJyObjInit();
+    	latlongitude();//记录用户经纬度
+  	} catch (e) {}
+  	$.post("/jyapp/free/afterPageLoadToCheck?t=" + new Date().getTime(), {
+    	sign: JyObj.getUserToken(),
+    	rid: JyObj.getPushRid(),
+    	oid: getOtherPushId(),
+    	phoneType: getPhoneType(),
+    	version: JyObj.getVersion(),
+		isIos: mySysIsIos()
+  	}, function (r) {
+	    if (mySysIsIos() && r.isNeedUpdate > 0) {
+	        //if(r.webdomain.indexOf("https")>-1){
+	        //ios客户端 因为证书问题加载https域名 需要验证证书等一系列操作
+	        //	r.webdomain = r.webdomain.replace("https","http")
+	        //}
+            //以后版本
+           if (r.isNeedUpdate == 2) {
+            	//JyObj.openExternalLink(r.webdomain + "/jyapp/free/staticPage/update.html", "-1");
+            	JyObj.openExternalLink(window.location.protocol+"//"+window.location.host+"/jyapp/free/goToUpdate?mustupdate=1", "-1");
+            }else if(localStorage.onceTipUpdate != "1"){
+              	sessionStorage.onceTipUpdate = "1";
+              	localStorage.onceTipUpdate = "1";
+              	//JyObj.openExternalLink(r.webdomain + "/jyapp/free/staticPage/update.html", "去更新");
+              	JyObj.openExternalLink(window.location.protocol+"//"+window.location.host+"/jyapp/free/goToUpdate?mustupdate=1", "去更新");
+            }
+          	return;
+	    }
+	    if (r.status == -3) {
+	      	if (mySysIsIos()) {
+	        	window.location.href = "/jyapp/free/login?flag=kicked&back=index";
+	      	} else {
+	        	localStorage.setItem("isKicked", "1");
+	        	JyObj.backUrl("H");
+	      	}
+	    } else if (r.status == 1) {
+	      	if (r.sign != "") {
+	        	JyObj.saveUserToken(r.sign);
+	      	}
+	    }
+  	});
+  	//记录推送id
+  	savePushIdMsg();
+}
+
+function compareVersion (curVersion, upVersion) {
+  v1 = curVersion.split(".");
+  v2 = upVersion.split(".");
+  var maxlen = v1.length > v2.length ? v1.length : v2.length;
+  for (var i = 0; i < maxlen; i++) {
+    if (v1[i] == v2[i]) {
+      continue
+    }
+    if (v1[i] == undefined) {
+      v1[i] = -1;
+    }
+    if (v2[i] == undefined) {
+      v2[i] = -1;
+    }
+    if (parseInt(v1[i]) < parseInt(v2[i])) {
+      return true;
+    } else {
+      return false;
+    }
+  }
+  return false;
+}
+
+function redSpotOnMenu () {
+  var doAjax = true;
+  if (localStorage.redSpotLastAjaxTime &&
+    new Date().getTime() - parseInt(localStorage.redSpotLastAjaxTime) < 1000 * 60) {
+    doAjax = false;
+  }
+  if (!doAjax && localStorage.redSpotRes) {
+    try {
+      var lastAjaxRes = JSON.parse(localStorage.redSpotRes)
+      redSpotBackFuc(lastAjaxRes, "false")
+      return
+    } catch (e) {
+      console.log("redSpotOnMenu", e)
+    }
+  }
+  $.post("/jyapp/free/showRedSpotOnMenu?t=" + new Date().getTime(), null, redSpotBackFuc);
+}
+
+function redSpotBackFuc (r, flag) {
+  var noticeCount = r.notice;
+  //JyObj.getUnReadMessageCount("");
+  // #fix 修复三级页同步请求导致页面白屏时间过长
+  checkMsgCount(true, 0)
+  // message红点
+  if (noticeCount > 0) {
+    $(".trigger-div-notice .dot-red").show()
+  } else {
+    $(".trigger-div-notice .dot-red").hide()
+  }
+  // 项目关注红点
+  if (r.follow_project > 0) {
+    $(".project-follow .dot-red").show()
+  } else {
+    $(".project-follow .dot-red").hide()
+  }
+  // 企业关注红点
+  if (r.follow_ent > 0) {
+    $(".ent-follow .dot-red").show();
+  } else {
+    $(".listTwo .redspot").hide();
+  }
+  try {
+    if (r.my == 0) {
+      JyObj.hideRedSpotOnMenu("my");
+    } else {
+      JyObj.showRedSpotOnMenu("my");
+    }
+    if (r.subscribe == 0) {
+      JyObj.hideRedSpotOnMenu("subscribe");
+    } else {
+      JyObj.showRedSpotOnMenu("subscribe");
+    }
+    if (r.my == 0 && r.subscribe == 0) {
+      //清空通知栏消息
+      JyObj.clearPushMessage("");
+    }
+  } catch (e) {
+  }
+
+  if (flag == "success") {
+    localStorage.redSpotLastAjaxTime = new Date().getTime();
+    localStorage.redSpotRes = JSON.stringify(r);
+  }
+}
+
+//
+function setLiActive (obj) {
+  $(obj).addClass("jyapp-li-active");
+  setTimeout(function () {
+    $(obj).removeClass("jyapp-li-active");
+  }, 500);
+}
+
+function mySysIsIos () {
+  //ios终端
+  var flag1 = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
+  var flag2 = !!navigator.userAgent.match(/\(M[^;]+; Intel Mac OS X/);
+  return flag1 || flag2
+
+}
+
+function clearObjKeyForRegFn (obj, reg) {
+  if (obj) {
+    for(var k in obj) {
+      if (reg.test(k)) {
+        obj.removeItem(k)
+      }
+    }
+  }
+}
+
+function clearRefreshStorage (isKicked) {
+  //清除小红点缓存
+  localStorage.removeItem("redSpotLastAjaxTime");
+  // 清除缓存
+  clearObjKeyForRegFn(sessionStorage, /-login-clear/)
+  clearObjKeyForRegFn(localStorage, /-login-clear/)
+  //清除token
+  try {
+    $.cookie('SESSIONID', '', { expires: -1, path: '/' })
+  } catch (e) {
+    console.warn(e)
+  }
+  //订阅设置页面缓存
+  sessionStorage.removeItem('$data-historypush')
+  // 退出登录清除首页商机管理权限缓存
+  sessionStorage.removeItem("setEntStatus")
+  sessionStorage.removeItem("userMergeFlag");
+  // 刷新首页
+  try {
+    JyObj.refreshAppointTab('search', 1)
+    JyObj.refreshAppointTab('subscribe', 1)
+    JyObj.hiddenBottom(0)
+  } catch (e) {
+    console.warn(e)
+  }
+  if (!isKicked) {
+    window.location.href = "/jyapp/free/login?back=index&flag=quit";
+  }
+}
+
+function appQuit (isKicked) {
+  var sign = JyObj.getUserToken();
+  //隐藏小红点
+  try {
+    JyObj.removeUserToken();
+    JyObj.hideRedSpotOnMenu("my");
+    JyObj.hideRedSpotOnMenu("subscribe");
+  } catch (e) {
+  }
+  $.ajax({
+    url: "/jyapp/free/signOut?t=" + new Date().getTime(),
+    type: "post",
+    data: { isKicked: isKicked, sign: sign },
+    dataType: "json",
+    success: function () {
+      clearRefreshStorage(isKicked)
+    },
+    error: function () {
+      clearRefreshStorage(isKicked)
+    }
+  });
+}
+
+//随机获取分享文案
+var ShareText = [
+  "我和投标伙伴都在用剑鱼标讯找项目,推荐你也试试",
+  "我用剑鱼标讯免费查到超多招标信息,推荐你也试试",
+  "我收到了剑鱼标讯免费推送的招标信息,推荐你也试试",
+  "发现了一个投标神器,推荐你也试试"
+]
+
+function getShareText () {
+  return ShareText[randomNum(0, ShareText.length - 1)];
+}
+
+function randomNum (Min, Max) {
+  var Range = Max - Min;
+  var Rand = Math.random();
+  var num = Min + Math.round(Rand * Range);
+  return num;
+}
+
+function getCipherText (phone) {
+  return encodeURIComponent(JyObj.getCipherText(phone));
+}
+
+function getChannel () {
+  var channel = ""
+  try {
+    channel = JyObj.getChannel();
+  } catch (e) {
+  }
+  return channel
+}
+
+function getDeviceId () {
+  var deviceId = ""
+  try {
+    deviceId = JyObj.getIdentity();
+  } catch (e) {
+  }
+  return deviceId
+}
+
+function getPhoneType () {
+  var phoneType = "";
+  try {
+    phoneType = JyObj.getPhoneBrand();
+  } catch (e) {
+  }
+  return phoneType;
+}
+
+function getOtherPushId () {
+  var otherPushId = "";
+  try {
+    otherPushId = JyObj.getOtherPushRid();
+  } catch (e) {
+  }
+  return otherPushId;
+}
+
+function prohibitBack () {
+  try {
+    //禁止后退
+    JyObj.prohibitBack();
+  } catch (e) {
+  }
+}
+
+function sendChannelSign () {
+  var first = localStorage.getItem("channelSigned")
+  if (first == "1") {
+    return
+  }
+  try {
+    var sign = getChannel();
+    var id = getDeviceId();
+    if (sign == "" || id == "") {
+      return
+    }
+    $.post("/jyapp/free/channelSign", { "sign": sign, "id": id }, function (data) {
+      if (data.success) {
+        localStorage.setItem("channelSigned", "1")
+      }
+    })
+  } catch (err) {
+    alert(err)
+  }
+}
+
+function savePushIdMsg () {
+  var sign = JyObj.getUserToken();
+  var save = sessionStorage.getItem("savePush")
+  if (!(sign == "" || sign == undefined) || save == "1") {
+    sessionStorage.setItem("savePush", "1")//每次打开只执行一次
+    return;
+  }
+  sessionStorage.setItem("savePush", "1")//每次打开只执行一次
+  try {
+    var interval = setInterval(function () {
+      var id = getDeviceId();
+      var phoneType = getPhoneType();
+      var rid = JyObj.getPushRid();
+      var oid = getOtherPushId();
+      var channel = getChannel();
+      if (mySysIsIos()) {
+        phoneType = "ios";
+        channel = "ios";
+      }
+      if (rid == "" || rid == undefined) {
+        return
+      }
+      $.post("/jyapp/free/savePushIdMsg", {
+        "id": id,
+        "phoneType": phoneType,
+        "rid": rid,
+        "oid": oid,
+        "channel": channel
+      }, function (data) {
+        if (data.success) {
+          clearInterval(interval);
+        }
+      })
+    }, 1000)
+  } catch (err) {
+    alert(err)
+  }
+}
+
+function isIphoneX () {
+  return /iphone/gi.test(navigator.userAgent) && (screen.height >= 812)
+}
+
+function myDomain () {
+  return window.location.protocol + "//" + window.location.host;
+}
+
+/******* 获取url参数(正则)********/
+function getParam (name) {
+  var search = document.location.search;
+  // alert(search);
+  var pattern = new RegExp("[?&]" + name + "\=([^&]+)", "g");
+  var matcher = pattern.exec(search);
+  var items = null;
+  if (null != matcher) {
+    try {
+      items = decodeURIComponent(decodeURIComponent(matcher[1]));
+    } catch (e) {
+      try {
+        items = decodeURIComponent(matcher[1]);
+      } catch (e) {
+        items = matcher[1];
+      }
+    }
+  }
+  return items;
+};
+
+//格式化时间
+function formatDate (date, hms) {
+  if (date === null || date === "" || date === 0) {
+    return "-"
+  }
+  var date = new Date(date);
+  var YY = date.getFullYear() + '-';
+  var MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
+  var DD = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate());
+  var hh = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
+  var mm = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
+  var ss = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
+  if (!hms) {
+    return YY + MM + DD + " " + hh + mm + ss
+  } else {
+    return YY + MM + DD
+  }
+}
+//客户端收到推送消息,调用此js方法
+function afterReceivePushMessage (type, url) {
+  try {
+	if(type == "bid" || (type == "bid" && url.indexOf("__member__") > -1)){
+		$.post("/publicapply/subscribe/vipSwitch",null,function(res){
+			if(res.error_code == 0) {
+				if(res.data.vt == 'm' && url.indexOf("__member__") > -1) {
+					JyObj.showRedSpotOnMenu("subscribe");
+				}else if(res.data.vt != 'm' && url.indexOf("__member__") == -1){
+					JyObj.showRedSpotOnMenu("subscribe");
+				}
+			}
+		});
+	}else if (type == "entnichepush" || type == "member" || type == "projectforecast" || type == "entchange" || type == "memberreport") {
+      	JyObj.hideRedSpotOnMenu("my");
+    }
+    receivePushMessageHandle(type, url);
+  } catch (e) { }
+}
+
+//获取用户经纬度 每天记录一次
+function latlongitude(){
+	//首页
+	if(window.location.href.indexOf("jylab/mainSearch")==-1){
+		return false;
+	}
+	var llitude = "";
+	var lsllitude = localStorage.LLitude;
+	var nowDate = new Date().getDate();
+	var oldDate = new Date().getDate()-1;
+	if (lsllitude!=null&&lsllitude.split("_").length>2){
+		oldDate =  Number(lsllitude.split("_")[2]);
+	}
+	//每天记录一次
+	//alert(nowDate+"--"+oldDate+"--"+parseInt(distance))
+	if (nowDate==oldDate){
+		return false;
+	}
+	try{
+		llitude = JyObj.getLLitude();
+	}catch(e){}
+    if(llitude==""){
+      var ai = 0;
+      var llInterval = setInterval(function(){
+        ai=ai+1;
+        try{
+          llitude = JyObj.getLLitude();
+        }catch(e){}
+        //五次获取不到客户端经纬度 就不再获取,获取位置存localStorage 一天
+        //alert(llitude+"---:"+ai)
+        if((llitude!=""&&llitude!=undefined&&llitude.indexOf("null")<0)||ai>4){
+          clearInterval(llInterval);
+          llrequest(llitude)
+        }
+      },500)
+    }else{
+    	//alert("经纬度:"+llitude)
+    	llrequest(llitude)
+    }
+}
+//判断经纬度是否够收录条件
+function llrequest(ll){
+	//获取不到定位信息
+	if(ll==null||ll.indexOf("_")==-1){
+		return false
+	}
+	//localStorage.removeItem("LLitude");
+	var latitude = parseFloat(ll.split("_")[1]);//纬度
+	var longitude =  parseFloat(ll.split("_")[0]);//经度
+	var _lat = 0.0;
+	var _long = 0.0;
+	var llitude = localStorage.LLitude;
+	if (llitude!=null&&llitude.split("_").length>2){
+		_long =  parseFloat(llitude.split("_")[0]);//经度
+		_lat =  parseFloat(llitude.split("_")[1]);//纬度
+	}
+	//alert(latitude+":::"+longitude+"----"+_lat+":::"+_long)
+	var calculate = calculateLL(latitude,longitude,_lat,_long);
+	if (calculate>parseInt(distance)){
+    	$.post("/publicapply/appLoc/action", {
+	        "longitude": longitude,
+	        "latitude": latitude,
+	        "calculate": calculate
+	    }, function (r) {
+	        if (r.data) {
+				localStorage.LLitude = ll+"_"+new Date().getDate();
+	        }
+      	})
+    }
+}
+/*计算两经纬度点之间的距离(单位:米)*/
+function calculateLL(lat1, lng1, lat2, lng2) {
+	var radLat1 = lat1 * Math.PI / 180.0;
+	var radLat2 = lat2 * Math.PI / 180.0;
+	var a = radLat1 - radLat2;
+	var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
+	var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
+	s = s * 6378.137;
+	s = Math.round(s * 10000) / 10;
+	//alert("距离上个位置:"+s+" 米")
+	return s
+}
+//
+function androidVersion(){
+	if(mySysIsIos()){
+		return "";
+	}
+	var m = navigator.userAgent.match(/Android \d+/);
+	if(m == null){
+		return "";
+	}
+	return m[0].split(" ")[1];
+}
+//app更新日志
+function newVersionUpdateLog(event,new_version){
+	$.post("/jyapp/free/newVersionUpdateLog",{
+		token: JyObj.getUserToken(),//用户token
+	    event: event,//事件类型
+	    current_version: JyObj.getVersion(),//当前版本号
+	    new_version: new_version,//新版本号
+	    channel: getChannel(),//渠道
+	    phonetype: getPhoneType(),//手机型号
+		system: androidVersion()
+	})
+
+}
+
+/**
+ * 根据keys校验object必填项
+ * @param {Array} keys - 待校验字段keys
+ * @param {Object} target - 待校验object
+ * @returns {boolean} - 是否通过
+ */
+function checkRequiredKeys (keys, target) {
+  try {
+    // 职位/部门特殊处理, 满足时移除部门校验
+    if (keys.indexOf('branch') !== -1 && keys.indexOf('position') !== -1) {
+      if (target['position'] === '总裁' || target['position'] === '总经理') {
+        keys.splice(keys.indexOf('branch'), 1)
+      }
+    }
+    return !keys.some(function (k) {
+      var tempValue = target[k]
+      var result = false
+      if (typeof tempValue === 'number') {
+        tempValue = tempValue.toString()
+      }
+      if (typeof tempValue === 'string') {
+        result = tempValue.trim() !== ''
+      }
+      if (typeof tempValue === 'boolean') {
+        result = true
+      }
+      return !result
+    })
+  } catch (e) {
+    console.warn(e)
+    return false
+  }
+}
+
+/**
+ * 根据keys覆盖object必填项
+ * @param {Object}target - 指定需替换的object
+ * @param {Object}now - 数据来源object
+ * @param {Array}[keys] - 指定需替换的keys
+ * @returns {Object} - 替换后的object,需注意target已被替换
+ */
+function echoRequiredValues (target, now, keys) {
+  try {
+    Object.keys(now).forEach(function (k) {
+      if (keys && keys.indexOf(k) === -1) {
+        return
+      }
+      if (target.hasOwnProperty(k)) {
+        target[k] = JSON.parse(JSON.stringify(now[k]))
+      }
+    })
+    return target
+  } catch (e) {
+    console.warn(e)
+    return {}
+  }
+}

文件差異過大導致無法顯示
+ 0 - 0
src/web/staticres/entniche/js/fastclick.min.js


文件差異過大導致無法顯示
+ 0 - 0
src/web/staticres/entniche/js/mobiscroll.min.js


+ 19 - 0
src/web/staticres/entniche/js/rem.js

@@ -0,0 +1,19 @@
+(function(doc, win) {
+	var docEl = doc.documentElement,
+		resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
+		recalc = function() {
+			var fontSize = RootNodeFontSize();
+			if(fontSize == 0) return;
+			docEl.style.fontSize = fontSize + 'px';
+		};
+	if(!doc.addEventListener) return;
+	win.addEventListener(resizeEvt, recalc, false);
+	doc.addEventListener('DOMContentLoaded', recalc, false);
+})(document, window);
+//获取根节点的font-size
+function RootNodeFontSize(){
+	var clientWidth = document.documentElement.clientWidth;
+	if(!clientWidth) return 0;
+	if(clientWidth > 750) clientWidth = 750;
+	return clientWidth / 7.5;
+}

+ 423 - 0
src/web/templates/weixin/entniche/entniche_seniorset.html

@@ -0,0 +1,423 @@
+<html>
+<head>
+  <meta charset="UTF-8" />
+  <meta name="format-detection" content="telephone=no, email=no"/>
+  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
+	<title>推送设置</title>
+	<link href="{{Msg "seo" "cdn"}}/entniche/css/mobiscroll.min.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/entniche/css/layout.css" />
+  <link href="{{Msg "seo" "cdn"}}/entniche/css/font.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+  <link href="{{Msg "seo" "cdn"}}/entniche/css/common.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<link href="{{Msg "seo" "cdn"}}/entniche/css/wxkeyset.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<script src="https://cdn-common.jianyu360.com/cdn/lib/jquery/3.6.0/jquery.min.js"></script>
+	<script src="{{Msg "seo" "cdn"}}/entniche/js/fastclick.min.js"></script>
+	<script src="{{Msg "seo" "cdn"}}/entniche/js/common.js?v={{Msg "seo" "mod_version"}}"></script>
+	<script src="{{Msg "seo" "cdn"}}/entniche/js/mobiscroll.min.js"></script>
+	<script src="{{Msg "seo" "cdn"}}/entniche/js/rem.js"></script>
+	<style>
+		#pushway ul>li:nth-child(n+2) {
+			/* padding: 8px 0px; */
+		}
+		#matchType ul>li:nth-child(n+2) {
+			line-height: normal;
+			padding: 14px 0px;
+			color: #1d1d1d;
+		}
+		#matchType ul>li:nth-child(2) {
+			padding-top: 16px;
+			line-height: 55px;
+		}
+		#matchType ul>li>span {
+			display: block;
+			margin-top: 6px;
+			font-size: 14px;
+			color: #686868;
+		}
+		.seniorsetpage .navchoose li:last-child.on {
+		    padding: 28px 0px 27px 0px;
+		    line-height: 0px;
+		    height: inherit;
+		}
+    .seniorsetpage{
+      background: #F5F6F7;
+
+    }
+    .header{
+      background-color:#F5F6F7 ;
+      border-bottom: none;
+    }
+    .title{
+      color: #171826;
+      left: 0 !important;
+      box-sizing: border-box;
+      padding-left: 0.36rem;
+      border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
+      font-weight: 500;
+      font-size: 0.32rem;
+    }
+    .title .img1{
+      width: 0.48rem !important;
+      margin-right: 0.28rem !important;
+      vertical-align: middle;
+    }
+    .title .img2{
+      width: 0.48rem !important;
+      margin-right: 0.28rem !important;
+      vertical-align: middle;
+
+    }
+    .navchoose{
+      padding-left: 0 !important;
+      padding-top: 55px !important;
+    }
+    .list-item{
+      padding: 0.2rem 0 0.2rem 0.34rem !important;
+      box-sizing: border-box;
+      height: auto !important;
+      color: #171826 !important;
+      font-size: 0.32rem;
+      font-weight: 500;
+      border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;;
+    }
+    .foot-item{
+      padding: 0.3rem 0 0.3rem 0.34rem !important;
+      box-sizing: border-box;
+      height: auto !important;
+      color: #171826 !important;
+      font-size: 0.32rem;
+      font-weight: 500;
+      border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;;
+      line-height: 0.48rem !important;
+
+    }
+    .foot-item>img{
+      width: 1.08rem !important;
+      right:0.32rem !important;
+      top: 0.26rem !important;
+      /* height: 0.56rem !important; */
+    }
+    .list-item span{
+      font-weight: 500 !important;
+      font-size: 0.26rem !important;
+      line-height: 0.36rem !important;
+     color: #5F5E64 !important;
+     margin-top:0.08rem !important;
+     
+    }
+    .head_tit{
+      color: #171826;
+      font-size: 0.32rem;
+      font-weight: 500;
+    }
+    .complate{
+      font-size: 0.32rem;
+      font-weight: 500;
+    }
+    .checked-img{
+      width: 0.48rem!important;
+      right:0.32rem !important;
+    }
+    #pushway{
+      margin-bottom: 0!important;
+    }
+    .warm{
+      width: 6.86rem;
+      font-weight: 500;
+      font-size: 0.24rem;
+      line-height: 0.36rem;
+      color: #9B9CA3;
+      margin-left: 0.34rem;
+      margin-top: 0.16rem;
+      display: none;
+    }
+    .app-layout-content-b{
+      top: 0 !important;
+    }
+	</style>
+    <script>
+    var identification = getParam('pagesource')
+    var isenterprise = identification=='enterprise' ? true:false
+		var keepOneTipWayMsg = "请保留一种推送方式,<br>剑鱼标讯还要推送信息给您";
+		var emailSetModal = null;
+		var clickDelayed = false;
+		setTimeout(function(){
+			clickDelayed = true;
+		},500);
+		$(function(){
+			new FastClick(document.body);
+			emailSetModal = new EasyPopup("emailSetModal");
+			$(window).bind("pageshow", function(event){
+				if(event.originalEvent.persisted){
+					window.location.reload(true);
+				}
+			});
+      if(isenterprise){
+        $('.warm').show()
+      }else{
+        $('.warm').hide()
+
+      }
+			//获取推送设置
+             $.post("/entniche/subscribe/pushset/get",{identity: isenterprise ? 'ent' : 'pers'},function(r){
+					console.log(r.data.mailpush)
+					if (r.data!=null){
+						//推送时间
+						if (r.data.ratemode!=undefined){
+	                        $("#pushfrequency li").eq(parseInt(r.data.ratemode)).addClass("checked");
+	                    }else{
+							$("#pushfrequency li").eq(2).addClass("checked");
+	                    }
+						//推送方式
+						if (r.data.mailpush==undefined&&r.data.apppush==undefined){
+							$("#wxtip").addClass("on");
+							$("#wxtip .turn-off").hide();
+		                    $("#wxtip .turn-on").show();
+							$("#emailtip .turn-off").show();
+		                    $("#emailtip .turn-on").hide();
+						}
+						if(r.data.apppush==1){
+							$("#wxtip").addClass("on");
+							$("#wxtip .turn-off").hide();
+		                    $("#wxtip .turn-on").show();
+						}else if (r.data.apppush==0){
+							$("#wxtip .turn-on").hide();
+							$("#wxtip .turn-off").show();
+						}
+						if(r.data.mailpush==1){
+							$("#emailtip").addClass("on");
+							$("#emailtip .turn-off").hide();
+		                    $("#emailtip .turn-on").show();
+						}else if (r.data.mailpush==0){
+							$("#emailtip .turn-on").hide();
+							$("#emailtip .turn-off").show();
+						}
+						//关键词匹配方式
+            // if (r.data.matchway!=undefined){
+            //   $("#matchType li").eq(r.data.matchway).addClass("checked");
+            // }else{
+            //   $("#matchType li").eq(1).addClass("checked");
+            // }
+					}else{
+						console.log("~~")
+							//
+							$("#pushfrequency li").eq(1).addClass("checked");
+
+							$("#wxtip").addClass("on");
+							$("#wxtip .turn-off").hide();
+		                    $("#wxtip .turn-on").show();
+							$("#emailtip .turn-off").show();
+		                    $("#emailtip .turn-on").hide();
+
+	                        $("#matchType li").eq(1).addClass("checked");
+					}
+            })
+			////////////////////////////////
+			$(".modal-dialog").css("margin-top",$(window).height()*0.25);
+			//推送结果预览
+			$("#resultpreview").click(function(){
+				if(!clickDelayed){
+					return;
+				}
+				window.location.href = "/front/vipsubscribe/toVIPViewPage";
+			});
+
+			//app提醒
+			$("#wxtip>img").click(function(){
+				var parentLi = $(this).parent();
+				if($(this).hasClass("turn-on")){
+					if(!$("#emailtip").hasClass("on")){
+						EasyAlert.show(keepOneTipWayMsg);
+						return;
+					}
+					parentLi.removeClass("on");
+					parentLi.children(".turn-off").show();
+					parentLi.children(".turn-on").hide();
+				}else{
+					parentLi.addClass("on");
+					parentLi.children(".turn-on").show();
+					parentLi.children(".turn-off").hide();
+				}
+				saveData();
+			});
+			//邮件提醒
+			$("#emailtip>img").click(function(){
+				var parentLi = $(this).parent();
+				if($(this).hasClass("turn-on")){
+					if(!$("#wxtip").hasClass("on")){
+						EasyAlert.show(keepOneTipWayMsg);
+						return;
+					}
+					parentLi.removeClass("on");
+					parentLi.children(".turn-off").show();
+					parentLi.children(".turn-on").hide();
+				}else{
+					emailtipOn();
+				}
+				saveData();
+			});
+			$(".complate").click(function(){
+				if(!clickDelayed){
+					return;
+				}
+				window.history.go(-1);
+			});
+			//
+			sessionStorage.setItem('index_read_cache','6');
+		});
+		//
+		function emailtipOn(){
+			$("#emailtip").addClass("on");
+			$("#emailtip").children(".turn-on").show();
+			$("#emailtip").children(".turn-off").hide();
+		}
+		function saveData(){
+			var param = {
+				"ratemode": 1,
+				"apppush":0,
+				"mailpush":0,
+				// "matchway":1,
+			};
+			// if($("#matchType li:eq(2)").hasClass("checked")){
+			// 	param["matchway"] = 2;
+			// }
+			$("#pushfrequency li").each(function(){
+				if ($(this).hasClass("checked")){
+					param["ratemode"] = $(this).attr("dataid");
+				}
+			})
+			//
+			if($("#wxtip").hasClass("on")){
+				param["apppush"] = 1;
+			}
+			if($("#emailtip").hasClass("on")){
+				param["mailpush"] = 1;
+			}
+      param["identity"] = isenterprise ? 'ent' : 'pers'
+			$.post("/entniche/subscribe/pushset/update",param,function(r){
+				if(r.data.status!=1){
+					EasyAlert.show("设置失败")
+				}
+			});
+		}
+		//
+		function docheck(n,th){
+			if(parseInt(n)<5){
+				$("#pushfrequency li").each(function(){
+					var linum = $(this).attr("dataid");
+					$(this).removeClass("checked");
+					if(linum==n){
+						$(this).addClass("checked");
+					}
+				})
+			}else {
+				$("#matchType li").each(function(){
+					var linum = $(this).attr("dataid");
+					$(this).removeClass("checked");
+					if(linum==n){
+						$(this).addClass("checked");
+					}
+				})
+			}
+			saveData();
+		}
+	</script>
+</head>
+<body class="seniorsetpage">
+	<!-- <div class="app-layout-header jy-app-header">
+		<span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+		推送设置
+	<span></span></div> -->
+
+	<div class="app-layout-content-b">
+		<div class="header">
+      <span class='head_tit'>推送设置</span>
+			<span class="complate">完成</span>
+		</div>
+
+		<div class="content" style="margin-top:0px;">
+			<div id="pushfrequency">
+				<ul class="navchoose">
+					<li class="title"><img src="{{Msg "seo" "cdn"}}/entniche/images/time.png?v={{Msg "seo" "version"}}" class="img1">推送时间</li>
+					<li onclick="docheck('1',this)" dataid="1" class="list-item">
+						实时推送
+						<img src="{{Msg "seo" "cdn"}}/entniche/images/right.png?v={{Msg "seo" "version"}}" class="checked-img">
+						<span>8点-20点实时推送</span>
+					</li>
+					<li onclick="docheck('2',this)" dataid="2" class="list-item">
+						每日推送
+						<img src="{{Msg "seo" "cdn"}}/entniche/images/right.png?v={{Msg "seo" "version"}}" class="checked-img">
+						<span>上午9点推送一次</span>
+					</li>
+					<li onclick="docheck('3',this)" dataid="3" class="list-item">
+						每周推送
+						<img src="{{Msg "seo" "cdn"}}/entniche/images/right.png?v={{Msg "seo" "version"}}" class="checked-img">
+						<span>每周五上午9点推送一次</span>
+					</li>
+					<li onclick="docheck('4',this)" dataid="4" class="list-item">
+						每月推送
+						<img src="{{Msg "seo" "cdn"}}/entniche/images/right.png?v={{Msg "seo" "version"}}" class="checked-img">
+						<span>每月28日上午9点推送一次</span>
+					</li>
+				</ul>
+			</div>
+			<div id="pushway">
+				<ul class="navchoose">
+					<li class="title"><img src="{{Msg "seo" "cdn"}}/entniche/images/byEmail.png?v={{Msg "seo" "version"}}" class="img2">推送方式</li>
+					<li id="wxtip" class="foot-item">
+						APP提醒
+						<img src="{{Msg "seo" "cdn"}}/entniche/images/switch.png?v={{Msg "seo" "version"}}" class="turn-on">
+						<img src="{{Msg "seo" "cdn"}}/entniche/images/switchOff.png?v={{Msg "seo" "version"}}" class="turn-off">
+					</li>
+					<li id="emailtip" class="foot-item">
+						邮件提醒
+						<img src="{{Msg "seo" "cdn"}}/entniche/images/switch.png?v={{Msg "seo" "version"}}" class="turn-on">
+						<img src="{{Msg "seo" "cdn"}}/entniche/images/switchOff.png?v={{Msg "seo" "version"}}" class="turn-off">
+						<div class="emailset">
+							<span></span>
+							<img src="{{Msg "seo" "cdn"}}/entniche/images/editemail.png?v={{Msg "seo" "version"}}">
+						</div>
+					</li>
+				</ul>
+			</div>
+      <p class="warm">注:“机构管理-人员管理”中添加了邮箱信息的员工才可收到邮箱提醒。</p>
+			<!-- <div id="matchType">
+				<ul class="navchoose">
+					<li><img src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/image/matchType.png?v={{Msg "seo" "version"}}">关键词匹配方式</li>
+					<li onclick="docheck('5',this)" dataid="5">
+						按标题匹配
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/checked.png?v={{Msg "seo" "version"}}" class="checked-img">
+					</li>
+					<li onclick="docheck('6',this)" dataid="6">
+						按全文匹配
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/checked.png?v={{Msg "seo" "version"}}" class="checked-img">
+						<span>会产生无效信息,请根据需要选择</span>
+					</li>
+				</ul>
+			</div> -->
+			<!--2.9.0暂无 推送结果预览-->
+			<div class="onenavbar" id="resultpreview" style="display:none">
+				<img src="{{Msg "seo" "cdn"}}/entniche/images/resultpreview.png?v={{Msg "seo" "version"}}" class="img-left">
+				推送结果预览
+				<img src="{{Msg "seo" "cdn"}}/entniche/images/right.png?v={{Msg "seo" "version"}}" class="img-right">
+			</div>
+		</div>
+		<div class="easypopup" id="emailSetModal">
+			<div class="easypopup-edit">
+				<div class="easypopup-header">设置邮件地址</div>
+				<div class="easypopup-content">
+					<input type="text" id="email" placeholder="邮件地址" class="form-control"/>
+					<div class="error hide">您输入的邮箱不正确,请重新输入</div>
+				</div>
+				<div class="easypopup-footer">
+					<span onclick="emailSetModal.hide();">取消</span>
+					<span id="sure">确定</span>
+				</div>
+			</div>
+		</div>
+		<div class="easyalert easyalert-icon" id="setSuccess">
+			<img src='{{Msg "seo" "cdn"}}/entniche/images/set-right.png?v={{Msg "seo" "version"}}' style='width: 49px;margin-bottom: 15px;margin-top: 25px;'><br>设置成功
+		</div>
+	</div>
+	{{include "/common/baiducc.html"}}
+</body>
+</html>

部分文件因文件數量過多而無法顯示