@xysfe/admin-menu-vue3 1.0.1 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,24 +1,128 @@
1
- # admin-menu-vue3
1
+ # @xys/admin-menu
2
2
 
3
- ## Project setup
3
+ ## vue3老版本
4
+ 1.0.0以上的版本都是 适用element-plus beta版的版本,并且icon库适用@element-plus/icons的
5
+ 因为element-plus 后续正式版中有组件的名称和icon库的变化,所以区分开来
6
+ 如若使用的是正式新版的element-plus,请安装^2.0.0的版本
7
+
8
+ 1.0.0以上版本分支 feature_aven_admin-menu-vue3_old_version
9
+ 2.0.0以上版本分支 feature_aven_admin-menu-vue3_new_version
10
+ ## 安装
4
11
  ```
5
- npm install
12
+ npm install @xysfe/admin-menu-vue3@1.0.1 -S
13
+
6
14
  ```
15
+ ## 如何使用
16
+
17
+ #### 简单使用
18
+ 必须传入router实例,不然会报错
19
+ ```javascript
20
+ import router from './router'
21
+ import { AdminContainer, AdminAuth } from '@xysfe/admin-menu'
22
+
23
+ // 插件控制了路由beforeEach,并在vue原型上挂载了$auth和$isInDepartment两个方法
24
+ Vue.use(AdminContainer, { router })
25
+ // 权限校验方法,根据权限id返回是否有权限, 等同于在vue原型上的$auth
26
+ Vue.use(AdminAuth)
7
27
 
8
- ### Compiles and hot-reloads for development
9
28
  ```
10
- npm run serve
29
+
30
+ ```html
31
+
32
+ <div v-if="$auth(10001)"></div>
33
+
11
34
  ```
12
35
 
13
- ### Compiles and minifies for production
36
+ 组件的注册名称为admin-container
37
+
38
+ ```html
39
+
40
+ <template>
41
+ <admin-container
42
+ :env="env">
43
+ <div class="router-view-container">
44
+ <router-view />
45
+ </div>
46
+ </admin-container>
47
+ </template>
48
+
49
+ <script>
50
+ import { hostConf } from '@xysfe/util'
51
+
52
+ export default {
53
+ name: 'Layout',
54
+ computed: {
55
+ // 控制logo展示
56
+ env () {
57
+ // 100: 小雨伞dev
58
+ // 600: 小雨伞beta
59
+ // 500: 小雨伞alpha
60
+ // 200: 小雨伞idc
61
+ // 700: 创信beta
62
+ // 800:创信idc
63
+ // 1000: 木成林beta
64
+ // 900: 木成林idc
65
+ const ENVMARK = parseInt(hostConf.ENVMARK)
66
+ if (ENVMARK === 700 || ENVMARK === 800) {
67
+ return 2 // 创信logo
68
+ } else if (ENVMARK === 1000 || ENVMARK === 900) {
69
+ return 3 // 木成林logo
70
+ }
71
+ return 1 // 小雨伞logo
72
+ }
73
+ }
74
+ }
75
+ </script>
76
+
77
+ <style rel="stylesheet/scss" lang="scss" scoped>
78
+ .router-view-container {
79
+ background: #F1F3FA;
80
+ padding: 30px;
81
+ min-height: 100%;
82
+ box-sizing: border-box;
83
+ }
84
+ </style>
85
+
86
+ ```
87
+
88
+ #### 进阶使用
89
+ ```javascript
90
+ import router from './router'
91
+ import { AdminContainer } from '@xysfe/admin-menu'
92
+
93
+ Vue.use(AdminContainer, {
94
+ router,
95
+ beforeEach (to, from, next, auth) {
96
+ if (to.path === '/cpsAuth/accountLogout') {
97
+ next()
98
+ } else {
99
+ auth()
100
+ }
101
+ }
102
+ })
14
103
  ```
15
- npm run build
104
+ beforeEach方法选填。
105
+ beforeEach钩子和router本身的钩子使用方式类似,但是添加了第四个参数auth。
106
+ 执行auth方法可以对页面权限进行对应的校验,通过后进入页面。
107
+ 也可以跳过auth,直接执行next。
108
+
109
+ ```html
110
+ <template>
111
+ <p v-auth="999999">
112
+ 无权限999999
113
+ </p>
114
+ </template>
16
115
  ```
116
+ v-auth 指令
117
+ 可以通过使用v-auth指令,传入权限id来隐藏或展示该dom节点
118
+ 暂时只支持传入单个权限id
17
119
 
18
- ### Lints and fixes files
120
+ ## 开发
19
121
  ```
20
- npm run lint
122
+ npm run serve
21
123
  ```
22
124
 
23
- ### Customize configuration
24
- See [Configuration Reference](https://cli.vuejs.org/config/).
125
+ ## 打包编译
126
+ ```
127
+ npm run lib
128
+ ```