Prechádzať zdrojové kódy

厦门i健康患者端代码拷贝

raolu 7 rokov pred
rodič
commit
59194680ed
97 zmenil súbory, kde vykonal 4605 pridanie a 0 odobranie
  1. 114 0
      html/home/css/bind-phone.css
  2. 151 0
      html/home/css/home.css
  3. 150 0
      html/home/css/home2.css
  4. 90 0
      html/home/css/qt-style.css
  5. 67 0
      html/home/css/style.css
  6. 118 0
      html/home/css/style2.css
  7. 572 0
      html/home/css/yygh-style.css
  8. 195 0
      html/home/html/bind-mobile.html
  9. 322 0
      html/home/html/change-apply.html
  10. 272 0
      html/home/html/fast-login.html
  11. 293 0
      html/home/html/login.html
  12. 233 0
      html/home/html/regist-info.html
  13. 73 0
      html/home/html/regist-prompt.html
  14. 262 0
      html/home/html/regist-validation.html
  15. 236 0
      html/home/html/register.html
  16. 219 0
      html/home/html/reset-password.html
  17. 441 0
      html/home/html/shenfenyz.html
  18. 99 0
      html/home/html/user-agreement.html
  19. 98 0
      html/home/html/wxindex.html
  20. 282 0
      html/home/html/zhmm-login.html
  21. BIN
      html/home/images/01.jpg
  22. BIN
      html/home/images/02.jpg
  23. BIN
      html/home/images/03.jpg
  24. BIN
      html/home/images/04.jpg
  25. BIN
      html/home/images/05.jpg
  26. BIN
      html/home/images/06.jpg
  27. BIN
      html/home/images/07.jpg
  28. BIN
      html/home/images/08.jpg
  29. BIN
      html/home/images/08.png
  30. BIN
      html/home/images/ar1.jpg
  31. BIN
      html/home/images/ar2.jpg
  32. BIN
      html/home/images/ar3.jpg
  33. BIN
      html/home/images/ar4.jpg
  34. BIN
      html/home/images/ar5.jpg
  35. BIN
      html/home/images/ar6.jpg
  36. BIN
      html/home/images/banner.jpg
  37. BIN
      html/home/images/banner2.jpg
  38. BIN
      html/home/images/bc.jpg
  39. BIN
      html/home/images/close.png
  40. BIN
      html/home/images/delete01_pre.png
  41. BIN
      html/home/images/ewm.png
  42. BIN
      html/home/images/guide_01.jpg
  43. BIN
      html/home/images/guide_02.jpg
  44. BIN
      html/home/images/guide_03.jpg
  45. BIN
      html/home/images/guide_04.jpg
  46. BIN
      html/home/images/guide_05.jpg
  47. BIN
      html/home/images/guide_06.jpg
  48. BIN
      html/home/images/header-person.jpg
  49. BIN
      html/home/images/hospital-img.png
  50. BIN
      html/home/images/icon_1.png
  51. BIN
      html/home/images/icon_10.png
  52. BIN
      html/home/images/icon_11.png
  53. BIN
      html/home/images/icon_12.png
  54. BIN
      html/home/images/icon_13.png
  55. BIN
      html/home/images/icon_14.png
  56. BIN
      html/home/images/icon_15.png
  57. BIN
      html/home/images/icon_16.png
  58. BIN
      html/home/images/icon_17.png
  59. BIN
      html/home/images/icon_2.png
  60. BIN
      html/home/images/icon_3.png
  61. BIN
      html/home/images/icon_4.png
  62. BIN
      html/home/images/icon_5.png
  63. BIN
      html/home/images/icon_6.png
  64. BIN
      html/home/images/icon_7.png
  65. BIN
      html/home/images/icon_8.jpg
  66. BIN
      html/home/images/icon_9.png
  67. BIN
      html/home/images/icons-qianyue.png
  68. BIN
      html/home/images/ka_img.png
  69. BIN
      html/home/images/news.jpg
  70. BIN
      html/home/images/news2.jpg
  71. BIN
      html/home/images/news3.jpg
  72. BIN
      html/home/images/news4.jpg
  73. BIN
      html/home/images/news5.jpg
  74. BIN
      html/home/images/news6.jpg
  75. BIN
      html/home/images/news7.jpg
  76. BIN
      html/home/images/pic.jpg
  77. BIN
      html/home/images/pic1.jpg
  78. BIN
      html/home/images/pic2.jpg
  79. BIN
      html/home/images/pic3.jpg
  80. BIN
      html/home/images/pic4.jpg
  81. BIN
      html/home/images/pic5.jpg
  82. BIN
      html/home/images/ren.png
  83. BIN
      html/home/images/solvebg.png
  84. BIN
      html/home/images/timp-01.png
  85. BIN
      html/home/images/timp-02.png
  86. BIN
      html/home/images/timp-03.png
  87. BIN
      html/home/images/timp-04.png
  88. BIN
      html/home/images/timp-05.png
  89. BIN
      html/home/images/timp-06.png
  90. BIN
      html/home/images/view_icon.png
  91. BIN
      html/home/images/view_off_icon.png
  92. BIN
      html/home/images/wserimg1.png
  93. BIN
      html/home/images/wxpagehome.png
  94. BIN
      html/home/images/zhanghao_icon.png
  95. 40 0
      html/home/js/ui_form_one.js
  96. 17 0
      html/home/js/ui_search_one.js
  97. 261 0
      html/home/js/wordbox.js

+ 114 - 0
html/home/css/bind-phone.css

