1 line
12 KiB
JSON
1 line
12 KiB
JSON
{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { computed } from \"vue\";\nimport { useStore } from \"vuex\";\nexport default {\n name: \"OnLinePop\",\n props: {},\n setup() {\n const store = useStore();\n const showOnLine = computed(() => store.state.config.showOnLine);\n const Type = computed(() => store.state.config.$Type);\n const Lang = computed(() => store.state.config.$lang);\n let list = [];\n const getRndInteger = (min, max) => {\n return Math.floor(Math.random() * (max - min)) + min;\n };\n const genUid = () => {\n const length = 9;\n const soupLength = genUid.soup_.length;\n let id = [];\n for (let i = 0; i < length; i++) {\n id[i] = genUid.soup_.charAt(Math.random() * soupLength);\n }\n return `EZ` + id.join(\"\");\n };\n genUid.soup_ = \"0123456789\";\n for (let i = 0; i < 20; i++) {\n const time = getRndInteger(5, 20);\n const money = getRndInteger(4000, 99999);\n const drop = getRndInteger(1, 99) / 100;\n const item = {\n name: genUid(),\n head: getRndInteger(1, 7),\n frame: getRndInteger(1, 5),\n time: time,\n win: parseInt(time * 3.14 * 800) + drop,\n money: (money + drop + parseInt(time * 3.14 * 800)).toFixed(2)\n };\n list.push(item);\n }\n const compare = (key, desc) => {\n //key: 用于排序的数组的key值\n //desc: 布尔值,为true是升序排序,false是降序排序\n return function (a, b) {\n let value1 = a[key];\n let value2 = b[key];\n if (desc == true) {\n // 升序排列\n return value1 - value2;\n } else {\n // 降序排列\n return value2 - value1;\n }\n };\n };\n list = list.sort(compare(\"money\", false));\n const closeOnLine = () => {\n store.commit(\"config/showOnLine\");\n };\n return {\n Type,\n Lang,\n list,\n showOnLine,\n closeOnLine\n };\n }\n};","map":{"version":3,"names":["computed","useStore","name","props","setup","store","showOnLine","state","config","Type","$Type","Lang","$lang","list","getRndInteger","min","max","Math","floor","random","genUid","length","soupLength","soup_","id","i","charAt","join","time","money","drop","item","head","frame","win","parseInt","toFixed","push","compare","key","desc","a","b","value1","value2","sort","closeOnLine","commit"],"sources":["/Users/li/Desktop/work/work2/OG/GamePortrait/src/components/OnLinePop.vue"],"sourcesContent":["<template>\n <Transition\n name=\"custom-classes\"\n enter-active-class=\"animate__animated animate__zoomIn\"\n leave-active-class=\"animate__animated animate__zoomOut\"\n >\n <div class=\"online-pop\" v-if=\"showOnLine\">\n <div class=\"online-view\">\n <div class=\"title\">\n <small class=\"small\">{{ Lang[Type].nearly_20 }}</small>\n {{ Lang[Type].player_list }}\n <van-icon class=\"close\" name=\"cross\" @click=\"closeOnLine\" />\n </div>\n <div class=\"view\">\n <div class=\"list\" v-for=\"(item, index) in list\" :key=\"item\">\n <div class=\"ranking\" :class=\"[Type]\">\n {{ index != 0 ? index + 1 : \"\" }}\n </div>\n <div class=\"head\" :class=\"[`head_${item.head}`]\">\n <span class=\"frame\" :class=\"[`frame_${item.frame}`]\"></span>\n </div>\n <div class=\"box\">\n <div class=\"name\">{{ item.name }}</div>\n <div class=\"money\">{{ item.money }}</div>\n </div>\n <div class=\"box\">\n <div class=\"item down\">\n <span class=\"lab\">{{ Lang[Type].place_bet }}</span>\n <span>{{ item.win }}</span>\n </div>\n <div class=\"item time\">\n <span class=\"lab\">{{ Lang[Type].to_win }}</span>\n <span>{{ item.time }}{{ Lang[Type].games }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </Transition>\n</template>\n\n<script>\nimport { computed } from \"vue\"\nimport { useStore } from \"vuex\"\nexport default {\n name: \"OnLinePop\",\n props: {},\n setup() {\n const store = useStore()\n const showOnLine = computed(() => store.state.config.showOnLine)\n const Type = computed(() => store.state.config.$Type)\n const Lang = computed(() => store.state.config.$lang)\n let list = []\n const getRndInteger = (min, max) => {\n return Math.floor(Math.random() * (max - min)) + min\n }\n const genUid = () => {\n const length = 9\n const soupLength = genUid.soup_.length\n let id = []\n for (let i = 0; i < length; i++) {\n id[i] = genUid.soup_.charAt(Math.random() * soupLength)\n }\n return `EZ` + id.join(\"\")\n }\n genUid.soup_ = \"0123456789\"\n\n for (let i = 0; i < 20; i++) {\n const time = getRndInteger(5, 20)\n const money = getRndInteger(4000, 99999)\n const drop = getRndInteger(1, 99) / 100\n const item = {\n name: genUid(),\n head: getRndInteger(1, 7),\n frame: getRndInteger(1, 5),\n time: time,\n win: parseInt(time * 3.14 * 800) + drop,\n money: (money + drop + parseInt(time * 3.14 * 800)).toFixed(2)\n }\n list.push(item)\n }\n const compare = (key, desc) => {\n //key: 用于排序的数组的key值\n //desc: 布尔值,为true是升序排序,false是降序排序\n return function (a, b) {\n let value1 = a[key]\n let value2 = b[key]\n if (desc == true) {\n // 升序排列\n return value1 - value2\n } else {\n // 降序排列\n return value2 - value1\n }\n }\n }\n list = list.sort(compare(\"money\", false))\n const closeOnLine = () => {\n store.commit(\"config/showOnLine\")\n }\n return { Type, Lang, list, showOnLine, closeOnLine }\n }\n}\n</script>\n<style lang=\"scss\" scoped>\n.online-pop {\n position: absolute;\n transform: rotateX(0deg);\n z-index: 36;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n .online-view {\n width: 13.5rem;\n border: 1px solid #ddd;\n margin-top: 1.5rem;\n border-radius: 0.5rem;\n background: #fff;\n position: relative;\n overflow: hidden;\n left: 50%;\n margin-left: -6.75rem;\n padding-bottom: 0rem;\n font-size: 0.35rem;\n .title {\n font-size: 0.5rem;\n font-weight: 600;\n color: #333;\n text-align: center;\n width: 100%;\n margin-top: 0.5rem;\n margin-bottom: 0.52rem;\n position: relative;\n z-index: 2;\n transform: rotateX(0deg);\n .small {\n position: absolute;\n left: 0.4rem;\n font-size: 0.36rem;\n top: 0.1rem;\n }\n .close {\n position: absolute;\n right: 0.25rem;\n top: -0.2rem;\n font-size: 1rem;\n color: #999;\n z-index: 2;\n &:active {\n opacity: 0.6;\n }\n }\n }\n .view {\n height: 7.3rem;\n overflow-y: auto;\n }\n .list {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.3rem 0.4rem;\n border-bottom: 1px solid #eee;\n &:first-child .ranking {\n background-image: url(\"~@/assets/images/cn_no_1.png\");\n &.en,\n &.kr,\n &.yn {\n background-image: url(\"~@/assets/images/en_no_1.png\");\n padding-left: 2rem;\n }\n &.tw {\n background-image: url(\"~@/assets/images/tw_no_1.png\");\n }\n }\n .ranking {\n padding-left: 1.7rem;\n background: url(\"~@/assets/images/cn_no_x.png\") left center no-repeat;\n background-size: 2rem auto;\n height: 1rem;\n line-height: 1rem;\n font-size: 0.65rem;\n font-weight: bold;\n color: #e2900a;\n -webkit-text-stroke: 1px #000;\n text-stroke: 1px #000;\n min-width: 1.1rem;\n &.en,\n &.kr,\n &.yn {\n background-image: url(\"~@/assets/images/en_no_x.png\");\n padding-left: 2rem;\n }\n &.tw {\n background-image: url(\"~@/assets/images/tw_no_x.png\");\n }\n }\n .head {\n width: 1.1rem;\n height: 1.1rem;\n background: url(\"~@/assets/images/user.png\") no-repeat;\n background-size: 1.1rem auto;\n position: relative;\n margin: 0.2rem;\n\n @for $i from 1 through 7 {\n &.head_#{$i} {\n background-position: 0 -#{1.12 * $i}rem;\n }\n }\n .frame {\n width: 1.6rem;\n height: 1.5rem;\n position: absolute;\n top: -0.21rem;\n left: -0.25rem;\n background: url(\"~@/assets/images/frame.png\") no-repeat;\n background-size: 1.6rem auto;\n @for $i from 1 through 5 {\n &.frame_#{$i} {\n background-position: 0 -#{1.6 * $i}rem;\n }\n }\n }\n }\n .box {\n min-width: 3.2rem;\n .name {\n font-size: 0.38rem;\n font-weight: 600;\n color: #333;\n line-height: 1;\n }\n .money {\n border: 1px solid #eeefef;\n color: #c56718;\n border-radius: 0.5rem;\n margin-top: 0.2rem;\n padding: 0.1rem 0.1rem 0.1rem 0.7rem;\n line-height: 1;\n background: url(\"~@/assets/images/icon/money.png\") no-repeat 0.13rem\n center;\n background-size: 0.4rem auto;\n }\n }\n .down {\n color: #c56718;\n font-weight: bold;\n .lab {\n background: linear-gradient(#f0ab5b, #c56718);\n color: #fff;\n padding: 0.05rem 0.1rem;\n line-height: 1;\n border-radius: 0.05rem;\n font-weight: normal;\n margin-right: 0.1rem;\n }\n }\n .time {\n color: #338d5f;\n font-weight: bold;\n margin-top: 0.2rem;\n .lab {\n background: linear-gradient(#3caf81, #338d5f);\n color: #fff;\n padding: 0.05rem 0.1rem;\n line-height: 1;\n border-radius: 0.05rem;\n font-weight: normal;\n margin-right: 0.1rem;\n }\n }\n }\n }\n}\n</style>\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]} |