mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-05-27 19:29:52 +08:00
优化插件和订阅的加载顺序配置,移除本地存储逻辑,增加错误处理
This commit is contained in:
@@ -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)
|
||||
|
||||
// 保存到后端
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user