添加清楚state事件

This commit is contained in:
赛伊德
2025-10-28 14:51:14 +08:00
parent 0040bd91b4
commit baff697b4f
5 changed files with 24 additions and 2 deletions

View File

@@ -1 +1,2 @@
VITE_APP_URL = http://192.168.31.82:8771
# VITE_APP_URL = http://192.168.31.82:8771
VITE_APP_URL = http://192.168.31.118:8771

View File

@@ -2,6 +2,7 @@
import { computed } from 'vue'
import { useRouter } from 'vue-router'
import { showConfirmDialog } from 'vant'
import MyEvent from '@/utils/myEvent'
const router = useRouter()
const currentRoute = computed(() => router.currentRoute.value.path)
@@ -23,6 +24,7 @@
cancelButtonText: 'Cancel',
})
.then(() => {
MyEvent.emit('clear-generate-state')
nav.path && router.push(nav.path)
})
.catch(() => {})

View File

@@ -1,5 +1,8 @@
// 每一个存储的模块命名规则use开头store结尾
import { defineStore } from 'pinia'
import MyEvent from '@/utils/myEvent'
MyEvent.add('clear-generate-state', () => useGenerateStore().clearGenerateData())
export const useGenerateStore = defineStore({
id: 'generate', // 必须指明唯一的pinia仓库的id
state: () => {

View File

@@ -2,7 +2,7 @@
import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
import { removeLocal, setLocal } from '@/utils/local'
import MyEvent from '@/utils/myEvent'
export const useUserInfoStore = defineStore('userInfo', () => {
const state = ref({
userInfo: {},
@@ -48,6 +48,7 @@ export const useUserInfoStore = defineStore('userInfo', () => {
state.value.userInfo = {}
removeLocal('token')
resetGenerateParams()
MyEvent.emit('clear-generate-state')
resolve('')
})
}

15
src/utils/myEvent.js Normal file
View File

@@ -0,0 +1,15 @@
class MyEvent {
static list = []
add(name, call) {
MyEvent.list.push({ name, call })
}
remove(name, call) {
MyEvent.list = MyEvent.list.filter(item => item.name != name && item.call != call)
}
emit(name, data) {
MyEvent.list.forEach(item => {
if (item.name == name) item.call(data)
})
}
}
export default new MyEvent()