mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-mobile.git
synced 2025-12-07 01:46:44 +08:00
首页课程样式
This commit is contained in:
94
store/modules/sysType.js
Normal file
94
store/modules/sysType.js
Normal file
@@ -0,0 +1,94 @@
|
||||
import {getToken} from '@/utils/token'
|
||||
import apiType from '../../api/modules/type.js'
|
||||
|
||||
const state={
|
||||
sysTypeTree: [], //内容类型
|
||||
sysTypeMap:null
|
||||
}
|
||||
|
||||
const mutations={
|
||||
setSysTypeTree: (state, tree) => {
|
||||
state.sysTypeTree = tree
|
||||
},
|
||||
setSysTypeMap: (state, map) => {
|
||||
state.sysTypeMap = map
|
||||
},
|
||||
}
|
||||
const actions={
|
||||
getSysTypeTree({commit}) {
|
||||
return new Promise((resolve,reject)=>{
|
||||
if(state.sysTypeTree.length>0){
|
||||
resolve(state.sysTypeTree);
|
||||
}else{
|
||||
let hasData = sessionStorage.getItem('sysTypeTree');
|
||||
if(hasData){
|
||||
let treeData = JSON.parse(hasData);
|
||||
commit('setSysTypeTree', treeData);
|
||||
resolve(treeData);
|
||||
}else{
|
||||
apiType.tree(1).then(res=>{
|
||||
if(res.status === 200) {
|
||||
sessionStorage.setItem('sysTypeTree',JSON.stringify(res.result));
|
||||
commit('setSysTypeTree', res.result);
|
||||
//转化为map放到状态中
|
||||
let map=new Map();
|
||||
res.result.forEach(item=>{
|
||||
map.set(item.id, item.name);
|
||||
if(item.children && item.children!=''){
|
||||
item.children.forEach(child=>{
|
||||
map.set(child.id, child.name);
|
||||
if(child.children && child.children!=''){
|
||||
child.children.forEach(last=>{
|
||||
map.set(last.id, last.name);
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
commit('setSysTypeMap', map);
|
||||
resolve(res.result)
|
||||
} else {
|
||||
reject('资源归属获取失败!');
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
loadSysTypes(context){
|
||||
if(state.sysTypeMap==null){
|
||||
let hasData = sessionStorage.getItem('sysTypeMap');
|
||||
if(hasData){
|
||||
hasData=JSON.parse(hasData);
|
||||
}
|
||||
if(hasData && hasData.length>10){
|
||||
let map=new Map();
|
||||
hasData.forEach(item=>{
|
||||
map.set(item.id, item.name);
|
||||
});
|
||||
context.commit('setSysTypeMap',map);
|
||||
}else{
|
||||
apiType.list(1,'').then(res=>{
|
||||
if(res.status === 200) {
|
||||
let map=new Map();
|
||||
res.result.forEach(item=>{
|
||||
map.set(item.id, item.name);
|
||||
});
|
||||
//console.log(map,map);
|
||||
sessionStorage.setItem('sysTypeMap',JSON.stringify(res.result));
|
||||
context.commit('setSysTypeMap', map);
|
||||
} else {
|
||||
console.log('内容分类获取失败!');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
mutations,
|
||||
actions
|
||||
}
|
||||
Reference in New Issue
Block a user