diff --git a/components/icons/add.vue b/components/icons/add.vue
new file mode 100644
index 0000000..a3ed4d1
--- /dev/null
+++ b/components/icons/add.vue
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/components/icons/cloud.vue b/components/icons/cloud.vue
new file mode 100644
index 0000000..3670508
--- /dev/null
+++ b/components/icons/cloud.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/hooks/pinia/useUserStore.ts b/hooks/pinia/useUserStore.ts
index 199bc2e..e5237a0 100644
--- a/hooks/pinia/useUserStore.ts
+++ b/hooks/pinia/useUserStore.ts
@@ -20,9 +20,16 @@ export const useUserStore = defineStore("user", () => {
};
const token = computed(() => {
+ console.log('token')
if (_token.value) {
return _token.value;
}
+ if(tokenExpireTime.value < Date.now()) {
+ localStorage.removeItem("miao-token");
+ localStorage.removeItem("miao-token-expire-time");
+ _token.value = undefined;
+ return "";
+ }
const res = localStorage.getItem("miao-token") || ""
_token.value = res;
return res;
diff --git a/nuxt.config.ts b/nuxt.config.ts
index b051140..38c12b3 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -18,11 +18,6 @@ export default defineNuxtConfig({
vite: {
server: {},
plugins: [],
- test: {
- deps: {
- inline: ['element-plus']
- }
- },
},
modules: ["@pinia/nuxt", '@element-plus/nuxt'],
compatibilityDate: "2025-01-12",
diff --git a/pages/tools/fucksq.vue b/pages/tools/fucksq.vue
index 86e8a3e..1252f35 100644
--- a/pages/tools/fucksq.vue
+++ b/pages/tools/fucksq.vue
@@ -11,22 +11,22 @@
-
- 刷赞数:
-
+
+ 赞数
+
开始
-
+
清空输出
-
+
{{ `${_fd(message.timestamp)} ==>`
}}
{{ message.message }}
@@ -46,13 +46,15 @@ const status = ref<'waiting' | 'busy'>('waiting')
const messages = reactive<{
timestamp: number,
- message: string
+ message: string,
+ id: number
}[]>([])
const log = (...message: string[]) => {
- messages.push({
+ messages.unshift({
timestamp: Date.now(),
- message: message.join('')
+ message: message.join(''),
+ id: Math.random()
})
}
@@ -128,13 +130,14 @@ watchEffect(() => {
/* padding: 5px 10px; */
border: 1px solid #ccc;
border-radius: 5px;
+ /* max-height: 500px; */
}
.message-container {
width: 100%;
max-width: 800px;
- height: 100%;
- max-height: 500px;
+ height: calc( 100vh - 350px );
+ max-height: calc( 100vh - 350px );
overflow-y: auto;
display: flex;
flex-direction: column;
diff --git a/pages/user/index.vue b/pages/user/index.vue
index 1f15ee8..bbf61cd 100644
--- a/pages/user/index.vue
+++ b/pages/user/index.vue
@@ -26,11 +26,29 @@ const userStore = useUserStore()
// ]
// })
-onBeforeMount(() => {
- if (userStore.isLogin === false) {
- return router.replace('/user/login')
- } else {
+onBeforeMount(async () => {
+ if (userStore && userStore.isLogin) {
return router.replace('/user/main')
+ } else {
+ try {
+ if(userStore.token) {
+ const response = await $fetch('/api/user/refreshToken', {
+ method: 'POST',
+ body: {
+ token: userStore.token
+ }
+ })
+ userStore.setToken(response.token)
+ userStore.setTokenExpireTime(response.expiresIn)
+ userStore.setLoginStatus(true)
+ router.replace('/user/main')
+ } else {
+ router.replace('/user/login')
+ }
+ } catch (error) {
+ console.error(error)
+ router.replace('/user/login')
+ }
}
})
diff --git a/pages/user/main.vue b/pages/user/main.vue
index 78b19d3..e7869e7 100644
--- a/pages/user/main.vue
+++ b/pages/user/main.vue
@@ -44,6 +44,7 @@ import Cat from '~/components/icons/cat.vue'
import chevronDown from '~/components/icons/chevronDown.vue';
import Documents from '~/components/icons/documents.vue';
import Home from '~/components/icons/home.vue';
+import Cloud from '~/components/icons/cloud.vue';
const router = useRouter()
const userStore = useUserStore()
@@ -63,11 +64,16 @@ const menuItem = shallowReactive([
title: '账户',
icon: Cat,
to: '/user/main/account'
+ }, {
+ title: '服务',
+ icon: Cloud,
+ iconFill: true,
+ to: '/user/main/server'
}, {
title: '测试',
icon: Cat,
to: '/user/main/test'
- }
+ },
])
const showSidebar = ref(true)
diff --git a/pages/user/main/server.vue b/pages/user/main/server.vue
new file mode 100644
index 0000000..489252e
--- /dev/null
+++ b/pages/user/main/server.vue
@@ -0,0 +1,118 @@
+
+
+
+
+ 服务端配置
+
+
+
+ 更新服务端
+
+
+ 上传更新包并更新服务端
+
+
+
+
+
拖拽 output.tar.gz 至此
或单击此处选择文件
+
+
+
+
+
+
+ 点击上传更新包并更新服务
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file