|
|
@@ -1,127 +1,129 @@
|
|
|
-<template>
|
|
|
- <m_header></m_header>
|
|
|
- <div v-if="token">
|
|
|
- <div v-if="mineGame.length > 0">
|
|
|
- <div style="padding:15px">
|
|
|
- <MobList :gameLis="mineGame" :prefix="prefix"></MobList>
|
|
|
- </div>
|
|
|
- <div style="padding: 10px;background-color: #f7f7f7;" class="df aic jcc"
|
|
|
- v-if="params.page * params.pagesize <= mineGame.length">
|
|
|
- <el-button class="df aic jcc" plain @click="loadMore">更多</el-button>
|
|
|
- </div>
|
|
|
- <div v-else>
|
|
|
- <div class="df aic jcc" style="color: #999;height: 100px;font-size: 16px;">----- 没有更多数据了 -----
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <van-empty v-else description="No Data" />
|
|
|
- </div>
|
|
|
- <div v-else :style="{ height: viewWidth + 'px' }" class="df fdc aic jcc">
|
|
|
- <van-empty>
|
|
|
- <van-button color="#ed8c0f" @click="goLogin">去登录 >></van-button>
|
|
|
- </van-empty>
|
|
|
- </div>
|
|
|
-
|
|
|
- <van-back-top style="background-color: #ed8c0f;" />
|
|
|
- <!-- <m_footer></m_footer> -->
|
|
|
-</template>
|
|
|
-
|
|
|
-<script setup lang="ts">
|
|
|
-import { onMounted, ref, reactive } from 'vue'
|
|
|
-import { getMineGame } from '@/api/index'
|
|
|
-import { useRouter, useRoute } from 'vue-router'
|
|
|
-import Message from '@/utils/Message'
|
|
|
-import MobList from '@/components/MobList.vue';
|
|
|
-
|
|
|
-const router = useRouter()
|
|
|
-const route = useRoute()
|
|
|
-
|
|
|
-const mineGame: any = ref([])
|
|
|
-const prefix = ref<string>('')
|
|
|
-const total = ref<number>(0)
|
|
|
-const isLoading = ref<boolean>(true)
|
|
|
-const viewWidth = ref<number>(document.documentElement.clientHeight - 100)
|
|
|
-const userAccount = ref<string | null>(localStorage.getItem('account'))
|
|
|
-const token = ref<string | null>(localStorage.getItem('token'))
|
|
|
-
|
|
|
-interface params {
|
|
|
- page: number,
|
|
|
- pagesize: number,
|
|
|
- account: string | null
|
|
|
-}
|
|
|
-const params = reactive<params>({
|
|
|
- page: 1,
|
|
|
- pagesize: 10,
|
|
|
- account: userAccount.value
|
|
|
-})
|
|
|
-
|
|
|
-onMounted(() => {
|
|
|
- // 进入页面刷新一次
|
|
|
- if (token.value) {
|
|
|
- if (route.query.account || userAccount.value) {
|
|
|
- // if (location.href.indexOf("#reloaded") === -1) {
|
|
|
- // location.href = location.href + "#reloaded";
|
|
|
- // location.reload();
|
|
|
- // }
|
|
|
- getMyGame(params)
|
|
|
- } else {
|
|
|
- userAccount.value = ''
|
|
|
- }
|
|
|
- }
|
|
|
-})
|
|
|
-
|
|
|
-const getMyGame = async (params) => {
|
|
|
- // console.log('params', params);
|
|
|
- await getMineGame(params).then(res => {
|
|
|
- // console.log('res========>', res);
|
|
|
- if (res.data.code === 200 && res.data.data) {
|
|
|
- mineGame.value = mineGame.value.concat(res.data.data.lists)
|
|
|
- prefix.value = res.data.data.prefix
|
|
|
- total.value = res.data.data.total
|
|
|
- isLoading.value = false
|
|
|
- }
|
|
|
- }).catch(err => {
|
|
|
- Message.error(err.data)
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-// 加载更多
|
|
|
-const loadMore = () => {
|
|
|
- params.page += 1
|
|
|
- getMyGame(params)
|
|
|
-}
|
|
|
-
|
|
|
-const goLogin = () => {
|
|
|
- router.push({ path: 'm_login' })
|
|
|
-}
|
|
|
-
|
|
|
-</script>
|
|
|
-
|
|
|
-<style scoped lang="scss">
|
|
|
-.game_list {
|
|
|
- box-sizing: border-box;
|
|
|
- padding: 20px;
|
|
|
- background-color: #fff;
|
|
|
- margin: 0 auto 20px;
|
|
|
-
|
|
|
- h3 {
|
|
|
- font-size: 22px;
|
|
|
- font-weight: normal;
|
|
|
- height: 30px;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.more {
|
|
|
- margin: 20px auto 0;
|
|
|
- height: 60px;
|
|
|
- background-color: #f7f7f7;
|
|
|
-
|
|
|
- .el-button {
|
|
|
- width: 100px;
|
|
|
- height: 40px;
|
|
|
- background-color: transparent;
|
|
|
- color: #323332;
|
|
|
- border: 1px solid #c7c7c7;
|
|
|
- }
|
|
|
-}
|
|
|
+<template>
|
|
|
+ <m_header></m_header>
|
|
|
+ <div v-if="token">
|
|
|
+ <div v-if="mineGame.length > 0">
|
|
|
+ <div style="padding:15px">
|
|
|
+ <MobList :gameLis="mineGame" :prefix="prefix"></MobList>
|
|
|
+ </div>
|
|
|
+ <div style="padding: 10px;background-color: #f7f7f7;" class="df aic jcc"
|
|
|
+ v-if="params.page * params.pagesize <= mineGame.length">
|
|
|
+ <el-button class="df aic jcc" plain @click="loadMore">更多</el-button>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <div class="df aic jcc" style="color: #999;height: 100px;font-size: 16px;">----- 没有更多数据了 -----
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <van-empty v-else description="No Data" />
|
|
|
+ </div>
|
|
|
+ <div v-else :style="{ height: viewWidth + 'px' }" class="df fdc aic jcc">
|
|
|
+ <van-empty>
|
|
|
+ <van-button color="#ed8c0f" @click="goLogin">去登录 >></van-button>
|
|
|
+ </van-empty>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <van-back-top style="background-color: #ed8c0f;" />
|
|
|
+ <!-- <m_footer></m_footer> -->
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup lang="ts">
|
|
|
+import { onMounted, ref, reactive } from 'vue'
|
|
|
+import { getMineGame } from '@/api/index'
|
|
|
+import { useRouter, useRoute } from 'vue-router'
|
|
|
+import Message from '@/utils/Message'
|
|
|
+import MobList from '@/components/MobList.vue';
|
|
|
+
|
|
|
+const router = useRouter()
|
|
|
+const route = useRoute()
|
|
|
+
|
|
|
+const mineGame: any = ref([])
|
|
|
+const prefix = ref<string>('')
|
|
|
+const total = ref<number>(0)
|
|
|
+const isLoading = ref<boolean>(true)
|
|
|
+const viewWidth = ref<number>(document.documentElement.clientHeight - 100)
|
|
|
+const userAccount = ref<string | null>(localStorage.getItem('account'))
|
|
|
+const token = ref<string | null>(localStorage.getItem('token'))
|
|
|
+
|
|
|
+interface params {
|
|
|
+ page: number,
|
|
|
+ pagesize: number,
|
|
|
+ account: string | null
|
|
|
+}
|
|
|
+const params = reactive<params>({
|
|
|
+ page: 1,
|
|
|
+ pagesize: 10,
|
|
|
+ account: userAccount.value
|
|
|
+})
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ // 进入页面刷新一次
|
|
|
+ if (token.value) {
|
|
|
+ if (route.query.account || userAccount.value) {
|
|
|
+ // if (location.href.indexOf("#reloaded") === -1) {
|
|
|
+ // location.href = location.href + "#reloaded";
|
|
|
+ // location.reload();
|
|
|
+ // }
|
|
|
+ getMyGame(params)
|
|
|
+ } else {
|
|
|
+ userAccount.value = ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+const getMyGame = async (params) => {
|
|
|
+ // console.log('params', params);
|
|
|
+ await getMineGame(params).then(res => {
|
|
|
+ // console.log('res========>', res);
|
|
|
+ if (res.data.code === 200 && res.data.data) {
|
|
|
+ mineGame.value = mineGame.value.concat(res.data.data.lists)
|
|
|
+ prefix.value = res.data.data.prefix
|
|
|
+ total.value = res.data.data.total
|
|
|
+ isLoading.value = false
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ // Message.error(err.data)
|
|
|
+ console.log(err.data);
|
|
|
+
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 加载更多
|
|
|
+const loadMore = () => {
|
|
|
+ params.page += 1
|
|
|
+ getMyGame(params)
|
|
|
+}
|
|
|
+
|
|
|
+const goLogin = () => {
|
|
|
+ router.push({ path: 'm_login' })
|
|
|
+}
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+.game_list {
|
|
|
+ box-sizing: border-box;
|
|
|
+ padding: 20px;
|
|
|
+ background-color: #fff;
|
|
|
+ margin: 0 auto 20px;
|
|
|
+
|
|
|
+ h3 {
|
|
|
+ font-size: 22px;
|
|
|
+ font-weight: normal;
|
|
|
+ height: 30px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.more {
|
|
|
+ margin: 20px auto 0;
|
|
|
+ height: 60px;
|
|
|
+ background-color: #f7f7f7;
|
|
|
+
|
|
|
+ .el-button {
|
|
|
+ width: 100px;
|
|
|
+ height: 40px;
|
|
|
+ background-color: transparent;
|
|
|
+ color: #323332;
|
|
|
+ border: 1px solid #c7c7c7;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|