index.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  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. $.postJSON(
  233. http_ip_prot + 'lottery/authcode', JSON.stringify(post_data),
  234. function (data) {
  235. if (data['code'] == 0) {
  236. } else {
  237. alert(data['msg'])
  238. }
  239. }
  240. );
  241. }
  242. // 登录
  243. function doAuthLogin() {
  244. let phone = $('#phone').val()
  245. let authcode = $('#code').val()
  246. let post_data = {
  247. 'phone': phone,
  248. 'authcode': authcode
  249. }
  250. $.postJSON(
  251. http_ip_prot + 'lottery/login', JSON.stringify(post_data),
  252. function (data) {
  253. if (data['code'] == 0) {
  254. //登录成功
  255. setCookie('access_token', data['res']['access_token'], data['res']['access_expire'])
  256. setCookie('refresh_token', data['res']['refresh_token'], data['res']['refresh_expire'])
  257. InitIndex()
  258. } else {
  259. alert(data['msg'])
  260. }
  261. }
  262. );
  263. }
  264. //抽奖
  265. function doDraw() {
  266. let token = $.cookie('access_token')
  267. let post_data = {
  268. 'token': token
  269. }
  270. $.postJSON(
  271. http_ip_prot + 'lottery/draw', JSON.stringify(post_data),
  272. function (data) {
  273. if (data['code'] == 0) {
  274. //抽奖请求成功
  275. //中奖状态 1:c611,2:c612 ,3:不中奖
  276. let status = data['res']['status']
  277. if (status == 1) {
  278. console.log('中奖c611')
  279. } else if (status == 2) {
  280. console.log('中奖c612')
  281. } else if (status == 3) {
  282. console.log('很遗憾没有中奖')
  283. }
  284. doDrawRollAction(status)
  285. } else {
  286. alert(data['msg'])
  287. }
  288. },
  289. false,//异步
  290. );
  291. }
  292. //设置收货地址
  293. function setAddr() {
  294. let token = $.cookie('access_token')
  295. let rec_name = $('#rec_name').val()
  296. let rec_phone = $('#rec_phone').val()
  297. let rec_addr = $('#rec_addr').val()
  298. if (rec_addr && rec_phone && rec_addr) {
  299. let addr = JSON.stringify({
  300. 'rec_name': rec_name,
  301. 'rec_phone': rec_phone,
  302. 'rec_addr': rec_addr,
  303. });
  304. let post_data = {
  305. 'token': token,
  306. 'addr': addr
  307. };
  308. $.postJSON(
  309. http_ip_prot + 'lottery/setAddr', JSON.stringify(post_data),
  310. function (data) {
  311. if (data['code'] == 0) {
  312. //设置请求成功
  313. alert(data['msg'])
  314. } else {
  315. alert(data['msg'])
  316. }
  317. }
  318. );
  319. }
  320. }
  321. //获取验证码
  322. $('#get_code').click(function () {
  323. authCode()
  324. });
  325. //# 登录
  326. $('#loginId').click(function () {
  327. doAuthLogin()
  328. });
  329. //# 登录
  330. $('#go_site').click(function () {
  331. setAddr()
  332. });
  333. InitIndex()
  334. var bRotate = false;
  335. var rotateFn = function (awards, angles, txt) {
  336. bRotate = !bRotate;
  337. $('#rotate').stopRotate();
  338. $('#rotate').rotate({
  339. angle: 0,
  340. animateTo: angles + 1800,
  341. duration: 8000,
  342. callback: function () {
  343. //alert("¥" + txt);
  344. alert(txt)
  345. bRotate = !bRotate;
  346. }
  347. })
  348. };
  349. // 0 2 5 不中奖
  350. // 1 3 c612
  351. // 4 6 c611
  352. $('.pointer').click(function () {
  353. //var a = [0, 1, 2, 3, 4, 5, 6];
  354. doDraw()
  355. });
  356. function doDrawRollAction(status) {
  357. //抽奖值
  358. //var item = 0
  359. let rotate_data = {
  360. '1': [4, 6],
  361. '2': [1, 3],
  362. '3': [0, 2, 5],
  363. };
  364. let rotate = rotate_data[status]
  365. let item = rotate[Math.floor((Math.random() * rotate.length))];
  366. var a = [
  367. '很遗憾没中奖',
  368. '恭喜中奖c612',
  369. '很遗憾没中奖',
  370. '恭喜中奖c612',
  371. '恭喜中奖c611',
  372. '很遗憾没中奖',
  373. '恭喜中奖c611',
  374. ]
  375. //if (bRotate) return;
  376. switch (item) {
  377. case 0:
  378. //var angle = [26, 88, 137, 185, 235, 287, 337];
  379. rotateFn(0, 332, a[0]);
  380. var ss = Number($("#xianjin").val());
  381. var cc = ss + a[0];
  382. $("#xianjin").val(cc);
  383. setTimeout(function () {
  384. $(".xianjin").html(cc);
  385. }, 8000);
  386. $(".qian2").html(cc);
  387. break;
  388. case 1:
  389. //var angle = [88, 137, 185, 235, 287];
  390. rotateFn(1, 24, a[1]);
  391. var ss = Number($("#xianjin").val());
  392. var cc = ss + a[1];
  393. $("#xianjin").val(cc);
  394. setTimeout(function () {
  395. $(".xianjin").html(cc);
  396. }, 8000);
  397. $(".qian2").html(cc);
  398. break;
  399. case 2:
  400. //var angle = [137, 185, 235, 287];
  401. rotateFn(2, 77, a[2]);
  402. var ss = Number($("#xianjin").val());
  403. var cc = ss + a[2];
  404. $("#xianjin").val(cc);
  405. setTimeout(function () {
  406. $(".xianjin").html(cc);
  407. }, 8000);
  408. $(".qian2").html(cc);
  409. break;
  410. case 3:
  411. //var angle = [137, 185, 235, 287];
  412. rotateFn(3, 129, a[3]);
  413. var ss = Number($("#xianjin").val());
  414. var cc = ss + a[3];
  415. $("#xianjin").val(cc);
  416. setTimeout(function () {
  417. $(".xianjin").html(cc);
  418. }, 8000);
  419. $(".qian2").html(cc);
  420. break;
  421. case 4:
  422. //var angle = [185, 235, 287];
  423. rotateFn(4, 180, a[4]);
  424. var ss = Number($("#xianjin").val());
  425. var cc = ss + a[4];
  426. $("#xianjin").val(cc);
  427. setTimeout(function () {
  428. $(".xianjin").html(cc);
  429. }, 8000);
  430. $(".qian2").html(cc);
  431. break;
  432. case 5:
  433. //var angle = [185, 235, 287];
  434. rotateFn(5, 231, a[5]);
  435. var ss = Number($("#xianjin").val());
  436. var cc = ss + a[5];
  437. $("#xianjin").val(cc);
  438. setTimeout(function () {
  439. $(".xianjin").html(cc);
  440. }, 8000);
  441. $(".qian2").html(cc);
  442. break;
  443. case 6:
  444. //var angle = [235, 287];
  445. rotateFn(6, 280, a[6]);
  446. var ss = Number($("#xianjin").val());
  447. var cc = ss + a[6];
  448. $("#xianjin").val(cc);
  449. setTimeout(function () {
  450. $(".xianjin").html(cc);
  451. }, 8000);
  452. $(".qian2").html(cc);
  453. break;
  454. }
  455. }
  456. // 捕捉全局异常弹出
  457. function handleError(msg,url,l)
  458. {
  459. var txt="There was an error on this page.\n\n"
  460. txt+="Error: " + msg + "\n"
  461. txt+="URL: " + url + "\n"
  462. txt+="Line: " + l + "\n\n"
  463. txt+="Click OK to continue.\n\n"
  464. alert(txt)
  465. return true
  466. }
  467. window.onerror = handleError
  468. </script>
  469. </body>
  470. </html>