qiyunfeng-create
3 天以前 b15a997e95d715c41df3a76aecbf58ec1141ab53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// 面包屑数据
import { defineStore } from 'pinia'
import tool from '@/assets/js/toolClass.js'
export const useBreadcrumbStore = defineStore('breadcrumb', () => {
  const crumbList = localStorage.getItem('crumbs')
    ? JSON.parse(localStorage.getItem('crumbs'))
    : {
        home: {}, // 首页
        bookService: {}, // 图书服务
        digitalCourse: {}, // 数字课程
        digitalBook: {}, // 数字教材
        seminar: {}, // 数字教材
        shoppingCart: {}, // 购物车
        personalCenter: {}, //个人中心
        retrievalPage: {}, //全局检索
        digitalCourses: {}, //数字课程
        digitalTextbooks: {} //数字教材
      }
  // 面包屑
  const changeCrumbs = (data: any) => {
    switch (data.type) {
      case 'home':
        data.data.unshift({
          name: '首页',
          // isCrumbs: true,
          path: '/home'
        })
        break
      case 'bookService':
        data.data.unshift({
          name: '图书服务',
          // isCrumbs: true,
          path: '/bookService'
        })
        break
      case 'personalCenter':
        data.data.unshift({
          name: '个人中心',
          // isCrumbs: true,
          path: '/personalCenter'
        })
        break
      case 'retrievalPage':
        data.data.unshift({
          name: '全局检索',
          // isCrumbs: true,
          path: '/retrievalPage'
        })
        break
      case 'digitalCourses':
        data.data.unshift({
          name: '数字课程',
          // isCrumbs: true,
          path: '/digitalCourses'
        })
        break
      case 'digitalTextbooks':
        data.data.unshift({
          name: '数字教材',
          // isCrumbs: true,
          path: '/digitalTextbooks'
        })
        break
      case 'shoppingCart':
        data.data.unshift({
          name: '购物车',
          path: '/shoppingCart'
        })
    }
    if (!crumbList[data.type].keys) {
      crumbList[data.type].keys = []
    }
    crumbList[data.type].keys.push(data.cid)
    crumbList[data.type][data.cid] = data.data
    if (crumbList[data.type].keys.length > 20) {
      const key = crumbList[data.type].keys[0]
      delete crumbList[data.type][key]
      crumbList[data.type].keys.splice(0, 1)
    }
    localStorage.setItem('crumbs', JSON.stringify(crumbList))
  }
 
  const setCrumbs = (data: any) => {
    // 存储面包屑
    if (!data.cid) {
      data.cid = tool.uuid(8)
    }
    changeCrumbs(data)
    if (data.callback) data.callback(data.cid)
  }
 
  return {
    crumbList,
    setCrumbs
  }
})