Skip to content

Commit 8e51c63

Browse files
committed
fix:软件管理安装和卸载后,首页服务列表显示不正确的问题
1 parent d2c03ee commit 8e51c63

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

src/renderer/store/index.js

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import { defineStore } from 'pinia'
22
import Software from '@/main/core/software/Software'
3-
import { enumGetName } from '@/shared/utils/utils'
4-
import { EnumSoftwareType } from '@/shared/utils/enum'
53
import Settings from '@/main/Settings'
64
import MessageBox from '@/renderer/utils/MessageBox'
75
import { t } from '@/renderer/utils/i18n'
@@ -14,7 +12,6 @@ export const useMainStore = defineStore('main', {
1412
state: () => {
1513
return {
1614
softwareList: [], //软件列表
17-
serverList: [], //已安装的server软件列表
1815
softwareTypeSelected: '',
1916
loading: false,
2017
loadingTip: 'Loading',
@@ -36,16 +33,6 @@ export const useMainStore = defineStore('main', {
3633
return { ...item, Installed }
3734
}))
3835
},
39-
/**
40-
* 软刷新,已安装的server软件列表
41-
* @returns {Promise<array>}
42-
*/
43-
async refreshServerList() {
44-
const phpTypeName = enumGetName(EnumSoftwareType, EnumSoftwareType.PHP)
45-
const serverTypeName = enumGetName(EnumSoftwareType, EnumSoftwareType.Server)
46-
const typeArr = [phpTypeName, serverTypeName]
47-
this.serverList = this.softwareList.filter(item => item.Installed && typeArr.includes(item.Type))
48-
},
4936
async setSettings(key, callback = null) {
5037
const originVal = Settings.get(key)
5138
try {

src/renderer/views/Home.vue

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,8 @@
8080
</template>
8181

8282
<script setup>
83-
var timestamp = new Date().getTime()
84-
85-
import { inject, onMounted, ref, watch } from 'vue'
83+
import { EnumSoftwareType } from '@/shared/utils/enum'
84+
import { inject, onMounted, ref, watch} from 'vue'
8685
import { useMainStore } from '@/renderer/store'
8786
import GetPath from '@/shared/utils/GetPath'
8887
import GetAppPath from '@/main/utils/GetAppPath'
@@ -92,7 +91,7 @@ import MessageBox from '@/renderer/utils/MessageBox'
9291
import { storeToRefs } from 'pinia/dist/pinia'
9392
import { APP_NAME } from '@/shared/utils/constant'
9493
import Native from '@/main/utils/Native'
95-
import { sleep } from '@/shared/utils/utils'
94+
import { enumGetName, sleep } from '@/shared/utils/utils'
9695
import Path from '@/main/utils/Path'
9796
import ProcessExtend from '@/main/utils/ProcessExtend'
9897
import Settings from '@/main/Settings'
@@ -102,6 +101,8 @@ import { isWindows } from '@/main/utils/utils'
102101
import { createAsyncComponent } from '@/renderer/utils/utils'
103102
import { mt, t } from '@/renderer/utils/i18n'
104103
104+
var timestamp = new Date().getTime()
105+
105106
const serverTableLoading = ref(false)
106107
const { serverReactive } = inject('GlobalProvide')
107108
serverReactive.restartFn = restartFn
@@ -133,16 +134,20 @@ const columns = [
133134
}
134135
]
135136
137+
const serverList = ref([])
136138
const store = useMainStore()
137-
const { softwareList, serverList, afterOpenAppStartServerMark } = storeToRefs(store)
139+
const { softwareList, afterOpenAppStartServerMark } = storeToRefs(store)
140+
141+
watch(softwareList, () => {
142+
serverList.value = getServerList()
143+
}, { immediate: true, deep: 2 })
144+
138145
onMounted(async () => {
139146
var timestamp2 = new Date().getTime()
140147
console.log('home onMounted', timestamp2 - timestamp)
141148
142-
if (softwareList?.value?.length > 0) await store.refreshServerList()
143149
if (serverList?.value?.length > 0) {
144150
serverTableLoading.value = { tip: `${t('RefreshingServer')}...` }
145-
console.log('softwareList', softwareList)
146151
await initServerListStatus()
147152
serverTableLoading.value = false
148153
}
@@ -153,6 +158,14 @@ onMounted(async () => {
153158
}
154159
})
155160
161+
function getServerList() {
162+
const phpTypeName = enumGetName(EnumSoftwareType, EnumSoftwareType.PHP)
163+
const serverTypeName = enumGetName(EnumSoftwareType, EnumSoftwareType.Server)
164+
const typeArr = [phpTypeName, serverTypeName]
165+
166+
return softwareList.value.filter(item => typeArr.includes(item.Type) && item.Installed)
167+
}
168+
156169
const getProcessList = async () => {
157170
let list
158171
const options = { directory: GetPath.getSoftwareDir() }

0 commit comments

Comments
 (0)