logIn.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376
  1. <!DOCTYPE html>
  2. <html lang="en" xmlns="http://www.w3.org/1999/html">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport"
  6. content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  8. <meta name='apple-touch-fullscreen' content='yes'>
  9. <meta name="apple-mobile-web-app-capable" content="yes"/>
  10. <meta content="fullscreen=yes,preventMove=no" name="ML-Config">
  11. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  12. <meta name="renderer" content="webkit">
  13. <meta name="apple-mobile-web-app-capable" content="yes"/>
  14. <meta name="keywords" content="电子烟,关键字"/>
  15. <meta name="Description" content="网站描述"/>
  16. <title>Log in|Register</title>
  17. <link rel="stylesheet" href="/assets/index/css/common.css?t=10100">
  18. <link rel="stylesheet" href="/assets/index/css/login.css?t=101">
  19. </head>
  20. <body>
  21. <main id="main">
  22. <div class="pageContainer">
  23. <a href="/index/index/index.html">
  24. <div class="pageLogo">
  25. <img src="/assets/index/asstes/icon/logo.png" alt="">
  26. </div>
  27. </a>
  28. <section class="pageSection">
  29. <!-- 登录模块 -->
  30. <div id="loginModel">
  31. <h1 class="modelTitle">Log In</h1>
  32. <div class="modelContainer">
  33. <!-- 电子邮箱 -->
  34. <div class="modelItem">
  35. <p class="miTitle">Email Address</p>
  36. <input class="input" type="text" name="" id="userName">
  37. </div>
  38. <!-- 密码 -->
  39. <div class="modelItem">
  40. <p class="miTitle">Password</p>
  41. <input class="input" type="password" name="" id="password">
  42. </div>
  43. <a href="/index/passport/retrievePassword.html"><p class="forgotPassword">Forgot Password?</p>
  44. </a>
  45. <!-- 登录 -->
  46. <div class="pageButton" id="loginButton">Log In</div>
  47. <!-- 没有账户 -->
  48. <div class="accountTips">
  49. <p>No account? </p>
  50. <span id="toRegister">Sign Up</span>
  51. </div>
  52. </div>
  53. </div>
  54. <!-- 注册模块 -->
  55. <div id="registerModel">
  56. <!-- 电子邮箱输入模块 -->
  57. <div id="emailInputModel">
  58. <h1 class="modelTitle">Sign Up</h1>
  59. <div class="modelContainer">
  60. <!-- 电子邮箱地址 -->
  61. <div class="modelItem">
  62. <p class="miTitle">Email Address</p>
  63. <input class="input" type="text" name="" id="email">
  64. </div>
  65. <div class="pageButton" id="continueButton">Continue</div>
  66. <div class="accountTips">
  67. <p>Have an Account?</p>
  68. <span id="toLogin">Log In</span>
  69. </div>
  70. </div>
  71. </div>
  72. <!-- 电子邮箱验证模块 -->
  73. <div id="emailVerifyModel">
  74. <h1 class="modelTitle">Verify Email Address</h1>
  75. <p class="modelTips">Code has been sent to <span id="emailAddress"></span></p>
  76. <div class="modelContainer">
  77. <!-- 电子邮箱验证码 -->
  78. <div class="modelItem">
  79. <p class="miTitle">Code</p>
  80. <input class="input" type="text" name="" id="vcode">
  81. </div>
  82. <!-- 验证 -->
  83. <div class="pageButton" id="verifyButton">Verify</div>
  84. </div>
  85. </div>
  86. <!-- 设置密码 -->
  87. <div id="setPasswordModel">
  88. <h1 class="modelTitle">Password</h1>
  89. <div class="modelContainer">
  90. <!-- 设置密码 -->
  91. <div class="modelItem">
  92. <p class="miTitle">Password</p>
  93. <input class="input" type="password" name="" id="regPassword">
  94. </div>
  95. <!-- 注册 -->
  96. <div class="pageButton" id="registerButton">Register</div>
  97. </div>
  98. </div>
  99. </div>
  100. </section>
  101. </div>
  102. </main>
  103. <!-- 年龄提示层 -->
  104. <section class="maskContainer">
  105. <div class="ageReminderBox">
  106. <img class="ageReminderBack"
  107. src="https://img1.baidu.com/it/u=3449617615,1431463931&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1709485200&t=489bafcac7c5bebed91cf50c14356269"
  108. alt="">
  109. <div class="ageReminderInfo">
  110. <h3>ARE YOU OF LEAAL SMOKIND AGE?</h3>
  111. <div class="ageReminderButBox">
  112. <div class="ageRBut ageReminderNo"><span>NO</span></div>
  113. <div class="ageRBut ageReminderYes"><span>Yes, I am 21+</span></div>
  114. </div>
  115. </div>
  116. </div>
  117. </section>
  118. <!-- 吐司提示 -->
  119. <div id="toastContainer"></div>
  120. </body>
  121. <script src="/assets/index/js/jquery-1.12.0.js"></script>
  122. <script src="/assets/index/js/flexible.js"></script>
  123. <script src="/assets/index/js/public.js"></script>
  124. <script src="/assets/index/js/login.js?y=10"></script>
  125. <script>
  126. $(document).ready(function () {
  127. //用户存储token名
  128. const VAPES_TOKEN = "vapes_token"
  129. //触屏事件 || 点击事件
  130. const tap = "ontouchstart" in window ? "touchstart" : "click";
  131. /**
  132. * 吐司提示
  133. * @param message 消息
  134. * @returns
  135. */
  136. function showToast(message) {
  137. var toastElement = $('#toastContainer');
  138. toastElement.text(message);
  139. toastElement.stop(true, true).fadeIn(200).delay(2000).fadeOut(200);
  140. }
  141. //去登录
  142. $("#toLogin").on(tap, function () {
  143. $("#registerModel").hide(0)
  144. $("#loginModel").show(0)
  145. });
  146. //去注册
  147. $("#toRegister").on(tap, function () {
  148. $("#loginModel").hide(0)
  149. $("#registerModel").show(0)
  150. });
  151. //登录
  152. $("#loginButton").on(tap, function (event) {
  153. event.preventDefault();
  154. const userNameEle = $("#userName");
  155. const passwordEle = $("#password");
  156. //输入框不存在
  157. if (!userNameEle || !passwordEle) {
  158. return
  159. }
  160. //用户名
  161. const userName = userNameEle.val()
  162. //密码
  163. const password = passwordEle.val()
  164. if (!userName || userName == "") {
  165. userNameEle.focus();
  166. return
  167. }
  168. if (!password || password == "") {
  169. passwordEle.focus();
  170. return
  171. }
  172. console.log("用户名", userName)
  173. console.log("密码", password)
  174. var dp = {
  175. form: {
  176. mobile: userName,
  177. smsCode: '888888',
  178. password: password,
  179. isParty: false,
  180. partyData: []
  181. }
  182. }
  183. $.ajax({
  184. url: "/index/passport/login",
  185. headers: {platform: 'H5', storeId: 10001},
  186. dataType: 'json',
  187. data: JSON.stringify(dp),
  188. type: "POST",
  189. contentType: 'application/json',
  190. success: function (obj) {
  191. console.log(obj);
  192. //return false;
  193. //注册成功后进入
  194. if (obj.status === 200 || obj.status === '200') {
  195. showToast('Login successful')
  196. setTimeout(function () {
  197. jumpPage()
  198. }, 2000)
  199. } else {
  200. showToast(obj.message)
  201. }
  202. }
  203. })
  204. });
  205. //继续(注册)
  206. $("#continueButton").on(tap, function (event) {
  207. event.preventDefault();
  208. console.log(2)
  209. const emailEle = $("#email");
  210. //输入框不存在
  211. if (!emailEle) {
  212. return
  213. }
  214. //电子邮箱地址
  215. const email = emailEle.val()
  216. if (!email || email == "") {
  217. emailEle.focus();
  218. return
  219. }
  220. const dp = {
  221. form: {
  222. mobile: email,
  223. smsCode: "hjhjhj",
  224. isParty: false,
  225. partyData: []
  226. }
  227. };
  228. $.ajax({
  229. url: "/index/captcha/sendEmailCaptcha",
  230. headers: {platform: 'H5'},
  231. dataType: 'json',
  232. data: JSON.stringify(dp),
  233. type: "POST",
  234. contentType: 'application/json',
  235. success: function (obj) {
  236. console.log(obj);
  237. //return false;
  238. //注册成功后进入
  239. if (obj.status === 200 || obj.status === '200') {
  240. const parentElement = $(this).parent();
  241. //parentElement.hide(0)
  242. //parentElement.siblings().hide(0)
  243. $("#emailVerifyModel").show(0).siblings().hide(0)
  244. $("#emailAddress").text(email)
  245. } else {
  246. showToast(obj.message)
  247. }
  248. }
  249. })
  250. //验证成功后进入
  251. });
  252. //验证电子邮箱(注册)
  253. $("#verifyButton").on(tap, function (event) {
  254. event.preventDefault();
  255. const vcodeEle = $("#vcode");
  256. //输入框不存在
  257. if (!vcodeEle) {
  258. return
  259. }
  260. //验证码
  261. const vcode = vcodeEle.val()
  262. if (!vcode || vcode == "") {
  263. vcodeEle.focus();
  264. return
  265. }
  266. console.log("验证码", vcode)//checkEmailCaptcha
  267. const emailEle = $("#email");
  268. const email = emailEle.val()
  269. const dp = {
  270. mobile: email,
  271. smsCode: vcode,
  272. };
  273. $.ajax({
  274. url: "/index/captcha/checkEmailCaptcha",
  275. headers: {platform: 'H5'},
  276. dataType: 'json',
  277. data: JSON.stringify(dp),
  278. type: "POST",
  279. contentType: 'application/json',
  280. success: function (obj) {
  281. //console.log(obj);
  282. //验证成功后进入
  283. if (obj.status === 200 || obj.status === '200') {
  284. const parentElement = $(this).parent();
  285. //parentElement.hide(0)
  286. //parentElement.siblings().hide(0)
  287. $("#setPasswordModel").show(0).siblings().hide(0)
  288. } else {
  289. showToast(obj.message)
  290. //showToast('Please try again later.')
  291. }
  292. }
  293. })
  294. });
  295. //确认注册(注册)
  296. $("#registerButton").on(tap, function (event) {
  297. event.preventDefault();
  298. const emailEle = $("#email");
  299. const vcodeEle = $("#vcode");
  300. const regPasswordEle = $("#regPassword");
  301. const email = emailEle.val()
  302. const vcode = vcodeEle.val()
  303. const password = regPasswordEle.val()
  304. if (!password || password == "") {
  305. regPasswordEle.focus();
  306. return
  307. }
  308. var dp = {
  309. form: {
  310. mobile: email,
  311. smsCode: vcode,
  312. password: password,
  313. isParty: false,
  314. partyData: []
  315. }
  316. }
  317. $.ajax({
  318. url: "/index/passport/register",
  319. headers: {platform: 'H5'},
  320. dataType: 'json',
  321. data: JSON.stringify(dp),
  322. type: "POST",
  323. contentType: 'application/json',
  324. success: function (obj) {
  325. //注册成功后进入
  326. if (obj.status === 200 || obj.status === '200') {
  327. // console.log("注册成功",obj.data.token)
  328. // localStorage.setItem(VAPES_TOKEN, obj.data.token)
  329. showToast('Register successful')
  330. setTimeout(function () {
  331. window.location.replace('/index/passport/login.html');
  332. }, 2000)
  333. } else {
  334. showToast(obj.message)
  335. }
  336. }
  337. })
  338. })
  339. function jumpPage() {
  340. const url = window.location.href;
  341. // 判断是否存在 return 参数 && 可返回上一页
  342. if (url.indexOf('return') != -1 && window.history.length > 1) {
  343. // 返回上一页
  344. window.history.back();
  345. } else {
  346. //跳转首页
  347. window.location.replace('/index/index/index.html');
  348. }
  349. }
  350. })
  351. </script>
  352. </html>