12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- import { defineStore } from 'pinia'
- import { Api } from "@/api/api"
- import axios from 'axios'
- import {setLocal,getCookie} from "@/common/common";
- import {ElMessage} from "element-plus";
- //定义state类型
- export type MenuState = {
- menuList: any; //侧边栏
- }
- //定义store
- export const menuStore = defineStore('menuStore', {
- state: (): MenuState => {
- return {
- menuList:[],
- }
- },
- persist: {
- enabled: true, //开启存储
- // storage:sessionStorage/localStorage,还可以自定义存入对应的如下
- //不写以下也可以 默认是sessionStorage
- strategies: [
- // { storage: cookiesStorage, paths: ['info'] }
- //{ storage: sessionStorage, paths: ['info'] }
- // { storage: localStorage, paths: ['accountInfo'] },
- ],
- },
- getters: {
- // 类似组件的computed,用来封装计算属性,用缓存功能
- // 若使用this,则必须手动指定返回类型,否则类型推导不出
- // 函数接受一个可选对象state
- },
- actions: {
- // 分装业务逻辑 ,修改state
- // 不能使用箭头函数定义action,因为箭头函数绑定外部this
- getMenuList(cb:any) {
- return new Promise( (resolve, reject) => {
- this.menuList =
- [
- {"id":16,"title":"首页","route":"home","icon":"icon-shouye","level":1,"sub":[]},
- {"id":3,"title":"广告管理","route":null,"icon":"icon-a-biaoqing2x","level":1,
- "sub":[
- {"id":17,"title":"广点通","route":"gdtList","icon":null,"level":2,"sub":[]},
- {"id":18,"title":"任务中心","route":"adTask","icon":null,"level":2,"sub":[]},
- ]},
- {"id":2,"title":"素材管理","route":null,"icon":"icon-a-sucai2x","level":1,
- "sub":[{"id":8,"title":"文案库","route":"textLibrary","icon":null,"level":2,"sub":[]},
- {"id":15,"title":"本地素材","route":"materialLibrary","icon":null,"level":2,"sub":[]},
- {"id":16,"title":"收藏夹","route":"collectClip","icon":null,"level":2,"sub":[]},
- ]},
- {"id":1,"title":"系统管理","route":null,"icon":"icon-a-xitongshezhi2x","level":1,
- "sub":[
- {"id":5,"title":"adq授权","route":"adqManage","icon":null,"level":2,"sub":[]},
- {"id":9,"title":"微信小程序","route":"miniprogram","icon":null,"level":2,"sub":[]},
- {"id":6,"title":"账号管理","route":"accountManage","icon":null,"level":2,"sub":[]},
- {"id":7,"title":"任务列表","route":"taskList","icon":null,"level":2,"sub":[]},
- ]}
- ]
- setLocal('menuList',this.menuList,1)
- resolve(this.menuList)
- cb?cb():''
- // const params_self:any = {
- // params:{
- // admin_id: getCookie("admin_id"),
- // ttl: Number(getCookie("ttl")),
- // sign: getCookie("sign"),
- // }
- // }
- // axios.get(Api.premission_asideList,params_self).then((res:any)=>{
- // let res_new = res.data
- // if (res_new && res_new.code == '0') {
- // this.menuList = res_new.data
- // setLocal('menuList',this.menuList,1)
- // resolve(this.menuList)
- // cb?cb():''
- // }else{
- // console.log('侧边栏请求错误')
- // reject()
- // }
- // }).catch((err:any)=>{
- // console.log('侧边栏请求错误')
- // reject(err)
- // })
- })
- }
- },
- })
|