@netang/quasar 0.0.102 → 0.0.103

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.
Files changed (162) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +11 -11
  3. package/_docs/docs/.vuepress/client.js +8 -8
  4. package/_docs/docs/.vuepress/config.js +40 -40
  5. package/_docs/docs/.vuepress/configs/index.js +2 -2
  6. package/_docs/docs/.vuepress/configs/navbar/index.js +1 -1
  7. package/_docs/docs/.vuepress/configs/navbar/zh.js +16 -16
  8. package/_docs/docs/.vuepress/configs/sidebar/index.js +1 -1
  9. package/_docs/docs/.vuepress/configs/sidebar/zh.js +75 -75
  10. package/_docs/docs/.vuepress/public/css/index.css +3 -3
  11. package/_docs/docs/.vuepress/styles/index.scss +3 -3
  12. package/_docs/docs/components/column-title.md +25 -25
  13. package/_docs/docs/components/data.md +66 -66
  14. package/_docs/docs/components/dialog.md +59 -59
  15. package/_docs/docs/components/dragger.md +26 -26
  16. package/_docs/docs/components/editor-code.md +16 -16
  17. package/_docs/docs/components/empty.md +13 -13
  18. package/_docs/docs/components/field-date.md +16 -16
  19. package/_docs/docs/components/field-text.md +57 -57
  20. package/_docs/docs/components/field-tree.md +14 -14
  21. package/_docs/docs/components/img.md +25 -25
  22. package/_docs/docs/components/input-number.md +21 -21
  23. package/_docs/docs/components/list-menu-item.md +21 -21
  24. package/_docs/docs/components/list-menu.md +21 -21
  25. package/_docs/docs/components/power-page.md +21 -21
  26. package/_docs/docs/components/price.md +21 -21
  27. package/_docs/docs/components/render.md +12 -12
  28. package/_docs/docs/components/search-item.md +10 -10
  29. package/_docs/docs/components/search.md +12 -12
  30. package/_docs/docs/components/select.md +11 -11
  31. package/_docs/docs/components/splitter.md +15 -15
  32. package/_docs/docs/components/table-column-fixed.md +20 -20
  33. package/_docs/docs/components/table-pagination.md +20 -20
  34. package/_docs/docs/components/table-splitter.md +20 -20
  35. package/_docs/docs/components/table-summary.md +20 -20
  36. package/_docs/docs/components/table.md +25 -25
  37. package/_docs/docs/components/thumbnail.md +18 -18
  38. package/_docs/docs/components/toolbar.md +9 -9
  39. package/_docs/docs/components/uploader-query.md +19 -19
  40. package/_docs/docs/components/uploader.md +16 -16
  41. package/_docs/docs/components/value-format.md +26 -26
  42. package/_docs/docs/index.md +1 -1
  43. package/_docs/docs/utils/alert.md +26 -26
  44. package/_docs/docs/utils/area.md +112 -112
  45. package/_docs/docs/utils/arr.md +80 -80
  46. package/_docs/docs/utils/auth.md +101 -101
  47. package/_docs/docs/utils/bus.md +18 -18
  48. package/_docs/docs/utils/confirm.md +31 -31
  49. package/_docs/docs/utils/copy.md +22 -22
  50. package/_docs/docs/utils/dialog.md +98 -98
  51. package/_docs/docs/utils/dict.md +50 -50
  52. package/_docs/docs/utils/dictOptions.md +27 -27
  53. package/_docs/docs/utils/form.md +33 -33
  54. package/_docs/docs/utils/getData.md +60 -60
  55. package/_docs/docs/utils/getFile.md +21 -21
  56. package/_docs/docs/utils/getImage.md +33 -33
  57. package/_docs/docs/utils/getTime.md +51 -51
  58. package/_docs/docs/utils/index.md +1 -1
  59. package/_docs/docs/utils/loading.md +18 -18
  60. package/_docs/docs/utils/notify.md +29 -29
  61. package/_docs/docs/utils/power.md +353 -353
  62. package/_docs/docs/utils/previewImage.md +11 -11
  63. package/_docs/docs/utils/price.md +45 -45
  64. package/_docs/docs/utils/rule.md +30 -30
  65. package/_docs/docs/utils/ruleValid.md +31 -31
  66. package/_docs/docs/utils/symbols.md +30 -30
  67. package/_docs/docs/utils/table.md +194 -194
  68. package/_docs/docs/utils/timestamp.md +27 -27
  69. package/_docs/docs/utils/toast.md +27 -27
  70. package/_docs/docs/utils/tree.md +174 -174
  71. package/_docs/docs/utils/uploader.md +29 -29
  72. package/_docs/package.json +11 -11
  73. package/components/column-title/index.vue +37 -37
  74. package/components/data/index.vue +20 -20
  75. package/components/dialog/index.vue +372 -372
  76. package/components/dragger/index.vue +203 -203
  77. package/components/drawer/index.vue +303 -303
  78. package/components/editor-code/index.vue +289 -289
  79. package/components/empty/index.vue +71 -71
  80. package/components/field-date/index.vue +850 -850
  81. package/components/field-date/methods.js +100 -100
  82. package/components/field-table/index.vue +1222 -1222
  83. package/components/field-text/index.vue +165 -165
  84. package/components/field-tree/index.vue +103 -81
  85. package/components/img/index.vue +202 -202
  86. package/components/input-number/index.vue +546 -546
  87. package/components/list-menu/index.vue +149 -149
  88. package/components/list-menu-item/index.vue +79 -79
  89. package/components/power-page/index.vue +92 -92
  90. package/components/price/index.vue +188 -188
  91. package/components/private/components/index.js +11 -11
  92. package/components/private/components/move-to-tree/index.vue +154 -154
  93. package/components/private/edit-power-data/index.vue +816 -816
  94. package/components/private/table-visible-columns-button/index.vue +109 -109
  95. package/components/render/index.vue +150 -150
  96. package/components/search/index.vue +222 -222
  97. package/components/search-item/index.vue +210 -210
  98. package/components/splitter/index.vue +415 -415
  99. package/components/table/index.vue +456 -456
  100. package/components/table-column-fixed/index.vue +112 -112
  101. package/components/table-pagination/index.vue +192 -192
  102. package/components/table-splitter/index.vue +360 -360
  103. package/components/table-summary/index.vue +110 -110
  104. package/components/thumbnail/index.vue +72 -72
  105. package/components/toolbar/container.vue +31 -31
  106. package/components/toolbar/index.vue +136 -136
  107. package/components/uploader/index.vue +158 -158
  108. package/components/uploader-query/index.vue +758 -758
  109. package/components/value-format/index.vue +274 -274
  110. package/configs/area3.js +1 -1
  111. package/docs/css/index.css +3 -3
  112. package/package.json +1 -1
  113. package/sass/common.scss +174 -174
  114. package/sass/index.scss +14 -14
  115. package/sass/line.scss +39 -39
  116. package/sass/quasar/btn.scss +46 -46
  117. package/sass/quasar/common.scss +3 -3
  118. package/sass/quasar/dialog.scss +7 -7
  119. package/sass/quasar/drawer.scss +6 -6
  120. package/sass/quasar/field.scss +243 -243
  121. package/sass/quasar/loading.scss +6 -6
  122. package/sass/quasar/menu.scss +8 -8
  123. package/sass/quasar/table.scss +150 -150
  124. package/sass/quasar/toolbar.scss +22 -22
  125. package/store/index.js +29 -29
  126. package/utils/$auth.js +127 -127
  127. package/utils/$form.js +56 -56
  128. package/utils/$power.js +1215 -1215
  129. package/utils/$rule.js +13 -13
  130. package/utils/$ruleValid.js +10 -10
  131. package/utils/$table.js +999 -999
  132. package/utils/$tree.js +713 -713
  133. package/utils/alert.js +12 -12
  134. package/utils/area.js +400 -400
  135. package/utils/arr.js +51 -51
  136. package/utils/bus.js +6 -6
  137. package/utils/config.js +52 -52
  138. package/utils/confirm.js +11 -11
  139. package/utils/copy.js +30 -30
  140. package/utils/dialog.js +36 -36
  141. package/utils/dict.js +21 -21
  142. package/utils/dictOptions.js +28 -28
  143. package/utils/getData.js +73 -73
  144. package/utils/getFile.js +40 -40
  145. package/utils/getImage.js +153 -153
  146. package/utils/getTime.js +106 -106
  147. package/utils/index.js +61 -61
  148. package/utils/loading.js +15 -15
  149. package/utils/notify.js +13 -13
  150. package/utils/previewImage.js +10 -10
  151. package/utils/price.js +18 -18
  152. package/utils/symbols.js +18 -18
  153. package/utils/timestamp.js +18 -18
  154. package/utils/toast.js +13 -13
  155. package/utils/uploader/aliyun.js +6 -6
  156. package/utils/uploader/local.js +8 -8
  157. package/utils/uploader/qiniu.js +321 -321
  158. package/utils/uploader.js +1059 -1059
  159. package/utils/useAuth.js +30 -30
  160. package/utils/useRouter.js +47 -47
  161. package/utils/useSearch.js +0 -6
  162. package/utils/useUploader.js +53 -53
