20251128API:selectAllWithTableName/selectAll/selectTaskHasCreated提前缓存

This commit is contained in:
wxlong
2025-11-28 14:46:02 +08:00
parent d3e0678ef0
commit 014e6dc299
17 changed files with 415 additions and 229 deletions

View File

@@ -1,5 +1,6 @@
import Vue from 'vue'
import Vuex from 'vuex'
import { ajax as request } from "@/request.js";
Vue.use(Vuex)
export const store = new Vuex.Store({
@@ -15,7 +16,17 @@ export const store = new Vuex.Store({
LocalLocation: {
currentPosition: '',
currentLocation: ''
}
},
// 登录后初始化的任务数据
taskData: {
selectAllWithTableName: [], // /api/task/selectAllWithTableName 的数据
selectAll: [], // /api/task/selectAll/ 的数据
selectTaskHasCreated: [] // /api/task/selectTaskHasCreated 的数据
},
// 初始化状态
taskDataInitialized: false,
taskDataInitializing: false,
initError: null // 初始化错误信息
},
mutations: {
updateDrawtool(state, drawtool) {
@@ -63,6 +74,28 @@ export const store = new Vuex.Store({
},
updatePosition(state, position) {
state.LocalLocation.currentPosition = position
},
// 设置任务数据
setTaskDataSelectAllWithTableName(state, data) {
state.taskData.selectAllWithTableName = data
},
setTaskDataSelectAll(state, data) {
state.taskData.selectAll = data
},
setTaskDataSelectTaskHasCreated(state, data) {
state.taskData.selectTaskHasCreated = data
},
setTaskDataInitialized(state, value) {
state.taskDataInitialized = value
},
setTaskDataInitializing(state, value) {
state.taskDataInitializing = value
},
setInitError(state, error) {
state.initError = error
},
clearInitError(state) {
state.initError = null
}
},
@@ -87,6 +120,70 @@ export const store = new Vuex.Store({
},
updatePosition({ commit, state }, obj) {
commit("updatePosition", obj.position)
},
// 初始化任务数据
async initTaskData({ commit, state }) {
commit('setTaskDataInitializing', true)
commit('setTaskDataInitialized', false)
try {
// 调用3个接口
const [response1, response2, response3] = await Promise.all([
request({
url: "/task/selectAllWithTableName",
method: "get",
}),
request({
url: "/task/selectAll/",
method: "get",
}),
request({
url: "/task/selectTaskHasCreated",
method: "get",
})
])
// 检查是否有401错误
if (response1.data.status == "401" || response2.data.status == "401" || response3.data.status == "401") {
throw new Error("认证失败,请重新登录")
}
// 处理第一个接口的数据
let data1 = response1.data.data || []
commit('setTaskDataSelectAllWithTableName', data1)
// 处理第二个接口的数据
let data2 = []
if (response2.data.success == true && response2.data.data) {
try {
const parsed = JSON.parse(response2.data.data)
data2 = parsed.data || []
} catch (e) {
data2 = response2.data.data || []
}
}
commit('setTaskDataSelectAll', data2)
// 处理第三个接口的数据
let data3 = []
if (response3.data.success == true && response3.data.data) {
try {
const parsed = JSON.parse(response3.data.data)
data3 = parsed.data || []
} catch (e) {
data3 = response3.data.data || []
}
}
commit('setTaskDataSelectTaskHasCreated', data3)
commit('setTaskDataInitialized', true)
commit('setTaskDataInitializing', false)
return { success: true }
} catch (error) {
commit('setTaskDataInitialized', false)
commit('setTaskDataInitializing', false)
return { success: false, error: error.message || '初始化失败,请重试' }
}
}
},