befly-admin 3.5.32 → 3.5.34

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.
@@ -0,0 +1,45 @@
1
+ import { $Storage } from "@/plugins/storage";
2
+ import { applyTokenAuthGuard, buildLayoutRoutes, createLayoutComponentResolver } from "befly-vite/utils/router";
3
+ import { createRouter, createWebHashHistory } from "vue-router";
4
+ import { routes } from "vue-router/auto-routes";
5
+
6
+ // 应用自定义布局系统
7
+ const layoutRoutes = buildLayoutRoutes(
8
+ routes,
9
+ createLayoutComponentResolver({
10
+ resolveDefaultLayout: () => import("@/layouts/default.vue"),
11
+ resolveNamedLayout: (layoutName) => import(`@/layouts/${layoutName}.vue`)
12
+ })
13
+ );
14
+
15
+ // 添加根路径重定向
16
+ const finalRoutes = [
17
+ {
18
+ path: "/",
19
+ redirect: $Config.homePath
20
+ }
21
+ ].concat(layoutRoutes);
22
+
23
+ /**
24
+ * 创建并导出路由实例
25
+ * 可直接在 main.js 中使用 app.use(router)
26
+ */
27
+ export const router = createRouter({
28
+ history: createWebHashHistory(import.meta.env.BASE_URL),
29
+ routes: finalRoutes
30
+ });
31
+
32
+ // 路由守卫 - 基础验证
33
+ applyTokenAuthGuard(router, {
34
+ getToken: () => $Storage.local.get("token"),
35
+ loginPath: $Config.loginPath,
36
+ homePath: $Config.homePath
37
+ });
38
+
39
+ // 路由就绪后处理
40
+ router.afterEach((_to) => {
41
+ // 可以在这里添加页面访问统计等
42
+ if (import.meta.env.DEV) {
43
+ // 开发环境调试日志请使用更合适的日志方案(此处避免 console 触发 lint 门禁)
44
+ }
45
+ });
@@ -4,7 +4,7 @@
4
4
  */
5
5
 
6
6
  // 获取命名空间
7
- const NAMESPACE = import.meta.env.VITE_STORAGE_NAMESPACE || 'befly';
7
+ const NAMESPACE = import.meta.env.VITE_STORAGE_NAMESPACE || "befly";
8
8
 
