shezhimima.html 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>修改密码</title>
  6. <meta name="author" content="yihu.com" />
  7. <meta name="format-detection" content="telephone=no" />
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0" />
  9. <meta name="apple-mobile-web-app-capable" content="yes" />
  10. <meta name="apple-mobile-web-app-status-bar-style" content="black" />
  11. <link rel="stylesheet" href="../../../css/cross.css">
  12. <link rel="stylesheet" href="../../../css/cross.ui.css">
  13. <link rel="stylesheet" href="../css/shenfenyanzheng.css" type="text/css" />
  14. </head>
  15. <body style="background: #f3f3f3;">
  16. <div class="c-main mui-content">
  17. <div id="update">
  18. <ul class="n-list edit-list c-border-tb mt10">
  19. <li class="n-list-cover">
  20. <div class="n-list-key w3em c-f16">当前密码</div>
  21. <div class="n-list-info pl10 mui-input-row">
  22. <input id='opsd' type="password" class="ajax c-input width-100 mui-input-clear pr40 c-f16" placeholder="请输入当前密码" />
  23. </div>
  24. </li>
  25. </ul>
  26. <div style="padding-left: 20px;color: #909090; line-height: 30px;">
  27. 初始密码为身份证后6位
  28. </div>
  29. </div>
  30. <ul class="n-list edit-list c-border-tb" id="info_list">
  31. <li class="n-list-cover" id="psd">
  32. <div class="n-list-key w3em c-f16">设置密码</div>
  33. <div class="n-list-info pl10 mui-input-row">
  34. <input type="password" class="reg-psd ajax c-input width-100 mui-input-clear pr40 c-f16" placeholder="请输入新密码" maxlength="11" />
  35. </div>
  36. </li>
  37. <li class="n-list-cover" id="a-psd">
  38. <div class="n-list-key w3em c-f16">确认密码</div>
  39. <div class="n-list-info pl10 mui-input-row">
  40. <input type="password" class="c-input width-100 mui-input-clear pr40 c-f16" placeholder="请再次输入新密码" maxlength="11" />
  41. </div>
  42. </li>
  43. </ul>
  44. <div class="plr10 mt15 pb20">
  45. <a onclick="submit()" class="c-btn c-btn-full c-btn-4dcd70 border-radius-rounded" id="next_step">确认提交</a>
  46. </div>
  47. </div>
  48. <script src="../../../js/jquery/2.1.3/jquery.js"></script>
  49. <script type="text/javascript" src="../../../js/mui.min.js"></script>
  50. <script type="text/javascript" src="../../../js/app.js" ></script>
  51. <script type="text/javascript" src="../../../js/weixin_common.js" ></script>
  52. <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
  53. <script src="../../../js/common_http.js" type="text/javascript" charset="utf-8"></script>
  54. <script src="../../../js/security.js" type="text/javascript" charset="utf-8"></script>
  55. <link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
  56. <script src="../../../widget/artDialog/6.0.5/js/dialog-plus.min.js?11=11"></script>
  57. <script>
  58. var dd = dialog({contentType:'load', skin:'bk-popup', content:'修改中...'});
  59. var Request = new Object();
  60. Request = GetRequest();
  61. var openid = Request["openid"];
  62. var type = Number(Request["type"]);
  63. var mobile1 = Request["mobile"];
  64. var userAgent;
  65. $(function (){
  66. userAgent = window.localStorage.getItem(agentName);
  67. if(userAgent){
  68. var paurl = "";
  69. if(type == 0){
  70. paurl = "wx/html/home/html/login.html?type=0&openid=" + openid;
  71. }
  72. else{
  73. if(mobile1){
  74. paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid + "&mobile=" + mobile1;
  75. }
  76. else{
  77. paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid;
  78. }
  79. }
  80. //从后台那边获取签名等信息
  81. var params = {};
  82. params.pageUrl = window.location.href;
  83. $.ajax(server + "weixin/getSign", {
  84. data: params,
  85. dataType: "json",
  86. type: "post",
  87. success: function(res){
  88. if (res.status == 200) {
  89. var t = res.data.timestamp;
  90. var noncestr = res.data.noncestr;
  91. var signature = res.data.signature;
  92. wx.config({
  93. //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  94. appId: appId, // 必填,公众号的唯一标识
  95. timestamp: t, // 必填,生成签名的时间戳
  96. nonceStr: noncestr, // 必填,生成签名的随机串
  97. signature: signature,// 必填,签名,见附录1
  98. jsApiList: [
  99. // 'closeWindow'
  100. ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
  101. });
  102. }
  103. }
  104. });
  105. }
  106. else{
  107. if(!openid){
  108. dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'openid获取失败'}).show();
  109. }
  110. }
  111. })
  112. function validPsd(){
  113. var psd = $.trim($('.reg-psd').val());
  114. if(/.*[\u4e00-\u9fa5]+.*$/.test(psd)){
  115. dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'密码不可包含中文'}).show();
  116. return;
  117. }
  118. if(psd.length<6){
  119. dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'密码不得少于6位'}).show();
  120. return;
  121. }
  122. return psd;
  123. }
  124. function submit(){
  125. var opsd = $.trim($('#opsd').val());
  126. if(opsd==""){
  127. dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入旧密码'}).show();
  128. return;
  129. }
  130. var psd = validPsd(),
  131. apsd = $.trim($('#a-psd input').val());
  132. if(!psd)
  133. return;
  134. if(apsd == ""){
  135. dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入确认密码!'}).show();
  136. return;
  137. }
  138. if(apsd != psd){
  139. dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'两次输入密码不一致!'}).show();
  140. return;
  141. }
  142. dd.showModal();
  143. //加密设置:获取公钥
  144. var encryURL = server + "login/public_key";
  145. var key = RSAUtils.getKeyFromServer(encryURL);
  146. //拼请求内容
  147. var data = {};
  148. data.oldPassword = RSAUtils.encryStr(key, opsd);
  149. data.newPassword1 = RSAUtils.encryStr(key, psd);
  150. data.newPassword2 = RSAUtils.encryStr(key, apsd);
  151. data.openid = openid;
  152. sendPost("patient/updatePassword", data, "json", "post", operateFailed, operateSuccesss);
  153. }
  154. //失败
  155. function operateFailed(res) {
  156. dd.close();
  157. if (res && res.msg) {
  158. dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show();
  159. } else {
  160. dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'修改失败'}).show();
  161. }
  162. }
  163. //成功调用登录接口
  164. function operateSuccesss(res) {
  165. if (res.status == 200) {
  166. dd.close();
  167. dialog({
  168. content: '修改密码成功',
  169. okValue:'确定',
  170. ok: function (){
  171. window.location.href = "my-detail.html?type=" + type + "&openid=" + openid;
  172. }
  173. }).showModal();
  174. } else {
  175. //非200则为失败
  176. operateFailed(res);
  177. }
  178. }
  179. </script>
  180. </body>
  181. </html>