index.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  5. <!-- viewport的<meta>标签,这个标签可以修改在大部分的移动设备上面的显示,为了确保适当的绘制和触屏缩放。-->
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>大转盘抽奖</title>
  8. <link rel="stylesheet" href="css/demo.css" type="text/css"/>
  9. <link rel="stylesheet" type="text/css" href="css/style.css">
  10. <script type="text/javascript" src="js/jquery.min.js"></script>
  11. <script type="text/javascript" src="js/awardRotate.js"></script>
  12. <script type="text/javascript" src="js/scroll.js"></script>
  13. <script type="text/javascript" src="./js/jqhttpsdk.js"></script>
  14. <script type="text/javascript" src="./js/jquery_cookie_min.js"></script>
  15. <style type="text/css">
  16. .quan {
  17. width: 100%;
  18. height: 100%;
  19. background: rgba(0, 0, 0, 0.5);
  20. position: absolute;
  21. top: 0px;
  22. z-index: 99;
  23. display: none;
  24. }
  25. .quan1 {
  26. width: 300px;
  27. height: 200px;
  28. background: #fff;
  29. margin: 0 auto;
  30. margin-top: 300px;
  31. border-radius: 10px;
  32. border: 4px solid #666;
  33. }
  34. .qian2 {
  35. float: left;
  36. height: 50px;
  37. width: 196px;
  38. line-height: 50px;
  39. text-align: center;
  40. font-size: 18px;
  41. margin-top: 50px;
  42. background: #fff;
  43. border: 2px solid #fff100;
  44. margin-left: 50px;
  45. }
  46. .queding {
  47. float: left;
  48. width: 70px;
  49. height: 24px;
  50. background: #fff;
  51. border: 2px solid #ccc;
  52. border-radius: 5px;
  53. margin-top: 50px;
  54. margin-left: 115px;
  55. text-align: center;
  56. line-height: 24px;
  57. cursor: pointer;
  58. }
  59. .dis {
  60. color: #000;
  61. font-size: 100px;
  62. font-weight: bold;
  63. position: absolute;
  64. left: 50%;
  65. margin-left: -90px;
  66. top: 100px;
  67. line-height: 30px;
  68. }
  69. .xianjin {
  70. width: 280px;
  71. height: 50px;
  72. background: #fff;
  73. position: absolute;
  74. border-radius: 10px;
  75. top: 248px;
  76. left: 200px;
  77. line-height: 50px;
  78. text-align: center;
  79. }
  80. .jjc {
  81. width: 500px;
  82. height: 500px;
  83. background: url(images/paoma1.gif);
  84. background-size: 100% 100%;
  85. position: absolute;
  86. top: -250px;
  87. left: 500%;
  88. font-size: 35px;
  89. line-height: 700px;
  90. text-align: center;
  91. color: #fff;
  92. }
  93. </style>
  94. </head>
  95. <body>
  96. <div style="display:none; text-align:center;margin:10px 0; font:normal 14px/24px 'MicroSoft YaHei';">
  97. <p>适用浏览器:360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗. 不支持IE8及以下浏览器。</p>
  98. </div>
  99. <!--进来抽奖的界面-->
  100. <div style="display: none;" id="drawTab">
  101. <div class="turntable-bg">
  102. <div class="pointer"><img src="images/pointer.png" alt="pointer" style="width:100%;height:100%;"></div>
  103. <div class="rotate"><img id="rotate" src="images/turntable.png" alt="turntable" style="width:100%;height:100%;">
  104. </div>
  105. </div>
  106. <div style="display: none;" id="to_drawTab">
  107. <div style='padding-top: 30px;text-align: center;color: white;'>用户名:<span id="username"></span>
  108. <a onclick='DetailsTab()'>中奖记录</a>
  109. </div>
  110. </div>
  111. <div id="loginFormID" style="display: block;text-align: center; color: #90807b;">
  112. <div style="margin-top: 40px;"><input type="text" id="phone" maxlength="11" placeholder="输入手机号码"
  113. value="" style="height: 30px; width: 250px;"><span
  114. id="get_code" style="position: absolute;right: 75px;line-height: 30px;">获取验证码</span></div>
  115. <div style="margin-top: 10px;"><input type="text" id="code" maxlength="6" placeholder="验证码"
  116. style="height: 30px; width: 250px;"></div>
  117. <div style="margin-top: 10px; margin-bottom: 15px;" id="go_ok">
  118. <div id="loginId"
  119. style="margin: 0 auto; color:white; line-height: 30px; background: #f39c4c; height: 30px; width: 120px; border-radius: 5px;">
  120. 获取抽奖机会
  121. </div>
  122. </div>
  123. <div style=" font-size: 15px; color: white;">
  124. <p style="margin-bottom: 5px;">—————— 活动细则 ———————</p>
  125. <div id="" style="text-align: left; margin-left: 30px;">
  126. <p style="margin-bottom: 5px;">每个手机用户可有抽奖机会一次</p>
  127. <p>中奖用户需填写联系信息(姓名、电话、收货地址),以方便邮寄给您。</p>
  128. </div>
  129. </div>
  130. </div>
  131. </div>
  132. <!--中奖的界面-->
  133. <div style="display: none;" id="detailsTab">
  134. <div style="color: white; font-size: 30px; margin-top: 30px; text-align: center; margin-bottom: 50px;">恭喜您! 您中奖了
  135. </div>
  136. <div style="text-align: center;">
  137. <div style="margin-top: 10px;">
  138. <input type="text" id="rec_name" placeholder="输入收货人姓名" style="height: 30px; width: 250px;">
  139. </div>
  140. <div style="margin-top: 10px;">
  141. <input type="text" id="rec_phone" placeholder="输入收货人手机" style="height: 30px; width: 250px;">
  142. </div>
  143. <div style="margin-top: 10px;">
  144. <input type="text" id="rec_addr" placeholder="输入收货人地址" style="height: 30px; width: 250px;">
  145. </div>
  146. <div style="margin-top: 20px; margin-bottom: 50px;" id="go_site">
  147. <div style="margin: 0 auto; color:white; line-height: 30px; background: #f39c4c; height: 30px; width: 70px; border-radius: 5px;">
  148. 提交
  149. </div>
  150. </div>
  151. <div style=" font-size: 15px; color: white;">
  152. <p style="margin-bottom: 5px;">—————— 活动细则 ———————</p>
  153. <div id="" style="text-align: left; margin-left: 30px;">
  154. <p style="margin-bottom: 5px;">每个手机用户可有抽奖机会一次</p>
  155. <p>中奖用户需填写联系信息(姓名、电话、收货地址),以方便邮寄给您。</p>
  156. </div>
  157. </div>
  158. </div>
  159. </div>
  160. <script type="text/javascript">
  161. $(document).ready(function () {
  162. $('.list_lh li:even').addClass('lieven');
  163. });
  164. </script>
  165. <script type="text/javascript">
  166. setTimeout('$("#drawTab").fadeIn(1500);', 10);
  167. let draw_status = 0; //中奖状态
  168. function setCookie(key, val, seconds) {
  169. var date = new Date();
  170. date.setTime(date.getTime() + seconds * 1000);//只能这么写,10表示10秒钟
  171. console.log(key)
  172. console.log(val)
  173. $.cookie(key, val, {expires: date});
  174. }
  175. function InitIndex() {
  176. let cookie = $.cookie('access_token');
  177. if (cookie) {
  178. let post_data = {'token': cookie}
  179. // 初始化目录
  180. $.postJSON(
  181. http_ip_prot + 'lottery/index', JSON.stringify(post_data),
  182. function (data) {
  183. if (data['code'] == 0) {
  184. console.log('初始化成功')
  185. console.log(data['res'])
  186. draw_status = data['res']['status']; //中奖状态
  187. let phone_list = data['res']['phone_list']; //已经中奖的手机号码
  188. let user = data['res']['user']; // 当前用户名
  189. let addr = data['res']['addr']; // 当前收货地址
  190. //$('#loginFormID').hide()
  191. $("#username").html(user);
  192. $("#loginFormID").hide();
  193. $('#to_drawTab').show();
  194. DetailsTab();
  195. let addrJson = JSON.parse(addr)
  196. console.log(addrJson)
  197. if (addrJson) {
  198. $("#rec_name").val(addrJson['rec_name'])
  199. $("#rec_phone").val(addrJson['rec_phone'])
  200. $("#rec_addr").val(addrJson['rec_addr'])
  201. }
  202. } else {
  203. alert(data['msg'])
  204. }
  205. }
  206. );
  207. } else {
  208. //没有token唤醒登录界面
  209. }
  210. }
  211. function DetailsTab() {
  212. if (draw_status == 1 || draw_status == 2) {
  213. alert('恭喜你');
  214. $('#drawTab').hide();
  215. $('#detailsTab').show();
  216. } else {
  217. alert('很遗憾,你没有中奖');
  218. }
  219. }
  220. //获取验证码方法
  221. function authCode() {
  222. let phone = $('#phone').val();
  223. if (phone == "") {
  224. alert("手机不可以为空!")
  225. } else if (!/^1[0-9]{10}$/.test(phone)) {
  226. alert("手机不正确!")
  227. } else {
  228. //调用获取验证码
  229. }
  230. let post_data = {'phone': phone}
  231. // 初始化目录
  232. console.log(http_ip_prot)
  233. $.postJSON(
  234. http_ip_prot + 'lottery/authcode', JSON.stringify(post_data),
  235. function (data) {
  236. if (data['code'] == 0) {
  237. alert(data['msg'])
  238. } else {
  239. alert(data['msg'])
  240. }
  241. }
  242. );
  243. }
  244. // 登录
  245. function doAuthLogin() {
  246. let phone = $('#phone').val()
  247. let authcode = $('#code').val()
  248. let post_data = {
  249. 'phone': phone,
  250. 'authcode': authcode
  251. }
  252. $.postJSON(
  253. http_ip_prot + 'lottery/login', JSON.stringify(post_data),
  254. function (data) {
  255. if (data['code'] == 0) {
  256. //登录成功
  257. setCookie('access_token', data['res']['access_token'], data['res']['access_expire'])
  258. setCookie('refresh_token', data['res']['refresh_token'], data['res']['refresh_expire'])
  259. InitIndex()
  260. } else {
  261. alert(data['msg'])
  262. }
  263. }
  264. );
  265. }
  266. //抽奖
  267. function doDraw() {
  268. let token = $.cookie('access_token')
  269. let post_data = {
  270. 'token': token
  271. }
  272. $.postJSON(
  273. http_ip_prot + 'lottery/draw', JSON.stringify(post_data),
  274. function (data) {
  275. if (data['code'] == 0) {
  276. //抽奖请求成功
  277. //中奖状态 1:c611,2:c612 ,3:不中奖
  278. let status = data['res']['status']
  279. if (status == 1) {
  280. console.log('中奖c611')
  281. } else if (status == 2) {
  282. console.log('中奖c612')
  283. } else if (status == 3) {
  284. console.log('很遗憾没有中奖')
  285. }
  286. doDrawRollAction(status)
  287. } else {
  288. alert(data['msg'])
  289. }
  290. },
  291. false,//异步
  292. );
  293. }
  294. //设置收货地址
  295. function setAddr() {
  296. let token = $.cookie('access_token')
  297. let rec_name = $('#rec_name').val()
  298. let rec_phone = $('#rec_phone').val()
  299. let rec_addr = $('#rec_addr').val()
  300. if (rec_addr && rec_phone && rec_addr) {
  301. let addr = JSON.stringify({
  302. 'rec_name': rec_name,
  303. 'rec_phone': rec_phone,
  304. 'rec_addr': rec_addr,
  305. });
  306. let post_data = {
  307. 'token': token,
  308. 'addr': addr
  309. };
  310. $.postJSON(
  311. http_ip_prot + 'lottery/setAddr', JSON.stringify(post_data),
  312. function (data) {
  313. if (data['code'] == 0) {
  314. //设置请求成功
  315. alert(data['msg'])
  316. } else {
  317. alert(data['msg'])
  318. }
  319. }
  320. );
  321. }
  322. }
  323. //获取验证码
  324. $('#get_code').click(function () {
  325. authCode()
  326. });
  327. //# 登录
  328. $('#loginId').click(function () {
  329. doAuthLogin()
  330. });
  331. //# 登录
  332. $('#go_site').click(function () {
  333. setAddr()
  334. });
  335. InitIndex()
  336. var bRotate = false;
  337. var rotateFn = function (awards, angles, txt) {
  338. bRotate = !bRotate;
  339. $('#rotate').stopRotate();
  340. $('#rotate').rotate({
  341. angle: 0,
  342. animateTo: angles + 1800,
  343. duration: 8000,
  344. callback: function () {
  345. //alert("¥" + txt);
  346. alert(txt)
  347. bRotate = !bRotate;
  348. }
  349. })
  350. };
  351. // 0 2 5 不中奖
  352. // 1 3 c612
  353. // 4 6 c611
  354. $('.pointer').click(function () {
  355. //var a = [0, 1, 2, 3, 4, 5, 6];
  356. doDraw()
  357. });
  358. function doDrawRollAction(status) {
  359. //抽奖值
  360. //var item = 0
  361. let rotate_data = {
  362. '1': [4, 6],
  363. '2': [1, 3],
  364. '3': [0, 2, 5],
  365. };
  366. let rotate = rotate_data[status]
  367. let item = rotate[Math.floor((Math.random() * rotate.length))];
  368. var a = [
  369. '很遗憾没中奖',
  370. '恭喜中奖c612',
  371. '很遗憾没中奖',
  372. '恭喜中奖c612',
  373. '恭喜中奖c611',
  374. '很遗憾没中奖',
  375. '恭喜中奖c611',
  376. ]
  377. //if (bRotate) return;
  378. switch (item) {
  379. case 0:
  380. //var angle = [26, 88, 137, 185, 235, 287, 337];
  381. rotateFn(0, 332, a[0]);
  382. var ss = Number($("#xianjin").val());
  383. var cc = ss + a[0];
  384. $("#xianjin").val(cc);
  385. setTimeout(function () {
  386. $(".xianjin").html(cc);
  387. }, 8000);
  388. $(".qian2").html(cc);
  389. break;
  390. case 1:
  391. //var angle = [88, 137, 185, 235, 287];
  392. rotateFn(1, 24, a[1]);
  393. var ss = Number($("#xianjin").val());
  394. var cc = ss + a[1];
  395. $("#xianjin").val(cc);
  396. setTimeout(function () {
  397. $(".xianjin").html(cc);
  398. }, 8000);
  399. $(".qian2").html(cc);
  400. break;
  401. case 2:
  402. //var angle = [137, 185, 235, 287];
  403. rotateFn(2, 77, a[2]);
  404. var ss = Number($("#xianjin").val());
  405. var cc = ss + a[2];
  406. $("#xianjin").val(cc);
  407. setTimeout(function () {
  408. $(".xianjin").html(cc);
  409. }, 8000);
  410. $(".qian2").html(cc);
  411. break;
  412. case 3:
  413. //var angle = [137, 185, 235, 287];
  414. rotateFn(3, 129, a[3]);
  415. var ss = Number($("#xianjin").val());
  416. var cc = ss + a[3];
  417. $("#xianjin").val(cc);
  418. setTimeout(function () {
  419. $(".xianjin").html(cc);
  420. }, 8000);
  421. $(".qian2").html(cc);
  422. break;
  423. case 4:
  424. //var angle = [185, 235, 287];
  425. rotateFn(4, 180, a[4]);
  426. var ss = Number($("#xianjin").val());
  427. var cc = ss + a[4];
  428. $("#xianjin").val(cc);
  429. setTimeout(function () {
  430. $(".xianjin").html(cc);
  431. }, 8000);
  432. $(".qian2").html(cc);
  433. break;
  434. case 5:
  435. //var angle = [185, 235, 287];
  436. rotateFn(5, 231, a[5]);
  437. var ss = Number($("#xianjin").val());
  438. var cc = ss + a[5];
  439. $("#xianjin").val(cc);
  440. setTimeout(function () {
  441. $(".xianjin").html(cc);
  442. }, 8000);
  443. $(".qian2").html(cc);
  444. break;
  445. case 6:
  446. //var angle = [235, 287];
  447. rotateFn(6, 280, a[6]);
  448. var ss = Number($("#xianjin").val());
  449. var cc = ss + a[6];
  450. $("#xianjin").val(cc);
  451. setTimeout(function () {
  452. $(".xianjin").html(cc);
  453. }, 8000);
  454. $(".qian2").html(cc);
  455. break;
  456. }
  457. }
  458. // 捕捉全局异常弹出
  459. </script>
  460. </body>
  461. </html>