优化插件和订阅的加载顺序配置,移除本地存储逻辑,增加错误处理

This commit is contained in:
jxxghp
2025-06-14 11:08:42 +08:00
parent aa9dab5d96
commit 74fc8bd131
2 changed files with 14 additions and 36 deletions

View File

@@ -364,25 +364,10 @@ watch(currentFolder, () => {
// 加载插件顺序
async function loadPluginOrderConfig() {
// 顺序配置
const local_order = localStorage.getItem('MP_PLUGIN_ORDER')
if (local_order) {
const parsed = JSON.parse(local_order)
// 兼容旧格式只有id和新格式包含type和order
if (parsed.length > 0 && typeof parsed[0] === 'object' && 'type' in parsed[0]) {
orderConfig.value = parsed
} else {
// 旧格式,转换为新格式
orderConfig.value = parsed.map((item: any, index: number) => ({
id: typeof item === 'string' ? item : item.id,
type: 'plugin',
order: index,
}))
}
} else {
const response2 = await api.get('/user/config/PluginOrder')
if (response2 && response2.data && response2.data.value) {
const serverData = response2.data.value
try {
const response = await api.get('/user/config/PluginOrder')
if (response && response.data && response.data.value) {
const serverData = response.data.value
// 兼容服务端的旧格式和新格式
if (serverData.length > 0 && typeof serverData[0] === 'object' && 'type' in serverData[0]) {
orderConfig.value = serverData
@@ -394,8 +379,10 @@ async function loadPluginOrderConfig() {
order: index,
}))
}
localStorage.setItem('MP_PLUGIN_ORDER', JSON.stringify(orderConfig.value))
}
} catch (error) {
console.error('Failed to load plugin order config:', error)
orderConfig.value = []
}
}
@@ -467,8 +454,6 @@ async function saveMixedSortOrder() {
order: item.order,
}))
orderConfig.value = orderObj
const orderString = JSON.stringify(orderObj)
localStorage.setItem('MP_PLUGIN_ORDER', orderString)
// 保存到服务端
await api.post('/user/config/PluginOrder', orderObj)
@@ -525,8 +510,6 @@ async function saveFolderPluginOrder() {
})
// 保存全局排序配置
const orderString = JSON.stringify(orderConfig.value)
localStorage.setItem('MP_PLUGIN_ORDER', orderString)
await api.post('/user/config/PluginOrder', orderConfig.value)
// 保存到后端

View File

@@ -49,8 +49,7 @@ const orderConfig = ref<{ id: number }[]>([])
// 显示的订阅列表
const displayList = ref<Subscribe[]>([])
// 顺序存储键值(计算属性)
const localOrderKey = computed(() => (props.type === '电影' ? 'MP_SUBSCRIBE_MOVIE_ORDER' : 'MP_SUBSCRIBE_TV_ORDER'))
// API请求键值(计算属性)
const orderRequestKey = computed(() => (props.type === '电影' ? 'SubscribeMovieOrder' : 'SubscribeTvOrder'))
// 监听dataList变化同步更新displayList
@@ -73,16 +72,14 @@ watch([dataList, () => props.keyword], () => {
// 加载顺序
async function loadSubscribeOrderConfig() {
// 顺序配置
const local_order = localStorage.getItem(localOrderKey.value)
if (local_order) {
orderConfig.value = JSON.parse(local_order)
} else {
const response = await api.get(`/user/config/${orderRequestKey}`)
try {
const response = await api.get(`/user/config/${orderRequestKey.value}`)
if (response && response.data && response.data.value) {
orderConfig.value = response.data.value
localStorage.setItem(localOrderKey.value, JSON.stringify(orderConfig.value))
}
} catch (error) {
console.error('Failed to load subscribe order config:', error)
orderConfig.value = []
}
}
@@ -107,12 +104,10 @@ async function saveSubscribeOrder() {
// 顺序配置
const orderObj = displayList.value.map(item => ({ id: item.id }))
orderConfig.value = orderObj
const orderString = JSON.stringify(orderObj)
localStorage.setItem(localOrderKey.value, orderString)
// 保存到服务端
try {
await api.post(`/user/config/${orderRequestKey}`, orderObj)
await api.post(`/user/config/${orderRequestKey.value}`, orderObj)
} catch (error) {
console.error(error)
}