find_pass.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>找回密码</title>
  6. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  7. <link href="../../css/mui.min.css" rel="stylesheet" />
  8. <style>
  9. .lg {padding: 35px;margin-top: 10px;text-align: center;}
  10. .input-group{height: auto;}
  11. .input-group i{margin: 11px 0px 10px 5px;font-size: 18px;}
  12. .input-group input{padding: 10px 11px 11px 35px;}
  13. .code{position: absolute;right: 0;top: 0;margin-top: 10px;margin-right: 12px;font-size: 12px;color: #fe580a;font-weight: bold;}
  14. .btn{margin-top: 25px;}
  15. .divider{margin-top: 50px;}
  16. .register{margin-top: 50px;color: darkgray;font-size: 13px;}
  17. </style>
  18. </head>
  19. <body>
  20. <header class="mui-bar mui-bar-nav">
  21. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
  22. <h1 class="mui-title">修改或找回密码</h1>
  23. </header>
  24. <div class="mui-content" id="app">
  25. <div class="lg animated bounceIn">
  26. <div class="input-group">
  27. <i class="icon">&#xe641;</i>
  28. <input type="tel" placeholder="手机号" v-model="item.account" />
  29. </div>
  30. <div class="input-group">
  31. <i class="icon">&#xe63a;</i>
  32. <input type="password" placeholder="新密码" v-model="item.password" />
  33. </div>
  34. <div class="input-group">
  35. <i class="icon">&#xe63a;</i>
  36. <input type="password" placeholder="重复密码" v-model="item.again" />
  37. </div>
  38. <div class="input-group">
  39. <i class="icon">&#xe7a1;</i>
  40. <input type="tel" placeholder="验证码" v-model="item.code" />
  41. <span class="code" @click.stop="sendMessage()">{{msg}}</span>
  42. </div>
  43. <button class="btn" @click="forget()">立即找回</button>
  44. <div class="divider">
  45. <div class="line" style="width: 30%;"></div>
  46. <div class="text" style="width: 40%;">已有账号?</div>
  47. <div class="line" style="width: 30%;"></div>
  48. <div class="clear"></div>
  49. </div>
  50. <div class="mui-action-back register" @click="register()">去登录</div>
  51. </div>
  52. </div>
  53. <script src="../../js/mui.min.js"></script>
  54. <script src="../../js/app.js"></script>
  55. <script src="../../js/vue.min.js"></script>
  56. <script type="text/javascript">
  57. var time = 60; //1分钟倒计时
  58. var vm = new Vue({
  59. el: "#app",
  60. data: {
  61. flag:true,
  62. msg: '发送验证码',
  63. item: {account: '',password: '',again:'',code:''}
  64. },
  65. methods: {
  66. //发送验证码
  67. sendMessage: function() {
  68. if(!isPhone(vm.item.account)) {mui.toast("手机格式不正确");return;}
  69. if(vm.flag == false) {return;}
  70. request(urls().findPassMessage, {phone: vm.item.account},function(res) {
  71. if(res.result == true) {
  72. mui.toast("发送成功");
  73. //一分钟倒计时
  74. var countdown = setInterval(function() {
  75. time--;
  76. if(time == 0) {
  77. vm.flag = true;
  78. vm.msg = '发送验证码';
  79. time = 60;
  80. clearInterval(countdown);
  81. } else {
  82. vm.flag = false;
  83. vm.msg = '重新获取(' + time + ')';
  84. }
  85. }, 1000)
  86. } else {
  87. mui.toast(res.msg);
  88. }
  89. plus.nativeUI.closeWaiting();
  90. })
  91. },
  92. //找回密码
  93. forget: function() {
  94. request(urls().edit_pass,this.item, function(res) {
  95. if(res.result == true) {
  96. mui.toast("重置密码成功");
  97. mui.back();
  98. } else {
  99. mui.alert(res.msg);
  100. }
  101. plus.nativeUI.closeWaiting();
  102. })
  103. },
  104. }
  105. })
  106. </script>
  107. </body>
  108. </html>