import { createStore } from 'vuex' import { getMenu, getPageContent } from '@/api/index' export const store = createStore({ state:{ menuList:[],//菜单列表 pageContent:[],//页面主体内容(不包含banner) recomMendation:[],//推荐内容 currentPagePath:'',//当前页名称 acitveId:0,//客户案例类型切换活动id sub:0,//当前页下标 columnTypes:[],//页面下属类型 scrollUp:{ //返回顶部 opacity:0, visibility:"hidden", scrollTo:0 }, route:{},//跳转数据 //分页数据 pagination:{ total:0, size:10, count:1 }, meta:{ title:undefined,keywords:undefined,description:undefined }, dialogPersonalStatus:false//弹框状态 }, mutations:{ //菜单列表 setMenuList(state:any,data:any){ state.menuList = data return state.menuList }, //页面主体内容 setPageData(state:any,data:any){ state.pageContent = data.records state.pagination.total = data.total return state.pageContent,state.pagination }, // setCurrentPagePathOrSub(state:any,data:any){ state.currentPagePath = data.index state.sub = data.sub return state.index,state.sub }, //子页面活动状态 setAcitveId(state:any,data:object){ state.acitveId = data return state.acitveId }, //推荐内容 setRecomMendation(state:any,data:object){ state.recomMendation = data return state.recomMendation }, //设置弹框状态 setDialogPersonalStatus(state:any,data:string){ state.dialogPersonalStatus = data return state.dialogPersonalStatus }, //设置页面下属类型 setColumnTypes(state:any,data:string){ state.columnTypes = data return state.columnTypes }, //设置跳转路由参数 setRoute(state:any,data:string){ state.route = data return state.route }, //设置meta setMeta(state:any,data:string){ state.meta = data return state.meta }, }, actions:{ getMenuList({ commit } :any,params:any){ return new Promise(resolve=>{ getMenu().then((res:any)=>{ let data = [] //映射路由地址兼容旧版本 for(let i=0;i0){ for(let ii=0;ii0){ for(let ii=0;ii0){ for(let ii=0;ii0){ for(let ii=0;ii0){ for(let ii=0;ii0){//二级菜单 for(let ii=0;ii{ //当前页 if(data.index || data.sub){ commit('setCurrentPagePathOrSub',{index:data.index,sub:data.sub}) } //cases页类型活动id if( data.params?.categoryid && (data.index == "/cases" || data.index == "/services") || data.index == "/news" || data.index == "/news_Read" && data.params.acitve || data.index == "/services_Read" && data.params.acitve ){ commit('setAcitveId',data.params.categoryid) } getPageContent(data.params).then((res:any)=>{ //当页主体数据 commit('setPageData',res.data) resolve(true) }) //推荐列表查询 if(data.params?.details){ let params = JSON.parse(JSON.stringify(data.params)) delete params.articleid params.pageSize = 100 delete params.id delete params.details getPageContent(params).then((res:any)=>{ commit('setRecomMendation',res.data.records) resolve(true) }) } }) }, } })