gameHeader.blade.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. <div class="haomabox">
  2. <div class="waring" id="waringbox">
  3. <div class="flash"><i></i></div>
  4. 温馨提示:因网络问题,开奖结果会有延迟,所以您需要去喝杯咖啡等一会儿!
  5. </div>
  6. <div style="text-align: center;padding-top: 10px;" class="haomaqu" :id="type=='cqSsc'|| type=='kuai3'?'cqSsc':type=='klsf'|| type=='xync'?'klsf':type=='shiyix5'?'shiyix5':'pk10'" :style="loading?styleObject:'height: 132px'">
  7. <div v-if="loading" style="display: inline-block">
  8. <img src="/Public/Home/stati/img/icon/piaog.gif">
  9. </div>
  10. <div v-else class="haomaqu_resetPar">
  11. <div class="haomaqul">
  12. <div class="haomaline">
  13. <div class="haomaimg">
  14. <img src="/Public/Home/stati/img/{$imgname}.png" alt="{$gamename}"/>
  15. </div>
  16. <div class="numberqu">
  17. <div class="nuberqutit">
  18. <span class="ssc">{$gamename}</span>第
  19. <span class="preDrawIssue" v-text="gameData.info_no||0"></span> 期开奖号码
  20. </div>
  21. {literal}
  22. <div class="kajianhaoPar" :style="this.type=='klsf'?'height: auto':''">
  23. <div :class="type=='kuai3'?'kajianhaod':'kajianhao'" :id="type=='shiyix5'||type=='kuai3'?'jnumber':''" :style="type=='kuai3'?'width: 100%':''">
  24. <ul :id="type=='pk10'?'jnumber':''" :class="type=='pk10'?'numberbox':type=='kuai3'?'kajianhao':''" :style="type=='kuai3'?'overflow: initial;width: 80%':this.type=='klsf'?'margin-bottom: 5px':''">
  25. <li v-if="type=='cqSsc'|| type=='klsf'|| type=='gxkl10'" :style="this.type=='klsf'?'margin-right: 15px':''" class="numblueHead" v-for="x in codes" v-text="x.number||0"></li>
  26. <li v-if="type=='shiyix5'" class="numblueHead" v-for="x in codes" v-text="x.number>9?x.number:'0'+parseInt(x.number||0)"></li>
  27. <li v-if="type=='kuai3'" :class="'num'+x.number" v-for="x in codes"></li>
  28. <li v-if="type=='pk10'" :class="x.number===10?'numsm10':`numsm0${x.number}`" v-for="x in codes"></li>
  29. <li v-if="type=='xync'" :class="x.number>9?`ncnum${x.number}`:`numsm0${x.number}`" v-for="x in codes"></li>
  30. </ul>
  31. <p :class="dao_time>60?'':'disabled'" class="btn_tz" v-text="dao_time>60?'立即投注':'已封盘'" @click="linkBetting"></p>
  32. </div>
  33. </div>
  34. {/literal}
  35. <!--<div class="line drawCountDiv" style="width: 100%">已开<span class="drawCount"></span>期,还有<span class="sdrawCount"></span>期</div>-->
  36. </div>
  37. </div>
  38. </div>
  39. <div class="haomaqur">
  40. <div class="haomaqur_l">
  41. <div class="line linetit">距<span class="nextIssue" v-text="parseInt(gameData.info_no)+1||0"></span>期开奖仅有</div>
  42. <div class="line linetime" id="timebox">
  43. <div v-if="dao_time==0" class="opening opentyle" style="display: block">开奖中...</div>
  44. <div v-else class="cuttime">
  45. <span class="bgtime minute" v-text="dao_time>60?parseInt(dao_time / 60)>9?parseInt(dao_time / 60):'0'+parseInt(dao_time / 60):'00'">00</span>
  46. <span>分</span>
  47. <span class="bgtime second" v-text="dao_time>60?parseInt(dao_time % 60)>9?parseInt(dao_time % 60):'0'+parseInt(dao_time % 60):dao_time>9?dao_time:'0'+dao_time">00</span>
  48. <span>秒</span>
  49. </div>
  50. </div>
  51. </div>
  52. <div class="line margt20" @click="creatVideo">
  53. <img src="/Public/Home/stati/img/video/{$imgname}.png" />
  54. </div>
  55. </div>
  56. </div>
  57. <!--开奖视频-->
  58. <div id="sign_box">
  59. </div>
  60. </div>
  61. </div>
  62. <div class="haomaqu_resetSon">
  63. <div class="homaline2">
  64. <div class="margt30 li_td">
  65. <ul class="zoushimap">
  66. {foreach $menu as $m}
  67. <li {if $type == $m.code} class="checked" {/if}><a href="{$m.url}?game={$game}">{$m.title}</a></li>
  68. {/foreach}
  69. </ul>
  70. </div>
  71. </div>
  72. </div>
  73. {literal}
  74. <script>
  75. window.app= new Vue({
  76. el: '.haomaqu',
  77. data() {
  78. return {
  79. msg: 'Welcome to Your Vue.js App',
  80. gameType:'cqssc',
  81. gameData:[],
  82. predata:[], //提供iframe数据调用
  83. nowdata:[], //提供iframe数据调用
  84. nowGameData:'',//存储开奖号码
  85. dao_time:0,//倒计时
  86. kjTimer:'',
  87. loading:true,
  88. styleObject: {
  89. textAlign: 'center',
  90. lineHeight: '142px'
  91. },
  92. isOpen:false, // 是否正在开奖
  93. }
  94. },
  95. watch: {
  96. },
  97. computed: {
  98. codes(){
  99. let codes=this.nowGameData.split(','),newCodes=[];
  100. for (let x=0;x<codes.length;x++){
  101. newCodes.push({number:parseInt(codes[x])})
  102. }
  103. return newCodes
  104. },
  105. type() {
  106. for (var t = [["xy28", "gpxy28", "jnd28", "gpjnd28", "dj28", "hs28", "tw28", "xjp28"], //'幸运28(返利)','幸运28(高赔)','加拿大28(返利)','加拿大28(高赔)','东京新版28','韩式新版28','台湾宾果28','新加坡新版28',
  107. ["shssl"],//'上海时时乐'
  108. ["pk10", "jspk10", "bjpk10","hlsmpk10","hlftpk10"],//'三分PK拾','北京PK拾','欢乐赛马'
  109. ["cqSsc", "threessc", "cqssc", "tjssc", "xjssc", "hljssc", "ynssc", "ynhnssc"],// '三分时时彩','重庆时时彩','天津时时彩','新疆时时彩','黑龙江时时彩','云南时时彩','越南河内时时彩'
  110. ["xync", "cqkl10"],//'幸运农场',
  111. ["gxkl10"],//'广西快乐十分'
  112. ["klsf", "tjkl10", "gdkl10"], //'天津快乐十分','广东快乐10',
  113. ["shiyix5", "gd11x5", "sd11x5", "js11x5", "hlj11x5"], //'广东11选5','山东11选5','江苏11选5','黑龙江11选5',
  114. ["fc3d", "fc3d", "pl3"], //'福彩3D','排列3',
  115. ["kuai3", "jskuai3", "gxkuai3", "shkuai3", "ahkuai3", "hbkuai3"],//'江苏快三','广西快三','上海快三','安徽快三','湖北快三',
  116. ["sixhc", "sixlottery", "sfsixlottery"],//'香港六合彩',
  117. ["ssq"]//'双色球',
  118. ], r = 0, o = t.length; r < o; r++) {
  119. for (var s = 0, i = t[r].length; s < i; s++) {
  120. if (this.gameType == t[r][s]) return t[r][0]
  121. }
  122. }
  123. }
  124. },
  125. created() {
  126. this.gameType=this.request('game');
  127. console.log(this.type);
  128. this.preGame();
  129. },
  130. mounted() {
  131. },
  132. methods: {
  133. boxSelection() {
  134. console.log(11)
  135. },
  136. preGame() {
  137. $.ajax({
  138. url: '/api-gameCenter/preGame?game_name='+this.gameType,
  139. type: "GET",
  140. data: '',
  141. success: (r)=> {
  142. if(!!r.data.codes) this.cleaAnimate();
  143. this.predata = r.data,this.loading=false,this.gameData=r.data,this.nowGameData=!!r.data.codes?r.data.codes:this.type=='kuai3'?'1,2,3':this.type=='klsf'&&this.gameType!='gxkl10'?'1,2,3,4,5,6,7,8':this.type=='pk10'?'1,2,3,4,5,6,7,8,9,10':'1,2,3,4,5',this.nowGame();
  144. },
  145. error: (r)=> {
  146. this.preGame()
  147. },
  148. });
  149. },
  150. nowGame() {
  151. $.ajax({
  152. url: '/api-gameCenter/nowGame?game_name='+this.gameType,
  153. type: "GET",
  154. data: '',
  155. success:(r)=> {
  156. this.nowdata = r.data,this.dao_time=r.data.dao_time,clearInterval(this.kjTimer);
  157. r.data.info_no==this.gameData.info_no?this.isOpen=true:this.isOpen=false;
  158. if(!this.isOpen) this.cleaAnimate();
  159. this.kjTimer=setInterval(()=>{
  160. this.dao_time>0?(()=>{this.dao_time --;if(!this.gameData.codes)this.preGame()})():(clearInterval(this.kjTimer),this.dao_time=0,this.cleaAnimate(),this.animate(),setTimeout(()=>{this.preGame()},3000))
  161. },1000)
  162. // this.isOpen?(this.cleaAnimate(),this.animate()):this.cleaAnimate()
  163. },
  164. error: (data)=> {
  165. this.nowGame()
  166. },
  167. });
  168. },
  169. request(name) {
  170. const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`, 'i'),
  171. r = window.location.search.substr(1).match(reg);
  172. return r !== null ? unescape(r[2]) : null;
  173. },
  174. animate(){
  175. switch (this.type) {
  176. case 'cqSsc':
  177. animateMethod.sscAnimate('#cqSsc');
  178. break;
  179. case 'kuai3':
  180. animateMethod.kuai3Animate('#cqSsc');
  181. break;
  182. case 'klsf':
  183. animateMethod.sscAnimate('#klsf');
  184. break;
  185. case 'shiyix5':
  186. animateMethod.sscAnimate('#shiyix5');
  187. break;
  188. case 'pk10':
  189. animateMethod.pk10OpenAnimate('#pk10');
  190. break;
  191. case 'xync':
  192. animateMethod.cqncAnimate('#klsf');
  193. break;
  194. }
  195. },
  196. cleaAnimate(){
  197. switch (this.type) {
  198. case 'xync':
  199. clearInterval(animateID['#klsf']); //清除动画
  200. delete animateID['#klsf'];
  201. break;
  202. case 'klsf':
  203. clearInterval(animateID['#klsf']); //清除动画
  204. delete animateID['#klsf'];
  205. break;
  206. case 'pk10':
  207. clearInterval(animateID['#pk10']); //清除动画
  208. delete animateID['#pk10'];
  209. break;
  210. case 'shiyix5':
  211. clearInterval(animateID['#shiyix5']); //清除动画
  212. delete animateID['#shiyix5'];
  213. break;
  214. default:
  215. clearInterval(animateID['#cqSsc']); //清除动画
  216. delete animateID['#cqSsc'];
  217. }
  218. },
  219. linkBetting(){ //${window.location.host}
  220. window.open(`http://${window.location.host}/Home-${this.gameType}/index`)
  221. },
  222. creatVideo(){
  223. this.nowGame();
  224. let sign_box=document.querySelector('#sign_box'),gameName=document.querySelector('.ssc').innerText
  225. sign_box.innerHTML=`<div class="modal-mask"></div>
  226. <div class="modal-wrap" style="">
  227. <div class="modal" style="width: 800px;margin-top: -270px;background: #202020">
  228. <div class="modal-content" style="height: auto">
  229. <div class="modal-body" style="padding: 0;">
  230. <div class="sign-box" style="width: 800px;height: auto">
  231. <div class="modal-close" style="width: 100%;height: 50px;">
  232. <p style="height: 50px;line-height: 50px;text-align: left;margin-left: 10px">${gameName}</p>
  233. <a class="sign-close" onclick="document.querySelector('#sign_box').innerHTML=''"></a>
  234. </div>
  235. <div style="margin-top: 50px;width: 800px">
  236. <iframe name="gameFrame" ref="iframe" src="/Public/games/${this.type}/index.html?${this.gameType}" width="100%" scrolling="no" frameborder="0" @load="load" id="iframe"></iframe>
  237. </div>
  238. </div>
  239. </div>
  240. </div>
  241. </div>
  242. </div>`
  243. }
  244. },
  245. destroyed() {
  246. }
  247. })
  248. </script>
  249. {/literal}