@@ -1,150 +1,150 @@
1
- /**
2
- * 表格
3
- */
4
-
5
- // 头部底部背景色
6
- $header-footer-bg-color: $grey-2;
7
- $dark-header-footer-bg-color: $color-gray-93;
8
- // 单元格背景色
9
- $td-bg-color: #ffffff;
10
- $dark-td-bg-color: $dark;
11
-
12
- .n-table {
13
-
14
- // 单元格换行
15
- &__col-wrap {
16
- word-wrap: break-word !important;
17
- white-space: pre-wrap !important;
18
- }
19
-
20
- &.q-table {
21
- &--dense {
22
- // 复选框
23
- .q-table {
24
- th,
25
- td {
26
- &.q-table--col-auto-width:first-child {
27
- padding: 0 12px;
28
- }
29
- }
30
- }
31
-
32
- thead tr,
33
- tbody tr,
34
- tbody td {
35
- height: 40px;
36
- }
37
- }
38
-
39
- &--horizontal-separator,
40
- &--cell-separator {
41
- tbody {
42
- // 表格内容最后一排数据底部加上横线
43
- &.q-virtual-scroll__content {
44
- tr:last-child > td {
45
- border-bottom-width: 1px;
46
- }
47
- }
48
- }
49
- }
50
- }
51
-
52
- // 宫格模式
53
- &--grid {
54
- background-color: rgba(var(--n-reverse-color-rgb), 0.1);
55
- }
56
-
57
- // 撑满
58
- &.absolute-full {
59
- border-radius: unset;
60
-
61
- // 顶部吸顶
62
- thead tr th {
63
- position: sticky;
64
- z-index: 2;
65
- }
66
- thead tr:first-child th {
67
- top: 0;
68
- }
69
-
70
- // 最后一列固定
71
- &.n-table--last-fixed {
72
- // 最后一列吸顶
73
- th:last-child,
74
- td:last-child {
75
- position: sticky;
76
- right: 0;
77
- z-index: 1;
78
- }
79
- th:last-child {
80
- z-index: 2;
81
- }
82
- }
83
- }
84
- }
85
-
86
- // 亮色
87
- .body--light {
88
- .n-table {
89
-
90
- // 头部和底部背景色
91
- .q-table__top,
92
- .q-table__bottom,
93
- thead tr:first-child th {
94
- background-color: $header-footer-bg-color;
95
- }
96
-
97
- // 撑满
98
- &.absolute-full {
99
- // 最后一列固定
100
- &.n-table--last-fixed {
101
- // 头部最后一个
102
- thead tr:last-child th:last-child {
103
- background-color: $header-footer-bg-color;
104
- }
105
- // 内容最后一个
106
- td:last-child {
107
- background-color: $td-bg-color;
108
- }
109
- th:last-child,
110
- td:last-child {
111
- background-color: $td-bg-color;
112
- border-left: 1px solid $table-border-color;
113
- }
114
- }
115
- }
116
- }
117
- }
118
-
119
- // 暗色
120
- .body--dark {
121
- .n-table {
122
-
123
- // 头部和底部背景色
124
- .q-table__top,
125
- .q-table__bottom,
126
- thead tr:first-child th {
127
- background-color: $dark-header-footer-bg-color;
128
- }
129
-
130
- // 撑满
131
- &.absolute-full {
132
- // 最后一列固定
133
- &.n-table--last-fixed {
134
- // 头部最后一个
135
- thead tr:last-child th:last-child {
136
- background-color: $dark-header-footer-bg-color;
137
- }
138
- // 内容最后一个
139
- td:last-child {
140
- background-color: $dark-td-bg-color;
141
- }
142
- th:last-child,
143
- td:last-child {
144
- background-color: $dark-td-bg-color;
145
- border-left: 1px solid $table-dark-border-color;
146
- }
147
- }
148
- }
149
- }
150
- }
1
+ /**
2
+ * 表格
3
+ */
4
+
5
+ // 头部底部背景色
6
+ $header-footer-bg-color: $grey-2;
7
+ $dark-header-footer-bg-color: $color-gray-93;
8
+ // 单元格背景色
9
+ $td-bg-color: #ffffff;
10
+ $dark-td-bg-color: $dark;
11
+
12
+ .n-table {
13
+
14
+ // 单元格换行
15
+ &__col-wrap {
16
+ word-wrap: break-word !important;
17
+ white-space: pre-wrap !important;
18
+ }
19
+
20
+ &.q-table {
21
+ &--dense {
22
+ // 复选框
23
+ .q-table {
24
+ th,
25
+ td {
26
+ &.q-table--col-auto-width:first-child {
27
+ padding: 0 12px;
28
+ }
29
+ }
30
+ }
31
+
32
+ thead tr,
33
+ tbody tr,
34
+ tbody td {
35
+ height: 40px;
36
+ }
37
+ }
38
+
39
+ &--horizontal-separator,
40
+ &--cell-separator {
41
+ tbody {
42
+ // 表格内容最后一排数据底部加上横线
43
+ &.q-virtual-scroll__content {
44
+ tr:last-child > td {
45
+ border-bottom-width: 1px;
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
51
+
52
+ // 宫格模式
53
+ &--grid {
54
+ background-color: rgba(var(--n-reverse-color-rgb), 0.1);
55
+ }
56
+
57
+ // 撑满
58
+ &.absolute-full {
59
+ border-radius: unset;
60
+
61
+ // 顶部吸顶
62
+ thead tr th {
63
+ position: sticky;
64
+ z-index: 2;
65
+ }
66
+ thead tr:first-child th {
67
+ top: 0;
68
+ }
69
+
70
+ // 最后一列固定
71
+ &.n-table--last-fixed {
72
+ // 最后一列吸顶
73
+ th:last-child,
74
+ td:last-child {
75
+ position: sticky;
76
+ right: 0;
77
+ z-index: 1;
78
+ }
79
+ th:last-child {
80
+ z-index: 2;
81
+ }
82
+ }
83
+ }
84
+ }
85
+
86
+ // 亮色
87
+ .body--light {
88
+ .n-table {
89
+
90
+ // 头部和底部背景色
91
+ .q-table__top,
92
+ .q-table__bottom,
93
+ thead tr:first-child th {
94
+ background-color: $header-footer-bg-color;
95
+ }
96
+
97
+ // 撑满
98
+ &.absolute-full {
99
+ // 最后一列固定
100
+ &.n-table--last-fixed {
101
+ // 头部最后一个
102
+ thead tr:last-child th:last-child {
103
+ background-color: $header-footer-bg-color;
104
+ }
105
+ // 内容最后一个
106
+ td:last-child {
107
+ background-color: $td-bg-color;
108
+ }
109
+ th:last-child,
110
+ td:last-child {
111
+ background-color: $td-bg-color;
112
+ border-left: 1px solid $table-border-color;
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
118
+
119
+ // 暗色
120
+ .body--dark {
121
+ .n-table {
122
+
123
+ // 头部和底部背景色
124
+ .q-table__top,
125
+ .q-table__bottom,
126
+ thead tr:first-child th {
127
+ background-color: $dark-header-footer-bg-color;
128
+ }
129
+
130
+ // 撑满
131
+ &.absolute-full {
132
+ // 最后一列固定
133
+ &.n-table--last-fixed {
134
+ // 头部最后一个
135
+ thead tr:last-child th:last-child {
136
+ background-color: $dark-header-footer-bg-color;
137
+ }
138
+ // 内容最后一个
139
+ td:last-child {
140
+ background-color: $dark-td-bg-color;
141
+ }
142
+ th:last-child,
143
+ td:last-child {
144
+ background-color: $dark-td-bg-color;
145
+ border-left: 1px solid $table-dark-border-color;
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
@@ -1,22 +1,22 @@
1
- /**
2
- * 头部
3
- */
4
-
5
- /**
6
- * 亮色
7
- */
8
- .body--light {
9
- .n-toolbar {
10
- color: $grey-8 !important;
11
- background: $grey-2 !important;
12
- }
13
- }
14
-
15
- /**
16
- * 暗色
17
- */
18
- .body--dark {
19
- .n-toolbar {
20
- background: var(--q-dark) !important;
21
- }
22
- }
1
+ /**
2
+ * 头部
3
+ */
4
+
5
+ /**
6
+ * 亮色
7
+ */
8
+ .body--light {
9
+ .n-toolbar {
10
+ color: $grey-8 !important;
11
+ background: $grey-2 !important;
12
+ }
13
+ }
14
+
15
+ /**
16
+ * 暗色
17
+ */
18
+ .body--dark {
19
+ .n-toolbar {
20
+ background: var(--q-dark) !important;
21
+ }
22
+ }
package/store/index.js CHANGED
@@ -1,29 +1,29 @@
1
- import { ref } from 'vue'
2
- import { initAuthStore } from '../utils/useAuth'
3
-
4
- /**
5
- * 公共变量
6
- */
7
-
8
- // 权限数据
9
- export const statePower = ref({
10
- // 角色权限版本
11
- v: null,
12
- // all id
13
- all: {},
14
- // 页面
15
- urls: {},
16
- // 按钮
17
- btns: {},
18
- // 菜单
19
- menus: [],
20
- })
21
-
22
- // 时间差
23
- export const stateTimeDiff = ref(0)
24
-
25
- // 网络是否在线
26
- // export const stateOnLine = ref(navigator.onLine)
27
-
28
- // 用户信息状态
29
- export const stateUserInfo = ref(initAuthStore())
1
+ import { ref } from 'vue'
2
+ import { initAuthStore } from '../utils/useAuth'
3
+
4
+ /**
5
+ * 公共变量
6
+ */
7
+
8
+ // 权限数据
9
+ export const statePower = ref({
10
+ // 角色权限版本
11
+ v: null,
12
+ // all id
13
+ all: {},
14
+ // 页面
15
+ urls: {},
16
+ // 按钮
17
+ btns: {},
18
+ // 菜单
19
+ menus: [],
20
+ })
21
+
22
+ // 时间差
23
+ export const stateTimeDiff = ref(0)
24
+
25
+ // 网络是否在线
26
+ // export const stateOnLine = ref(navigator.onLine)
27
+
28
+ // 用户信息状态
29
+ export const stateUserInfo = ref(initAuthStore())
package/utils/$auth.js CHANGED
@@ -1,127 +1,127 @@
1
- import $n_router from '@netang/utils/vue/router'
2
-
3
- import $n_isValidObject from '@netang/utils/isValidObject'
4
- import $n_cookie from '@netang/utils/cookie'
5
-
6
- import { stateUserInfo } from '../store'
7
- import { checkUserInfo } from './useAuth'
8
-
9
- /**
10
- * 是否登录
11
- */
12
- function isLogin() {
13
- return stateUserInfo.value.isLogin
14
- }
15
-
16
- /**
17
- * 登录后更新用户状态数据
18
- */
19
- function updateLogin(res) {
20
-
21
- // 获取返回结果
22
- const {
23
- // 管理员 id
24
- i,
25
- // 鉴权认证
26
- t,
27
- // 用户基础信息
28
- user_info,
29
- } = res
30
-
31
- // 更新用户信息
32
- return _updateUserInfo({
33
- id: i,
34
- token: t,
35
- info: $n_isValidObject(user_info) ? user_info : {},
36
- })
37
- }
38
- function _updateUserInfo(res) {
39
-
40
- // 验证用户信息
41
- if (! checkUserInfo(res)) {
42
-
43
- // 【调试模式】
44
- // --------------------------------------------------
45
- // #ifdef IS_DEBUG
46
- console.error('【验证错误 _updateUserInfo】', res)
47
- // #endif
48
- // --------------------------------------------------
49
-
50
- return false
51
- }
52
-
53
- // 设置已登录
54
- res.isLogin = true
55
-
56
- if (! $n_isValidObject(res.info)) {
57
- res.info = {}
58
- }
59
-
60
- // 保存缓存(永久缓存)
61
- $n_cookie.set('_tk', res, 0)
62
-
63
- // 设置用户信息状态
64
- stateUserInfo.value = res
65
-
66
- return true
67
- }
68
-
69
- /**
70
- * 获取用户信息
71
- */
72
- function getUserInfo() {
73
- return stateUserInfo.value
74
- }
75
-
76
- /**
77
- * 获取用户 ID
78
- */
79
- function getUserId() {
80
- return isLogin() ? stateUserInfo.value.id : 0
81
- }
82
-
83
- /**
84
- * 跳转登录页面
85
- */
86
- function pushLogin(query) {
87
- $n_router.push({
88
- path: 'login',
89
- query,
90
- })
91
- }
92
-
93
- /**
94
- * 退出登录
95
- */
96
- function logout() {
97
-
98
- // 删除管理员信息
99
- $n_cookie.delete('_tk')
100
-
101
- // 清空用户信息状态
102
- stateUserInfo.value = {
103
- id: 0,
104
- isLogin: false,
105
- info: {},
106
- }
107
- }
108
-
109
- /**
110
- * 鉴权业务
111
- */
112
- const $auth = {
113
- // 是否登录
114
- isLogin,
115
- // 获取用户信息
116
- getUserInfo,
117
- // 获取用户 ID
118
- getUserId,
119
- // 跳转登录页面
120
- pushLogin,
121
- // 退出登录
122
- logout,
123
- // 登录后更新用户状态数据
124
- updateLogin,
125
- }
126
-
127
- export default $auth
1
+ import $n_router from '@netang/utils/vue/router'
2
+
3
+ import $n_isValidObject from '@netang/utils/isValidObject'
4
+ import $n_cookie from '@netang/utils/cookie'
5
+
6
+ import { stateUserInfo } from '../store'
7
+ import { checkUserInfo } from './useAuth'
8
+
9
+ /**
10
+ * 是否登录
11
+ */
12
+ function isLogin() {
13
+ return stateUserInfo.value.isLogin
14
+ }
15
+
16
+ /**
17
+ * 登录后更新用户状态数据
18
+ */
19
+ function updateLogin(res) {
20
+
21
+ // 获取返回结果
22
+ const {
23
+ // 管理员 id
24
+ i,
25
+ // 鉴权认证
26
+ t,
27
+ // 用户基础信息
28
+ user_info,
29
+ } = res
30
+
31
+ // 更新用户信息
32
+ return _updateUserInfo({
33
+ id: i,
34
+ token: t,
35
+ info: $n_isValidObject(user_info) ? user_info : {},
36
+ })
37
+ }
38
+ function _updateUserInfo(res) {
39
+
40
+ // 验证用户信息
41
+ if (! checkUserInfo(res)) {
42
+
43
+ // 【调试模式】
44
+ // --------------------------------------------------
45
+ // #ifdef IS_DEBUG
46
+ console.error('【验证错误 _updateUserInfo】', res)
47
+ // #endif
48
+ // --------------------------------------------------
49
+
50
+ return false
51
+ }
52
+
53
+ // 设置已登录
54
+ res.isLogin = true
55
+
56
+ if (! $n_isValidObject(res.info)) {
57
+ res.info = {}
58
+ }
59
+
60
+ // 保存缓存(永久缓存)
61
+ $n_cookie.set('_tk', res, 0)
62
+
63
+ // 设置用户信息状态
64
+ stateUserInfo.value = res
65
+
66
+ return true
67
+ }
68
+
69
+ /**
70
+ * 获取用户信息
71
+ */
72
+ function getUserInfo() {
73
+ return stateUserInfo.value
74
+ }
75
+
76
+ /**
77
+ * 获取用户 ID
78
+ */
79
+ function getUserId() {
80
+ return isLogin() ? stateUserInfo.value.id : 0
81
+ }
82
+
83
+ /**
84
+ * 跳转登录页面
85
+ */
86
+ function pushLogin(query) {
87
+ $n_router.push({
88
+ path: 'login',
89
+ query,
90
+ })
91
+ }
92
+
93
+ /**
94
+ * 退出登录
95
+ */
96
+ function logout() {
97
+
98
+ // 删除管理员信息
99
+ $n_cookie.delete('_tk')
100
+
101
+ // 清空用户信息状态
102
+ stateUserInfo.value = {
103
+ id: 0,
104
+ isLogin: false,
105
+ info: {},
106
+ }
107
+ }
108
+
109
+ /**
110
+ * 鉴权业务
111
+ */
112
+ const $auth = {
113
+ // 是否登录
114
+ isLogin,
115
+ // 获取用户信息
116
+ getUserInfo,
117
+ // 获取用户 ID
118
+ getUserId,
119
+ // 跳转登录页面
120
+ pushLogin,
121
+ // 退出登录
122
+ logout,
123
+ // 登录后更新用户状态数据
124
+ updateLogin,
125
+ }
126
+
127
+ export default $auth