9
9
  /**
10
10
  * 存储操作类
@@ -45,9 +45,7 @@ class StorageManager {
45
45
  const fullKey = this.getKey(key);
46
46
  const serializedValue = JSON.stringify(value);
47
47
  storage.setItem(fullKey, serializedValue);
48
- } catch (error) {
49
- console.error(`Storage.set error for key "${key}":`, error);
50
- }
48
+ } catch {}
51
49
  },
52
50
 
53
51
  /**
@@ -65,8 +63,7 @@ class StorageManager {
65
63
  return defaultValue;
66
64
  }
67
65
  return JSON.parse(value);
68
- } catch (error) {
69
- console.error(`Storage.get error for key "${key}":`, error);
66
+ } catch {
70
67
  return defaultValue;
71
68
  }
72
69
  },
@@ -80,9 +77,7 @@ class StorageManager {
80
77
  try {
81
78
  const fullKey = this.getKey(key);
82
79
  storage.removeItem(fullKey);
83
- } catch (error) {
84
- console.error(`Storage.remove error for key "${key}":`, error);
85
- }
80
+ } catch {}
86
81
  },
87
82
 
88
83
  /**
@@ -98,9 +93,7 @@ class StorageManager {
98
93
  storage.removeItem(key);
99
94
  }
100
95
  });
101
- } catch (error) {
102
- console.error('Storage.clear error:', error);
103
- }
96
+ } catch {}
104
97
  },
105
98
 
106
99
  /**
@@ -10,7 +10,7 @@ html,
10
10
  body {
11
11
  margin: 0;
12
12
  padding: 0;
13
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'PingFang SC', 'Microsoft YaHei';
13
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "PingFang SC", "Microsoft YaHei";
14
14
  font-size: var(--font-size-md);
15
15
  color: var(--text-primary);
16
16
  background: var(--bg-color-page);
@@ -6,14 +6,13 @@
6
6
  // biome-ignore lint: disable
7
7
  export {}
8
8
  declare global {
9
- const $Config: typeof import('../config/index.js').$Config
9
+ const $Config: typeof import('../plugins/config.js').$Config
10
10
  const $Http: typeof import('../plugins/http.js').$Http
11
11
  const $Storage: typeof import('../plugins/storage.js').$Storage
12
- const DialogPlugin: typeof import('tdesign-vue-next').DialogPlugin
12
+ const DialogPlugin: typeof import("tdesign-vue-next").DialogPlugin
13
13
  const EffectScope: typeof import('vue').EffectScope
14
14
  const MessagePlugin: typeof import('tdesign-vue-next').MessagePlugin
15
15
  const acceptHMRUpdate: typeof import('pinia').acceptHMRUpdate
16
- const arrayToTree: typeof import('../utils/index.js').arrayToTree
17
16
  const computed: typeof import('vue').computed
18
17
  const createApp: typeof import('vue').createApp
19
18
  const createPinia: typeof import('pinia').createPinia
@@ -61,6 +60,7 @@ declare global {
61
60
  const readonly: typeof import('vue').readonly
62
61
  const ref: typeof import('vue').ref
63
62
  const resolveComponent: typeof import('vue').resolveComponent
63
+ const router: typeof import('../plugins/router.js').router
64
64
  const setActivePinia: typeof import('pinia').setActivePinia
65
65
  const setMapStoreSuffix: typeof import('pinia').setMapStoreSuffix
66
66
  const shallowReactive: typeof import('vue').shallowReactive
@@ -87,8 +87,6 @@ declare global {
87
87
  const watchEffect: typeof import('vue').watchEffect
88
88
  const watchPostEffect: typeof import('vue').watchPostEffect
89
89
  const watchSyncEffect: typeof import('vue').watchSyncEffect
90
- const withDefaultColumns: typeof import('../utils/index.js').withDefaultColumns
91
- const withTreeTableProps: typeof import('../utils/index.js').withTreeTableProps
92
90
  }
93
91
  // for type re-export
94
92
  declare global {
@@ -102,14 +100,12 @@ import { UnwrapRef } from 'vue'
102
100
  declare module 'vue' {
103
101
  interface GlobalComponents {}
104
102
  interface ComponentCustomProperties {
105
- readonly $Config: UnwrapRef<typeof import('../config/index.js')['$Config']>
103
+ readonly $Config: UnwrapRef<typeof import('../plugins/config.js')['$Config']>
106
104
  readonly $Http: UnwrapRef<typeof import('../plugins/http.js')['$Http']>
107
105
  readonly $Storage: UnwrapRef<typeof import('../plugins/storage.js')['$Storage']>
108
- readonly DialogPlugin: UnwrapRef<typeof import('tdesign-vue-next')['DialogPlugin']>
109
106
  readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']>
110
107
  readonly MessagePlugin: UnwrapRef<typeof import('tdesign-vue-next')['MessagePlugin']>
111
108
  readonly acceptHMRUpdate: UnwrapRef<typeof import('pinia')['acceptHMRUpdate']>
112
- readonly arrayToTree: UnwrapRef<typeof import('../utils/index.js')['arrayToTree']>
113
109
  readonly computed: UnwrapRef<typeof import('vue')['computed']>
114
110
  readonly createApp: UnwrapRef<typeof import('vue')['createApp']>
115
111
  readonly createPinia: UnwrapRef<typeof import('pinia')['createPinia']>
@@ -157,6 +153,7 @@ declare module 'vue' {
157
153
  readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
158
154
  readonly ref: UnwrapRef<typeof import('vue')['ref']>
159
155
  readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']>
156
+ readonly router: UnwrapRef<typeof import('../plugins/router.js')['router']>
160
157
  readonly setActivePinia: UnwrapRef<typeof import('pinia')['setActivePinia']>
161
158
  readonly setMapStoreSuffix: UnwrapRef<typeof import('pinia')['setMapStoreSuffix']>
162
159
  readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
@@ -183,7 +180,5 @@ declare module 'vue' {
183
180
  readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
184
181
  readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
185
182
  readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
186
- readonly withDefaultColumns: UnwrapRef<typeof import('../utils/index.js')['withDefaultColumns']>
187
- readonly withTreeTableProps: UnwrapRef<typeof import('../utils/index.js')['withTreeTableProps']>
188
183
  }
189
184
  }
@@ -12,48 +12,21 @@ export {}
12
12
  declare module 'vue' {
13
13
  export interface GlobalComponents {
14
14
  DetailPanel: typeof import('./../components/DetailPanel.vue')['default']
15
- Dialog: typeof import('./../components/Dialog.vue')['default']
16
15
  'ILucide:box': typeof import('~icons/lucide/box')['default']
17
16
  'ILucide:camera': typeof import('~icons/lucide/camera')['default']
18
17
  'ILucide:fileText': typeof import('~icons/lucide/file-text')['default']
19
18
  'ILucide:folder': typeof import('~icons/lucide/folder')['default']
20
19
  'ILucide:home': typeof import('~icons/lucide/home')['default']
21
20
  'ILucide:logOut': typeof import('~icons/lucide/log-out')['default']
22
- 'ILucide:panelLeftClose': typeof import('~icons/lucide/panel-left-close')['default']
23
- 'ILucide:panelLeftOpen': typeof import('~icons/lucide/panel-left-open')['default']
24
21
  'ILucide:settings': typeof import('~icons/lucide/settings')['default']
25
22
  'ILucide:user': typeof import('~icons/lucide/user')['default']
26
- 'ILucide:x': typeof import('~icons/lucide/x')['default']
27
- ILucideLock: typeof import('~icons/lucide/lock')['default']
28
- ILucideUser: typeof import('~icons/lucide/user')['default']
29
23
  RouterLink: typeof import('vue-router')['RouterLink']
30
24
  RouterView: typeof import('vue-router')['RouterView']
31
- TAvatar: typeof import('tdesign-vue-next')['Avatar']
32
25
  TButton: typeof import('tdesign-vue-next')['Button']
33
- TCard: typeof import('tdesign-vue-next')['Card']
34
- TCheckbox: typeof import('tdesign-vue-next')['Checkbox']
35
- TForm: typeof import('tdesign-vue-next')['Form']
36
- TFormItem: typeof import('tdesign-vue-next')['FormItem']
37
- TIcon: typeof import('tdesign-vue-next')['Icon']
38
- TIconBell: typeof import('tdesign-vue-next')['IconBell']
39
- TIconChevronDown: typeof import('tdesign-vue-next')['IconChevronDown']
40
- TIconChevronUp: typeof import('tdesign-vue-next')['IconChevronUp']
41
- TIconMoney: typeof import('tdesign-vue-next')['IconMoney']
42
- TIconShop: typeof import('tdesign-vue-next')['IconShop']
43
- TIconUser: typeof import('tdesign-vue-next')['IconUser']
44
- TInput: typeof import('tdesign-vue-next')['Input']
45
- TInputAdornment: typeof import('tdesign-vue-next')['InputAdornment']
46
- TLink: typeof import('tdesign-vue-next')['Link']
47
26
  TMenu: typeof import('tdesign-vue-next')['Menu']
48
27
  TMenuItem: typeof import('tdesign-vue-next')['MenuItem']
49
- TOption: typeof import('tdesign-vue-next')['Option']
50
- TProgress: typeof import('tdesign-vue-next')['Progress']
51
- TRadioButton: typeof import('tdesign-vue-next')['RadioButton']
52
- TRadioGroup: typeof import('tdesign-vue-next')['RadioGroup']
53
- TSelect: typeof import('tdesign-vue-next')['Select']
54
28
  TSpace: typeof import('tdesign-vue-next')['Space']
55
29
  TSubmenu: typeof import('tdesign-vue-next')['Submenu']
56
- TTag: typeof import('tdesign-vue-next')['Tag']
57
30
  TUpload: typeof import('tdesign-vue-next')['Upload']
58
31
  }
59
32
  }
@@ -37,6 +37,13 @@ declare module 'vue-router/auto-routes' {
37
37
  Record<never, never>,
38
38
  | never
39
39
  >,
40
+ '/addon/admin/config/': RouteRecordInfo<
41
+ '/addon/admin/config/',
42
+ '/addon/admin/config',
43
+ Record<never, never>,
44
+ Record<never, never>,
45
+ | never
46
+ >,
40
47
  '/addon/admin/config/dict/': RouteRecordInfo<
41
48
  '/addon/admin/config/dict/',
42
49
  '/addon/admin/config/dict',
@@ -58,6 +65,13 @@ declare module 'vue-router/auto-routes' {
58
65
  Record<never, never>,
59
66
  | never
60
67
  >,
68
+ '/addon/admin/log/': RouteRecordInfo<
69
+ '/addon/admin/log/',
70
+ '/addon/admin/log',
71
+ Record<never, never>,
72
+ Record<never, never>,
73
+ | never
74
+ >,
61
75
  '/addon/admin/log/email/': RouteRecordInfo<
62
76
  '/addon/admin/log/email/',
63
77
  '/addon/admin/log/email',
@@ -86,6 +100,13 @@ declare module 'vue-router/auto-routes' {
86
100
  Record<never, never>,
87
101
  | never
88
102
  >,
103
+ '/addon/admin/people/': RouteRecordInfo<
104
+ '/addon/admin/people/',
105
+ '/addon/admin/people',
106
+ Record<never, never>,
107
+ Record<never, never>,
108
+ | never
109
+ >,
89
110
  '/addon/admin/people/admin/': RouteRecordInfo<
90
111
  '/addon/admin/people/admin/',
91
112
  '/addon/admin/people/admin',
@@ -93,6 +114,13 @@ declare module 'vue-router/auto-routes' {
93
114
  Record<never, never>,
94
115
  | never
95
116
  >,
117
+ '/addon/admin/permission/': RouteRecordInfo<
118
+ '/addon/admin/permission/',
119
+ '/addon/admin/permission',
120
+ Record<never, never>,
121
+ Record<never, never>,
122
+ | never
123
+ >,
96
124
  '/addon/admin/permission/api/': RouteRecordInfo<
97
125
  '/addon/admin/permission/api/',
98
126
  '/addon/admin/permission/api',
@@ -114,16 +142,16 @@ declare module 'vue-router/auto-routes' {
114
142
  Record<never, never>,
115
143
  | never
116
144
  >,
117
- '/index2': RouteRecordInfo<
118
- '/index2',
119
- '/index2',
145
+ '/dashboard/': RouteRecordInfo<
146
+ '/dashboard/',
147
+ '/dashboard',
120
148
  Record<never, never>,
121
149
  Record<never, never>,
122
150
  | never
123
151
  >,
124
- '/index3': RouteRecordInfo<
125
- '/index3',
126
- '/index3',
152
+ '/index2': RouteRecordInfo<
153
+ '/index2',
154
+ '/index2',
127
155
  Record<never, never>,
128
156
  Record<never, never>,
129
157
  | never
@@ -141,93 +169,117 @@ declare module 'vue-router/auto-routes' {
141
169
  * @internal
142
170
  */