@ -0,0 +1,114 @@
.phone-bind-box {
    overflow: hidden;
    position: absolute;
    z-index: 9999;
    bottom: 0;
    border-radius: 5px;
    font-size: 14px;
    line-height: 2em;
    box-sizing: border-box;
    color: #666;
}
.common-mask {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 8888;
}
.bg-black{
    background: rgba(0,0,0,.7);
;}
.phone-bind-member {
    text-align: center;
    color: #47a8ef;
    line-height: 45px;
    height: 45px;
}
.phone-member-list {
    background: #fff;
    overflow: hidden;
    margin-bottom: 65px;
    padding-top: 15px;
}
.phone-member-btn {
    background: #47a8ef;
    color: #fff;
    border-radius: 5px;
    text-align: center;
    padding: 10px 0;
}
.phone-member-back {
    background: none;
    color: #17b3ec;
    border: 1px solid #17b3ec;
}
.phone-member-item {
    width: 25%;
    float: left;
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    text-align: center;
}
.phone-member-img {
    border-radius: 50%;
    width: 80%;
}
.phone-member-name {
    margin-top: 5px;
}
.muilt-loginBox {
    width: 260px;
    padding: 15px;
    background: #fff;
    position: absolute;
    z-index: 9999;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.muilt-loginBox-tit {
    text-align: center;
    font-size: 16px;
    color: #333;
    font-weight: bold;
}
.muilt-loginBox-txt {
    color: #666;
    font-size: 14px;
    margin-top: 15px;
}
.muilt-loginBox-name {
    color: #666;
}
.muilt-loginBox-item {
    width: 33%;
    padding: 10px;
    box-sizing: border-box;
    float: left;
}
.muilt-loginBox-box {
    background: #fff;
    overflow: hidden;
    margin-bottom: 15px;
    padding-top: 15px;
}

+ 151 - 0
html/home/css/home.css

@ -0,0 +1,151 @@
@charset "utf-8";
body {background-color: #f3f3f3;}
.pt40 { padding-top: 40px;} 
.ui-col-1 { width: 0;}
.c-17b3ec {color: #17b3ec;}
.c-btn-17b3ec {background-color: #17b3ec;}
.c-ser-hold {background: none;}
.icons-zero { width: 60px; height: 60px;}
.icons-one {width: 45px;}
.icons-two {width: 35px;}
.arrow-right { display: block;width: 8px; height: 8px; border: solid #cdcdcd; border-width: 2px 2px 0 0; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg);-ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
.ren {width: 52px;}
.index-list .c-list-img , .index-list .c-list-img img {width: 70px; height: 50px;}
.index-tags {display: inline-block; padding: 1px 5px; color: #fff; border-radius: 2px;}
.index-tags-org {background-color: #ff8100;}
.index-tags-blue {background-color: #75c2f5;}
.index-list .c-list > li {margin-left: 0;}
.index-list .doc-avatar { width: 50px; height: 50px; border-radius: 50%; overflow: hidden; margin-right: 20px;}
.index-list .c-list > .c-list-function { border-top: 1px solid #f1f1f1;}
.index-list .c-list > .c-list-function .c-list-info,.index-list .c-list > .c-list-function:first-child { border: 0;}
.c-list .doc-avatar img { width: 100%; height: 100%;}
.wordbox {position: relative;}
.wordbox-box {position: absolute; text-align: center; word-wrap: break-word; overflow: hidden; border: 1px solid #fff;}
.wordbox-box span {color: #fff; text-decoration: none; display: inline-block; width: 100%; height: 100%;}
.icons-box {border-radius: 2px; width: 26px; height: 26px; color: #fff; display: inline-block; text-align: center; line-height: 26px;}
.icons-box i.iconfont {font-size: 18px;}
.icons-box-org {background-color: #ff9600;}
.icons-box-blue {background-color: #00aeef;}
.icons-box-green {background-color: #4ed964;}
/* login */
.login .ui-grid {height: 45px; line-height: 25px;}
.login .ui-grid:first-child {border-bottom: 1px #f1f1f1 solid;}
.login .ui-col-0 {width: 50px; border-right: 1px solid #f1f1f1;}
.login .ui-col-0 span { color: #17b3ec; display: inline-block; height: 100%; }
/* footer */
.footer {background-color: #f8f8f9; left: 0; bottom: 0; height: 50px; padding-top: 5px; z-index:600;}
.footer li {position: relative;}
.footer li em {position: absolute; left: 50%; top: -2px; width: 18px; height: 18px; color: #fff; border-radius: 50%;  background-color: #f00; margin-left: 3px;}
.footer a {color: #333;}
.footer a.curr {color: #17b3ec;}
.footer i.iconfont {font-size: 20px;}
.footer span {display: block; font-size: 10px;}
/*资讯*/
.canbel-head ul{margin:0 auto;border-radius:5px;}
.message-list .c-avatar-m{border-radius:40px;overflow:hidden;color:#fff;text-align:center;line-height:40px;}
.message-list .c-avatar-m i{font-size:23px;}
.message-list span.dot-red{background:#37a6ed;width:22px;height:22px;display:inline-block;color:#fff;font-size:10px;text-align:center;line-height:22px;border-radius:50%;}
.message-list.c-list .c-list-info > p{color:#5b5b5b;font-size:12px;}
.bgc-4ba8ef{background:#4ba8ef;}
.bgc-ffa100{background:#ffa100;}
.bgc-00cf8d{background:#00cf8d;}
.bgc-ff6000{background:#ff6000;}
.index-top{ line-height:40px; padding:0 15px 0 10px; font-size:16px; color:#494949;}
.index-top img{ margin-top:10px;}
.bor-l-f2{ border-left:1px solid #f2f2f2;}
.bor-t-f2{ border-top:1px solid #f2f2f2;}
.c-b3b3b3{ color:#b3b3b3;}
.dh-nav { width: 100%; height: 30px; line-height:30px; background: #fff; font-size:13px;}
.dh-nav li{ display:block; float:left; width:20%; height:22px; padding-top:8px; text-align:center;}
.dh-nav li.curr{ background:#25aadf; color:#fff;}
.dh-nav li span{ display:block; width:100%; line-height:1; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -ms-box-sizing:border-box; border-left:1px solid #f2f2f2;}
.dh-nav li:first-child span{ border-left:none;}
.dh-nav li.curr span{ border-color:#25aadf;}
.dh-list { width:100%; background:#fff; z-index:1;}
.dh-list-box { width: 100%; }
.dh-list li{ overflow:hidden; padding:15px 0 5px 0; font-size:14px; color:#333;}
.dh-list li label{ display:block; width:25%; float:left; text-align:center; margin-bottom:10px; line-height:1.3; font-size:14px;}
.dh-list li label img{ width:40px; height:40px; border-radius:50%; margin-bottom:3px;}
.index-banner{ position:relative;}
.index-banner-word{ position:absolute; width:100%; text-align:center; left:0; bottom:20px; font-size:13px; color:#fff;}
.index-nav{ position:relative;}
.index-nav ul{ display:block; padding:10px 0 15px 0;}
.index-nav li{ display:block; float:left; width:25%; text-align:center; font-size:12px; color:#909090; line-height:1.4; position:relative; z-index:500;}
.index-nav li img{ margin-bottom:7px;}
.index-nav-tit{ line-height:33px; margin-left:12px; font-size:14px; color:#47bfe1; border-bottom:1px solid #f2f2f2;}
.three-div-top{ height:65px; border-bottom:1px solid #f2f2f2; padding-top:12px;}
.three-div-bot{ height:65px; padding-top:12px;}
.three-img{}
.three-span{ display:inline-block; vertical-align:middle; margin-top:3px; margin-left:2px; text-align:left;}
.search-tb{ width:45px; height:45px; position:absolute; right:0; top:0;}
.search-tb:before{ content:''; display:block; position:absolute; width:12px; height:12px; border:1px solid #49bdee; border-radius:50%; left:13px; top:15px;}
.search-tb:after{ content:''; display:block; position:absolute; width:10px; height:1px; background:#49bdee; left:23px; top:30px; transform:rotate(45deg); -webkit-transform:rotate(45deg);}
.news-list li { padding-top: 12px; padding-bottom: 12px; }
.news-pic { width: 60px; height: 60px; border-radius: 4px; overflow: hidden; }
.news-pic img { width: 100%; height: 100%; }
.pull-more { display: block; text-align: center; color: #5b5b5b; font-size: 14px; padding: 10px 0; }
.pull-more:active { background: rgba(0,0,0,.05); }
.art-detil { padding: 15px; }
.art-detil h1 { font-size: 18px; line-height: 30px; color: #333; }
.art-detil a { color: #137bf2; }
.art-detil img { max-width: 100%; display: block; margin: 10px auto; }
.art-con p { color: #666; font-size: 14px; line-height: 1.5em; padding: 5px 0; text-indent: 2em; white-space: pre-wrap; word-wrap: break-word; word-wrap: break-all; }
.art-con a { display: block; clear: both; color: #137bf2; }
.news-list > .n-list-cover{ padding-left:0 !important;}
/*csx*/
.ptb12 { padding-top: 12px; padding-bottom: 12px; }
.n-list { background-color: #fff; }
.n-list > li, .n-list > .n-list-li { position: relative; display: -webkit-box; display: box; box-pack: center; padding-right: 15px; margin-left: 15px; border-top: 1px solid #f1f1f1; clear: both; }
.n-list > li:first-child, .n-list > .n-list-li:first-child { border-top: none; }
.n-list > .n-list-link:active { background-color: #f7f7f7; padding-left: 15px; margin-left: 0 }
.n-list > .n-list-cover { padding-left: 15px; margin-left: 0; }
.n-list > .list-arrow-r, .n-list > .list-arrow-d, .n-list > .list-arrow-u { padding-right: 30px }
.n-list > .list-arrow-r:after, .n-list > .list-arrow-d:after, .n-list > .list-arrow-u:after { position: absolute; top: 50%; right: 15px; margin-top: -5px; content: ""; display: block; width: 8px; height: 8px; border: solid #cdcdcd; border-width: 2px 2px 0 0; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
.n-list > .list-arrow-d:after { right: 13px; margin-top: -8px; -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); -ms-transform: rotate(135deg); transform: rotate(135deg); }
.n-list > .list-arrow-u:after { right: 13px; margin-top: -2px; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }
.n-list-title { display: -webkit-box; display: -moz-box; display: box; -webkit-box-orient: vertical; -moz-box-orient: vertical; box-orient: vertical; -webkit-box-pack: start; -moz-box-pack: start; box-pack: start; }
.n-list-key, .n-list-info { display: -webkit-box; display: -moz-box; display: box; -webkit-box-orient: vertical; -moz-box-orient: vertical; box-orient: vertical; -webkit-box-pack: center; -moz-box-pack: center; box-pack: center; }
.n-list-info { display: -webkit-box; display: -moz-box; display: box; -webkit-box-flex: 1; -moz-box-flex: 1; box-flex: 1; }
.n-list-flex { display: -webkit-box; display: -moz-box; display: box; -webkit-box-flex: 1; -moz-box-flex: 1; box-flex: 1; }
.n-list > .n-list-function { border-top: none; padding-right: 0; }
.n-list > .n-list-function .n-list-flex { border-top: 1px solid #f1f1f1; }
.n-list > .n-list-function:first-child .n-list-flex { border-top: none; }
.n-list > li:first-child, .n-list > .n-list-function:first-child, .n-list > .n-list-function:first-child .n-list-info, .n-list > div:first-child { border: 0; }
.n-list > .n-list-label { border-top: none; padding-right: 0; }
.n-list .n-list-img { width: 100px; height: 68px; overflow: hidden; position: relative }
.n-list .n-list-img img { width: 100%; height: auto; }
.required { position: relative; }
.required:before { content: "*"; position: absolute; color: #f00; font-size: 14px; height: 12px; line-height: 12px; vertical-align: middle; left: -10px; top: 50%; margin-top: -5px; }
.n-avatar-s, .n-avatar-m, .n-avatar-l { width: 26px; height: 26px; display: -webkit-box; -webkit-box-pack: center; -webkit-box-align: center; }
.n-avatar-m { width: 40px; height: 40px; }
.n-avatar-l { width: 54px; height: 54px; }
.n-avatar-s img, .n-avatar-m img, .n-avatar-l img { width: 100%; height: 100%; }
.c-ccc{ color:#ccc;}
.process-opera{ overflow:hidden; border-top:1px solid #f2f2f2;}
.process-opera div{ width:50%; float:left; border-left:1px solid #f2f2f2; line-height:40px; color:#007cd9; text-align:center;}
.process-opera div:first-child{ border-left:none;}
.process-detail{ display:block; background:#fff; padding-left:40px; font-size:14px;}
.process-detail li{ line-height:45px; position:relative; border-top:1px solid #f2f2f2; padding-right:30px; color:#909090;}
.process-detail li:first-child{ border-top:none;}
.process-detail li.nojt{ padding-right:15px;}
.process-detail li .arrow-right{ position:absolute; right:15px; top:50%; margin-top:-5px;}
.process-state{ position:absolute; width:15px; height:15px; background:#ccc; border-radius:50%; text-align:center; line-height:15px; color:#fff; font-size:12px; left:-25px; top:16px;}
.process-state:before{ content:''; display:block; width:1px; height:32px; background:#ccc; position:absolute; left:7px; top:15px;}
.process-detail li:last-child .process-state:before{ display:none;}
.process-state.curr{ background:#2eba52;}
.process-state.curr:before{ background:#2eba52;}
.r-textarea { width: 100%; border: 0; padding: 0; resize: none; }
.message-nav{}
.message-nav li{ padding-left:10px; border-bottom:1px solid #e1e1e1; border-top:1px solid #e1e1e1; background:#fff; margin-top:10px;}
.mnav-top{ line-height:35px; border-bottom:1px solid #f2f2f2; padding-right:10px;}
.mnav-mess{ padding:8px 0 10px 0; position:relative;}
.mnav-mess .ghbq{ position:absolute; width:50px; height:16px; line-height:16px; text-align:center; background:#f9bb4d; color:#fff; font-size:10px; right:15px; top:13px; border-radius:3px;}
.mnav-mess .spbq{ position:absolute; width:50px; height:16px; line-height:16px; text-align:center; background:#41b1f2; color:#fff; font-size:10px; right:15px; top:13px; border-radius:3px;}
.kf-btn{ display:block; width:30px; height:30px; position:absolute; right:10px; top:50%; margin-top:-15px; background:url(../images/kf.png) no-repeat; background-size:100% 100%; border-radius:50%;}

+ 150 - 0
html/home/css/home2.css

@ -0,0 +1,150 @@
@charset "utf-8";
body {background-color: #f3f3f3;}
.pt40 { padding-top: 40px;} 
.ui-col-1 { width: 0;}
.c-17b3ec {color: #17b3ec;}
.c-btn-17b3ec {background-color: #17b3ec;}
.c-ser-hold {background: none;}
.icons-zero { width: 60px; height: 60px;}
.icons-one {width: 45px;}
.icons-two {width: 35px;}
.arrow-right { display: block;width: 8px; height: 8px; border: solid #cdcdcd; border-width: 2px 2px 0 0; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg);-ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
.ren {width: 52px;}
.index-list .c-list-img , .index-list .c-list-img img {width: 70px; height: 50px;}
.index-tags {display: inline-block; padding: 1px 5px; color: #fff; border-radius: 2px;}
.index-tags-org {background-color: #ff8100;}
.index-tags-blue {background-color: #75c2f5;}
.index-list .c-list > li {margin-left: 0;}
.index-list .doc-avatar { width: 50px; height: 50px; border-radius: 50%; overflow: hidden; margin-right: 20px;}
.index-list .c-list > .c-list-function { border-top: 1px solid #f1f1f1;}
.index-list .c-list > .c-list-function .c-list-info,.index-list .c-list > .c-list-function:first-child { border: 0;}
.c-list .doc-avatar img { width: 100%; height: 100%;}
.wordbox {position: relative;}
.wordbox-box {position: absolute; text-align: center; word-wrap: break-word; overflow: hidden; border: 1px solid #fff;}
.wordbox-box span {color: #fff; text-decoration: none; display: inline-block; width: 100%; height: 100%;}
.icons-box {border-radius: 2px; width: 26px; height: 26px; color: #fff; display: inline-block; text-align: center; line-height: 26px;}
.icons-box i.iconfont {font-size: 18px;}
.icons-box-org {background-color: #ff9600;}
.icons-box-blue {background-color: #00aeef;}
.icons-box-green {background-color: #4ed964;}
/* login */
.login .ui-grid {height: 45px; line-height: 25px;}
.login .ui-grid:first-child {border-bottom: 1px #f1f1f1 solid;}
.login .ui-col-0 {width: 50px; border-right: 1px solid #f1f1f1;}
.login .ui-col-0 span { color: #17b3ec; display: inline-block; height: 100%; }
/* footer */
.footer {background-color: #f8f8f9; left: 0; bottom: 0; height: 50px; padding-top: 5px; z-index:600;}
.footer li {position: relative;}
.footer li em {position: absolute; left: 50%; top: -2px; width: 18px; height: 18px; color: #fff; border-radius: 50%;  background-color: #f00; margin-left: 3px;}
.footer a {color: #333;}
.footer a.curr {color: #17b3ec;}
.footer i.iconfont {font-size: 20px;}
.footer span {display: block; font-size: 10px;}
/*资讯*/
.canbel-head ul{margin:0 auto;border-radius:5px;}
.message-list .c-avatar-m{border-radius:40px;overflow:hidden;color:#fff;text-align:center;line-height:40px;}
.message-list .c-avatar-m i{font-size:23px;}
.message-list span.dot-red{background:#37a6ed;width:22px;height:22px;display:inline-block;color:#fff;font-size:10px;text-align:center;line-height:22px;border-radius:50%;}
.message-list.c-list .c-list-info > p{color:#5b5b5b;font-size:12px;}
.bgc-4ba8ef{background:#4ba8ef;}
.bgc-ffa100{background:#ffa100;}
.bgc-00cf8d{background:#00cf8d;}
.bgc-ff6000{background:#ff6000;}
.index-top{ line-height:40px; padding:0 15px 0 10px; font-size:16px; color:#494949;}
.index-top img{ margin-top:10px;}
.bor-l-f2{ border-left:1px solid #f2f2f2;}
.bor-t-f2{ border-top:1px solid #f2f2f2;}
.c-b3b3b3{ color:#b3b3b3;}
.dh-nav { width: 100%; height: 30px; line-height:30px; background: #fff; font-size:13px;}
.dh-nav li{ display:block; float:left; width:20%; height:22px; padding-top:8px; text-align:center;}
.dh-nav li.curr{ background:#25aadf; color:#fff;}
.dh-nav li span{ display:block; width:100%; line-height:1; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -ms-box-sizing:border-box; border-left:1px solid #f2f2f2;}
.dh-nav li:first-child span{ border-left:none;}
.dh-nav li.curr span{ border-color:#25aadf;}
.dh-list { width:100%; background:#fff; z-index:1;}
.dh-list-box { width: 100%; }
.dh-list li{ overflow:hidden; padding:15px 0 5px 0; font-size:14px; color:#333;}
.dh-list li label{ display:block; width:25%; float:left; text-align:center; margin-bottom:10px; line-height:1.3; font-size:14px;}
.dh-list li label img{ width:40px; height:40px; border-radius:50%; margin-bottom:3px;}
.index-banner{ position:relative;}
.index-banner-word{ position:absolute; width:100%; text-align:center; left:0; bottom:20px; font-size:13px; color:#fff;}
.index-nav{ position:relative;}
.index-nav li{ display:block; float:left; width:31.25%; height:130px; text-align:center; font-size:14px; color:#5b5b5b; line-height:1.4; position:relative; z-index:500;}
.index-nav:before{ content:''; display:block; width:31.25%; height:100%; position:absolute; left:31.25%; border-left:1px solid #f2f2f2; border-right:1px solid #f2f2f2; top:0; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; z-index:1;}
.index-nav li.lthree{ width:37.5%;}
.three-div-top{ height:65px; border-bottom:1px solid #f2f2f2; padding-top:12px;}
.three-div-bot{ height:65px; padding-top:12px;}
.three-img{}
.three-span{ display:inline-block; vertical-align:middle; margin-top:3px; margin-left:2px; text-align:left;}
.search-tb{ width:45px; height:45px; position:absolute; right:0; top:0;}
.search-tb:before{ content:''; display:block; position:absolute; width:12px; height:12px; border:1px solid #49bdee; border-radius:50%; left:13px; top:15px;}
.search-tb:after{ content:''; display:block; position:absolute; width:10px; height:1px; background:#49bdee; left:23px; top:30px; transform:rotate(45deg); -webkit-transform:rotate(45deg);}
.news-list li { padding-top: 12px; padding-bottom: 12px; }
.news-pic { width: 60px; height: 60px; border-radius: 4px; overflow: hidden; }
.news-pic img { width: 100%; height: 100%; }
.pull-more { display: block; text-align: center; color: #5b5b5b; font-size: 14px; padding: 10px 0; }
.pull-more:active { background: rgba(0,0,0,.05); }
.art-detil { padding: 15px; }
.art-detil h1 { font-size: 18px; line-height: 30px; color: #333; }
.art-detil a { color: #137bf2; }
.art-detil img { max-width: 100%; display: block; margin: 10px auto; }
.art-con p { color: #666; font-size: 14px; line-height: 1.5em; padding: 5px 0; text-indent: 2em; white-space: pre-wrap; word-wrap: break-word; word-wrap: break-all; }
.art-con a { display: block; clear: both; color: #137bf2; }
.news-list > .n-list-cover{ padding-left:0 !important;}
/*csx*/
.ptb12 { padding-top: 12px; padding-bottom: 12px; }
.n-list { background-color: #fff; }
.n-list > li, .n-list > .n-list-li { position: relative; display: -webkit-box; display: box; box-pack: center; padding-right: 15px; margin-left: 15px; border-top: 1px solid #f1f1f1; clear: both; }
.n-list > li:first-child, .n-list > .n-list-li:first-child { border-top: none; }
.n-list > .n-list-link:active { background-color: #f7f7f7; padding-left: 15px; margin-left: 0 }
.n-list > .n-list-cover { padding-left: 15px; margin-left: 0; }
.n-list > .list-arrow-r, .n-list > .list-arrow-d, .n-list > .list-arrow-u { padding-right: 30px }
.n-list > .list-arrow-r:after, .n-list > .list-arrow-d:after, .n-list > .list-arrow-u:after { position: absolute; top: 50%; right: 15px; margin-top: -5px; content: ""; display: block; width: 8px; height: 8px; border: solid #cdcdcd; border-width: 2px 2px 0 0; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
.n-list > .list-arrow-d:after { right: 13px; margin-top: -8px; -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); -ms-transform: rotate(135deg); transform: rotate(135deg); }
.n-list > .list-arrow-u:after { right: 13px; margin-top: -2px; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }
.n-list-title { display: -webkit-box; display: -moz-box; display: box; -webkit-box-orient: vertical; -moz-box-orient: vertical; box-orient: vertical; -webkit-box-pack: start; -moz-box-pack: start; box-pack: start; }
.n-list-key, .n-list-info { display: -webkit-box; display: -moz-box; display: box; -webkit-box-orient: vertical; -moz-box-orient: vertical; box-orient: vertical; -webkit-box-pack: center; -moz-box-pack: center; box-pack: center; }
.n-list-info { display: -webkit-box; display: -moz-box; display: box; -webkit-box-flex: 1; -moz-box-flex: 1; box-flex: 1; }
.n-list-flex { display: -webkit-box; display: -moz-box; display: box; -webkit-box-flex: 1; -moz-box-flex: 1; box-flex: 1; }
.n-list > .n-list-function { border-top: none; padding-right: 0; }
.n-list > .n-list-function .n-list-flex { border-top: 1px solid #f1f1f1; }
.n-list > .n-list-function:first-child .n-list-flex { border-top: none; }
.n-list > li:first-child, .n-list > .n-list-function:first-child, .n-list > .n-list-function:first-child .n-list-info, .n-list > div:first-child { border: 0; }
.n-list > .n-list-label { border-top: none; padding-right: 0; }
.n-list .n-list-img { width: 100px; height: 68px; overflow: hidden; position: relative }
.n-list .n-list-img img { width: 100%; height: auto; }
.required { position: relative; }
.required:before { content: "*"; position: absolute; color: #f00; font-size: 14px; height: 12px; line-height: 12px; vertical-align: middle; left: -10px; top: 50%; margin-top: -5px; }
.n-avatar-s, .n-avatar-m, .n-avatar-l { width: 26px; height: 26px; display: -webkit-box; -webkit-box-pack: center; -webkit-box-align: center; }
.n-avatar-m { width: 40px; height: 40px; }
.n-avatar-l { width: 54px; height: 54px; }
.n-avatar-s img, .n-avatar-m img, .n-avatar-l img { width: 100%; height: 100%; }
.c-ccc{ color:#ccc;}
.process-opera{ overflow:hidden; border-top:1px solid #f2f2f2;}
.process-opera div{ width:50%; float:left; border-left:1px solid #f2f2f2; line-height:40px; color:#007cd9; text-align:center;}
.process-opera div:first-child{ border-left:none;}
.process-detail{ display:block; background:#fff; padding-left:40px; font-size:14px;}
.process-detail li{ line-height:45px; position:relative; border-top:1px solid #f2f2f2; padding-right:30px; color:#909090;}
.process-detail li:first-child{ border-top:none;}
.process-detail li.nojt{ padding-right:15px;}
.process-detail li .arrow-right{ position:absolute; right:15px; top:50%; margin-top:-5px;}
.process-state{ position:absolute; width:15px; height:15px; background:#ccc; border-radius:50%; text-align:center; line-height:15px; color:#fff; font-size:12px; left:-25px; top:16px;}
.process-state:before{ content:''; display:block; width:1px; height:32px; background:#ccc; position:absolute; left:7px; top:15px;}
.process-detail li:last-child .process-state:before{ display:none;}
.process-state.curr{ background:#2eba52;}
.process-state.curr:before{ background:#2eba52;}
.r-textarea { width: 100%; border: 0; padding: 0; resize: none; }
.message-nav{}
.message-nav li{ padding-left:10px; border-bottom:1px solid #e1e1e1; border-top:1px solid #e1e1e1; background:#fff; margin-top:10px;}
.mnav-top{ line-height:35px; border-bottom:1px solid #f2f2f2; padding-right:10px;}
.mnav-mess{ padding:8px 0 10px 0; position:relative;}
.mnav-mess .ghbq{ position:absolute; width:50px; height:16px; line-height:16px; text-align:center; background:#f9bb4d; color:#fff; font-size:10px; right:15px; top:13px; border-radius:3px;}
.mnav-mess .spbq{ position:absolute; width:50px; height:16px; line-height:16px; text-align:center; background:#41b1f2; color:#fff; font-size:10px; right:15px; top:13px; border-radius:3px;}
.kf-btn{ display:block; width:30px; height:30px; position:absolute; right:10px; top:50%; margin-top:-15px; background:url(../images/kf.png) no-repeat; background-size:100% 100%; border-radius:50%;}

+ 90 - 0
html/home/css/qt-style.css

@ -0,0 +1,90 @@
/* 其他base
-----------------------------------------------------------------------------*/
.ui-nowrap-multi { display: -webkit-box; overflow: hidden; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2;}
.ui-nowrap-multh { display: -webkit-box; overflow: hidden; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 3;}
i{ font-style:normal;}
.c888{ color:#888;}
.cccc{ color:#ccc;}
.cf60{ color:#f60;}
.c333{ color:#333;}
.c-666 { color:#666;}
.c5b5b5b{ color:#5b5b5b;}
.c4dcd70{ color:#4dcd70;}
.ced5050{ color:#ed5050;}
.ced4d4d{ color:#ed4d4d;}
.cc2c2c2{ color:#c2c2c2;}
.ced5050{ color:#ed5050;}
.c007cd9{ color:#007cd9;}
.cff675b{ color:#ff675b;}
.c-cacaca{  color:#cacaca;}
.c-13b5f3{ color:#13b5f3;}
.c-ec3e43{ color:#ec3e43;}
.bgc-38e4a5 { background-color: #38e4a5;}
.bgc-32a7f9 { background-color: #32a7f9;}
.bgc-ffb30f { background-color: #ffb30f;}
.bgc-fc8d43 { background-color: #fc8d43;}
.bgc-dedede { background-color: #dedede;}
.bgc-ff8100 { background-color: #ff8100;}
.c-f32 { font-size: 32px;}
.c-f34 { font-size: 34px;}
.c-f36 { font-size: 36px;}
.c-f38 { font-size: 38px;}
.c-f42 { font-size: 42px;}
.c-f13 { font-size:13px;}
.f60 { font-size:60px;}
.c-f80 { font-size:80px;}
.lijt{ position:absolute; right:15px; top:50%; margin-top:-5px;}
.pr0 { padding-right: 0;}
.pr10{ padding-right:10px;}
.pr20{ padding-right:20px;}
.mt52 { margin-top: 52px;}
.plr25 { padding-right: 25px;padding-left:25px;}
.plr32 { padding-right:32px;padding-left:32px;}
.mlr25 { margin-right:25px;margin-left:25px;}
.lh20 { line-height:20px;}
.nav-green li.active { color:#4dcd70;border-bottom:3px solid #4dcd70;}
.h61{ height:61px;}
.h63{ height:63px;}
.c-border-ccc { border:1px solid #ccc;}
.display-ib{ display:inline-block;}
.tag { color:#fff;padding:2px 3px;border-radius:3px;}
.ui-col-0 { -webkit-box-flex: 0; box-flex: 0; }
.ui-col-1 { -webkit-box-flex: 1; box-flex: 1; }
.ui-grid { display: -webkit-box; display: box; }
body{ background-color:#f3f3f3; color: #333; font-size:14px;}
.icon{ background:url(../images/icon.png) no-repeat; background-size:250px 250px; -webkit-background-size:250px 250px; -moz-background-size:250px 250px; -ms-background-size:250px 250px;}
.getmore{ width:100%;}
.getmore a{ display:block; width:100%; line-height:40px; color:#5b5b5b; text-align:center; font-size:14px; background:#f3f3f3;}
.arrow-down.c-hide, .arrow-up.c-hide { display:none;}
.c-avatar-50 { width:50px;height:50px;}
.c-list .c-avatar-50 { margin-top:18px;}
.mt43 { margin-top:43px;}
.pt85 { padding-top: 85px;}
.noapp { width: 30%; margin: 0 auto; }
.noapp img { display: block; width: 100%;}
.c-888 { color:#888;}
.c-btn-4dcd70  { background: #4dcd70;}
/* 提供什么服务 */
.jnews-con{ line-height:25px; color:#5b5b5b;}
.jnews-con img{ display:block; max-width:100%; margin:0 auto;}
.jnews-con p{ margin-bottom:10px; text-indent:2em;}
.chd-btn{ margin:15px 0 20px 0;}
.chd-btn .list-icon{ display:inline-block; vertical-align:middle; margin:0 0 0px 5px; position:inherit; left:0; top:0;}
.chd-btn .arrow-right{ border-color:#fff;}
.jnmaxw{ max-width:320px;}
.prejn{ overflow:hidden; display:box; display:-webkit-box;}
.prejn .jnimg{ display:block; -webkit-box-flex:0; box-flex:0; width:126px;}
.prejn .jnimg img{ margin:0;border-radius:3px;border:1px solid #e1e1e1;box-sizing:border-box;}
.prejn .jnword{ display:block; -webkit-box-flex:1; box-flex:1; font-size:12px; padding-top:8px; color:#5b5b5b;}
.prejn .jnword p{ text-indent:0em; margin-bottom:8px; line-height:20px;}
.prebot p{ text-indent:0em;}
.jnmaxw .header { height: 130px; border-bottom: 1px solid #dfdfdf; background-size: 195px 18px; box-sizing: border-box;}
.jnmaxw .service-icon { display: -webkit-box; display: -ms-box; display: box;}
.jnmaxw .service-icon li { -webkit-box-flex: 1; -ms-box-flex: 1; box-flex: 1; text-align: center; background: #efefeb; font-size: 12px; line-height: 1.3;  padding-bottom: 8px;}
.jnmaxw .service-icon .iconfont.icon-home {background: url("../images/icons-qianyue.png") no-repeat 0 0; width: 25px; height: 23px; background-size: 114px 27px; }
.jnmaxw .service-icon .iconfont.icon-jiantouyou { background: url("../images/icons-qianyue.png") no-repeat -93px 0; width: 14px; height: 10px; background-size: 114px 27px; margin-top: 18px;}
.jnmaxw .service-icon .iconfont.icon-xuanzeshequheyisheng{background: url("../images/icons-qianyue.png") no-repeat -25px 0; width: 23px; height: 25px; background-size: 114px 27px; }
.jnmaxw .service-icon .iconfont.icon-qianyue {background: url("../images/icons-qianyue.png") no-repeat -47px 0; width: 24px; height: 20px; background-size: 114px 27px;}
.jnmaxw .service-icon .iconfont.icon-chenggong2 {background: url("../images/icons-qianyue.png") no-repeat -71px 0; width: 22px; height: 22px; background-size: 114px 27px;}
.jnmaxw .service-icon .iconfont { background-size: 114px 27px; display: block; margin: 10px auto 5px;}

+ 67 - 0
html/home/css/style.css

@ -0,0 +1,67 @@
/* 全局样式 */
	/* 健康管理页面 依次四个颜色 */
.bgc-5897cc{background:#5897cc;}
.bgc-e67b85{background:#e67b85;}
.bgc-a37cab{background:#a37cab;}
.bgc-ea7a28{background:#ea7a28;}
	/* 我的订单页面 依次四个颜色 */
.bgc-e7674e{background:#e7674e;}
.bgc-ee9d34{background:#ee9d34;}
.bgc-7fc541{background:#7fc541;}
.bgc-cf678c{background:#cf678c;}
	/* 个人中心 依次9个颜色 */
.bgc-a8db5c{background:#a8db5c;}
.bgc-ffa626{background:#ffa626;}
/* .bgc-e7674e{background:#e7674e;} */
/* .bgc-ee9d34{background:#ee9d34;} */
/* .bgc-7fc541{background:#7fc541;} */
/* .bgc-cf678c{background:#cf678c;} */
.bgc-ba76d9{background:#ba76d9;}
.bgc-f05b1a{background:#f05b1a;}
.bgc-4eb5ce{background:#4eb5ce;}
/* 我的药单 */
.my-drug-list .c-list-info h4{font-size:12px;color:#666 !important;}
.my-drug-list .c-list-info > p{font-size:12px;}
/* 医嘱管理 */
.phy-order-man .c-list-info h4{font-size:12px;color:#333 !important;}
.phy-order-man .c-list-info > p{font-size:12px;}
/* 健康管理 */
.list-item-1 .ico-wrap{display:inline-block;width:20px;height:20px;border-radius:8px;color:#fff;vertical-align:middle;text-align:center;}
.list-item-1 .ico-wrap i{display:inline-block;vertical-align:top;font-size:12px;}
.list-item-1 .c-list-text h4 > .name{vertical-align:middle;font-size:14px;color:#333;}
/* 我的医生-就诊医生 */
.tab-item-1.c-lab-mor li a{border-left:none;color:#909090;}
.tab-item-1.c-lab-mor li.hit a{color:#37a6eb;}
/* 我的医生-专家列表 */
.list-item-1 .c-list-info > h4{font-size:16px;color:#333;}
.list-item-1 .c-list-info .title{margin-left:10px;font-size:12px;color:#878787;}
.list-item-1 .c-list-info > p {font-size:12px;color:#666;}
.list-item-1.c-list > .c-list-cover{padding-left:0 !important;margin-left:15px !important;}
/* 我的预约 */
.list-item-2 .c-list-text .c-list-value{padding-right:0;}
.list-item-2 li:first-child h4{font-size:12px;}
.list-item-2 li:first-child .c-list-value.state-1{color:#ff8100;}
.list-item-2 li:first-child .c-list-value.state-2{color:#4dcd70;}
.list-item-2 li:first-child .c-list-value.state-3{color:#333;}
.list-item-2 li:nth-child(2) h4{font-size:15px; }
.list-item-2 li:nth-child(2) .c-list-info > p{font-size:12px;}
.list-item-2 li:last-child h4{font-size:10px;color:#ccc !important;}
.list-item-2 .c-list-function .c-list-info{border-top:none;}
.list-item-2 .c-list-function{border-top: 1px solid #f1f1f1;}
/* 个人中心 */
.personal-center header{position:relative;height:170px;background:url(../images/bc.jpg) center center;}
.personal-center header .center-block{position:absolute;width:71px;height:111px;margin: auto;top:0;bottom:0;left:0;right:0;}
.personal-center header .img-block{border-radius:50%;border:3px solid rgba(0,0,0,0.3);overflow:hidden;}
.personal-center header .img-block img{width:65px;height:65px;}
/* footer */
.footer {background-color: #f8f8f9; left: 0; bottom: 0; height: 50px; padding-top: 5px;}
.footer li {position: relative;}
.footer li em {position: absolute; left: 50%; top: -2px; width: 18px; height: 18px; color: #fff; border-radius: 50%;  background-color: #f00; margin-left: 3px;}
.footer a {color: #333;}
.footer a.curr {color: #17b3ec;}
.footer i.iconfont {font-size: 20px;}
.footer span {display: block; font-size: 10px;}

+ 118 - 0
html/home/css/style2.css

@ -0,0 +1,118 @@
@charset "utf-8";
/*c-list */
.list-icon { height: 8px; width: 8px; position: relative; display: inline-block;}
.c-list-group h3 { padding: 6px 15px; background-color: #f9f9f9; font-size: 13px; color: #5b5b5b; margin: 0; vertical-align: middle;}
.c-list { background-color: #fff;}
.c-list > li, .c-list > .c-list-div { font-size: 15px; color: #333; position: relative; display: -webkit-box; display: box; margin-left: 15px; border-top: 1px solid #f1f1f1;}
.c-list > .c-list-text { line-height: 20px; padding: 12px 15px 12px 0;}
.c-list > .c-list-function { border-top: none;}
.c-list > .c-list-function .c-list-info { border-top: 1px solid #f1f1f1; }
.c-list > li:first-child, .c-list > c-border-t:first-child, .c-list >li:first-child .c-border-t, .c-list > .c-list-function:first-child, .c-list > .c-list-function:first-child .c-list-info, .c-list > div:first-child .c-border-t, .c-list > div:first-child { border: 0; background-image: none;}
.c-list > .c-list-cover { padding-left: 15px !important; margin-left: 0 !important; }
.c-list .c-list-info { -webkit-box-flex: 1; box-flex: 1; padding-right: 15px; display: box; display: -webkit-box; -webkit-box-orient: vertical; -webkit-box-pack: center; }
.c-list h4 { color: #333 !important; }
.c-list .c-list-info > h4 { font-size: 15px; line-height: 20px;}
.c-list .c-list-info > p { font-size: 13px; line-height: 20px; color: #909090; }
.c-list .c-list-label { font-size: 13px !important; color: #909090 !important; padding: 10px 15px 10px 0!important; border-top: 1px dashed #e1e1e1 !important; }
.c-list .c-list-key { margin-right: 15px; }
.c-list .c-list-img { width: 100px; height: 68px; margin: 10px 10px 10px 0; position: relative ; }
.c-list .c-list-img img { width: auto; height: 68px; }
.c-list > .c-list-link:active { background-color: #e5e6e7; padding-left: 15px; margin-left: 0;}
.c-list-link:active, .c-list-link.c-border-t:active, .c-list-link:active + .c-border-t, .c-list-link:active + .c-border-t { background-image: none; border-top-color: #e5e6e7;}
.c-list .c-list-value { color: #909090; display: box; display: -webkit-box; -webkit-box-orient: vertical; -webkit-box-pack: center; }
.c-list .c-list-link .c-list-value, .c-list .c-list-link .c-list-title { padding-right: 20px; }
.c-list .c-list-badge, .c-list .c-list-action { font-size: 13px; color: #909090; position: absolute; height: 100%; right: 15px; display: box; display: -webkit-box; -webkit-box-orient: vertical; -webkit-box-pack: center; top: 0; }
.c-list-link .c-list-badge, .c-list-link .c-list-action { right: 35px;}
.c-list-link .list-icon { position: absolute; right: 15px; top: 50%; margin-top: -4px; }
.c-list .c-avatar-s, .c-list .c-avatar-m, .c-list .c-avatar-l { margin: 10px 15px 10px 0; overflow: hidden; display: -webkit-box; -webkit-box-pack: center; -webkit-box-align: center; }
.c-list-indent-s { padding-right: 70px !important; }
.c-list-indent-m { padding-right: 110px !important; }
.c-list-action .input-group-checkbox .input-group-pack, .c-list-action .input-group-radio .input-group-pack { margin: 0 0 0 5px; }
.c-avatar-s { width: 26px; height: 26px; }
.c-avatar-m { width: 40px; height: 40px; }
.c-avatar-l { width: 54px; height: 54px; }
.c-avatar-s img, .c-avatar-m img, .c-avatar-l img { width: 100%; height: 100%; }
.c-list-text .c-t-right { color: #909090 !important; }
.c-list-text .c-t-right { padding-right: 0px; color: #909090; }
.c-list-link .c-t-right { padding-right: 20px !important; }
/* css c-lab2
-----------------------------------------------------------------------------*/
.c-lab-mor { display: -webkit-box; display: box; overflow: hidden; background: #fff; }
.c-lab-mor li { -webkit-box-flex: 1; box-flex: 1; height: 40px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; text-align: center; padding-top: 6px; border-bottom: 1px solid #e1e1e1; color: #333;}
.c-lab-mor li:first-child { border-left: none; }
.c-lab-mor li a { display: block; width: 100%; height: 28px; line-height: 28px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; border-left: 1px solid #ddd; }
.c-lab-mor li:first-child a { border-left: none; }
.c-lab-mor li.hit { border-bottom: 3px solid #37a6eb; }
/*全局样式*/
body { background-color: #f3f3f3;}
a { color: inherit;}
.c-007cd9 { color: #007cd9;}
.t-indent { text-indent: 2em;}
.mod { margin: 10px 10px 30px;}
.mod .hd { border-bottom: 2px dashed #156e7e;}
.mod .hd .title { font-size: 21px; color: #333; font-weight: bold;}
.mod .hd .time { font-size: 12px; color: #999; padding: 15px 0 20px;}
.mod .bd .title { font-size: 15px; font-weight: bold;}
.mod .bd img { width: 100%; height: auto;}
.mod .bd p { word-break: break-all;}
.mod .bd .second-title { color: #02ade0; font-weight: bold; font-size: 15px;}
/*箭头*/
.arrow-down { display: inline-block; width: 8px; height: 8px; border: solid #cdcdcd; border-width: 2px 2px 0 0; -webkit-transform: rotate(135deg); -ms-transform: rotate(135deg); transform: rotate(135deg);}
.arrow-right { display: inline-block; width: 8px; height: 8px; border: solid #cdcdcd; border-width: 2px 2px 0 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg);}
/* 选择城市 */
.narea-top { line-height: 40px; background: #fff; padding: 0 15px;}
.narea-top i { color: #ff8100; margin: 0 5px 0 0;}
.narea-hot ul { display: block; padding: 0 15px;}
.narea-hot li { display: block; width: 30%; margin-right: 5%; margin-top: 10px; float: left;}
.narea-hot li a { display: block; line-height: 30px; background: #fff; border: 1px solid #e1e1e1; border-radius: 4px; text-align: center; color: #5b5b5b; font-size: 13px; width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -webkit-box-sizing: border-box;  box-sizing: border-box;}
.narea-hot li:nth-child(3n) { margin-right:0;}
.nhot-top { display: block; line-height: 18px; padding: 10px 15px 0 15px;}
.narea-letter ul { display: block; padding: 0 5px; background: #fff; position: relative; z-index: 300;}
.narea-letter ul:before { content: ''; display: block; width: 100%; height: 35px; position: absolute; left: 0; top: 35px; border-top: 1px solid #e1e1e1; border-bottom: 1px solid #e1e1e1; z-index: 310;}
.narea-letter li { display: block; float: left; width: 12.5%; height: 35px; line-height: 35px; text-align: center; position: relative; z-index: 320;}
.narea-letter li a { display: block; line-height: 35px; color: #5b5b5b; font-size: 13px;}
.cityletter { line-height: 22px; padding: 0 15px;}
.narea-city ul { display: block; background: #fff;}
.narea-city li { display: block; width: 25%; height: 40px; line-height: 40px; float: left; box-sizing:border-box; -webkit-box-sizing: border-box;  border-right: 1px solid #e1e1e1; border-bottom: 1px solid #e1e1e1;}
.narea-hot li:nth-child(3n) { border-right: none;}
.narea-city li a { display: block; text-align: center; color: #5b5b5b; font-size: 13px; width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
/*选择医院*/
.choose-hos { position: fixed; width: 100%; background: #fff; border-bottom: 1px solid #e1e1e1; z-index: 88;}
.choose-hos > div { padding: 0 15px 0 10px; box-sizing: border-box; width: 100%; height: 47px; line-height: 47px;}
.choose-hos a { color: #007cd9; }
.choose-hos .arrow-down { margin-top: 17px;}
.choose_mechanism { padding-top: 45px;}
/* 选择医院右侧索引 */
.deptchoo { position: fixed; width: 20px; height: 100%; z-index: 80; right: 0; top: 0; font-size: 14px; padding-bottom: 47px; }
.deptfir { width: 100%; height: 100%; float: left; background: #fff; }
.deptfir ul { padding-top: 45px; }
.deptfir li { display: block; width: 100%; height: 25px; line-height: 25px; text-align: center; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #007cd9; font-weight: bold; }
.deptfir li.hit { background: #fff; }
.deptsec { width: 67%; height: 100%; float: left; background: #fff; padding-left: 17px; }
.deptsec li { display: block; width: 100%; height: 45px; line-height: 45px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; border-bottom: 1px solid #e1e1e1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.select-hos { display: -webkit-box; display: box; -webkit-box-pack: justify; box-pack: justify; -webkit-box-align: center; box-align: center; padding: 15px; background: #fff;}
.guide.select-hos { border-bottom: 1px solid #5eb686;}
.guide-list { padding: 5px 0;}
.guide-list .c-list-img { width: 50px; height: 50px;}
.guide-list .c-list-img img { width: 50px; height: 50px;}
.guid-hos .hos-img { position: relative;}
.guid-hos .hos-img img { width:100%;}
.guid-hos .hos-img .mask { background: rgba(0,0,0,.5); height: 33px; text-align: center; color: #fff; line-height: 33px; position: absolute; bottom: 0; width:100%;}
/*搜索医院*/
.doc-suggst-top{ line-height:30px; padding:0 10px; font-size:13px; color:#5b5b5b; border-bottom:1px solid #f2f2f2; background:#fff;}
.doc-suggst li{ display:box; display:-webkit-box; position:relative; font-size:13px; color:#909090; background:#fff;}
.doc-suggst li:active{ background:#e5e6e7;}
.doc-suggst li.s-nolink:active{ background:#fff;}
.doc-suggst .s-link:active{ background:#e5e6e7;}
.doc-avatar { -webkit-box-flex: 0; box-flex: 0; width: 45px; height: 45px; border-radius: 50%; overflow: hidden; margin:15px 10px;}
.doc-avatar img{ width: 45px; height: 45px; border-radius:50%;}
.doc-info { -webkit-box-flex: 1; box-flex: 1; display: box; display: -webkit-box; -webkit-box-orient: vertical; -webkit-box-pack: center; border-top:1px solid #f2f2f2; padding-top:10px; padding-bottom:10px;}
.doc-info h4{ line-height:18px; margin-bottom:2px; word-break:break-all;}
.doc-suggst li:first-child .doc-info{ border-top:none;}
.hosp-avatar{ -webkit-box-flex: 0; box-flex: 0; width:75px; height:55px; overflow: hidden; margin:15px 10px; position:relative;}
.hosp-avatar img{ width:75px; height:55px; border-radius:5px;}
.hosp-avatar .hosp-lv{ position:absolute; width:50px; height:13px; line-height:13px; text-align:center; background:#f60; position:absolute; left:-14px; top:5px; transform:rotate(-45deg); -webkit-transform:rotate(-45deg); font-size:10px; color:#fff;}
.hosp-address{ padding-right:50px; position:relative;}
.hosp-address .hosp-pack{ position:absolute; right:0; line-height:20px; top:0; color:#ccc;}
/*搜索医院*/
 .guide-lab li.hit { border-color: #4dcd70; color: #4dcd70;}

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 572 - 0
html/home/css/yygh-style.css


+ 195 - 0
html/home/html/bind-mobile.html

@ -0,0 +1,195 @@
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>绑定手机号</title>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
    <link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
    <link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css" />
    <style>
        .n-list-info{position: relative;}
        .searchbar-clear{position: absolute;width: 28px;height: 28px;right: 0;top:8px;opacity:0;pointer-events:none;background-position:center;background-repeat:no-repeat;background-image:url(../../../images/delete01_pre.png);-webkit-background-size:20px 20px;background-size:20px 20px;-webkit-transition-duration:300ms;transition-duration:300ms;cursor:pointer;}
        .div-zczh{width:auto;height:29px;border:0;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;color:#17b3ec;float: left;margin-left: 20px;}
        .div-zhmmdl{width:auto;height:29px;border:0;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;color:#17b3ec;float: right; margin-right: 20px;}
        .bgc-fa8888{background-color: #FA8888;}
    </style>
</head>
<body>
<div class="main">
    <ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register">
        <li>
            <div class="n-list-key" style="width: 2.3em;">
                <i class="iconfont icon-shouji1"></i>
            </div>
            <div class="n-list-info">
                <input id="txtMobile" type="tel" class="width-100 c-f16 c-5b5b5b" maxlength="11" placeholder="请输入手机号码" onkeyup="this.value=this.value.replace(/[^\d]/g,'')"/>
                <a href="#" class="searchbar-clear"></a>
            </div>
        </li>
        <li>
            <div class="n-list-key" style="width: 2.3em;">
                <i class="iconfont icon-yanzhengma01"></i>
            </div>
            <div class="n-list-info">
                <input id="txtCode" type="text" class="width-100 c-f16 c-5b5b5b" placeholder="请输入验证码"/>
                <a href="#" class="searchbar-clear"></a>
            </div>
            <div id="messageCode1" class="n-list-key pl15 c-17b3ec" onclick="sendCode()">
                <span>获取短信验证码</span>
            </div>
            <div id="messageCode2" class="n-list-key pl15 c-999999" style="display: none;">
                <span id="message"></span>
            </div>
        </li>
    </ul>
    <div class="mb15 mlr15 mt20">
        <a href="javascript:;" style="font-size: 18px;" class="c-btn c-btn-4dcd70 c-btn-full c-btn-radius c-f16" onclick="commit()">确认绑定</a>
    </div>
</div>
</body>
<script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js" ></script>
<script type="text/javascript" src="../../../js/common_http.js" ></script>
<script type="text/javascript" src="../../../js/weixin_common.js?11=11" ></script>
<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.js"></script>
<script type="text/javascript" src="../../../js/commit_validate.js" ></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript">
	var dd = dialog({contentType:'load', skin:'bk-popup', content:'请稍后...'});
	var clock = "";
	var nums = 60;
	$(function (){
		bindEvents();
	})
	function bindEvents(){
		$("input").on("focus",function(){
			$(".searchbar-clear").css("pointer-events","none").css("opacity",0);
			if($(this).val()){
				$(this).next().css("pointer-events","auto").css("opacity",1);
			}
		}).on("input",function(){
			$(this).next().css("pointer-events","auto").css("opacity",1);
		});
		$(".n-list-info").on("click",".searchbar-clear",function(){
			$(this).prev().val("");
			$(this).css("pointer-events","none").css("opacity",0);
			$(this).prev().focus();
			return false;
		});
	}
	function sendCode(){
		var mobile = document.getElementById("txtMobile").value;
		if(!mobile){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入手机号'}).show();
			return;
		}
		if(!isphone(mobile)){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'手机号格式不正确'}).show();
			return;
		}
		$("#messageCode1").hide();
		document.getElementById("message").innerHTML = nums+'秒后可重新获取';
		$("#messageCode2").show();
		clock = setInterval(doLoop, 1000); //一秒执行一次
		var data = {};
		data.mobile = mobile;
		data.type = 4;
		sendPost("common/checkCaptcha", data, "json", "post", sendFailed, sendSuccesss);
	}
	//失败
	function sendFailed(res) {
		clearInterval(clock); //清除js定时器
		$("#messageCode1").show();
		$("#messageCode2").hide();
		nums = 60; //重置时间
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'获取失败'}).show();
		}
	}
	function sendSuccesss(res){
		if (res.status == 200) {
		}
		else{
			sendFailed(res);
		}
	}
	function doLoop(){
		nums--;
		if(nums > 0){
			document.getElementById("message").innerHTML = nums+'秒后可重新获取';
		}else{
			clearInterval(clock); //清除js定时器
			$("#messageCode1").show();
			$("#messageCode2").hide();
			nums = 60; //重置时间
		}
	}
	function commit(){
		var mobile = document.getElementById("txtMobile").value;
		var captcha = document.getElementById("txtCode").value;
		if (!mobile || !captcha) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'手机号和验证码不能为空'}).show();
			return;
		}
		if(!isphone(mobile)){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'手机号格式不正确'}).show();
			return;
		}
		dd.showModal();
		//拼请求内容
		var data = {};
		data.mobile = mobile;
		data.captcha = captcha;
		data.type = 4;
		sendPost("patient/mobileUpdate", data, "json", "post", operateFailed, operateSuccesss);
	}
	//失败
	function operateFailed(res) {
		dd.close();
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'登录失败'}).show();
		}
	}
	//成功调用手机绑定接口
	function operateSuccesss(res) {
		if (res.status == 200) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content: "手机号绑定成功!"}).show();
			setTimeout(function() {
				history.go(-1)
			}, 2000)
		} else {
		    operateFailed(res);
		}
	}
	//注册
	function regist(){
		window.location.href = "regist-info.html?type=" + type + "&openid=" + openid;
	}
	//帐号密码登录
	function zhmmLogin(){
		window.location.href = "zhmm-login.html?type=" + type + "&openid=" + openid;
	}
</script>
</html>

+ 322 - 0
html/home/html/change-apply.html

@ -0,0 +1,322 @@
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>变更手机号码申请</title>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
    <link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
    <script src="../../../js/jquery/2.1.3/jquery.js"></script>
</head>
<body>
    <ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register">
        <li>
            <div class="n-list-key">
                <i class="iconfont icon-shenfenzheng01"></i>
            </div>
            <div class="n-list-info">
                <input id="txtIdcard" type="text" maxlength="18" class="width-100 c-f16 c-5b5b5b" placeholder="请输入身份证号码"/>
            </div>
        </li>
        <li>
            <div class="n-list-key">
                <i class="iconfont icon-card"></i>
            </div>
            <div class="n-list-info">
            	<input id="txtSsc" type="text" maxlength="15" class="width-100 c-f16 c-5b5b5b" placeholder="请输入医保卡" />
            </div>
        </li>
        <li>
            <div class="n-list-key">
                <i class="iconfont icon-shouji1"></i>
            </div>
            <div class="n-list-info">
                <input id="txtMobile" type="tel" maxlength="11" class="width-100 c-f16 c-5b5b5b" placeholder="请输入手机号码" onkeyup="this.value=this.value.replace(/[^\d]/g,'')"/>
            </div>
        </li>
        <li>
            <div class="n-list-key">
                <i class="iconfont icon-yanzhengma01"></i>
            </div>
            <div class="n-list-info">
            	<input id="txtCode" type="text" class="width-100 c-f6 c-5b5b5b" placeholder="请输入验证码"/>
            </div>
            <div id="messageCode1" class="n-list-key pl15 c-17b3ec" onclick="sendCode()">
                <span>获取短信验证码</span>
            </div>
            <div id="messageCode2" class="n-list-key pl15 c-999999" style="display: none;">
                <span id="message"></span>
            </div>
         </li>
    </ul>
    <div class="mod mod-record mt15">
    	<ul class="n-list">
			<li class="ptb12">
				<div class="n-list-key pr15 c-f16">上传身份证和医保卡扫描件</div>
			</li>
			<li class="n-list-cover ptb12">
				<div class="upload-img mt10">
					<ul id="img_ul">
						<li id="add_img_li">
							<a href="javascript:;" class="add-btn" onclick="chooseImage()"></a>
						</li>
					</ul>
				</div>
			</li>
		</ul>
    </div>
    <div class="mb15 mlr15 mt20">
        <a id="commit" onclick="commit()" class="c-btn c-btn-4dcd70 c-btn-full c-btn-radius c-f18">提交</a>
    </div>
    <script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js" ></script>
	<script type="text/javascript" src="../../../js/common_http.js" ></script>
	<script type="text/javascript" src="../../../js/weixin_common.js" ></script>
	<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
	<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.min.js"></script>
	<script type="text/javascript" src="../../../js/commit_validate.js" ></script>
	<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
    <script type="text/javascript">
	    var dd = dialog({contentType:'load', skin:'bk-popup', content:'提交中...'});
		var Request = new Object();
		Request = GetRequest(); 
		var openid = Request["openid"];
		var type = Number(Request["type"]);
		var clock = "";
		var nums = 120;
        $(function(){     
        	//从后台那边获取签名等信息
			var params = {};
			params.pageUrl = server + "wx/html/home/html/change-apply.html?type=" + type + "&openid=" + openid;
			$.ajax(server + "weixin/getSign", {
				data: params,
				dataType: "json",
				type: "post",
				success: function(res){
					if (res.status == 200) {
						var t = res.data.timestamp;
						var noncestr = res.data.noncestr;
						var signature = res.data.signature;
						wx.config({		
//							debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
						    appId: appId, // 必填,公众号的唯一标识
						    timestamp: t, // 必填,生成签名的时间戳
						    nonceStr: noncestr, // 必填,生成签名的随机串
						    signature: signature,// 必填,签名,见附录1
						    jsApiList: [
						    	'chooseImage',
						        'uploadImage'
						    ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
						});
					} 
					else{
						dialog({
						  	title:'提示',
						  	skin:"ui-dialog ax-popup pror", 
						  	content:"获取微信签名失败", 
						  	ok: function (){}
						}).showModal();
						window.location.href = "online-consulting.html";
					}
				}
			});	
        })
        //提交变更申请
        function commit(){
			var data = {};
			data.idcard = $("#txtIdcard").val();
			data.ssc = $("#txtSsc").val();
			data.mobile = $("#txtMobile").val();
			data.captcha = $("#txtCode").val();
			if (validate(data)) {
				//验证通过执行
				dd.showModal();
				uploadImage(data);
			}
        }
        
        //验证信息
		function validate(data) {
			if (!isIdcard(data.idcard)) {
			    dialog({contentType:'tipsbox', skin:'bk-popup' , content:'身份证格式不正确'}).show();
				return false;
			}
			if (data.ssc == "") {
			    dialog({contentType:'tipsbox', skin:'bk-popup' , content:'医保卡不能为空'}).show();
				return false;
			}
			if (!isphone(data.mobile)) {
			    dialog({contentType:'tipsbox', skin:'bk-popup' , content:'手机号格式不正确'}).show();
				return false;
			}
			if (data.captcha == "") {
			    dialog({contentType:'tipsbox', skin:'bk-popup' , content:'验证码不能为空'}).show();
				return false;
			}
			var images = getImages();
            if(images.length == 0){
            	dialog({contentType:'tipsbox', skin:'bk-popup' , content:'请选择证件上传'}).show();
            	return false;
            }
			return true;
		}
		//微信上传图片
		var serverId = "";
		function chooseImage(){
			wx.chooseImage({
		      success: function (res) {
		        for (var i in res.localIds) {
					appendFile(res.localIds[i]);
				}        
		      }
		    });
		}
		function uploadImage(data){
			var images = getImages();
			if (images.length == 0) {
		      return;
		    }
		    var i = 0, length = images.length;
		    serverId = "";
		    function upload() {
		      wx.uploadImage({
		        localId: images[i],
		        isShowProgressTips: 0,
		        success: function (res) {
		          i++;
		          if(serverId.length == 0){
		          	serverId = res.serverId;
		          }
		          else{
		          	serverId =serverId + "," + res.serverId;
		          }          
		          if (i < length) {
		            upload();
		          }
		          if(i == images.length){
		          	doSubmit(data);
		          }          
		        },
		        fail: function (res) {
		          alert(JSON.stringify(res));
		        }
		      });
		    }
		    upload();
		}
		// 添加文件
		function appendFile(p) {
			var $li = $('<li>' + '   <img src="' + p + '" data-src="' + p + '" onclick="viewImg(this)">' + '  <a href="javascript:;" class="del-img" onclick="delImg(this)"><i class="iconfont icon-laji"></i></a>' + '</li>');
			var $add_img_li = $("#add_img_li");
			$add_img_li.before($li);
		}
		//获取需要上传的图片
		function getImages() {
			var images = [];
			$("#img_ul").find("img").each(function() {
				var imgSrc = $(this).attr("data-src");
				images.push(imgSrc);
			});
			return images;
		}
		//查看图片
		function viewImg(dom) {
			var $img = $(dom);
			var thissrc = $img.attr("data-src");
			var mWid = $(window).width();
			var mHei = $(window).height();
			var nHtml = '<div class="delimgpop"><div class="del-img-box"><div class="del-img-con"><img class="del-pop-img" src="' + thissrc + '" style="max-width:' + mWid + 'px; max-height:' + mHei + 'px;"></div></div></div>';
			$("body").append(nHtml);
			$(".delimgpop").click(function() {
				$(this).remove()
			});
		};
		//删除图片
		function delImg(dom) {
			var $li = $(dom).parent();
			$li.remove();
			return;
		}
		
		//微信sdk配置出错
		wx.error(function (res) {
		  alert("wx.error:" + res.errMsg);
		});
		
		//提交咨询
		function doSubmit(data) {
			data.mediaIds = serverId;
			sendPost('patient/consult/public/add', data, 'json', 'post', submitFailed, submitSuccess);
		}
		
		function submitFailed(res) {
			dd.close();
			if (res && res.msg) {
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg}).show();      
			} else {
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:'提交失败'}).show(); 
			}
		}
		
		function submitSuccess(res) {
			if (res.status == 200) {
				dd.close();
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:'提交成功'}).show(); 
				window.location.href = "login.html?type=" + type + "&openid=" + openid;
			} else {
				submitFailed(res);
			}
		}
		//获取短信验证码
		function sendCode(){ 
			$("#messageCode1").hide();		 
			document.getElementById("message").innerHTML = nums+'秒后可重新获取';
			$("#messageCode2").show();
			clock = setInterval(doLoop, 1000); //一秒执行一次
			var data = {};
			data.mobile = document.getElementById("txtMobile").value;
			data.type = 6;
			sendPost("common/captcha", data, "json", "post", sendFailed, sendSuccesss);			
		}
		//失败
		function sendFailed(res) {
			clearInterval(clock); //清除js定时器
		    $("#messageCode1").show();
		    $("#messageCode2").hide();
		    nums = 120; //重置时间
			if (res && res.msg) {
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg}).show();      
			} else {
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:'获取失败'}).show(); 
			}
		}
		
		function sendSuccesss(res){
			if (res.status == 200) {
				
			}
			else{
				sendFailed(res);
			}
		}
		
		function doLoop(){
			nums--;
			if(nums > 0){
				document.getElementById("message").innerHTML = nums+'秒后可重新获取';
			}else{
			    clearInterval(clock); //清除js定时器
			    $("#messageCode1").show();
			    $("#messageCode2").hide();
			    nums = 120; //重置时间
			}
		}
    </script>
</body>
</html>

+ 272 - 0
html/home/html/fast-login.html

@ -0,0 +1,272 @@
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>验证码快速登录</title>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
    <link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
    <link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css" />
    <style>
    	#div-yzm{width:80px;height:29px;border:1px solid #4DCD70;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;margin-top:7px;}
	    .div-zczh{width:auto;height:29px;border:0;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;color:#17b3ec;float: left;margin-left: 20px;}
	    .div-zhmmdl{width:auto;height:29px;border:0;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;color:#17b3ec;float: right; margin-right: 20px;}
		.c-btn-dcdcdc{background: #DCDCDC;}
		.c-btn.active{background: #4DCD70;}
		.bgc-fa8888{background-color: #FA8888;}
    </style>
</head>
<body>
    <!--<div class="h45">
        <div class="demo-comtop">
            <a class="mui-action-back"></a>
            <h1>登录</h1>
        </div>
    </div>-->
    <div class="main">
        <div class="bgc-fa8888 ptb10 plr10">
            <span class="c-f14 c-fff">已签约居民可直接使用身份证号及默认密码登录</span>
        </div>
        <ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register">
          <li>
            <div class="n-list-key">
                <span class="f-fs16 c-323232">手机号码</span>
            </div>
            <div class="n-list-info">
                <input id="txtMobile" type="tel" class="width-100 c-f16 c-5b5b5b" maxlength="11" placeholder="请输入手机号码" onkeyup="this.value=this.value.replace(/[^\d]/g,'')"/>
            </div>
            <div id="div-yzm" class="n-list-key">
                <span>获取验证码</span>
            </div>
          </li>
          <li>
            <div class="n-list-key">
                <span class="f-fs16 c-323232">验&ensp;证&ensp;码</span>
            </div>
            <div class="n-list-info">
            	<input id="txtCode" type="text" class="width-100 c-f16 c-5b5b5b" placeholder="请输入验证码"/>
            </div>
          </li>
        </ul>
        <div class="mb15 mlr15 mt20">
            <a href="javascript:;" class="c-btn c-btn-dcdcdc c-btn-full c-btn-radius c-f16">登录</a>
        </div>
        <div class="div-zczh" onclick="regist()">注册账号</div>
        <div class="div-zhmmdl" onclick="zhmmLogin()">账号密码登录</div>
    </div>
</body>
<script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js" ></script>
<script type="text/javascript" src="../../../js/common_http.js" ></script>
<script type="text/javascript" src="../../../js/weixin_common.js" ></script>
<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.js"></script>
<script type="text/javascript" src="../../../js/commit_validate.js" ></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript">	
	var dd = dialog({contentType:'load', skin:'bk-popup', content:'登录中...'});
	var Request = new Object();
	Request = GetRequest(); 
	var openid = Request["openid"];
	var type = Number(Request["type"]);
	var mobile1 = Request["mobile"];
	var clock = "";
	var nums = 120;
	var loginParams = Request["loginParams"];
	isValueChange();//判断当前是否有输入值,有输入则登录按钮变亮
	bindEvents();
	
	if(loginParams) {
		loginParams = JSON.parse(decodeURIComponent( Request["loginParams"]));				
	}
	$(function (){
		var userAgent = window.localStorage.getItem(agentName);
        if(userAgent){
        	var paurl = "";        	
        	if(type == 0){
        		paurl = "wx/html/home/html/login.html?type=0&openid=" + openid;
        	}
        	else{
        		if(mobile1){
        			paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid + "&mobile=" + mobile1;
        		}
        		else{
        			paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid;
        		}
        	}
        	//从后台那边获取签名等信息
			var params = {};
			params.pageUrl = window.location.href;
			$.ajax(server + "weixin/getSign", {
				data: params,
				dataType: "json",
				type: "post",
				success: function(res){
					if (res.status == 200) {
						var t = res.data.timestamp;
						var noncestr = res.data.noncestr;
						var signature = res.data.signature;
						wx.config({		
							//debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
						    appId: appId, // 必填,公众号的唯一标识
						    timestamp: t, // 必填,生成签名的时间戳
						    nonceStr: noncestr, // 必填,生成签名的随机串
						    signature: signature,// 必填,签名,见附录1
						    jsApiList: [
						    	'closeWindow'
						    ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
						});
					} 
				}
			});
			wx.ready(function(){
				wx.closeWindow();			    
			});        	
        }
        else{
			if(!openid){
				dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'openid获取失败'}).show();
			}
			if(mobile1){
				$("#txtMobile").val(mobile1);
			}
		}
	})
	
	function bindEvents(){
		$(".c-btn").on("click",function(){
			if($(this).hasClass("active")){
				commit();
			}
		})
	}
	function isValueChange(){
		var self = this;
		var int= setInterval(function() {
			if($("#txtMobile").val()&&$("#txtCode").val()){
				clearInterval(int);
				int = null;
				$(".c-btn").addClass("active");
			}
	
		},300);
	}
	
	function sendCode(){ 		
		var mobile = document.getElementById("txtMobile").value;
		if(!mobile){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入手机号'}).show(); 
			return;
		}
		if(!isphone(mobile)){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'手机号格式不正确'}).show(); 
			return;
		}
		$("#messageCode1").hide();		 
		document.getElementById("message").innerHTML = nums+'秒后可重新获取';
		$("#messageCode2").show();
		clock = setInterval(doLoop, 1000); //一秒执行一次
		var data = {};
		data.mobile = mobile;
		data.type = 4;
		sendPost("common/captcha", data, "json", "post", sendFailed, sendSuccesss);			
	}
	//失败
	function sendFailed(res) {
		clearInterval(clock); //清除js定时器
	    $("#messageCode1").show();
	    $("#messageCode2").hide();
	    nums = 120; //重置时间
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();      
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'获取失败'}).show(); 
		}
	}
	
	function sendSuccesss(res){
		if (res.status == 200) {
			
		}
		else{
			sendFailed(res);
		}
	}
	
	function doLoop(){
		nums--;
		if(nums > 0){
			document.getElementById("message").innerHTML = nums+'秒后可重新获取';
		}else{
		    clearInterval(clock); //清除js定时器
		    $("#messageCode1").show();
		    $("#messageCode2").hide();
		    nums = 120; //重置时间
		}
	}
	
	function commit(){
		var mobile = document.getElementById("txtMobile").value;
		var captcha = document.getElementById("txtCode").value;	
		if (!mobile || !captcha) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'手机号和验证码不能为空'}).show(); 
			return;
		}
		dd.showModal();
		//拼请求内容
		var data = {};
		data.mobile = mobile;
		data.captcha = captcha;
		data.openid = openid;
		sendPost("weixin/login", data, "json", "post", operateFailed, operateSuccesss);		
	}
	
	//失败
	function operateFailed(res) {
		dd.close();
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();      
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'登录失败'}).show(); 
		}
	}
	//成功调用登录接口
	function operateSuccesss(res) {
		if (res.status == 200) {
			var id = res.data.id;
			var uid = res.data.uid;
			var name = res.data.name;
			var photo = res.data.photo;
			var token = res.data.token;
			//保存用户信息
			wxSaveUserAgent(id, uid, openid, token);
			wxSaveUserAgent1(uid, name, photo);
			
			//hard code缓存微信code。
            var agentCode = localStorage.getItem("weixinCode");
            if(!agentCode){
                window.localStorage.setItem("weixinCode", "123456");
            }
            
			window.location.href = pageUrl[type];
			dd.close();
		} else {
			//非200则为失败
			operateFailed(res);
		}
	}
	//注册
	function regist(){
		window.location.href = "regist-info.html?type=" + type + "&openid=" + openid;
	}
	//帐号密码登录
	function zhmmLogin(){
		window.location.href = "zhmm-login.html?type=" + type + "&openid=" + openid;
	}
</script>
</html>

+ 293 - 0
html/home/html/login.html

@ -0,0 +1,293 @@
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>登录</title>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
    <link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
    <link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css" />
    <style>
        .n-list-info{position: relative;}
        .searchbar-clear{position: absolute;width: 28px;height: 28px;right: 0;top:8px;opacity:0;pointer-events:none;background-position:center;background-repeat:no-repeat;background-image:url(../../../images/delete01_pre.png);-webkit-background-size:20px 20px;background-size:20px 20px;-webkit-transition-duration:300ms;transition-duration:300ms;cursor:pointer;}
        .div-zczh{width:auto;height:29px;border:0;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;color:#17b3ec;float: left;margin-left: 20px;}
        .div-zhmmdl{width:auto;height:29px;border:0;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;color:#17b3ec;float: right; margin-right: 20px;}
        .bgc-fa8888{background-color: #FA8888;}
    </style>
</head>
<body>
<!--<div class="h45">
	<div class="demo-comtop">.
		<a class="mui-action-back"></a>
		<h1>登录</h1>
	</div>
</div>-->
<div class="main">
    <div class="bgc-fa8888 ptb10 plr10">
        <span class="c-f14 c-fff">已签约居民可直接使用身份证号及默认密码登录</span>
    </div>
    <ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register">
        <li>
            <div class="n-list-key" style="width: 2.3em;">
                <i class="iconfont icon-shouji1"></i>
            </div>
            <div class="n-list-info">
                <input id="txtMobile" type="tel" class="width-100 c-f16 c-5b5b5b" maxlength="11" placeholder="请输入手机号码" onkeyup="this.value=this.value.replace(/[^\d]/g,'')"/>
                <a href="#" class="searchbar-clear"></a>
            </div>
        </li>
        <li>
            <div class="n-list-key" style="width: 2.3em;">
                <i class="iconfont icon-yanzhengma01"></i>
            </div>
            <div class="n-list-info">
                <input id="txtCode" type="text" class="width-100 c-f16 c-5b5b5b" placeholder="请输入验证码"/>
                <a href="#" class="searchbar-clear"></a>
            </div>
            <div id="messageCode1" class="n-list-key pl15 c-17b3ec" onclick="sendCode()">
                <span>获取短信验证码</span>
            </div>
            <div id="messageCode2" class="n-list-key pl15 c-999999" style="display: none;">
                <span id="message"></span>
            </div>
        </li>
    </ul>
    <div class="mb15 mlr15 mt20">
        <a href="javascript:;" style="font-size: 18px;" class="c-btn c-btn-4dcd70 c-btn-full c-btn-radius c-f16" onclick="commit()">登录</a>
    </div>
    <div class="div-zczh" onclick="regist()">注册账号</div>
    <div class="div-zhmmdl" onclick="zhmmLogin()">账号密码登录</div>
    
    <!--<p class="c-17b3ec mr15 c-t-right" style="font-size: 16px;" onclick="regist()">立即注册</p>-->
</div>
</body>
<script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js" ></script>
<script type="text/javascript" src="../../../js/common_http.js" ></script>
<script type="text/javascript" src="../../../js/weixin_common.js?11=11" ></script>
<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.js"></script>
<script type="text/javascript" src="../../../js/commit_validate.js" ></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript">
	var dd = dialog({contentType:'load', skin:'bk-popup', content:'登录中...'});
	var Request = new Object();
	Request = GetRequest();
	var openid = Request["openid"];
	var type = Number(Request["type"]);
	var mobile1 = Request["mobile"];
	var clock = "";
	var nums = 60;
	var loginParams = Request["loginParams"];
	if(loginParams) {
		loginParams = JSON.parse(decodeURIComponent( Request["loginParams"]));
	}
	$(function (){
		var userAgent = window.localStorage.getItem(agentName);
		if(userAgent){
			var paurl = "";
			if(type == 0){
				paurl = "wx/html/home/html/login.html?type=0&openid=" + openid;
			}
			else{
				if(mobile1){
					paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid + "&mobile=" + mobile1;
				}
				else{
					paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid;
				}
			}
			//从后台那边获取签名等信息
			var params = {};
			params.pageUrl = window.location.href;
			$.ajax(server + "weixin/getSign", {
				data: params,
				dataType: "json",
				type: "post",
				success: function(res){
					if (res.status == 200) {
						var t = res.data.timestamp;
						var noncestr = res.data.noncestr;
						var signature = res.data.signature;
						wx.config({
							//debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
							appId: appId, // 必填,公众号的唯一标识
							timestamp: t, // 必填,生成签名的时间戳
							nonceStr: noncestr, // 必填,生成签名的随机串
							signature: signature,// 必填,签名,见附录1
							jsApiList: [
								'closeWindow'
							] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
						});
					}
				}
			});
            /*wx.ready(function(){
             wx.closeWindow();
             });*/
		}
		else{
			if(!openid){
				dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'openid获取失败'}).show();
			}
			if(mobile1){
				$("#txtMobile").val(mobile1);
			}
		}
		bindEvents();
	})
	function bindEvents(){
		$("input").on("focus",function(){
			$(".searchbar-clear").css("pointer-events","none").css("opacity",0);
			if($(this).val()){
				$(this).next().css("pointer-events","auto").css("opacity",1);
			}
		}).on("input",function(){
			$(this).next().css("pointer-events","auto").css("opacity",1);
		});
		$(".n-list-info").on("click",".searchbar-clear",function(){
			$(this).prev().val("");
			$(this).css("pointer-events","none").css("opacity",0);
			$(this).prev().focus();
			return false;
		});
	}
	function sendCode(){
		var mobile = document.getElementById("txtMobile").value;
		if(!mobile){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入手机号'}).show();
			return;
		}
		if(!isphone(mobile)){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'手机号格式不正确'}).show();
			return;
		}
		$("#messageCode1").hide();
		document.getElementById("message").innerHTML = nums+'秒后可重新获取';
		$("#messageCode2").show();
		clock = setInterval(doLoop, 1000); //一秒执行一次
		var data = {};
		data.mobile = mobile;
		data.type = 4;
		sendPost("common/captcha", data, "json", "post", sendFailed, sendSuccesss);
	}
	//失败
	function sendFailed(res) {
		clearInterval(clock); //清除js定时器
		$("#messageCode1").show();
		$("#messageCode2").hide();
		nums = 60; //重置时间
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'获取失败'}).show();
		}
	}
	function sendSuccesss(res){
		if (res.status == 200) {
		}
		else{
			sendFailed(res);
		}
	}
	function doLoop(){
		nums--;
		if(nums > 0){
			document.getElementById("message").innerHTML = nums+'秒后可重新获取';
		}else{
			clearInterval(clock); //清除js定时器
			$("#messageCode1").show();
			$("#messageCode2").hide();
			nums = 60; //重置时间
		}
	}
	function commit(){
		var mobile = document.getElementById("txtMobile").value;
		var captcha = document.getElementById("txtCode").value;
		if (!mobile || !captcha) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'手机号和验证码不能为空'}).show();
			return;
		}
		if(!isphone(mobile)){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'手机号格式不正确'}).show();
			return;
		}
		dd.showModal();
		//拼请求内容
		var data = {};
		data.mobile = mobile;
		data.captcha = captcha;
		data.openid = openid;
		sendPost("weixin/login", data, "json", "post", operateFailed, operateSuccesss);
	}
	//失败
	function operateFailed(res) {
		dd.close();
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'登录失败'}).show();
		}
	}
	//成功调用登录接口
	function operateSuccesss(res) {
		if (res.status == 200) {
			var id = res.data.id;
			var uid = res.data.uid;
			var name = res.data.name;
			var photo = res.data.photo;
			var token = res.data.token;
			//保存用户信息
			wxSaveUserAgent(id, uid, openid, token);
			wxSaveUserAgent1(uid, name, photo);
			saveAgentOpenid(openid);
			window.location.href = pageUrl[type];
			dd.close();
			// 缓存第一个人的uid和名字,后面账号切换需要用
			window.localStorage.removeItem("firstUid");
			window.localStorage.setItem("firstUid", uid);
			window.localStorage.removeItem("firstName");
			window.localStorage.setItem("firstName", name);
		} else {
		    if(res.status == -2){
                dd.close();
                dialog({
                    content: res.msg,
                    okValue: "我知道了",
                    ok: function(){
                        
                    }
                }).showModal()
            }else{
                //非200则为失败
                operateFailed(res);
            }
		}
	}
	//注册
	function regist(){
		window.location.href = "regist-info.html?type=" + type + "&openid=" + openid;
	}
	//帐号密码登录
	function zhmmLogin(){
		window.location.href = "zhmm-login.html?type=" + type + "&openid=" + openid;
	}
</script>
</html>

+ 233 - 0
html/home/html/regist-info.html

@ -0,0 +1,233 @@
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>注册</title>
    <meta name="author" content="yihu.com"/>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
    <link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
    <style>
        .n-list-info{position: relative;}
        .searchbar-clear{position: absolute;width: 28px;height: 28px;right: 0;top:8px;opacity:0;pointer-events:none;background-position:center;background-repeat:no-repeat;background-image:url(../../../images/delete01_pre.png);-webkit-background-size:20px 20px;background-size:20px 20px;-webkit-transition-duration:300ms;transition-duration:300ms;cursor:pointer;}
        .tit1{background: #fa8888;padding: 0 5px;padding-top: 2px;line-height: 23px;height:50px;color: #fff;font-size: 12px;position: relative;}
        .tit1 i{display:none;width: 28px;height: 28px;background: url(../images/close.png) center no-repeat;background-size: 28px 28px;position: absolute;top: 13px;right: 10px;}
        .f-fs16{font-size: 16px;}
        .c-323232{color:#323232;}
    </style>
</head>
<body>
<div class="main">
    <div class="c-list-info tit1">
        系统提醒您,未办理医保卡或2016年6月后才办理医保卡的居民暂时无法在本平台注册。
        <i></i>
    </div>
    <ul class="n-list edit-info registered c-border-tb mt10 c-f16 form-register">
        <li>
            <div class="n-list-key">
                <i class="required"></i>
                <!--  <i class="iconfont icon-huanzhe"></i>   -->
                <span class="f-fs16 c-323232">姓&emsp;&emsp;名</span>
            </div>
            <div class="n-list-info">
                <input id="txtName" type="text" maxlength="10" class="width-100 c-f16 c-5b5b5b" placeholder="请输入您的姓名" value=""/>
                <a href="#" class="searchbar-clear"></a>
            </div>
        </li>
        <li>
            <div class="n-list-key">
                <i class="required"></i>
                <!--<i class="iconfont icon-shenfenzheng01"></i>-->
                <span class="f-fs16 c-323232">身份证号</span>
            </div>
            <div class="n-list-info">
                <input id="txtIdcard" type="text" maxlength="18" class="width-100 c-f16 c-5b5b5b" placeholder="请输入身份证号码" value=""/>
                <a href="#" class="searchbar-clear"></a>
            </div>
        </li>
        <li>
            <div class="n-list-key">
                <i class="required"></i>
                <!--<i class="iconfont icon-card"></i>-->
                <span class="f-fs16 c-323232">医保卡号</span>
            </div>
            <div class="n-list-info">
                <input id="txtSsc" type="text" maxlength="15" class="width-100 c-f16 c-5b5b5b" placeholder="请输入医保卡号" value=""/>
                <a href="#" class="searchbar-clear"></a>
            </div>
        </li>
        <li>
            <div class="n-list-key">
                <i class="required"></i>
                <!--<i class="iconfont icon-shouji1"></i>-->
                <span class="f-fs16 c-323232">手机号码</span>
            </div>
            <div class="n-list-info">
                <input id="txtMobile" type="tel" maxlength="11" class="width-100 c-f16 c-5b5b5b" placeholder="请输入手机号码" onkeyup="this.value=this.value.replace(/[^\d]/g,'')" value=""/>
                <a href="#" class="searchbar-clear"></a>
            </div>
        </li>
    </ul>
    <div class="mlr15 mtb10">
        <a href="javascript:;" onclick="next()" style="font-size: 18px;" class="c-btn c-btn-4dcd70 c-btn-full c-btn-radius c-f16">下一步</a>
    </div>
    <p style="font-size: 16px;text-align: center;color: #323232;" class="mr15 c-t-right">已注册用户,可点击<span style="font-size: 17px;font-style: italic;color: #17b3ec;"  onclick="changeLogin()">登录</span></p>
    <div style="display:none;background: url(../images/ka_img.png) no-repeat;width: 258px;height: 153px;background-size: 258px 153px;text-align: center;margin: 10px auto;">
    
    </div>
</div>
</body>
<script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js" ></script>
<script type="text/javascript" src="../../../js/common_http.js" ></script>
<script type="text/javascript" src="../../../js/weixin_common.js" ></script>
<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.min.js"></script>
<script type="text/javascript" src="../../../js/commit_validate.js" ></script>
<script src="../../../js/security.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="../../../js/mui.min.js" ></script>
<script type="text/javascript">
	var dd = dialog({contentType:'load', skin:'bk-popup', content:'校验中...'});
	var Request = new Object();
	Request = GetRequest();
	var openid = Request["openid"];
	var type = Request["type"];
	bindEvents();
	function bindEvents(){
		$(".tit1 i").click(function(){//头部提示条
			$(".tit1").slideUp();
		})
		$("input").on("focus",function(){
			$(".searchbar-clear").css("pointer-events","none").css("opacity",0);
			if($(this).val()){
				$(this).next().css("pointer-events","auto").css("opacity",1);
			}
		}).on("input",function(){
			$(this).next().css("pointer-events","auto").css("opacity",1);
		});
		$(".n-list-info").on("click",".searchbar-clear",function(){
			$(this).prev().val("");
			$(this).css("pointer-events","none").css("opacity",0);
			$(this).prev().focus();
			return false;
		});
	}
	//验证此身份证是否注册
	function next(){
		//测试
        /*window.location.href = "user-agreement.html?type="+type+"&openid="+openid;
         return;*/
		var data = {};
		var name = $("#txtName").val();
		var idcard = $("#txtIdcard").val();
		var idcardLen = idcard.length,
			xchar = idcard.charAt(idcardLen-1);
		if (xchar === 'x') {
		    idcard = idcard.substr(0, idcardLen-1) + 'X';
		}
		var ssc = $("#txtSsc").val();
		var mobile = $("#txtMobile").val();
		if(name == "" && idcard == "" && ssc == "" && mobile == ""){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请补充相关信息'}).show();
			return;
		}
		if (name == "") {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'姓名不能为空'}).show();
			return;
		}
		if (idcard == "") {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'身份证不能为空'}).show();
			return;
		}
		if (!isIdcard(idcard)) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入正确的身份证号'}).show();
			return;
		}
		if (ssc == "") {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'医保卡号不能为空'}).show();
			return;
		}
		if (ssc != "" && !isSsc(ssc)) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入正确的医保卡号'}).show();
			return;
		}
		if (mobile == "") {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'手机号不能为空'}).show();
			return;
		}
		if (!isphone(mobile)) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入正确的手机号'}).show();
			return;
		}
		dd.showModal();
		//加密设置:获取公钥
		var encryURL = server + "login/public_key";
		var key = RSAUtils.getKeyFromServer(encryURL);
		//拼请求内容
		data.name = name;
		data.idcard = RSAUtils.encryStr(key, idcard);
		data.mobile = mobile;
		data.ssc = ssc;
		sendPost("weixin/check_regist_info", data, "json", "post", operateFailed, operateSuccesss);
	}
	//失败
	function operateFailed(res) {
		dd.close();
		if(window.localStorage.getItem("paramAgent")){
			window.localStorage.removeItem("paramAgent");
		}
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'校验失败'}).show();
		}
	}
	function operateSuccesss(res) {
		dd.close();
		var name = $("#txtName").val();
		var idcard = $("#txtIdcard").val();
		var idcardLen = idcard.length,
			xchar = idcard.charAt(idcardLen-1);
		if (xchar === 'x') {
		    idcard = idcard.substr(0, idcardLen-1) + 'X';
		}
		var ssc = $("#txtSsc").val();
		var mobile = $("#txtMobile").val();
		var paramAgent = "";
		if(window.localStorage.getItem("paramAgent")){
			window.localStorage.removeItem("paramAgent");
		}
		if (res.status == 200) {
			paramAgent = "{\"type\":" + type + ",\"openid\":\"" + openid + "\",\"name\":\"" + encodeURI(name) + "\",\"idcard\":\"" + idcard + "\",\"ssc\":\"" + ssc + "\",\"mobile\":\"" + mobile + "\"}";
			window.localStorage.setItem("paramAgent", paramAgent);
			window.location.href = "user-agreement.html?type="+type+"&openid="+openid;
		} else if(res.status == 1 || res.status == 2){
			paramAgent = "{\"type\":" + type + ",\"openid\":\"" + openid + "\",\"idcard\":\"" + res.data.idcard + "\",\"status\":" + res.status + ",\"mobile\":\"" + res.data.mobile + "\"}";
			window.localStorage.setItem("paramAgent", paramAgent);
			window.location.href = "regist-prompt.html?type="+type+"&openid="+openid;
		}else if(res.status == -2) { // 当已注册用户注册(根据身份证)
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:"您已是注册用户,请直接登录"}).show();      
			setTimeout(function() {
				window.location.href = "zhmm-login.html?type=" + type + "&openid=" + openid+"&idcard="+idcard
			},3000);
		} else {
			//非200则为失败
			operateFailed(res);
		}
	}
	function changeLogin(){
		window.location.href = "login.html?type=" + type + "&openid=" + openid;
	}
</script>
</html>

+ 73 - 0
html/home/html/regist-prompt.html

@ -0,0 +1,73 @@
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>注册</title>
    <meta name="author" content="yihu.com"/>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
    <link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
</head>
<body>
    <div class="main">
        <div class="mt15 mod-warn">
            <i class="iconfont icon-tixing01 c-ff8100"></i>
            <p class="c-f16"><span id="message1">该身份证已绑定手机号</span><span id="mobileidcard" class="c-ff8100">138*****123</span>,请直接用此手机号进行登录。</p>
        </div>
        <div class="mlr15 mtb20">
            <a id="login1" class="c-btn c-btn-4dcd70 c-btn-full c-btn-radius c-f20">登录</a>
            <a id="chageMobile" style="display: none;" class="c-btn-full c-btn-fff c-btn-radius c-f16 mt15 c-333">变更手机号码</a>
        </div>
    </div>
</body>
<script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js" ></script>
<script type="text/javascript" src="../../../js/common_http.js" ></script>
<script type="text/javascript" src="../../../js/weixin_common.js" ></script>
<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.min.js"></script>
<script type="text/javascript">
	$(function (){
		var paramAgent = window.localStorage.getItem("paramAgent");
		if(paramAgent){
			var jsonstr = $.parseJSON(paramAgent);
			var type = jsonstr.type;
			var openid = jsonstr.openid;
			var idcard = jsonstr.idcard;
			var status = Number(jsonstr.status);
			var mobile = jsonstr.mobile;			
			if(status == 1){
				var mobile2 = mobile.substring(0, 4) + "****" + mobile.substring(8, 11);
				document.getElementById("message1").innerHTML = "该身份证已绑定手机号";
				document.getElementById("mobileidcard").innerHTML = mobile2;
			}else{
				var idcard2 = "";
				if (idcard.length == 18) {
					idcard2 = idcard.substring(0, 9) + "*******" + idcard.substring(16, 18);
				} else if (idcard.length == 15) {
					idcard2 = idcard.substring(0, 8) + "***" + idcard.substring(11, 15);
				}
				document.getElementById("message1").innerHTML = "该手机号已绑定身份证";
				document.getElementById("mobileidcard").innerHTML = idcard2;
			}
			$("#login1").click(function (){
				window.location.href = "login.html?type=" + type + "&openid=" + openid + "&mobile=" + mobile;
			});
			$("#chageMobile").click(function (){
				window.location.href = "change-apply.html?type=" + type + "&openid=" + openid;
			});
			//window.localStorage.removeItem("paramAgent");
		}
		else{
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:'未找到参数'}).show();
		}
	});
	
</script>
</html>

+ 262 - 0
html/home/html/regist-validation.html

@ -0,0 +1,262 @@
<!doctype html>
<html>
<head>
	<meta charset="utf-8">
	<title>注册</title>
	<meta name="author" content="yihu.com"/>
	<meta name="format-detection" content="telephone=no"/>
	<meta name="viewport"
	      content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
	<meta name="apple-mobile-web-app-capable" content="yes"/>
	<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
	<link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
	<link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
	<link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css" />
	<link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
	<style>
		.n-list-info{position: relative;}
		.searchbar-clear{position: absolute;width: 28px;height: 28px;right: 0;top:8px;opacity:0;pointer-events:none;background-position:center;background-repeat:no-repeat;background-image:url(../../../images/delete01_pre.png);-webkit-background-size:20px 20px;background-size:20px 20px;-webkit-transition-duration:300ms;transition-duration:300ms;cursor:pointer;}
		#div-yzm{width:80px;height:29px;border:1px solid #4DCD70;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;margin-top:7px;}
		.c-btn-dcdcdc{background: #DCDCDC;}
		.c-btn.active{background: #4DCD70;}
		.form-register.edit-info.registered > li {
			height: auto;line-height: initial;
		}
	</style>
</head>
<body>
<div class="main">
	<div class="m15 c-999 c-f16">
		<span class="c-ff8100 mr5">*</span>请点击“获取短信验证码”,我们会向您的手机号
		<span class="c-ff8100" id="spanMobile"></span>发送验证码,请查收!
	</div>
	<ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register">
		<li class="pt5" style="padding-right: 0;">
			<div class="c-row"><div class="c-10">
				<label for="txtCode" class="n-list-key">
					<i class="iconfont icon-yanzhengma01"></i>
				</label>
			</div>
	        <div class="c-40">
				<div class="n-list-info">
					<input id="txtCode" type="text" class="width-100 c-f16 c-5b5b5b" placeholder="请输入验证码">
					<a href="#" class="searchbar-clear" style="pointer-events: none; opacity: 0;"></a>
				</div></div>
	        <div class="c-50">
	        	<div id="messageCode1" class="pl5 c-17b3ec" onclick="sendCode()">
					<span class="c-f14">获取短信验证码</span>
				</div>
				<div id="messageCode2" class="n-list-key pl15 c-999999" style="display: none;">
					<span id="message" class="c-f14"></span>
				</div>
	        </div>
	    </div>
		</li>
	</ul>
	<ul class="n-list edit-info registered c-border-tb mt10 c-f15 form-register">
		<li class="ptb5">
			<div class="n-list-key">
				<span class="f-fs16 c-323232">设置密码</span>
			</div>
			<div class="n-list-info">
				<input type="password" class="width-100 c-f16 c-5b5b5b reg-pwd" placeholder="请输入密码"/>
				<a href="#" class="searchbar-clear"></a>
			</div>
		</li>
		<li class="ptb5">
			<div class="n-list-key">
				<span class="f-fs16 c-323232">确认密码</span>
			</div>
			<div class="n-list-info">
				<input id="apwd" type="password" class="width-100 c-f16 c-5b5b5b" placeholder="请再次输入密码"/>
				<a href="#" class="searchbar-clear"></a>
			</div>
		</li>
	</ul>
	<div class="mlr15 mtb20">
		<a href="javascript:;" onclick="commit()" class="c-btn c-btn-4dcd70 c-btn-full c-btn-radius c-f18">注册</a>
	</div>
</div>
</body>
<script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js" ></script>
<script type="text/javascript" src="../../../js/common_http.js" ></script>
<script type="text/javascript" src="../../../js/weixin_common.js" ></script>
<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.min.js"></script>
<script src="../../../js/security.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="../../../js/mui.min.js" ></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript">
	var type = 0;
	var openid = "";
	var name = "";
	var mobile = "";
	var idcard = "";
	var ssc = "";
	$(function (){
		var paramAgent = window.localStorage.getItem("paramAgent");
		if(paramAgent){
			var jsonstr = $.parseJSON(paramAgent);
			type = jsonstr.type;
			name = decodeURI(jsonstr.name);
			openid = jsonstr.openid;
			idcard = jsonstr.idcard;
			mobile = jsonstr.mobile;
			ssc = jsonstr.ssc;
			var mobile2 = mobile.substring(0, 4) + "****" + mobile.substring(8, 11);
			document.getElementById("spanMobile").innerHTML = mobile2;
		}
		else{
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'未找到参数'}).show();
		}
		bindEvents();
	});
	function bindEvents(){
		$("input").on("focus",function(){
			$(".searchbar-clear").css("pointer-events","none").css("opacity",0);
			if($(this).val()){
				$(this).next().css("pointer-events","auto").css("opacity",1);
			}
		}).on("input",function(){
			$(this).next().css("pointer-events","auto").css("opacity",1);
		});
		$(".n-list-info").on("click",".searchbar-clear",function(){
			$(this).prev().val("");
			$(this).css("pointer-events","none").css("opacity",0);
			$(this).prev().focus();
			return false;
		});
	}
	var clock = "";
	var nums = 60;
	function sendCode(){
		$("#messageCode1").hide();
		document.getElementById("message").innerHTML = nums+'秒后可重新获取';
		$("#messageCode2").show();
		clock = setInterval(doLoop, 1000); //一秒执行一次
		var data = {};
		data.mobile = mobile;
		data.type = 1;
		sendPost("common/captcha", data, "json", "post", sendFailed, sendSuccesss);
	}
	//失败
	function sendFailed(res) {
		clearInterval(clock); //清除js定时器
		$("#messageCode1").show();
		$("#messageCode2").hide();
		nums = 60; //重置时间
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'获取失败'}).show();
		}
	}
	function sendSuccesss(res){
		if (res.status == 200) {
		}
		else{
			sendFailed(res);
		}
	}
	function doLoop(){
		nums--;
		if(nums > 0){
			document.getElementById("message").innerHTML = nums+'秒后可重新获取';
		}else{
			clearInterval(clock); //清除js定时器
			$("#messageCode1").show();
			$("#messageCode2").hide();
			nums = 60; //重置时间
		}
	}
	var chineseReg = /.*[\u4e00-\u9fa5]+.*$/;
	function validPwd(){
		var pwd = $.trim($('.reg-pwd').val());
		if(chineseReg.test(pwd)){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'密码不可包含中文'}).show();
			return;
		}
		if(pwd.length<6){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'密码不得少于6位'}).show();
			return;
		}
		return pwd;
	}
	var dd = dialog({contentType:'load', skin:'bk-popup', content:'注册中...'});
	//提交注册
	function commit(){
		var captcha = document.getElementById("txtCode").value;
		if (!captcha) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'验证码不能为空'}).show();
			return;
		}
		var pwd = validPwd();
		if(!pwd)
			return;
		var apwd = $('#apwd').val().trim();
		if(apwd != pwd){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'两次密码不一致'}).show();
			return;
		}
		var data = {};
		dd.showModal();
		//加密设置:获取公钥
		var encryURL = server + "login/public_key";
		var key = RSAUtils.getKeyFromServer(encryURL);
		//拼请求内容
		data.idcard = RSAUtils.encryStr(key, idcard);
		data.password = RSAUtils.encryStr(key, pwd);
		data.mobile = mobile;
		data.ssc = ssc;
		data.captcha = captcha;
		data.openid = openid;
		data.name = name;
		sendPost("weixin/regist", data, "json", "post", operateFailed, operateSuccesss);
	}
	//失败
	function operateFailed(res) {
		dd.close();
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'注册失败'}).show();
		}
	}   
	//成功调用登录接口
	function operateSuccesss(res) {
		if (res.status == 200) {
			window.localStorage.removeItem("paramAgent");
			//成功
			var id = res.data.id;
			var uid = res.data.uid;
			var name = res.data.name;
			var photo = res.data.photo;
			var token = res.data.token;
			//保存用户信息
			wxSaveUserAgent(id, uid, openid, token);
			wxSaveUserAgent1(uid, name, photo);
			// 缓存第一个人的uid和名字,后面账号切换需要用    
			window.localStorage.removeItem("firstUid");
			window.localStorage.setItem("firstUid", uid);
			window.localStorage.removeItem("firstName");
			window.localStorage.setItem("firstName", name);
			window.location.href = pageUrl[type];
			dd.close();
		} else {
			//非200则为失败
			operateFailed(res);
		}
	}
</script>
</html>

+ 236 - 0
html/home/html/register.html

@ -0,0 +1,236 @@
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>注册</title>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
    <link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
    <link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css" />
    <style>
    	#div-yzm{width:80px;height:29px;border:1px solid #4DCD70;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;margin-top:7px;}
		.c-btn-dcdcdc{background: #DCDCDC;}
		.c-btn.active{background: #4DCD70;}
    </style>
</head>
<body>
    <!--<div class="h45">
        <div class="demo-comtop">
            <a class="mui-action-back"></a>
            <h1>登录</h1>
        </div>
    </div>-->
    <div class="main">
        <ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register">
          <li>
            <div class="n-list-key">
                <span class="f-fs16 c-323232">验&ensp;证&ensp;码</span>
            </div>
            <div class="n-list-info">
                <input id="txtMobile" type="tel" class="width-100 c-f16 c-5b5b5b" maxlength="11" placeholder="请输入验证码"/>
            </div>
            <div id="div-yzm" class="n-list-key">
                <span>获取验证码</span>
            </div>
          </li>
        </ul>
        <ul class="n-list edit-info registered c-border-tb mt10 c-f15 form-register">
          <li>
            <div class="n-list-key">
                <span class="f-fs16 c-323232">设置密码</span>
            </div>
            <div class="n-list-info">
            	<input id="txtCode" type="text" class="width-100 c-f16 c-5b5b5b" placeholder="请输入密码"/>
            </div>
          </li>
          <li>
            <div class="n-list-key">
                <span class="f-fs16 c-323232">确认密码</span>
            </div>
            <div class="n-list-info">
            	<input id="txtCode" type="text" class="width-100 c-f16 c-5b5b5b" placeholder="请再次输入密码"/>
            </div>
          </li>
         </ul>
        <div class="mb15 mlr15 mt20">
            <a href="javascript:;" class="c-btn c-btn-dcdcdc c-btn-full c-btn-radius c-f16">注册</a>
        </div>
    </div>
</body>
<script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js" ></script>
<script type="text/javascript" src="../../../js/common_http.js" ></script>
<script type="text/javascript" src="../../../js/weixin_common.js" ></script>
<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.js"></script>
<script type="text/javascript" src="../../../js/commit_validate.js" ></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript">	
	var type = 0;
    var openid = ""; 
    var name = "";
    var mobile = "";
    var idcard = "";
    var ssc = "";
	$(function (){
		var userAgent = window.localStorage.getItem(agentName);
        if(userAgent){
        	var paurl = "wx/html/home/html/regist-validation.html";      
        	//从后台那边获取签名等信息
			var params = {};
			params.pageUrl = server + paurl;
			$.ajax(server + "weixin/getSign", {
				data: params,
				dataType: "json",
				type: "post",
				success: function(res){
					if (res.status == 200) {
						var t = res.data.timestamp;
						var noncestr = res.data.noncestr;
						var signature = res.data.signature;
						wx.config({		
							//debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
						    appId: appId, // 必填,公众号的唯一标识
						    timestamp: t, // 必填,生成签名的时间戳
						    nonceStr: noncestr, // 必填,生成签名的随机串
						    signature: signature,// 必填,签名,见附录1
						    jsApiList: [
						    	'closeWindow'
						    ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
						});
					} 
				}
			});
			wx.ready(function(){
				wx.closeWindow();			    
			});        	
        }
        else{
			var paramAgent = window.localStorage.getItem("paramAgent");
			if(paramAgent){
				var jsonstr = $.parseJSON(paramAgent);
				type = jsonstr.type;
				name = decodeURI(jsonstr.name);
				openid = jsonstr.openid;
			    idcard = jsonstr.idcard;
				mobile = jsonstr.mobile;
				ssc = jsonstr.ssc;			
				var mobile2 = mobile.substring(0, 4) + "****" + mobile.substring(8, 11);
				document.getElementById("spanMobile").innerHTML = mobile2;
			}
			else{
				dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'未找到参数'}).show();
			}
		}
	});
	
	var clock = "";
	var nums = 120;
	function sendCode(){ 
		$("#messageCode1").hide();		 
		document.getElementById("message").innerHTML = nums+'秒后可重新获取';
		$("#messageCode2").show();
		clock = setInterval(doLoop, 1000); //一秒执行一次
		var data = {};
		data.mobile = mobile;
		data.type = 1;
		sendPost("common/captcha", data, "json", "post", sendFailed, sendSuccesss);			
	}
	//失败
	function sendFailed(res) {
		clearInterval(clock); //清除js定时器
	    $("#messageCode1").show();
	    $("#messageCode2").hide();
	    nums = 120; //重置时间
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();      
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'获取失败'}).show(); 
		}
	}
	
	function sendSuccesss(res){
		if (res.status == 200) {
			
		}
		else{
			sendFailed(res);
		}
	}
	
	function doLoop(){
		nums--;
		if(nums > 0){
			document.getElementById("message").innerHTML = nums+'秒后可重新获取';
		}else{
		    clearInterval(clock); //清除js定时器
		    $("#messageCode1").show();
		    $("#messageCode2").hide();
		    nums = 120; //重置时间
		}
	}
	var dd = dialog({contentType:'load', skin:'bk-popup', content:'注册中...'});
	//提交注册
	function commit(){
		var captcha = document.getElementById("txtCode").value;	
		if (!captcha) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'验证码不能为空'}).show(); 
			return;
		}
		var data = {};
		dd.showModal();
		//加密设置:获取公钥
		var encryURL = server + "login/public_key";
		var key = RSAUtils.getKeyFromServer(encryURL);
		//拼请求内容
		data.idcard = RSAUtils.encryStr(key, idcard);	
		data.mobile = mobile;
		data.ssc = ssc;
		data.captcha = captcha;
		data.openid = openid;
		data.name = name;
		sendPost("weixin/regist", data, "json", "post", operateFailed, operateSuccesss);		
	}
	
	//失败
	function operateFailed(res) {
		dd.close();
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();      
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'注册失败'}).show(); 
		}
	}
	//成功调用登录接口
	function operateSuccesss(res) {
		if (res.status == 200) {
			window.localStorage.removeItem("paramAgent");
			//成功
			var id = res.data.id;
			var uid = res.data.uid;
			var name = res.data.name;
			var photo = res.data.photo;
			var token = res.data.token;
			//保存用户信息
			wxSaveUserAgent(id, uid, openid, token);
			wxSaveUserAgent1(uid, name, photo);
			saveAgentOpenid(openid);
			//hard code缓存微信code。
            var agentCode = localStorage.getItem("weixinCode");
            if(!agentCode){
                window.localStorage.setItem("weixinCode", "123456");
            }
            
			window.location.href = pageUrl[type];
			dd.close();
		} else {
			//非200则为失败
			operateFailed(res);
		}
	}
</script>
</html>

+ 219 - 0
html/home/html/reset-password.html

@ -0,0 +1,219 @@
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>重置密码</title>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
    <link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
    <link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css" />
    <style>
    	.n-list-info{position: relative;}
    	.searchbar-clear{position: absolute;width: 28px;height: 28px;right: 0;top:8px;opacity:0;pointer-events:none;background-position:center;background-repeat:no-repeat;background-image:url(../../../images/delete01_pre.png);-webkit-background-size:20px 20px;background-size:20px 20px;-webkit-transition-duration:300ms;transition-duration:300ms;cursor:pointer;}
    	#div-yzm{width:80px;height:29px;border:1px solid #4DCD70;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;margin-top:7px;}
		.c-btn-dcdcdc{background: #DCDCDC;}
		.c-btn.active{background: #4DCD70;}
    </style>
</head>
<body>
    <!--<div class="h45">
        <div class="demo-comtop">
            <a class="mui-action-back"></a>
            <h1>登录</h1>
        </div>
    </div>-->
    <div class="main">
        <ul class="n-list edit-info registered c-border-tb mt10 c-f15 form-register">
          <li>
            <div class="n-list-key">
                <span class="f-fs16 c-323232">设置密码</span>
            </div>
            <div class="n-list-info">
            	<input type="password" class="width-100 c-f16 c-5b5b5b reg-pwd" placeholder="请输入密码"/>
            	<a href="#" class="searchbar-clear"></a>
            </div>
          </li>
          <li>
            <div class="n-list-key">
                <span class="f-fs16 c-323232">确认密码</span>
            </div>
            <div class="n-list-info">
            	<input id="apwd" type="password" class="width-100 c-f16 c-5b5b5b" placeholder="请再次输入密码"/>
            	<a href="#" class="searchbar-clear"></a>
            </div>
          </li>
         </ul>
        <div class="mb15 mlr15 mt20">
            <a href="javascript:;" class="c-btn c-btn-dcdcdc c-btn-full c-btn-radius c-f16 active">确认提交</a>
        </div>
    </div>
</body>
<script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js" ></script>
<script type="text/javascript" src="../../../js/common_http.js" ></script>
<script type="text/javascript" src="../../../js/weixin_common.js" ></script>
<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.js"></script>
<script src="../../../js/security.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="../../../js/mui.min.js" ></script>
<script type="text/javascript" src="../../../js/commit_validate.js" ></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript">	
	var dd = dialog({contentType:'load', skin:'bk-popup', content:'处理中...'});
	var Request = new Object();
	Request = GetRequest(); 
	var openid = Request["openid"];
	var type = Number(Request["type"]);
	var mobile1 = Request["mobile"];
	var idcard = Request["idcard"];
	var clock = "";
	var nums = 120;
	var loginParams = Request["loginParams"];
	bindEvents();
	
	if(loginParams) {
		loginParams = JSON.parse(decodeURIComponent( Request["loginParams"]));				
	}
	$(function (){
		var userAgent = window.localStorage.getItem(agentName);
        if(userAgent){
        	var paurl = "";        	
        	if(type == 0){
        		paurl = "wx/html/home/html/login.html?type=0&openid=" + openid;
        	}
        	else{
        		if(mobile1){
        			paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid + "&mobile=" + mobile1;
        		}
        		else{
        			paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid;
        		}
        	}
        	//从后台那边获取签名等信息
			var params = {};
			params.pageUrl = window.location.href;
			$.ajax(server + "weixin/getSign", {
				data: params,
				dataType: "json",
				type: "post",
				success: function(res){
					if (res.status == 200) {
						var t = res.data.timestamp;
						var noncestr = res.data.noncestr;
						var signature = res.data.signature;
						wx.config({		
							//debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
						    appId: appId, // 必填,公众号的唯一标识
						    timestamp: t, // 必填,生成签名的时间戳
						    nonceStr: noncestr, // 必填,生成签名的随机串
						    signature: signature,// 必填,签名,见附录1
						    jsApiList: [
						    	'closeWindow'
						    ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
						});
					} 
				}
			});
			wx.ready(function(){
				wx.closeWindow();			    
			});        	
        }
        else{
			if(!openid){
				dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'openid获取失败'}).show();
			}
		}
	})
	
	function bindEvents(){
		$(".c-btn").on("click",function(){
			if($(this).hasClass("active")){
				commit();
			}
		})
		
		$("input").on("focus",function(){
			$(".searchbar-clear").css("pointer-events","none").css("opacity",0);
			if($(this).val()){
				$(this).next().css("pointer-events","auto").css("opacity",1);
			}
		}).on("input",function(){
			$(this).next().css("pointer-events","auto").css("opacity",1);
		});
		
		$(".n-list-info").on("click",".searchbar-clear",function(){
			$(this).prev().val("");
			$(this).css("pointer-events","none").css("opacity",0);
			$(this).prev().focus();
			return false;
		});
	}
	var chineseReg = /.*[\u4e00-\u9fa5]+.*$/;
	function validPwd(){
		var pwd = $.trim($('.reg-pwd').val());
		if(chineseReg.test(pwd)){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'密码不可包含中文'}).show();
			return;
		}
		if(pwd.length<6){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'密码不得少于6位'}).show();
			return;
		}
		return pwd;
	}
	
	function commit(){
		var pwd = validPwd();
		if(!pwd)
			return;
		var apwd = $('#apwd').val().trim();
		if(pwd != apwd){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'两次密码不一致'}).show();
			return;
		}
		//加密设置:获取公钥
		var encryURL = server + "login/public_key";
		var key = RSAUtils.getKeyFromServer(encryURL);
		dd.showModal();
		//拼请求内容
		var data = {};
		data.mobile = mobile1;
		data.idcard = idcard;
		data.newpwd = RSAUtils.encryStr(key, pwd);	
		data.openid = openid;
		data.type = 1;
		sendPost("login/forgetpwd", data, "json", "post", operateFailed, operateSuccesss);		
	}
	
	//失败
	function operateFailed(res) {
		dd.close();
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();      
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'重置密码失败'}).show(); 
		}
	}
	//成功调用登录接口
	function operateSuccesss(res) {
		if (res.status == 200) {
			dd.close();
			dialog({
				    content: '重置密码成功',
				    okValue:'确定',
				    ok: function (){				            		
				      	window.location.href = "zhmm-login.html?type=" + type + "&openid=" + openid;
				    }
		   	}).showModal();
		} else {
			//非200则为失败
			operateFailed(res);
		}
	}
</script>
</html>

+ 441 - 0
html/home/html/shenfenyz.html

@ -0,0 +1,441 @@
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>身份验证</title>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
    <link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
    <link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css"/>
    <style>
        .n-list-info {
            position: relative;
        }
        .searchbar-clear {
            position: absolute;
            width: 28px;
            height: 28px;
            right: 0;
            top: 8px;
            opacity: 0;
            pointer-events: none;
            background-position: center;
            background-repeat: no-repeat;
            background-image: url(../../../images/delete01_pre.png);
            -webkit-background-size: 20px 20px;
            background-size: 20px 20px;
            -webkit-transition-duration: 300ms;
            transition-duration: 300ms;
            cursor: pointer;
        }
        #div-yzm {
            width: 80px;
            height: 29px;
            border: 1px solid #4DCD70;
            color: #4DCD70;
            font-size: 14px;
            line-height: 29px;
            text-align: center;
            border-radius: 10px;
            margin-top: 7px;
        }
        .c-btn-dcdcdc {
            background: #DCDCDC;
        }
        .c-btn.active {
            background: #4DCD70;
        }
        .mui-content-pad{
			margin-top: 0px;
		}
		.btn-lt {
			position: absolute;
			left: 10px;
		}
		.btn-rt{
			position: absolute;
			right: 10px;
		}
		a {
			text-decoration: none;
			color: #17b3ec;
			font-size: 14px;
		}
    </style>
</head>
<body>
<!--<div class="h45">
    <div class="demo-comtop">
        <a class="mui-action-back"></a>
        <h1>登录</h1>
    </div>
</div>-->
<div class="main">
    <div id="idcardBox">
        <ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register">
            <li>
                <div class="n-list-key" style="width: 2.3em;">
                    <img src="../images/zhanghao_icon.png"
                         style="width: 20px; height: 26px;padding-left: 3px;padding-top: 10px;">
                    <!--<i class="iconfont icon-shouji1"></i>-->
                </div>
                <div class="n-list-info">
                    <input id="idcardTxt" maxlength="18" minlength="11" type="text" class="width-100 c-f16 c-5b5b5b"
                           placeholder="身份证号">
                    <a href="#" class="searchbar-clear"></a>
                </div>
            </li>
        </ul>
        <div class="mb15 mlr15 mt20">
            <a id="idcardBtn" href="javascript:;" style="font-size: 18px;"
               class="c-btn c-btn-dcdcdc c-btn-full c-btn-radius c-f16 active">下一步</a>
        </div>
        <div class="mui-content-pad">
			<a id="accounts" class="btn-rt">账号申诉</a>
		</div>
    </div>
    <div id="phoneBox" style="display: none;">
        <ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register">
            <li>
                <div class="n-list-key" style="width: 2.3em;">
                    <i class="iconfont icon-shouji1"></i>
                </div>
                <div class="n-list-info">
                    <input id="txtMobile" type="tel" class="width-100 c-f16 c-5b5b5b" maxlength="11"
                           placeholder="请输入手机号码" disabled hidden/>
                    <input id="txtMobile2" type="tel" class="width-100 c-f16 c-5b5b5b" maxlength="11"
                           placeholder="请输入手机号码" disabled/>
                    <a href="#" class="searchbar-clear"></a>
                </div>
            </li>
            <li>
                <div class="n-list-key" style="width: 2.3em;">
                    <i class="iconfont icon-yanzhengma01"></i>
                </div>
                <div class="n-list-info">
                    <input id="txtCode" type="text" class="width-100 c-f16 c-5b5b5b" placeholder="请输入验证码"/>
                    <a href="#" class="searchbar-clear"></a>
                </div>
                <div id="messageCode1" class="n-list-key pl15 c-17b3ec" onclick="sendCode()">
                    <span>获取短信验证码</span>
                </div>
                <div id="messageCode2" class="n-list-key pl15 c-999999" style="display: none;">
                    <span id="message"></span>
                </div>
            </li>
        </ul>
        <div class="mb15 mlr15 mt20">
            <a id="phoneBtn" href="javascript:;" style="font-size: 18px;"
               class="c-btn c-btn-dcdcdc c-btn-full c-btn-radius c-f16">下一步</a>
        </div>
    </div>
</div>
</body>
<script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js"></script>
<script type="text/javascript" src="../../../js/common_http.js"></script>
<script type="text/javascript" src="../../../js/weixin_common.js"></script>
<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.js"></script>
<script type="text/javascript" src="../../../js/commit_validate.js"></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script src="../../../js/mui.min.js"></script>
<script type="text/javascript">
    var dd = dialog({contentType: 'load', skin: 'bk-popup', content: '验证中...'});
    var Request = new Object();
    Request = GetRequest();
    var openid = Request["openid"];
    var type = Number(Request["type"]);
    var mobile1 = Request["mobile"];
    var clock = "";
    var nums = 60;
    var loginParams = Request["loginParams"];
    var $phoneBox = $('#phoneBox');
    var $idcardBox = $('#idcardBox');
    isValueChange();//判断当前是否有输入值,有输入则登录按钮变亮
    bindEvents();
    if (loginParams) {
        loginParams = JSON.parse(decodeURIComponent(Request["loginParams"]));
    }
    $(function () {
        var userAgent = window.localStorage.getItem(agentName);
        if (userAgent) {
            var paurl = "";
            if (type == 0) {
                paurl = "wx/html/home/html/login.html?type=0&openid=" + openid;
            }
            else {
                if (mobile1) {
                    paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid + "&mobile=" + mobile1;
                }
                else {
                    paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid;
                }
            }
            //从后台那边获取签名等信息
            var params = {};
            params.pageUrl = window.location.href;
            $.ajax(server + "weixin/getSign", {
                data: params,
                dataType: "json",
                type: "post",
                success: function (res) {
                    if (res.status == 200) {
                        var t = res.data.timestamp;
                        var noncestr = res.data.noncestr;
                        var signature = res.data.signature;
                        wx.config({
                            //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                            appId: appId, // 必填,公众号的唯一标识
                            timestamp: t, // 必填,生成签名的时间戳
                            nonceStr: noncestr, // 必填,生成签名的随机串
                            signature: signature,// 必填,签名,见附录1
                            jsApiList: [
                                'closeWindow'
                            ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
                        });
                    }
                }
            });
            wx.ready(function () {
                wx.closeWindow();
            });
        }
        else {
            if (!openid) {
                dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: 'openid获取失败'}).show();
            }
            if (mobile1) {
                $("#txtMobile").val(mobile1);
            }
        }
    })
    function bindEvents() {
        $("#idcardBtn").on("click", function () {
            var idcard = $('#idcardTxt').val();
            var data = {}
            if (idcard == "") {
                dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '身份证不能为空'}).show();
                return;
            }
            if (!isIdcard(idcard)) {
                dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '请输入正确的身份证号'}).show();
                return;
            }
            data.idCard = idcard;
            sendPost("weixin/getMobile", data, "json", "post", operateFailed, operateSuccesss);
            function operateSuccesss(res) {
                if (res.status == -1) {
                    dd.close();
                    if (res && res.msg) {
                        dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: res.msg}).show();
                    setTimeout(function () {
                        mui.openWindow({
                            url: "regist-info.html",
                            waiting: {
                                autoShow: false, //自动显示等待框,默认为true
                                title: '正在加载...'
                            }
                        });
                    },1500)
                    return;
                    }
                } else if (res.status == -2) {
                    dd.close();
                    if (res && res.msg) {
                        dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '您还未绑定手机,无法重置密码,请尝试使用默认密码登录。'}).show();
                    setTimeout(function () {
                        mui.openWindow({
                            url: "zhmm-login.html",
                            waiting: {
                                autoShow: false, //自动显示等待框,默认为true
                                title: '正在加载...'
                            }
                        });
                    },1500)
                    }
                } else if (res.status == 200) {
                    dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: res.msg}).show();
                    var mobile = res.data.mobile;
                    var phoneNum = mobile.substring(0, 3) + "*****" + mobile.substring(8, 11);
                    $('#txtMobile').val(mobile);
                    $('#txtMobile2').val(phoneNum);
                    $idcardBox.hide();
                    $phoneBox.show();
                }
            };
            function operateFailed(res) {
                dd.close();
                if (res && res.msg) {
                    dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: res.msg}).show();
                } else {
                    dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '校验失败'}).show();
                }
            };
        })
        $("#phoneBtn").on("click", function () {
            if ($(this).hasClass("active")) {
                commit();
            }
        })
        $("input").on("focus", function () {
            $(".searchbar-clear").css("pointer-events", "none").css("opacity", 0);
            if ($(this).val()) {
                $(this).next().css("pointer-events", "auto").css("opacity", 1);
            }
        }).on("input", function () {
            $(this).next().css("pointer-events", "auto").css("opacity", 1);
        });
        $(".n-list-info").on("click", ".searchbar-clear", function () {
            $(this).prev().val("");
            $(this).css("pointer-events", "none").css("opacity", 0);
            $(this).prev().focus();
            return false;
        });
    }
    function isValueChange() {
        var self = this;
        var int = setInterval(function () {
            if ($("#txtMobile").val() && $("#txtCode").val()) {
                clearInterval(int);
                int = null;
                $("#phoneBtn").addClass("active");
            }
        }, 300);
    }
    function sendCode() {
        var mobile = document.getElementById("txtMobile").value;
        if (!mobile) {
            dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '请输入手机号'}).show();
            return;
        }
        if (!isphone(mobile)) {
            dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '手机号格式不正确'}).show();
            return;
        }
        $("#messageCode1").hide();
        document.getElementById("message").innerHTML = nums + '秒后可重新获取';
        $("#messageCode2").show();
        clock = setInterval(doLoop, 1000); //一秒执行一次
        var data = {};
        data.mobile = mobile;
        data.type = 2;
        sendPost("common/captcha", data, "json", "post", sendFailed, sendSuccesss);
    }
    //失败
    function sendFailed(res) {
        clearInterval(clock); //清除js定时器
        $("#messageCode1").show();
        $("#messageCode2").hide();
        nums = 60; //重置时间
        if (res && res.msg) {
            dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: res.msg}).show();
        } else {
            dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '获取失败'}).show();
        }
    }
    function sendSuccesss(res) {
        if (res.status == 200) {
        }
        else {
            sendFailed(res);
        }
    }
    function doLoop() {
        nums--;
        if (nums > 0) {
            document.getElementById("message").innerHTML = nums + '秒后可重新获取';
        } else {
            clearInterval(clock); //清除js定时器
            $("#messageCode1").show();
            $("#messageCode2").hide();
            nums = 60; //重置时间
        }
    }
    var mobile;
    function commit() {
        mobile = document.getElementById("txtMobile").value;
        var captcha = document.getElementById("txtCode").value;
        if (!mobile || !captcha) {
            dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '手机号和验证码不能为空'}).show();
            return;
        }
        if (!isphone(mobile)) {
            dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '手机号格式不正确'}).show();
            return;
        }
        dd.showModal();
        //拼请求内容
        var data = {};
        data.mobile = mobile;
        data.captcha = captcha;
        data.type = 2;
        sendPost("common/check_captcha", data, "json", "post", operateFailed, operateSuccesss);
    }
    //失败
    function operateFailed(res) {
        dd.close();
        if (res && res.msg) {
            dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: res.msg}).show();
        } else {
            dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '验证码验证失败'}).show();
        }
    }
    //成功调用登录接口
    function operateSuccesss(res) {
        var idcard = $('#idcardTxt').val();
        if (res.status == 200) {
            window.location.href = "reset-password.html?type=" + type + "&openid=" + openid + "&mobile=" + mobile + '&idcard=' + idcard;
            dd.close();
        } else {
            //非200则为失败
            operateFailed(res);
        }
    }
    
    $('#accounts').on('tap',function(){
		mui.openWindow({
			id: "account_back",
			url: "../../yjfk/html/account_back.html",
			extras: {
				
			}
		});
	})
</script>
</html>

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 99 - 0
html/home/html/user-agreement.html


+ 98 - 0
html/home/html/wxindex.html

@ -0,0 +1,98 @@
<!doctype html>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
    <meta charset="utf-8">
    <title>厦门i健康</title>
    <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
    <link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css" />
    <link rel="stylesheet" type="text/css" href="../css/qt-style.css" />
</head>
<body>
<div class="c-main jnmaxw">
	<div class="jnews-con plr15">
        <div class="header pt20">
            <img src="../images/wserimg1.png"/>
            <p class="mt10">签约家庭医生-提供全程保健管理服务</p>
        </div>
        <div class="prejn ptb15 c-border-b">
        	<span class="jnimg mr15"><img src="../images/pic1.jpg" alt="" width="126" height="102" /></span>
        	<span class="jnword">
            	<p class="c-f18 c333">家庭医生服务</p>
            	<p>居民与社区建立签约关系后可免费享受到贴心家庭医生为您提供健康指导,干预,保健,随访,免费咨询等服务</p>
            </span>
        </div>
        <div class="prejn ptb15 c-border-b">
        	<span class="jnword">
            	<p class="c-f18 c333">健康咨询服务</p>
            	<p>身体疾病,用药疑问,慢病养护让居民足不出户,在家就能及时咨询到医生了</p>
            </span>
        	<span class="jnimg ml15"><img src="../images/pic2.jpg" alt="" width="126" height="102" /></span>
        </div>
        <div class="prejn ptb15 c-border-b">
        	<span class="jnimg mr15"><img src="../images/pic3.jpg" alt="" width="126" height="102" /></span>
        	<span class="jnword">
            	<p class="c-f18 c333">健康知识</p>
            	<p>热点健康知识推送,疾病预防,身体养护,营养饮食,急救常识,提升家庭健康意识</p>
            </span>
        </div>
        <div class="prejn ptb15 c-border-b">
        	<span class="jnword">
            	<p class="c-f18 c333">分诊预约</p>
            	<p>社区可以帮助有需要的居民根据疾病类型进行分诊,并能预约三甲医院的专家号</p>
            </span>
        	<span class="jnimg ml15"><img src="../images/pic4.jpg" alt="" width="126" height="102" /></span>
        </div>
        <div class="prejn ptb15 c-border-b">
            <span class="jnimg mr15"><img src="../images/pic5.jpg" alt="" width="126" height="102" /></span>
            <span class="jnword">
                <p class="c-f18 c333">妇幼保健</p>
                <p>对儿童疫苗接种进行监护与提醒,减少漏种情况。对孕产、妇幼人群定期推送养生保健知识,义诊活动</p>
            </span>
        </div>
        <div class="prebot pt15 pb5">
        	<h4 class="c-f18 c333">免费领取家庭签约服务</h4>
            <ul class="service-icon mt15">
                <li>
                    <i class="iconfont icon-home"></i>
                    <span>选择社区</span>
                </li>
                <li>
                    <i class="iconfont icon-jiantouyou"></i>
                </li>
                <li>
                    <i class="iconfont icon-xuanzeshequheyisheng"></i>
                    <span>选择医生</span>
                </li>
                <li>
                    <i class="iconfont icon-jiantouyou"></i>
                </li>
                <li>
                    <i class="iconfont icon-qianyue"></i>
                    <span>签约</span>
                </li>
                <li>
                    <i class="iconfont icon-jiantouyou"></i>
                </li>
                <li>
                    <i class="iconfont icon-chenggong2"></i>
                    <span>成功</span>
                </li>
            </ul>
        </div>
    </div>
    <div class="plr15 chd-btn" onclick="change()">
        <a class="c-btn c-btn-full c-btn-4dcd70 c-btn-radius">开始签约医生<i class="list-icon arrow-right"></i></a>
    </div>    
</div>
<script type='text/javascript' src='http://f1.yihuimg.com/concat/mobile/cross/js/jquery/2.1.3/jquery.js' charset='utf-8'></script>
<script type="text/javascript" src="../../../js/weixin_common.js" ></script>
<script type='text/javascript' src='http://f1.yihuimg.com/concat/mobile/widget/artDialog/6.0.5/js/dialog-plus.min.js' charset='utf-8'></script>
<link rel="stylesheet" href="http://f1.yihuimg.com/concat/mobile/widget/artDialog/6.0.5/css/ui-dialog.min.css" />
<script type="text/javascript">
	function change(){
		window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appId + "&redirect_uri=http%3a%2f%2f" + weixinUrl + "%2f" + urlName + "%2fwx%2fhtml%2fssgg%2fhtml%2fchoose-region.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
	}
</script>
</body>
</html>

+ 282 - 0
html/home/html/zhmm-login.html

@ -0,0 +1,282 @@
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>账号密码登录</title>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
    <link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
    <link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
    <link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css" />
    <style>
    	.n-list-info{position: relative;}
    	.searchbar-clear{position: absolute;width: 28px;height: 28px;right: 0;top:8px;opacity:0;pointer-events:none;background-position:center;background-repeat:no-repeat;background-image:url(../../../images/delete01_pre.png);-webkit-background-size:20px 20px;background-size:20px 20px;-webkit-transition-duration:300ms;transition-duration:300ms;cursor:pointer;}
    	.view-icon{background: url(../images/view_icon.png) no-repeat;width: 24px;height: 24px;background-size: 24px;margin-top: 10px;}
    	.view-icon.active{background: url(../images/view_off_icon.png) no-repeat;width: 24px;height: 24px;background-size: 24px;margin-top: 10px;}
   		.div-btn-group{width:33%;height:29px;border:0;font-size:14px;line-height:29px;text-align:center;border-radius:10px;color:#17b3ec;float: left;}
		.div-zczh{z-index: 2; position: relative; width:auto;height:29px;border:0;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;color:#17b3ec;float: left;margin-left: 20px;}
	    .div-zhmmdl{z-index: 2; position: relative; width:auto;height:29px;border:0;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;color:#17b3ec;float: right; margin-right: 20px;}
	    .edit-info.registered>li .n-list-key:first-child{width: 3em;}
        .bgc-fa8888{background-color: #FA8888;}
    </style>
</head>
<body>
    <!--<div class="h45">
        <div class="demo-comtop">
            <a class="mui-action-back"></a>
            <h1>登录</h1>
        </div>
    </div>-->
    <div class="main">
        <div class="bgc-fa8888 ptb10 plr10">
            <span class="c-f14 c-fff">已签约居民可直接使用身份证号及默认密码登录</span>
        </div>
        <ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register">
          <li>
            <div class="n-list-key" style="width: 2.3em;">
            	<img src="../images/zhanghao_icon.png" style="width: 20px; height: 26px;padding-left: 3px;padding-top: 10px;" />
                <!--<i class="iconfont icon-shouji1"></i>-->
            </div>
            <div class="n-list-info">
                <input id="txtMobile" maxlength="18" minlength="11" type="text" class="width-100 c-f16 c-5b5b5b" placeholder="身份证号/手机号"/>
            	<a href="#" class="searchbar-clear"></a>
            </div>
          </li>
          <li>
            <div class="n-list-key" style="width: 2.3em;">
                <i class="iconfont icon-yanzhengma01"></i>
            </div>
            <div class="n-list-info">
            	<input id="txtCode" type="password" class="width-100 c-f16 c-5b5b5b" placeholder="初始密码为身份证后6位"/>
           		<a href="#" class="searchbar-clear"></a>
            </div>
            <div class="n-list-key view-icon">
                
            </div>
          </li>
        </ul>
        <div class="mb15 mlr15 mt20">
            <a href="javascript:;" style="font-size: 18px;" class="c-btn c-btn-4dcd70 c-btn-full c-btn-radius c-f16" onclick="commit()">登录</a>
        </div>
        <div class="div-zczh" onclick="regist()">注册账号</div>
        <div style="width: 100%; position: absolute; z-index: 1;" class="div-zhmmdl" onclick="fastLogin()">验证码快速登录</div>
        <div class="div-zhmmdl" onclick="forgetPwd()">忘记密码</div>
    </div>
</body>
<script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js" ></script>
<script type="text/javascript" src="../../../js/common_http.js" ></script>
<script type="text/javascript" src="../../../js/weixin_common.js?11=11" ></script>
<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.js"></script>
<script type="text/javascript" src="../../../js/commit_validate.js" ></script>
<script src="../../../js/security.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="../../../js/mui.min.js" ></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript">	
	var dd = dialog({contentType:'load', skin:'bk-popup', content:'登录中...'});
	var Request = new Object();
	Request = GetRequest(); 
	var openid = Request["openid"];
	var type = Number(Request["type"]);
	var mobile1 = Request["mobile"];
	var idcard = Request["idcard"];
	var clock = "";
	var nums = 120;
	var loginParams = Request["loginParams"];
	bindEvents();
	if(loginParams) {
		loginParams = JSON.parse(decodeURIComponent( Request["loginParams"]));				
	}
	$(function (){
		var userAgent = window.localStorage.getItem(agentName);
        if(userAgent){
        	var paurl = "";        	
        	if(type == 0){
        		paurl = "wx/html/home/html/login.html?type=0&openid=" + openid;
        	}
        	else{
        		if(mobile1){
        			paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid + "&mobile=" + mobile1;
        		}
        		else{
        			paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid;
        		}
        	}
        	//从后台那边获取签名等信息
			var params = {};
			params.pageUrl = window.location.href;
			$.ajax(server + "weixin/getSign", {
				data: params,
				dataType: "json",
				type: "post",
				success: function(res){
					if (res.status == 200) {
						var t = res.data.timestamp;
						var noncestr = res.data.noncestr;
						var signature = res.data.signature;
						wx.config({		
							//debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
						    appId: appId, // 必填,公众号的唯一标识
						    timestamp: t, // 必填,生成签名的时间戳
						    nonceStr: noncestr, // 必填,生成签名的随机串
						    signature: signature,// 必填,签名,见附录1
						    jsApiList: [
						    	'closeWindow'
						    ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
						});
					} 
				}
			});
			/*wx.ready(function(){
				wx.closeWindow();			    
			}); */       	
        }
        else{
			if(!openid){
				dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'openid获取失败'}).show();
			}
			if(mobile1){
				$("#txtMobile").val(mobile1);
			}
			if(idcard) {
				$("#txtMobile").val(idcard);
			}
		}
	})
	
	function bindEvents(){
		$(".view-icon").on("click",function(){
			$(this).toggleClass("active");
			if($(this).hasClass("active")){
				$("#txtCode").attr("type","text");
			}else{
				$("#txtCode").attr("type","password");
			}
			$(this).closest("li").find("#txtCode").focus();
		})
		
		$("input").on("focus",function(){
			$(".searchbar-clear").css("pointer-events","none").css("opacity",0);
			if($(this).val()){
				$(this).next().css("pointer-events","auto").css("opacity",1);
			}
		}).on("input",function(){
			$(this).next().css("pointer-events","auto").css("opacity",1);
		});
		
		$(".n-list-info").on("click",".searchbar-clear",function(){
			$(this).prev().val("");
			$(this).css("pointer-events","none").css("opacity",0);
			$(this).prev().focus();
			return false;
		});
	}
	
	function commit(){
		var mobile = $.trim(document.getElementById("txtMobile").value);
		if(mobile.length!=15&&mobile.length!=18&&mobile.length!=11){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入正确的手机号/身份证号'}).show(); 
			return;
		}
		if(mobile.length==11&&!isphone(mobile)){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入正确的手机号'}).show(); 
			return;
		}
		if((mobile.length==18||mobile.length==15)&&!isIdcard(mobile)){
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入正确的身份证号'}).show(); 
			return;
		}
		var captcha = document.getElementById("txtCode").value;	
		if (!mobile || !captcha) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'账号和密码不能为空'}).show(); 
			return;
		}
		dd.showModal();
		//加密设置:获取公钥
		var encryURL = server + "login/public_key";
		var key = RSAUtils.getKeyFromServer(encryURL);
		//拼请求内容
		var data = {};
		data.mobile = mobile;
		data.password = RSAUtils.encryStr(key, captcha);
		if(openid == "undefined"){
		    var openidObj = window.localStorage.getItem(OpenidAgent);
		    if(openidObj){
		        openidObj = JSON.parse(openidObj);
		        openid = openidObj.openid
		    }else{
		        openid = "undefined";
		    }
		}
		data.openid = openid;
		sendPost("weixin/login", data, "json", "post", operateFailed, operateSuccesss);		
	}
	
	//失败
	function operateFailed(res) {
		dd.close();
		if (res && res.msg) {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();      
		} else {
			dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'登录失败'}).show(); 
		}
	}
	//成功调用登录接口
	function operateSuccesss(res) {
		if (res.status == 200) {
			var id = res.data.id;
			var uid = res.data.uid;
			var name = res.data.name;
			var photo = res.data.photo;
			var token = res.data.token;
			//保存用户信息
			wxSaveUserAgent(id, uid, openid, token);
			wxSaveUserAgent1(uid, name, photo);		
			saveAgentOpenid(openid);
			window.location.href = pageUrl[type];	
			dd.close();
			// 缓存第一个人的uid和名字,后面账号切换需要用
			window.localStorage.removeItem("firstUid");
			window.localStorage.setItem("firstUid", uid);
			window.localStorage.removeItem("firstName");
			window.localStorage.setItem("firstName", name);
			
			//hard code缓存微信code。
			var agentCode = localStorage.getItem("weixinCode");
			if(!agentCode){
			    window.localStorage.setItem("weixinCode", "123456");
			}
		} else {
		    if(res.status == -2){
		        dd.close();
		        dialog({
		            content: res.msg,
		            okValue: "我知道了",
		            ok: function(){
		                
		            }
		        }).showModal()
		    }else{
		        //非200则为失败
                operateFailed(res);
		    }
		}
	}
	//注册
	function regist(){
		window.location.href = "regist-info.html?type=" + type + "&openid=" + openid;
	}
	//验证码快速登录
	function fastLogin(){
		window.location.href = "login.html?type=" + type + "&openid=" + openid;
	}
	//忘记密码
	function forgetPwd(){
		window.location.href = "shenfenyz.html?type=" + type + "&openid=" + openid;
	}
</script>
</html>

BIN
html/home/images/01.jpg


BIN
html/home/images/02.jpg


BIN
html/home/images/03.jpg


BIN
html/home/images/04.jpg


BIN
html/home/images/05.jpg


BIN
html/home/images/06.jpg


BIN
html/home/images/07.jpg


BIN
html/home/images/08.jpg


BIN
html/home/images/08.png


BIN
html/home/images/ar1.jpg


BIN
html/home/images/ar2.jpg


BIN
html/home/images/ar3.jpg


BIN
html/home/images/ar4.jpg


BIN
html/home/images/ar5.jpg


BIN
html/home/images/ar6.jpg


BIN
html/home/images/banner.jpg


BIN
html/home/images/banner2.jpg


BIN
html/home/images/bc.jpg


BIN
html/home/images/close.png


BIN
html/home/images/delete01_pre.png


BIN
html/home/images/ewm.png


BIN
html/home/images/guide_01.jpg


BIN
html/home/images/guide_02.jpg


BIN
html/home/images/guide_03.jpg


BIN
html/home/images/guide_04.jpg


BIN
html/home/images/guide_05.jpg


BIN
html/home/images/guide_06.jpg


BIN
html/home/images/header-person.jpg


BIN
html/home/images/hospital-img.png


BIN
html/home/images/icon_1.png


BIN
html/home/images/icon_10.png


BIN
html/home/images/icon_11.png


BIN
html/home/images/icon_12.png


BIN
html/home/images/icon_13.png


BIN
html/home/images/icon_14.png


BIN
html/home/images/icon_15.png


BIN
html/home/images/icon_16.png


BIN
html/home/images/icon_17.png


BIN
html/home/images/icon_2.png


BIN
html/home/images/icon_3.png


BIN
html/home/images/icon_4.png


BIN
html/home/images/icon_5.png


BIN
html/home/images/icon_6.png


BIN
html/home/images/icon_7.png


BIN
html/home/images/icon_8.jpg


BIN
html/home/images/icon_9.png


BIN
html/home/images/icons-qianyue.png


BIN
html/home/images/ka_img.png


BIN
html/home/images/news.jpg


BIN
html/home/images/news2.jpg


BIN
html/home/images/news3.jpg


BIN
html/home/images/news4.jpg


BIN
html/home/images/news5.jpg


BIN
html/home/images/news6.jpg


BIN
html/home/images/news7.jpg


BIN
html/home/images/pic.jpg


BIN
html/home/images/pic1.jpg


BIN
html/home/images/pic2.jpg


BIN
html/home/images/pic3.jpg


BIN
html/home/images/pic4.jpg


BIN
html/home/images/pic5.jpg


BIN
html/home/images/ren.png


BIN
html/home/images/solvebg.png


BIN
html/home/images/timp-01.png


BIN
html/home/images/timp-02.png


BIN
html/home/images/timp-03.png


BIN
html/home/images/timp-04.png


BIN
html/home/images/timp-05.png


BIN
html/home/images/timp-06.png


BIN
html/home/images/view_icon.png


BIN
html/home/images/view_off_icon.png


BIN
html/home/images/wserimg1.png


BIN
html/home/images/wxpagehome.png


BIN
html/home/images/zhanghao_icon.png


+ 40 - 0
html/home/js/ui_form_one.js

@ -0,0 +1,40 @@
+function ($) {
	$.fn.formFocus = function (){
		var $this = $(this);
		
		if($this.parents('.input-group').find('span.input-group-addon').length>0 && $this.attr('data-form')=="focus"){
			$span = $this.parents('.input-group').find('span.input-group-addon');
			$span.addClass('focus');
			$this.on('blur',function(){
				$span.removeClass('focus');	
			});
		}
		
		if($this.attr('data-form')=="clear"){
			var $clear = $('<div class="input-clear"><span class="close"></span></div>').appendTo($this.parents('.input-group'));
			$this.on('blur',function(){
				setTimeout(function(){$clear.remove();},200)
			});
			$clear.on('click',function(){
				$this.val('').focus();	
			})
		}
	}
	$(document).on('focus','input[data-form="focus"],input[data-form="clear"]',function(){
		$(this).formFocus();
	});
	
	// data-checked="true"
	
	$(document).on('click','div.input-group-pack[data-checked="true"]',function(){
		var $el=$(this),
			$input=$el.children('input');
		if($input.attr("checked")){
			 return;
		}else{
			$el.toggleClass('checked');
			$input.attr("checked",true);
		}
		alert(2)
	});
}(jQuery);

+ 17 - 0
html/home/js/ui_search_one.js

@ -0,0 +1,17 @@
+function ($) {
	$.fn.formFocus = function (){
		var $this = $(this);
		if($this.attr('data-form')=="clear"){
			var $clear = $('<div class="input-clear"><span class="close"></span></div>').appendTo($this.parents('.c-ser-main'));
			$this.on('blur',function(){
				setTimeout(function(){$clear.remove();},200)
			});
			$clear.on('click',function(){
				$this.val('').focus();	
			})
		}
	}
	$(document).on('focus','input[data-form="focus"],input[data-form="clear"]',function(){
		$(this).formFocus();
	})
}(jQuery);

+ 261 - 0
html/home/js/wordbox.js

@ -0,0 +1,261 @@
(function(window, $) {
    'use strict';
    function WordBox(wrapper, options) {
        var defaults = {        
            isLead: false,          // 是否包含“全部”分类,该lead分类会始终显示在第一个位置上
            leadWord: null,
            words: null,
            colors: ['#cc5b34', '#c27c4d'],
            isFixedWidth: true,
            width: 1000,
            height: 200
        };
        this.options = $.extend(false, defaults, options);
        this.$wrapper = $(wrapper);
        if (!this.$wrapper || this.options.words.length < 1) {
            return false;
        }
        this._create();
        this._bindListener();
        return this;
    };
    WordBox.prototype = {
        words: [],
        colors: [],
        colorPos: 0,
        _create: function() {    
    
            if (this.options.isLead && this.options.leadWord) {
                this.words = [this.options.leadWord].concat(this._randArray(this.options.words));
            } else {
                this.words = this._randArray(this.options.words);
            }
            
            //容器宽高初始化
            if (this.options.isFixedWidth) {
                this.$wrapper.width(this.options.width);
                this.$wrapper.height(this.options.height);
            } else {
                // 容器宽高根据父级元素自适应
                this.$wrapper.width(this.$wrapper.parent().width());
                this.$wrapper.height(this.$wrapper.parent().height());
            }           
            this.fillRect(this.$wrapper, 
                          0,
                          0, 
                          this.$wrapper.width(), 
                          this.$wrapper.height(), 
                          this.words);
        },
        /*
         * 递归创建box
         */
        fillRect: function(wrapper, left, top, width, height, words) {
            var wordLen = words.length,               
                ratio = width / height,
                dot = this._randRange(1, 2, 0.5),
                wordLen1 = Math.round(wordLen * dot[0]),
                wordLen2 = wordLen - wordLen1;
            if (wordLen == 1) {
                this._createBox(wrapper, 
                                left, 
                                top, 
                                width, 
                                height, 
                                words[0], 
                                this._getNextColor());
                return;
            } 
            if (wordLen1 == 0) {
                wordLen1 = 1;
                wordLen2--;
            } else if (wordLen2 == 0) {
                wordLen2 = 1;
                wordLen1--;
            }
            if (ratio >= 2.5) {
                // 左右分割
                var leftW = Math.round(width * dot[0]),                    
                    rightW = width - leftW;
                this.fillRect(wrapper, 
                              left, 
                              top, 
                              leftW, 
                              height, 
                              words.slice(0, wordLen1));
                this.fillRect(wrapper, 
                              left+leftW, 
                              top, 
                              rightW, 
                              height, 
                              words.slice(wordLen1));             
           } else {
                // 上下分割
                var topH = Math.round(height * dot[0]),
                    bottomH = height - topH;
                this.fillRect(wrapper, 
                              left, 
                              top, 
                              width, 
                              topH, 
                              words.slice(0, wordLen1));
                this.fillRect(wrapper, 
                              left, 
                              top+topH, 
                              width, 
                              height-topH, 
                              words.slice(wordLen1));
            }
        },
        /*
         * 创建box
         * @param left、right为box相对于 wrapper 绝对定位的偏移量
         */
        _createBox: function(wrapper, left, top, width, height, word, color) {
            var lineHeight = height,
                paddingTop = 0,        
                wordW = this._getWordsWidth(word.title);
            // 如果box中文字的宽度超出box本身的宽度,则需要分多行显示
            if (wordW > width) {
                var line = Math.ceil(wordW / width);
                // 注意设置 line-height 属性和 padding-top 属性
                lineHeight = parseInt(this.$wrapper.css('font-size'));
                paddingTop = Math.max(0, (height - line * lineHeight) / 2);
                height -= paddingTop;
            }
            var html = '<div class="wordbox-box" style="width:' + width + 'px;' +
                        'height:' + height + 'px;' +
                        'line-height:'+ lineHeight + 'px;' +
                        'top:' + top + 'px;' +
                        'left:' + left + 'px;' +
                        'background-color:' + color + ';' +             
                        (paddingTop ? ('padding-top:' + paddingTop + 'px;') : '') +
                        '">' + '<span href="' + word.url + '" >' + word.title + '</span></div>';
            $(wrapper).append(html);
        },
        /* 将base随机分成num份
         * @param base:    被分割的数
         * @param num:     分割的份数         
         * @param round:   base被分割之后两部分的最大差,为了避免每部分太大或太小
         * @param 返回值:  包含num个分界点的数组
         */
        _randRange: function(base, num, round) {        
            var center = base / num,
                min = center * (1 - round),
                max = center * (1 + round),
                rand = Math.random() * (max - min) + min;
            if (num == 1) {
                return [base];
            }
            return [rand].concat(this._randRange(base - rand, num - 1, round));
        },
        
        /*
         * 每次绘制box时获取color列表中下一个颜色值
         */
        _getNextColor: function() {
            var color = this.options.colors[this.colorPos % this.options.colors.length];
            this.colorPos++;
            return color;
        },
        /*
         * 获取指定字体大小的word的宽度,根据该宽度和 box 宽度判断是否分行
         */
        _getWordsWidth: function(word) {
            if ($('#get_ww').size() < 1) {
                $('<div id="get_ww" style="display:block;visibility:hidden;font-size:'+this.$wrapper.css('font-size')+'px"><span></span></div>').appendTo('body');
            }
            $('#get_ww span').html(word);
            return $('#get_ww span').width();
        },
        /*
         * 随机排列数组元素
         */
        _randArray: function(array) {
            var clone = array.slice(),          
                ret = [], 
                rand;
            for(var i = 0, len = array.length; i < len; i++) {
                rand = Math.floor(Math.random() * clone.length);
                var tmp = clone[0];
                clone[0] = clone[rand];
                clone[rand] = tmp;
                ret.push(clone[0]);
                clone = clone.slice(1);
            }
            return ret;
        },
        /*
         * 绑定窗口大小改变事件
         */
        _bindListener: function() {
            if (!this.options.isFixedWidth) {
                var _this = this, 
                    timer = null;
                $(window).bind('resize', function() {     
                    if (timer) {
                        clearTimeout(window.timer);
                        timer = null;
                    }           
                    timer = setTimeout(function() {
                        // 响应式 wordbox 根据父级元素宽度和高度的变化来改变自身的宽度和高度,重新绘制
                        if (_this.$wrapper.width() != _this.$wrapper.parent().width() || 
                            _this.$wrapper.height() != _this.$wrapper.parent().height()) {
                            _this.$wrapper.width(_this.$wrapper.parent().width());
                            _this.$wrapper.height(_this.$wrapper.parent().height());
                            // 清除之前绘制的wordbox
                            _this.$wrapper.empty();
                            // 重新绘制wordbox
                            _this.fillRect(_this.$wrapper, 
                                           0,
                                           0,
                                           _this.$wrapper.width(), 
                                           _this.$wrapper.height(),
                                           _this.words);
                        }                    
                    }, 800);                 
                });
            }
        }
    };
    window.WordBox = WordBox;
    $.fn.wordbox = function(options) {
        var instance = new WordBox(this, options); 
        if (!instance) {
            console.log("创建失败");
            return null;
        }               
        // 返回jquery对象 
        // this指的是应用插件的元素,而不是instance
        return $(this);
    };
})(window, jQuery);