logIn.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  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. if (obj.data.returnUri !== ''){
  199. window.location.replace(obj.data.returnUri);
  200. }else {
  201. window.location.replace('/index/index/index.html');
  202. }
  203. }, 2000)
  204. } else {
  205. showToast(obj.message)
  206. }
  207. }
  208. })
  209. });
  210. //继续(注册)
  211. $("#continueButton").on(tap, function (event) {
  212. event.preventDefault();
  213. console.log(2)
  214. const emailEle = $("#email");
  215. //输入框不存在
  216. if (!emailEle) {
  217. return
  218. }
  219. //电子邮箱地址
  220. const email = emailEle.val()
  221. if (!email || email == "") {
  222. emailEle.focus();
  223. return
  224. }
  225. const dp = {
  226. form: {
  227. mobile: email,
  228. smsCode: "hjhjhj",
  229. isParty: false,
  230. partyData: []
  231. }
  232. };
  233. $.ajax({
  234. url: "/index/captcha/sendEmailCaptcha",
  235. headers: {platform: 'H5'},
  236. dataType: 'json',
  237. data: JSON.stringify(dp),
  238. type: "POST",
  239. contentType: 'application/json',
  240. success: function (obj) {
  241. console.log(obj);
  242. //return false;
  243. //注册成功后进入
  244. if (obj.status === 200 || obj.status === '200') {
  245. showToast('Code has been sent!Please check your new mails.')
  246. const parentElement = $(this).parent();
  247. //parentElement.hide(0)
  248. //parentElement.siblings().hide(0)
  249. $("#emailVerifyModel").show(0).siblings().hide(0)
  250. $("#emailAddress").text(email)
  251. } else {
  252. showToast(obj.message)
  253. }
  254. }
  255. })
  256. //验证成功后进入
  257. });
  258. //验证电子邮箱(注册)
  259. $("#verifyButton").on(tap, function (event) {
  260. event.preventDefault();
  261. const vcodeEle = $("#vcode");
  262. //输入框不存在
  263. if (!vcodeEle) {
  264. return
  265. }
  266. //验证码
  267. const vcode = vcodeEle.val()
  268. if (!vcode || vcode == "") {
  269. vcodeEle.focus();
  270. return
  271. }
  272. console.log("验证码", vcode)//checkEmailCaptcha
  273. const emailEle = $("#email");
  274. const email = emailEle.val()
  275. const dp = {
  276. mobile: email,
  277. smsCode: vcode,
  278. };
  279. $.ajax({
  280. url: "/index/captcha/checkEmailCaptcha",
  281. headers: {platform: 'H5'},
  282. dataType: 'json',
  283. data: JSON.stringify(dp),
  284. type: "POST",
  285. contentType: 'application/json',
  286. success: function (obj) {
  287. //console.log(obj);
  288. //验证成功后进入
  289. if (obj.status === 200 || obj.status === '200') {
  290. const parentElement = $(this).parent();
  291. //parentElement.hide(0)
  292. //parentElement.siblings().hide(0)
  293. $("#setPasswordModel").show(0).siblings().hide(0)
  294. } else {
  295. showToast(obj.message)
  296. //showToast('Please try again later.')
  297. }
  298. }
  299. })
  300. });
  301. //确认注册(注册)
  302. $("#registerButton").on(tap, function (event) {
  303. event.preventDefault();
  304. const emailEle = $("#email");
  305. const vcodeEle = $("#vcode");
  306. const regPasswordEle = $("#regPassword");
  307. const email = emailEle.val()
  308. const vcode = vcodeEle.val()
  309. const password = regPasswordEle.val()
  310. if (!password || password == "") {
  311. regPasswordEle.focus();
  312. return
  313. }
  314. var dp = {
  315. form: {
  316. mobile: email,
  317. smsCode: vcode,
  318. password: password,
  319. isParty: false,
  320. partyData: []
  321. }
  322. }
  323. $.ajax({
  324. url: "/index/passport/register",
  325. headers: {platform: 'H5'},
  326. dataType: 'json',
  327. data: JSON.stringify(dp),
  328. type: "POST",
  329. contentType: 'application/json',
  330. success: function (obj) {
  331. //注册成功后进入
  332. if (obj.status === 200 || obj.status === '200') {
  333. // console.log("注册成功",obj.data.token)
  334. // localStorage.setItem(VAPES_TOKEN, obj.data.token)
  335. showToast('Register successful')
  336. setTimeout(function () {
  337. window.location.replace('/index/passport/login.html');
  338. }, 2000)
  339. } else {
  340. showToast(obj.message)
  341. }
  342. }
  343. })
  344. })
  345. function jumpPage() {
  346. const url = window.location.href;
  347. // 判断是否存在 return 参数 && 可返回上一页
  348. if (url.indexOf('return') != -1 && window.history.length > 1) {
  349. // 返回上一页
  350. window.history.back();
  351. } else {
  352. //跳转首页
  353. window.location.replace('/index/index/index.html');
  354. }
  355. }
  356. })
  357. </script>
  358. </html>