retrievePassword.html 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  7. <meta name='apple-touch-fullscreen' content='yes'>
  8. <meta name="apple-mobile-web-app-capable" content="yes"/>
  9. <meta content="fullscreen=yes,preventMove=no" name="ML-Config">
  10. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  11. <meta name="renderer" content="webkit">
  12. <meta name="apple-mobile-web-app-capable" content="yes"/>
  13. <meta name="keywords" content="电子烟,关键字"/>
  14. <meta name="Description" content="网站描述"/>
  15. <title>Reset password</title>
  16. <link rel="stylesheet" href="/assets/index/css/common.css?t=10100">
  17. <link rel="stylesheet" href="/assets/index/css/retrievePassword.css">
  18. </head>
  19. <body>
  20. <main id="main">
  21. <div class="pageContainer">
  22. <a href="/index/index/index.html">
  23. <div class="pageLogo">
  24. <img src="/assets/index/asstes/icon/logo.png" alt="">
  25. </div>
  26. </a>
  27. <section class="pageSection">
  28. <!-- 登录模块 -->
  29. <div id="loginModel">
  30. <h1 class="modelTitle">Reset Password</h1>
  31. <div class="modelContainer">
  32. <!-- 电子邮箱 -->
  33. <div class="modelItem">
  34. <p class="miTitle">Email Address</p>
  35. <input class="input" type="text" name="" id="email">
  36. </div>
  37. <!-- 验证码 -->
  38. <div class="modelItem">
  39. <p class="miTitle">Code</p>
  40. <input class="input" type="text" name="" id="vcode">
  41. <div class="modelItemButon" id="getCode">Get code</div>
  42. </div>
  43. <!-- 新密码 -->
  44. <div class="modelItem">
  45. <p class="miTitle">New Password</p>
  46. <input class="input" type="password" name="" id="password">
  47. </div>
  48. <!-- 确认新密码 -->
  49. <div class="modelItem">
  50. <p class="miTitle">Confirm Password</p>
  51. <input class="input" type="password" name="" id="confirmPassword">
  52. </div>
  53. <!-- 找回密码 -->
  54. <div class="pageButton" id="retrieve">Reset Password</div>
  55. <div class="accountTips">
  56. <p></p>
  57. <a href="/index/index/index.html" style="text-decoration: underline;"><span id="toHome2">Store Home</span></a>
  58. </div>
  59. </div>
  60. </div>
  61. </section>
  62. </div>
  63. </main>
  64. <!-- 吐司提示 -->
  65. <div id="toastContainer"></div>
  66. </body>
  67. <script src="/assets/index/js/jquery-1.12.0.js"></script>
  68. <script src="/assets/index/js/flexible.js"></script>
  69. <script src="/assets/index/js/public.js"></script>
  70. <script src="/assets/index/js/login.js?y=10"></script>
  71. <script>
  72. $(document).ready(function () {
  73. //用户存储token名
  74. //const VAPES_TOKEN = "vapes_token"
  75. //触屏事件 || 点击事件
  76. const tap = "ontouchstart" in window ? "touchstart" : "click";
  77. //倒计时秒数
  78. let countdown = 60;
  79. //定时器
  80. let countdownTimer;
  81. /**
  82. * 吐司提示
  83. * @param message 消息
  84. * @returns
  85. */
  86. function showToast(message) {
  87. var toastElement = $('#toastContainer');
  88. toastElement.text(message);
  89. toastElement.stop(true, true).fadeIn(200).delay(2000).fadeOut(200);
  90. }
  91. //获取验证码
  92. $("#getCode").on(tap, function (event) {
  93. event.preventDefault();
  94. // 如果倒计时已经在进行中,则忽略点击事件
  95. console.log(countdownTimer)
  96. if (countdownTimer) {
  97. return;
  98. }
  99. const emailEle = $("#email");
  100. if (!emailEle) {
  101. return
  102. }
  103. //邮箱
  104. const email = emailEle.val()
  105. if (!email || email == "") {
  106. emailEle.focus();
  107. return
  108. }
  109. //console.log("邮箱", email)
  110. // 点击后立即执行一次倒计时
  111. countdown = 60
  112. $(this).text(countdown + 's');
  113. countdown--;
  114. // 开始倒计时
  115. countdownTimer = setInterval(() => {
  116. if (countdown <= 0) {
  117. clearInterval(countdownTimer);
  118. countdownTimer = null;
  119. // 倒计时结束后恢复按钮状态
  120. $(this).text('Get code');
  121. } else {
  122. $(this).text(countdown + 's');
  123. countdown--;
  124. }
  125. }, 1000);
  126. const dp = {
  127. form: {
  128. mobile: email,
  129. }
  130. };
  131. $.ajax({
  132. url: "/index/captcha/sendEmailCaptcha",
  133. headers: {platform: 'H5'},
  134. dataType: 'json',
  135. data: JSON.stringify(dp),
  136. type: "POST",
  137. contentType: 'application/json',
  138. success: function (obj) {
  139. console.log(obj);
  140. //return false;
  141. //注册成功后进入
  142. if (obj.status === 200 || obj.status === '200') {
  143. showToast('The code has been sent.')
  144. } else {
  145. showToast('Please try again later.')
  146. }
  147. }
  148. })
  149. });
  150. //找回密码
  151. $("#retrieve").on(tap, function (event) {
  152. event.preventDefault();
  153. const emailEle = $("#email");
  154. const vcodeEle = $("#vcode");
  155. const passwordEle = $("#password");
  156. const confirmPasswordEle = $("#confirmPassword");
  157. //输入框不存在
  158. if (!emailEle || !vcodeEle || !passwordEle || !confirmPasswordEle) {
  159. return
  160. }
  161. //邮箱
  162. const email = emailEle.val()
  163. //验证码
  164. const vcode = vcodeEle.val()
  165. //密码
  166. const password = passwordEle.val()
  167. //确认密码
  168. const confirmPassword = confirmPasswordEle.val()
  169. if (!email || email == "") {
  170. emailEle.focus();
  171. return
  172. }
  173. if (!vcode || vcode == "") {
  174. vcodeEle.focus();
  175. return
  176. }
  177. if (!password || password == "") {
  178. passwordEle.focus();
  179. return
  180. }
  181. if (!confirmPassword || confirmPassword == "") {
  182. confirmPasswordEle.focus();
  183. return
  184. }
  185. //console.log("邮箱", email)
  186. //console.log("验证码", vcode)
  187. //console.log("密码", password)
  188. //console.log("确认密码", confirmPassword)
  189. if (password !== confirmPassword) {
  190. showToast("Make sure both passwords are the same.")
  191. return
  192. }
  193. var dp = {
  194. form: {
  195. mobile: email,
  196. smsCode: vcode,
  197. password: password,
  198. password1: confirmPassword,
  199. isParty: false,
  200. partyData: []
  201. }
  202. }
  203. $.ajax({
  204. url: "/index/passport/retrievePassword",
  205. headers: {platform: 'H5'},
  206. dataType: 'json',
  207. data: JSON.stringify(dp),
  208. type: "POST",
  209. contentType: 'application/json',
  210. success: function (obj) {
  211. //console.log(obj);
  212. //return false;
  213. //注册成功后进入
  214. if (obj.status === 200 || obj.status === '200') {
  215. showToast(obj.message)
  216. setTimeout(function () {
  217. window.location.replace('/index/passport/logIn.html');
  218. }, 3000)
  219. //localStorage.setItem(VAPES_TOKEN, obj.data.token)
  220. } else {
  221. showToast(obj.message)
  222. }
  223. }
  224. })
  225. });
  226. })
  227. </script>
  228. </html>