Home.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907
  1. <template>
  2. <view class="root">
  3. <view class="uni-margin-wrap">
  4. <swiper class="swiper" indicator-dots circular autoplay interval=3000>
  5. <swiper-item v-for="(item,index) in aSwipers" :key="index" @click="clickItem(index)">
  6. <image class="swiper-image" mode="aspectFit" :src="aSwipers[index]"></image>
  7. </swiper-item>
  8. </swiper>
  9. </view>
  10. <view class="category">
  11. <view class="game-center" @click="gameCenter">
  12. <image mode="scaleToFill" src="/static/home/GameCenter.png"></image>
  13. <text>游戏大厅</text>
  14. </view>
  15. <view class="bbeng" @click="bbeng">
  16. <image mode="scaleToFill" src="/static/home/BB.png"></image>
  17. <text>体感游戏</text>
  18. </view>
  19. <view class="shang-wan" @click="shangWan">
  20. <image mode="scaleToFill" src="/static/home/ShanWan.png"></image>
  21. <text>闪玩在线</text>
  22. </view>
  23. <view class="game-wallet" @click="gameWallet">
  24. <image mode="scaleToFill" src="/static/home/GameWallet.png"></image>
  25. <text>游戏钱包</text>
  26. </view>
  27. </view>
  28. <view class="recommend">
  29. <view class="title">
  30. <text class="today">热门推荐</text>
  31. <view class="more" @click="recommendMore">
  32. <text>更多推荐</text>
  33. <image class='left-arrow' mode="scaleToFill" src="../../static/home/LeftArrow.png"></image>
  34. </view>
  35. </view>
  36. <view class="waterfall-flow">
  37. <view class="left">
  38. <image mode="widthFix" :src="aLeftPic1" @click="leftPic1"></image>
  39. <image mode="widthFix" :src="aLeftPic2" @click="leftPic2"></image>
  40. </view>
  41. <view class="right">
  42. <image mode="heightFix" :src="aRightPic" @click="rightPic"></image>
  43. </view>
  44. </view>
  45. </view>
  46. <view class="today-recommend">
  47. <view class="title">
  48. <text class="today">今天玩什么</text>
  49. <view class="more" @click="todayRecommendMore">
  50. <text>更多推荐</text>
  51. <image class='left-arrow' mode="scaleToFill" src="../../static/home/LeftArrow.png"></image>
  52. </view>
  53. </view>
  54. <!-- <view class="items" v-for="(item,index) in aTodayRecArr" :key="index" @click="clickTodayRecItem(index)"> -->
  55. <view class="items" v-for="(item,index) in aTodayRecArr" :key="index">
  56. <view class="content">
  57. <view class="pic">
  58. <image mode="widthFix" :src='item.icon'></image>
  59. </view>
  60. <view class="detail">
  61. <view class="detailRow1">
  62. <view class="title">{{item.name}}</view>
  63. <!-- <view class="tips" v-for="(item1,index1) in item.tip" :key="index1">
  64. <view class="tip">{{item1.tip}}</view> -->
  65. <!-- <view class="tip">{{item.tip}}</view> -->
  66. <!-- <view class="tip" v-for="(itemTip,tipIndex) in item.tip" :key="tipIndex" :background-color="itemTip.color"> -->
  67. <view class="tip" v-for="(itemTip,tipIndex) in item.tip" :key="tipIndex" :style="{'background-color':itemTip.color}">
  68. {{itemTip.tip}}
  69. </view>
  70. <!-- <view class="tip">{{itemTip.tip}}</view> -->
  71. </view>
  72. <view class="detailRow2">
  73. <view class="type">{{item.type}}</view>
  74. <view class="verticalLine">|</view>
  75. <!-- <text> | </text> -->
  76. <view class="player">{{item.player}}</view>
  77. <text>人在玩</text>
  78. </view>
  79. <!-- <text class="intro">{{item[2]}}</text> -->
  80. <view class="intro">{{item.sub}}</view>
  81. </view>
  82. <!-- <view class="left-arrow">
  83. <image mode="scaleToFill" src="/static/home/LeftArrow.png"></image>
  84. </view> -->
  85. <view class="buttom-box">
  86. <button class="play-btn" @click="clickTodayRecItem(index)">开始玩</button>
  87. </view>
  88. </view>
  89. <view class="itemLine"></view>
  90. <!-- <view class="buttom-box">
  91. <button class="play-btn">开始玩</button>
  92. </view> -->
  93. </view>
  94. </view>
  95. <!-- 单个游戏推荐弹窗 -->
  96. <div v-show="popup">
  97. <div class="dialog">
  98. <image src="../../static/home/btnClose.png" id="closeButton" @click="closepopup"></image>
  99. <image mode="widthFix" src="../../static/home/4.jpg" id="showImage" @click="clickHomePop"></image>
  100. </div>
  101. <!--这里是半透明背景层-->
  102. <div class="over" @click="closepopup"></div>
  103. </div>
  104. <!-- 敬请期待弹窗 -->
  105. <div v-show="showTipSwitch">
  106. <div class="dialog">
  107. <view id="tipToBeOpened">敬请期待</view>
  108. </div>
  109. <!--这里是半透明背景层-->
  110. <div class="over" @click="closeTip"></div>
  111. </div>
  112. </view>
  113. </template>
  114. <script>
  115. import md5 from "../../common/md5.js";
  116. export default {
  117. data() {
  118. return {
  119. aSwipers: [],
  120. aLeftPic1: '',
  121. aLeftPic2: '',
  122. aRightPic: '',
  123. aTodayRecArr: [{
  124. "icon": "http://img.m3guo.com/group3/M00/00/F1/wKgMHF3yJQWADJkDAAGX3Q-p0QU945.gif",
  125. "name": "贪婪洞窟",
  126. "tip": [{
  127. "tip": "精品",
  128. "color": "#000000",
  129. }],
  130. "type": "策略",
  131. "player": "122079",
  132. "sub": "地牢探险Roguelike",
  133. }],
  134. //弹窗相关属性
  135. popup: 0,
  136. showTipSwitch: 0,
  137. gameIconArr: [
  138. '../../static/home/Icon1.jpg',
  139. '../../static/home/Icon2.jpg',
  140. '../../static/home/Icon3.jpg',
  141. '../../static/home/Icon4.jpg',
  142. ],
  143. //tip对应颜色
  144. colorOfTip: {
  145. "精品": "#a173ff",
  146. "热门": "#cd000b",
  147. "最新": "#c27547",
  148. "礼包": "#d1a866",
  149. }
  150. }
  151. },
  152. onLoad() {
  153. // 防止返回按钮
  154. // if (uni.getSystemInfoSync().platform === 'devtools') {
  155. // console.log('H5')
  156. // history.pushState(null, null, document.URL);
  157. // window.addEventListener('popstate', function() {
  158. // history.pushState(null, null, document.URL);
  159. // });
  160. // } else {
  161. // console.log('运行在手机中')
  162. // }
  163. history.pushState(null, null, document.URL);
  164. window.addEventListener('popstate', function() {
  165. history.pushState(null, null, document.URL);
  166. });
  167. let gameList = getApp().globalData.gameList;
  168. if (gameList === '') {
  169. uni.navigateTo({
  170. url: '/pages/index/index',
  171. });
  172. return;
  173. }
  174. this.aSwipers = ['../../static/home/1.jpg',
  175. '../../static/home/2.png',
  176. '../../static/home/3.jpg',
  177. '../../static/home/4.jpg'
  178. ];
  179. this.aLeftPic1 = '../../static/home/LeftPic1.jpeg';
  180. this.aLeftPic2 = '../../static/home/LeftPic2.gif';
  181. this.aRightPic = '../../static/home/RightPic.png';
  182. this.showpopup();
  183. this.aTodayRecArr = [];
  184. for (let i = 0; i < 4; i++) {
  185. let playerNum = (gameList[7 + i].player) ? (gameList[7 + i].player) : 0;
  186. // playerNum = !playerNum ? 0 : playerNum;
  187. let str = Math.floor(playerNum / 1000) / 10 + "万";
  188. let tip = [];
  189. if (gameList[7 + i].tip) {
  190. tip.push({
  191. "tip": gameList[7 + i].tip,
  192. "color": this.colorOfTip[gameList[7 + i].tip],
  193. });
  194. }
  195. let info = {
  196. // "icon": gameList[7 + i].icon,
  197. "icon": this.gameIconArr[i],
  198. "name": gameList[7 + i].name,
  199. "tip": tip,
  200. "type": gameList[7 + i].type,
  201. "player": str,
  202. "sub": gameList[7 + i].sub,
  203. }
  204. this.aTodayRecArr.push(info);
  205. }
  206. uni.hideLoading();
  207. },
  208. methods: {
  209. //请求游戏列表
  210. getGameList(callback) {
  211. let url = 'https://www.b-beng.com/game_center/getGameList?'
  212. uni.request({
  213. url: url,
  214. method: 'GET',
  215. success: (res) => {
  216. callback(res);
  217. },
  218. fail: (res) => {
  219. console.log("fail:====" + res)
  220. }
  221. })
  222. },
  223. //请求游戏列表回调
  224. callbackGameList(res) {
  225. // this.data_category = res;
  226. console.log("请求游戏列表回调", res)
  227. this.aTodayRecArr = [];
  228. let gameList = res.data.list;
  229. for (let i = 0; i < 4; i++) {
  230. let playerNum = (gameList[7 + i].player) ? (gameList[7 + i].player) : 0;
  231. // playerNum = !playerNum ? 0 : playerNum;
  232. let str = Math.floor(playerNum / 1000) / 10 + "万";
  233. let tip = [];
  234. if (gameList[7 + i].tip) {
  235. tip.push({
  236. "tip": gameList[7 + i].tip,
  237. "color": this.colorOfTip[gameList[7 + i].tip],
  238. })
  239. }
  240. let info = {
  241. // "icon": gameList[7 + i].icon,
  242. "icon": this.gameIconArr[i],
  243. "name": gameList[7 + i].name,
  244. "tip": tip,
  245. "type": gameList[7 + i].type,
  246. "player": str,
  247. "sub": gameList[7 + i].sub,
  248. }
  249. this.aTodayRecArr.push(info);
  250. }
  251. },
  252. getQueryString: function(name) {
  253. const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  254. const search = window.location.search.split('?')[1] || '';
  255. const r = search.match(reg) || [];
  256. return r[2];
  257. },
  258. goToGame: function() {
  259. console.log("进入游戏页");
  260. //原始数据
  261. const params = {
  262. channel: '14633',
  263. openid: getApp().globalData.openid, //'sdsj2020',
  264. // openid: 'sdsj2020',
  265. time: parseInt(new Date().getTime().toString().substring(0, 10)),
  266. nick: getApp().globalData.openid.substring(0, 3) + '***' + getApp().globalData.openid.substring(7, 11),
  267. avatar: 'https://img.m3guo.com/group4/M00/00/5A/wKgMHF_ODXGAfBHbAADCVYIwtio762.png',
  268. sex: 1,
  269. phone: '',
  270. };
  271. // 参与url的数据
  272. const paramsToUrl = {
  273. channel: params.channel,
  274. openid: encodeURIComponent(params.openid),
  275. time: params.time,
  276. nick: encodeURIComponent(params.nick),
  277. avatar: encodeURIComponent(params.avatar),
  278. sex: params.sex,
  279. phone: params.phone,
  280. };
  281. //参与sign数据
  282. const paramsToSign = {
  283. channel: params.channel,
  284. openid: encodeURIComponent(params.openid),
  285. time: params.time,
  286. nick: params.nick,
  287. avatar: params.avatar,
  288. sex: params.sex,
  289. phone: params.phone,
  290. }
  291. const appkey = '0262d5626aa24065b39eb3c185af910e'
  292. const string =
  293. `channel=${paramsToSign.channel}&openid=${paramsToSign.openid}&time=${paramsToSign.time}&nick=${paramsToSign.nick}&avatar=${paramsToSign.avatar}&sex=${paramsToSign.sex}&phone=${paramsToSign.phone}${appkey}`;
  294. // console.log('string=',string);
  295. let sign = md5.hex_md5(string).toLowerCase();
  296. // console.log('sign=',sign);
  297. //url
  298. let home_url = 'http://www.shandw.com/auth/';
  299. let sdw_simple = 6;
  300. let sdw_ld = 1;
  301. let gid = getApp().globalData.gid;
  302. let url =
  303. `${home_url}?channel=${paramsToUrl.channel}&openid=${paramsToUrl.openid}&time=${paramsToUrl.time}&nick=${paramsToUrl.nick}&avatar=${paramsToUrl.avatar}&sex=${paramsToUrl.sex}&phone=${paramsToUrl.phone}&sign=${sign}&sdw_simple=${sdw_simple}&sdw_ld=${sdw_ld}&gid=${gid}`;
  304. window.location.href = url;
  305. // uni.navigateTo({
  306. // url: '/pages/Game/Game',
  307. // });
  308. },
  309. clickItem: function(index) {
  310. // console.log(index);
  311. getApp().globalData.gid = getApp().globalData.gameList[index].id;
  312. this.goToGame();
  313. },
  314. gameCenter: function(e) {
  315. // console.log(e);
  316. this.showTip();
  317. },
  318. bbeng: function(e) {
  319. // console.log(e);
  320. // uni.navigateTo({
  321. // url: '../BBeng/BBeng',
  322. // });
  323. this.showTip();
  324. },
  325. shangWan: function(e) {
  326. console.log("进入闪电玩页");
  327. //原始数据
  328. const params = {
  329. channel: '14633',
  330. openid: getApp().globalData.openid, //'sdsj2020',
  331. // openid: 'sdsj2020',
  332. time: parseInt(new Date().getTime().toString().substring(0, 10)),
  333. nick: getApp().globalData.openid.substring(0, 3) + '***' + getApp().globalData.openid.substring(7, 11),
  334. avatar: 'https://img.m3guo.com/group4/M00/00/5A/wKgMHF_ODXGAfBHbAADCVYIwtio762.png',
  335. sex: 1,
  336. phone: '',
  337. };
  338. // 参与url的数据
  339. const paramsToUrl = {
  340. channel: params.channel,
  341. openid: encodeURIComponent(params.openid),
  342. time: params.time,
  343. nick: encodeURIComponent(params.nick),
  344. avatar: encodeURIComponent(params.avatar),
  345. sex: params.sex,
  346. phone: params.phone,
  347. };
  348. //参与sign数据
  349. const paramsToSign = {
  350. channel: params.channel,
  351. openid: encodeURIComponent(params.openid),
  352. time: params.time,
  353. nick: params.nick,
  354. avatar: params.avatar,
  355. sex: params.sex,
  356. phone: params.phone,
  357. }
  358. const appkey = '0262d5626aa24065b39eb3c185af910e'
  359. const string =
  360. `channel=${paramsToSign.channel}&openid=${paramsToSign.openid}&time=${paramsToSign.time}&nick=${paramsToSign.nick}&avatar=${paramsToSign.avatar}&sex=${paramsToSign.sex}&phone=${paramsToSign.phone}${appkey}`;
  361. // console.log('string=',string);
  362. let sign = md5.hex_md5(string).toLowerCase();
  363. // console.log('sign=',sign);
  364. //url
  365. let home_url = 'http://www.shandw.com/auth/';
  366. let sdw_simple = 2;
  367. let sdw_ld = 1;
  368. let url =
  369. `${home_url}?channel=${paramsToUrl.channel}&openid=${paramsToUrl.openid}&time=${paramsToUrl.time}&nick=${paramsToUrl.nick}&avatar=${paramsToUrl.avatar}&sex=${paramsToUrl.sex}&phone=${paramsToUrl.phone}&sign=${sign}&sdw_simple=${sdw_simple}&sdw_ld=${sdw_ld}`;
  370. console.log('url=', url);
  371. window.location.href = url;
  372. },
  373. gameWallet: function(e) {
  374. // console.log(e);
  375. this.showTip();
  376. },
  377. recommendMore: function(e) {
  378. console.log(e);
  379. this.shangWan();
  380. },
  381. leftPic1: function(e) {
  382. // console.log(e);
  383. getApp().globalData.gid = getApp().globalData.gameList[4].id;
  384. this.goToGame();
  385. },
  386. leftPic2: function(e) {
  387. // console.log(e);
  388. getApp().globalData.gid = getApp().globalData.gameList[5].id;
  389. this.goToGame();
  390. },
  391. rightPic: function(e) {
  392. // console.log(e);
  393. getApp().globalData.gid = getApp().globalData.gameList[6].id;
  394. this.goToGame();
  395. },
  396. todayRecommendMore: function(e) {
  397. // console.log(e);
  398. this.shangWan();
  399. },
  400. clickTodayRecItem: function(index) {
  401. // console.log(index);
  402. getApp().globalData.gid = getApp().globalData.gameList[7 + index].id;
  403. this.goToGame();
  404. },
  405. //打开活动规则页面
  406. showpopup() {
  407. this.popup = 1;
  408. },
  409. //关闭活动规则页面
  410. closepopup() {
  411. this.popup = 0;
  412. },
  413. //打开敬请期待
  414. showTip() {
  415. this.showTipSwitch = 1;
  416. },
  417. //关闭敬请期待
  418. closeTip() {
  419. this.showTipSwitch = 0;
  420. },
  421. //点击首页推荐的那个游戏
  422. clickHomePop() {
  423. getApp().globalData.gid = getApp().globalData.gameList[3].id;
  424. this.goToGame();
  425. },
  426. },
  427. // onNavigationBarButtonTap() {
  428. // console.log("点击了自定义按钮");
  429. // },
  430. }
  431. </script>
  432. <style>
  433. .root {
  434. /* position:fixed; */
  435. width: 100%;
  436. height: 100%;
  437. display: flex;
  438. flex-direction: column;
  439. align-items: center;
  440. justify-content: center;
  441. /* border:1px solid blue; */
  442. }
  443. .uni-margin-wrap {
  444. width: 90%;
  445. height: 100%;
  446. margin-top: 10rpx;
  447. /* border:1px solid blue; */
  448. }
  449. .swiper {
  450. margin-top: -124rpx;
  451. height: 400rpx;
  452. /* border:1px solid blue; */
  453. }
  454. .swiper-item {
  455. /* display: block; */
  456. /* line-height: 400rpx; */
  457. /* text-align: center; */
  458. /* border:1px solid blue; */
  459. }
  460. /*图片宽度设置100% ,高度300upx(设为auto图片无法显示)*/
  461. .swiper-image {
  462. width: 100%;
  463. /* height: 400rpx; */
  464. /* display: block; //默认是inline-block 会有几px的空白 */
  465. border: none;
  466. /* border:1px solid blue; */
  467. }
  468. .category {
  469. width: 100%;
  470. height: 200rpx;
  471. display: flex;
  472. flex-direction: row;
  473. align-items: center;
  474. justify-content: center;
  475. /* border:1px solid red; */
  476. }
  477. .category view {
  478. width: 230rpx;
  479. height: 100rpx;
  480. display: flex;
  481. flex-direction: column;
  482. align-items: center;
  483. justify-content: space-around;
  484. /* border:1px solid red; */
  485. }
  486. .category image {
  487. width: 62rpx;
  488. height: 62rpx;
  489. }
  490. .category text {
  491. color: #BBBBBB;
  492. font-size: 20rpx;
  493. font-weight: 700;
  494. }
  495. /* recommend */
  496. .recommend {
  497. width: 100%;
  498. display: flex;
  499. flex-direction: column;
  500. align-items: center;
  501. justify-content: center;
  502. /* border:1px solid red; */
  503. }
  504. .recommend .title {
  505. width: 90%;
  506. /* height:62rpx; */
  507. display: flex;
  508. flex-direction: row;
  509. align-items: center;
  510. justify-content: space-between;
  511. /* border:1px solid red; */
  512. }
  513. .recommend .title .today {
  514. /* color: #BBBBBB; */
  515. font-size: 40rpx;
  516. font-weight: 700;
  517. /* margin-bottom: 50rpx; */
  518. }
  519. .recommend .title .more {
  520. display: flex;
  521. flex-direction: row;
  522. align-items: center;
  523. justify-content: space-between;
  524. /* border:1px solid blue; */
  525. }
  526. .recommend .title .more text {
  527. color: #BBBBBB;
  528. font-size: 20rpx;
  529. font-weight: 700;
  530. /* border:1px solid red; */
  531. }
  532. .recommend .title .more .left-arrow {
  533. width: 20rpx;
  534. height: 20rpx;
  535. /* border:1px solid red; */
  536. }
  537. .recommend .waterfall-flow {
  538. width: 90%;
  539. height: 360rpx;
  540. margin-top: 50rpx;
  541. display: flex;
  542. flex-direction: row;
  543. /* align-items: center; */
  544. /* justify-content: space-between; */
  545. /* border: 1px solid red; */
  546. }
  547. .recommend .waterfall-flow .left {
  548. /* width: 68%; */
  549. /* height: 90%; */
  550. width: 500rpx;
  551. display: flex;
  552. flex-direction: column;
  553. /* align-items: center; */
  554. /* justify-content: space-between; */
  555. /* border:1px solid blue; */
  556. }
  557. /* .left{
  558. width: 49%;
  559. height: 100%;
  560. display: flex;
  561. flex-direction: column;
  562. justify-content: space-between;
  563. } */
  564. .recommend .waterfall-flow .left image {
  565. width: 100%;
  566. height: 200rpx;
  567. margin-bottom: 22rpx;
  568. border-radius: 10rpx;
  569. /* border:1px solid red; */
  570. }
  571. .recommend .waterfall-flow .right {
  572. /* width: 36%;
  573. height: 80%; */
  574. width: 200rpx;
  575. /* margin-right: 0rpx; */
  576. margin-left: 22rpx;
  577. /* border:1px solid blue; */
  578. }
  579. .recommend .waterfall-flow .right image {
  580. /* width: 190rpx; */
  581. /* height: 100%; */
  582. height: 339rpx;
  583. border-radius: 10rpx;
  584. /* border:1px solid red; */
  585. }
  586. .today-recommend {
  587. width: 100%;
  588. margin-top: 50rpx;
  589. display: flex;
  590. flex-direction: column;
  591. align-items: center;
  592. justify-content: center;
  593. /* border:1rpx solid red; */
  594. }
  595. .today-recommend .title {
  596. width: 90%;
  597. /* height:62rpx; */
  598. display: flex;
  599. flex-direction: row;
  600. align-items: center;
  601. justify-content: space-between;
  602. /* border:1px solid red; */
  603. }
  604. .today-recommend .title .today {
  605. /* color: #BBBBBB; */
  606. font-size: 40rpx;
  607. font-weight: 700;
  608. margin-bottom: 50rpx;
  609. }
  610. .today-recommend .title .more {
  611. display: flex;
  612. flex-direction: row;
  613. align-items: center;
  614. justify-content: space-between;
  615. margin-bottom: 50rpx;
  616. /* border:1px solid blue; */
  617. }
  618. .today-recommend .title .more text {
  619. color: #BBBBBB;
  620. font-size: 20rpx;
  621. font-weight: 700;
  622. /* border:1px solid red; */
  623. }
  624. .today-recommend .title .more .left-arrow {
  625. width: 20rpx;
  626. height: 20rpx;
  627. /* border:1px solid red; */
  628. }
  629. .today-recommend .items {
  630. width: 90%;
  631. height: 180rpx;
  632. margin-top: 20rpx;
  633. display: flex;
  634. flex-direction: column;
  635. align-items: center;
  636. justify-content: flex-start;
  637. /* border: 1rpx solid #E5E5E5; */
  638. /* border-top: #007AFF;
  639. border-left: #4CD964;
  640. border-right: #007AFF; */
  641. }
  642. .itemLine {
  643. width: 680rpx;
  644. height: 2rpx;
  645. background-color: #E5E5E5;
  646. margin-top: 20rpx;
  647. }
  648. .today-recommend .items .content {
  649. width: 100%;
  650. display: flex;
  651. flex-direction: row;
  652. align-items: center;
  653. /* border:1px solid blue; */
  654. }
  655. .today-recommend .items .content .pic {
  656. /* margin: 10rpx; */
  657. /* border:1px solid green; */
  658. height: 160rpx;
  659. }
  660. .today-recommend .items .content .pic image {
  661. width: 160rpx;
  662. height: 160rpx;
  663. /* border:1px solid red; */
  664. border-radius: 10rpx;
  665. border-radius: 30rpx;
  666. }
  667. .today-recommend .items .content .detail {
  668. margin-left: 20rpx;
  669. margin-right: 10rpx;
  670. /* margin-top: 10rpx; */
  671. /* border: 1px solid red; */
  672. height: 140rpx;
  673. /* justify-content: space-between;
  674. display: flex;
  675. flex-direction: column; */
  676. }
  677. .today-recommend .items .content .detail .title {
  678. /* margin-top: 20rpx; */
  679. font-size: 36rpx;
  680. font-weight: 700;
  681. /* border: 1px solid red; */
  682. width: auto;
  683. color: #5f5f5f;
  684. }
  685. .today-recommend .items .content .detail .intro {
  686. color: #797979;
  687. font-size: 28rpx;
  688. text-align: left;
  689. font-weight: 600;
  690. /* border:1px solid red; */
  691. width: 340rpx;
  692. height: 140rpx;
  693. margin-top: 10rpx;
  694. }
  695. .today-recommend .items .content .detail .detailRow1 {
  696. display: flex;
  697. flex-direction: row;
  698. }
  699. .today-recommend .items .content .detail .detailRow2 {
  700. display: flex;
  701. flex-direction: row;
  702. margin-top: 15rpx;
  703. color: #797979;
  704. font-size: 27rpx;
  705. text-align: left;
  706. font-weight: 400;
  707. }
  708. .tips {
  709. /* display: flex;
  710. flex-direction: row;
  711. width: 140rpx;
  712. height: 62rpx;
  713. border: 1px solid red; */
  714. }
  715. .tip {
  716. /* border: 1px solid red; */
  717. /* background-color: #F37B1D; */
  718. align-self: center;
  719. margin-left: 6rpx;
  720. border-radius: 6rpx;
  721. color: #FFFFFF;
  722. /* color: #000000; */
  723. font-size: 24rpx;
  724. padding: 6rpx;
  725. width: auto;
  726. }
  727. .verticalLine {
  728. margin-left: 6rpx;
  729. margin-right: 6rpx;
  730. }
  731. .player {
  732. color: #F37B1D;
  733. font-style: italic;
  734. font-weight: 700;
  735. }
  736. /* .today-recommend .items .content .left-arrow {
  737. margin-right: 30rpx;
  738. display: flex;
  739. align-items: center;
  740. justify-content: center;
  741. border:1px solid red;
  742. }
  743. .today-recommend .items .content .left-arrow image {
  744. width: 20rpx;
  745. height: 20rpx;
  746. border:1px solid red;
  747. }
  748. */
  749. .today-recommend .items .buttom-box {
  750. width: 140rpx;
  751. height: 62rpx;
  752. /* border: 1px solid red; */
  753. }
  754. .today-recommend .items .buttom-box button {
  755. width: 140rpx;
  756. height: 62rpx;
  757. background: linear-gradient(180deg, #00C0FF 0%, #008CFF 100%);
  758. border-radius: 6px;
  759. font-size: 12px;
  760. color: #FFFFFF;
  761. /* margin-right: 30rpx; */
  762. /* margin-top: -20rpx; */
  763. display: flex;
  764. justify-content: center;
  765. align-items: center;
  766. /* border:1px solid red; */
  767. }
  768. .dialog {
  769. position: fixed;
  770. left: 50%;
  771. top: 50%;
  772. transform: translate(-50%, -50%);
  773. z-index: 1000;
  774. flex-direction: column;
  775. }
  776. #showImage {
  777. width: 343px;
  778. /* height: 198px; */
  779. border-radius: 20rpx;
  780. }
  781. .over {
  782. position: fixed;
  783. width: 100%;
  784. height: 100%;
  785. /* //透明度为70% */
  786. opacity: 0.7;
  787. filter: alpha(opacity=70);
  788. top: 0;
  789. left: 0;
  790. z-index: 999;
  791. background-color: #000000;
  792. }
  793. #closeButton {
  794. width: 33px;
  795. height: 33px;
  796. position: relative;
  797. float: right;
  798. margin-bottom: 10px;
  799. /* border:1px solid red; */
  800. }
  801. #tipToBeOpened {
  802. font-size: 40rpx;
  803. font-weight: bold;
  804. color: #ffffff;
  805. }
  806. </style>