143
171
  export interface _RouteFileInfoMap {
144
- 'node_modules/@befly-addon/admin/views/index/index.vue': {
172
+ '../addonAdmin/views/index/index.vue': {
145
173
  routes:
146
174
  | '/addon/admin//'
147
175
  views:
148
176
  | never
149
177
  }
150
- 'node_modules/@befly-addon/admin/views/403_1/index.vue': {
178
+ '../addonAdmin/views/403_1/index.vue': {
151
179
  routes:
152
180
  | '/addon/admin/403_1/'
153
181
  views:
154
182
  | never
155
183
  }
156
- 'node_modules/@befly-addon/admin/views/config/dict/index.vue': {
184
+ '../addonAdmin/views/config/index.vue': {
185
+ routes:
186
+ | '/addon/admin/config/'
187
+ views:
188
+ | never
189
+ }
190
+ '../addonAdmin/views/config/dict/index.vue': {
157
191
  routes:
158
192
  | '/addon/admin/config/dict/'
159
193
  views:
160
194
  | never
161
195
  }
162
- 'node_modules/@befly-addon/admin/views/config/dictType/index.vue': {
196
+ '../addonAdmin/views/config/dictType/index.vue': {
163
197
  routes:
164
198
  | '/addon/admin/config/dictType/'
165
199
  views:
166
200
  | never
167
201
  }
168
- 'node_modules/@befly-addon/admin/views/config/system/index.vue': {
202
+ '../addonAdmin/views/config/system/index.vue': {
169
203
  routes:
170
204
  | '/addon/admin/config/system/'
171
205
  views:
172
206
  | never
173
207
  }
174
- 'node_modules/@befly-addon/admin/views/log/email/index.vue': {
208
+ '../addonAdmin/views/log/index.vue': {
209
+ routes:
210
+ | '/addon/admin/log/'
211
+ views:
212
+ | never
213
+ }
214
+ '../addonAdmin/views/log/email/index.vue': {
175
215
  routes:
176
216
  | '/addon/admin/log/email/'
177
217
  views:
178
218
  | never
179
219
  }
180
- 'node_modules/@befly-addon/admin/views/log/login/index.vue': {
220
+ '../addonAdmin/views/log/login/index.vue': {
181
221
  routes:
182
222
  | '/addon/admin/log/login/'
183
223
  views:
184
224
  | never
185
225
  }
186
- 'node_modules/@befly-addon/admin/views/log/operate/index.vue': {
226
+ '../addonAdmin/views/log/operate/index.vue': {
187
227
  routes:
188
228
  | '/addon/admin/log/operate/'
189
229
  views:
190
230
  | never
191
231
  }
192
- 'node_modules/@befly-addon/admin/views/login_1/index.vue': {
232
+ '../addonAdmin/views/login_1/index.vue': {
193
233
  routes:
194
234
  | '/addon/admin/login_1/'
195
235
  views:
196
236
  | never
197
237
  }
198
- 'node_modules/@befly-addon/admin/views/people/admin/index.vue': {
238
+ '../addonAdmin/views/people/index.vue': {
239
+ routes:
240
+ | '/addon/admin/people/'
241
+ views:
242
+ | never
243
+ }
244
+ '../addonAdmin/views/people/admin/index.vue': {
199
245
  routes:
200
246
  | '/addon/admin/people/admin/'
201
247
  views:
202
248
  | never
203
249
  }
204
- 'node_modules/@befly-addon/admin/views/permission/api/index.vue': {
250
+ '../addonAdmin/views/permission/index.vue': {
251
+ routes:
252
+ | '/addon/admin/permission/'
253
+ views:
254
+ | never
255
+ }
256
+ '../addonAdmin/views/permission/api/index.vue': {
205
257
  routes:
206
258
  | '/addon/admin/permission/api/'
207
259
  views:
208
260
  | never
209
261
  }
210
- 'node_modules/@befly-addon/admin/views/permission/menu/index.vue': {
262
+ '../addonAdmin/views/permission/menu/index.vue': {
211
263
  routes:
212
264
  | '/addon/admin/permission/menu/'
213
265
  views:
214
266
  | never
215
267
  }
216
- 'node_modules/@befly-addon/admin/views/permission/role/index.vue': {
268
+ '../addonAdmin/views/permission/role/index.vue': {
217
269
  routes:
218
270
  | '/addon/admin/permission/role/'
219
271
  views:
220
272
  | never
221
273
  }
222
- 'src/views/index2.vue': {
274
+ 'src/views/dashboard/index.vue': {
223
275
  routes:
224
- | '/index2'
276
+ | '/dashboard/'
225
277
  views:
226
278
  | never
227
279
  }
228
- 'src/views/index3.vue': {
280
+ 'src/views/index2.vue': {
229
281
  routes:
230
- | '/index3'
282
+ | '/index2'
231
283
  views:
232
284
  | never
233
285
  }
@@ -0,0 +1,3 @@
1
+ // 让 TypeScript 识别 unplugin-vue-router 的 definePage 宏
2
+ // 注意:这不会在运行时引入任何代码,仅用于类型声明
3
+ import "unplugin-vue-router/client";
@@ -0,0 +1,117 @@
1
+ <template>
2
+ <div class="dashboard">
3
+ <div class="header">
4
+ <div class="title">工作台</div>
5
+ <div class="desc">这里是业务首页(admin 自有页面),系统管理功能仍在 /addon/admin/*。</div>
6
+ </div>
7
+
8
+ <div class="cards">
9
+ <TCard class="card" title="今日概览" :bordered="false">
10
+ <div class="kv">
11
+ <div class="item">
12
+ <div class="k">新增用户</div>
13
+ <div class="v">—</div>
14
+ </div>
15
+ <div class="item">
16
+ <div class="k">新增订单</div>
17
+ <div class="v">—</div>
18
+ </div>
19
+ <div class="item">
20
+ <div class="k">待处理事项</div>
21
+ <div class="v">—</div>
22
+ </div>
23
+ </div>
24
+ </TCard>
25
+
26
+ <TCard class="card" title="快捷入口" :bordered="false">
27
+ <div class="quick">
28
+ <TButton theme="primary" variant="base" @click="$Method.goSystem">进入系统管理</TButton>
29
+ <TButton theme="default" variant="outline" @click="$Method.refresh">刷新</TButton>
30
+ </div>
31
+ </TCard>
32
+ </div>
33
+ </div>
34
+ </template>
35
+
36
+ <script setup>
37
+ import { Button as TButton, Card as TCard } from "tdesign-vue-next";
38
+
39
+ definePage({
40
+ meta: {
41
+ title: "工作台",
42
+ layout: "default"
43
+ }
44
+ });
45
+
46
+ const router = useRouter();
47
+
48
+ const $Method = {
49
+ goSystem() {
50
+ router.push("/addon/admin");
51
+ },
52
+ refresh() {
53
+ window.location.reload();
54
+ }
55
+ };
56
+ </script>
57
+
58
+ <style scoped lang="scss">
59
+ .dashboard {
60
+ padding: 16px;
61
+ }
62
+
63
+ .header {
64
+ padding: 12px 0;
65
+
66
+ .title {
67
+ font-size: 18px;
68
+ font-weight: 600;
69
+ color: var(--text-primary);
70
+ margin-bottom: 6px;
71
+ }
72
+
73
+ .desc {
74
+ font-size: 12px;
75
+ color: var(--text-secondary);
76
+ }
77
+ }
78
+
79
+ .cards {
80
+ display: grid;
81
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
82
+ gap: 12px;
83
+ }
84
+
85
+ .card {
86
+ border-radius: var(--border-radius-large);
87
+ }
88
+
89
+ .kv {
90
+ display: grid;
91
+ grid-template-columns: repeat(3, minmax(0, 1fr));
92
+ gap: 12px;
93
+
94
+ .item {
95
+ padding: 10px 12px;
96
+ border-radius: var(--border-radius);
97
+ background: var(--bg-color-page);
98
+
99
+ .k {
100
+ font-size: 12px;
101
+ color: var(--text-secondary);
102
+ margin-bottom: 8px;
103
+ }
104
+
105
+ .v {
106
+ font-size: 18px;
107
+ font-weight: 600;
108
+ color: var(--text-primary);
109
+ }
110
+ }
111
+ }
112
+
113
+ .quick {
114
+ display: flex;
115
+ gap: 10px;
116
+ }
117
+ </style>
@@ -142,18 +142,21 @@
142
142
  </div>
143
143
  </template>
144
144
 
145
- <route lang="yaml">
146
- meta:
147
- layout: default
148
- title: 数据面板
149
- </route>
145
+ <script setup>
146
+ definePage({
147
+ meta: {
148
+ title: "数据面板",
149
+ layout: "default"
150
+ }
151
+ });
152
+ </script>
150
153
 
151
154
  <style lang="scss" scoped>
152
155
  .dashboard {
153
156
  padding: 20px;
154
157
  min-height: 100vh;
155
158
  background-color: #f5f7fa;
156
- font-family: 'Arial', sans-serif;
159
+ font-family: "Arial", sans-serif;
157
160
  }
158
161
 
159
162
  h1 {
package/vite.config.js CHANGED
@@ -1,11 +1,12 @@
1
- import { createBeflyViteConfig } from 'befly-vite';
2
- import { scanViews } from 'befly-shared/scanViews';
3
- import { fileURLToPath } from 'node:url';
1
+ import { fileURLToPath } from "node:url";
2
+
3
+ import { createBeflyViteConfig } from "befly-vite";
4
+ import { scanViews } from "befly-vite/utils/scanViews";
4
5
 
5
6
  export default createBeflyViteConfig({
6
- root: fileURLToPath(new URL('.', import.meta.url)),
7
+ root: fileURLToPath(new URL(".", import.meta.url)),
7
8
  scanViews: scanViews,
8
9
  optimizeDeps: {
9
- include: ['befly-shared']
10
+ include: []
10
11
  }
11
12
  });
@@ -1,20 +0,0 @@
1
- /**
2
- * 内部配置
3
- * 存放框架内置的配置变量,不建议修改
4
- */
5
-
6
- /**
7
- * 内置配置对象
8
- */
9
- export const $Config = {
10
- /** 应用标题 */
11
- appTitle: import.meta.env.VITE_APP_TITLE || '野蜂飞舞',
12
- /** API 基础地址 */
13
- apiBaseUrl: import.meta.env.VITE_API_BASE_URL || '',
14
- /** 存储命名空间 */
15
- storageNamespace: import.meta.env.VITE_STORAGE_NAMESPACE || 'befly_admin',
16
- /** 是否开发环境 */
17
- isDev: import.meta.env.DEV,
18
- /** 是否生产环境 */
19
- isProd: import.meta.env.PROD
20
- };