el-plus 0.0.87 → 0.0.88

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 (38) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/index.full.js +43 -39
  3. package/dist/index.full.min.js +4 -4
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +4 -4
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +43 -39
  8. package/docs/components/buttons.md +66 -19
  9. package/docs/components/form.md +24 -5
  10. package/docs/components/header.md +23 -0
  11. package/docs/components/search-list-page.md +11 -1
  12. package/docs/components/table.md +2 -1
  13. package/docs/components/use-form-dialog.md +4 -5
  14. package/docs/hooks/use-navigation.md +131 -0
  15. package/docs/hooks/use-utils.md +144 -0
  16. package/docs/index.md +11 -11
  17. package/docs/overview.md +99 -0
  18. package/docs/pages/detail.md +1 -1
  19. package/docs/pages/list.md +1 -1
  20. package/docs/pages/router.md +151 -0
  21. package/es/components/uni-vue/index.d.ts +7 -17
  22. package/es/components/uni-vue/src/uni-vue.vue.d.ts +3 -7
  23. package/es/components/uni-vue/src/uni-vue.vue2.mjs +1 -3
  24. package/es/components/uni-vue/src/uni-vue.vue2.mjs.map +1 -1
  25. package/es/components/uni-vue/src/use-uni-vue.d.ts +1 -1
  26. package/es/components/uni-vue/src/use-uni-vue.mjs +40 -34
  27. package/es/components/uni-vue/src/use-uni-vue.mjs.map +1 -1
  28. package/es/package.json.mjs +1 -1
  29. package/lib/components/uni-vue/index.d.ts +7 -17
  30. package/lib/components/uni-vue/src/uni-vue.vue.d.ts +3 -7
  31. package/lib/components/uni-vue/src/uni-vue.vue2.js +1 -3
  32. package/lib/components/uni-vue/src/uni-vue.vue2.js.map +1 -1
  33. package/lib/components/uni-vue/src/use-uni-vue.d.ts +1 -1
  34. package/lib/components/uni-vue/src/use-uni-vue.js +40 -34
  35. package/lib/components/uni-vue/src/use-uni-vue.js.map +1 -1
  36. package/lib/package.json.js +1 -1
  37. package/package.json +4 -2
  38. package/docs/components/index.md +0 -23
package/docs/index.md CHANGED
@@ -5,21 +5,21 @@ layout: home
5
5
  hero:
6
6
  name: "el-plus-docs"
7
7
  text: "宏信组件文档"
8
- tagline: My great project tagline
8
+ tagline: 快速生成 Vue 页面和组件
9
9
  actions:
10
10
  - theme: brand
11
- text: Markdown Examples
12
- link: /markdown-examples
11
+ text: 组件库总览
12
+ link: /overview
13
13
  - theme: alt
14
- text: API Examples
15
- link: /api-examples
14
+ text: 更新日志
15
+ link: /CHANGELOG
16
16
 
17
17
  features:
18
- - title: Feature A
19
- details: Lorem ipsum dolor sit amet, consectetur adipiscing elit
20
- - title: Feature B
21
- details: Lorem ipsum dolor sit amet, consectetur adipiscing elit
22
- - title: Feature C
23
- details: Lorem ipsum dolor sit amet, consectetur adipiscing elit
18
+ - title: 📄 列表页
19
+ details: 快速生成包含搜索、表格、操作按钮的列表页面
20
+ - title: 📝 详情页
21
+ details: 灵活组合表单、明细表格、附件等组件
22
+ - title: 🧩 组件库
23
+ details: 丰富的业务组件,支持自由组合配置
24
24
  ---
25
25
 
@@ -0,0 +1,99 @@
1
+ # 组件库总览
2
+
3
+ 本文档是 el-plus 组件库的总入口,包含所有可用的页面类型和组件概览。
4
+
5
+ ## 页面类型
6
+
7
+ 本组件库支持两种页面类型,可自由组合组件实现业务需求:
8
+
9
+ | 页面类型 | 说明 | 文档 | 核心组件 |
10
+ |---------|------|------|---------|
11
+ | **列表页** | 包含搜索表单、数据表格、操作按钮等 | [pages/list.md](./pages/list.md) | EpSearchListPage |
12
+ | **详情页** | 包含表单、明细表格、附件等 | [pages/detail.md](./pages/detail.md) | EpForm |
13
+
14
+ ## 组件分类
15
+
16
+ ### 页面容器组件
17
+
18
+ | 组件 | 说明 | 文档 |
19
+ |------|------|------|
20
+ | **EpSearchListPage** | 列表页容器,集成搜索表单和数据表格 | [search-list-page.md](./components/search-list-page.md) |
21
+ | **EpForm** | 表单容器,支持栅格布局和组件自由组合 | [form.md](./components/form.md) |
22
+
23
+ ### 布局组件
24
+
25
+ | 组件 | 说明 | 文档 |
26
+ |------|------|------|
27
+ | **EpHeader** | 顶部操作栏,用于放置页面级操作按钮 | [header.md](./components/header.md) |
28
+ | **EpTitle** | 标题分组,用于表单内容分组展示 | [title.md](./components/title.md) |
29
+
30
+ ### 弹窗组件
31
+
32
+ | 组件 | 说明 | 文档 |
33
+ |------|------|------|
34
+ | **EpDialog** | 对话框容器 | [dialog.md](./components/dialog.md) |
35
+ | **useFormDialog** | 表单对话框 Hook,快速实现表单弹窗 | [use-form-dialog.md](./components/use-form-dialog.md) |
36
+ | **useConfirmDialog** | 确认对话框 Hook,用于二次确认操作 | [use-confirm-dialog.md](./components/use-confirm-dialog.md) |
37
+ | **useChooseDialog** | 选择对话框 Hook,用于弹窗选择数据 | [use-choose-dialog.md](./components/use-choose-dialog.md) |
38
+
39
+ ### 表单组件
40
+
41
+ | 组件 | 说明 | 文档 |
42
+ |------|------|------|
43
+ | **EpInput** | 输入框 | [input.md](./components/input.md) |
44
+ | **EpSelect** | 下拉选择框 | [select.md](./components/select.md) |
45
+ | **EpDatePickerRange** | 日期范围选择 | [date-picker-range.md](./components/date-picker-range.md) |
46
+
47
+ ### 数据展示组件
48
+
49
+ | 组件 | 说明 | 文档 |
50
+ |------|------|------|
51
+ | **EpTable** | 数据表格 | [table.md](./components/table.md) |
52
+ | **EpCustomColumn** | 自定义列配置,用于表格列的个性化设置 | [custom-column.md](./components/custom-column.md) |
53
+ | **EpLink** | 链接,用于表格内链接跳转 | [link.md](./components/link.md) |
54
+ | **EpFooterInfo** | 底部信息展示 | [footer-info.md](./components/footer-info.md) |
55
+
56
+ ### 操作组件
57
+
58
+ | 组件 | 说明 | 文档 |
59
+ |------|------|------|
60
+ | **EpButtons** | 按钮组,支持配置多个操作按钮 | [buttons.md](./components/buttons.md) |
61
+
62
+ ### 其他组件
63
+
64
+ | 组件 | 说明 | 文档 |
65
+ |------|------|------|
66
+ | **EpAttachment** | 附件管理,支持上传、预览、下载 | [attachment.md](./components/attachment.md) |
67
+
68
+ ### Hooks 工具
69
+
70
+ | Hook | 说明 | 文档 |
71
+ |------|------|------|
72
+ | **useNavigation** | 导航工具,提供路由跳转、标签页管理、模式控制 | [use-navigation.md](./hooks/use-navigation.md) |
73
+ | **useUtils** | 工具函数集合,包含时间处理、文件操作、Cookie管理 | [use-utils.md](./hooks/use-utils.md) |
74
+
75
+ ## 组件组合示例
76
+
77
+ 所有组件都可以在 EpForm 中自由组合:
78
+
79
+ ```typescript
80
+ const formItemList = [
81
+ { col: 24, type: 'EpHeader', props: { /* ... */ } },
82
+ { col: 24, type: 'EpTitle', props: { title: '基本信息' } },
83
+ { type: 'EpInput', props: { /* ... */ } },
84
+ { type: 'EpSelect', props: { /* ... */ } },
85
+ { col: 24, type: 'EpTable', props: { /* ... */ } },
86
+ ]
87
+ ```
88
+
89
+ ## 路由配置
90
+
91
+ 页面生成后需配置路由,参考:[pages/router.md](./pages/router.md)
92
+
93
+ ## 快速开始
94
+
95
+ 根据你的需求选择:
96
+
97
+ 1. **生成列表页** → 阅读 [pages/list.md](./pages/list.md)
98
+ 2. **生成详情页** → 阅读 [pages/detail.md](./pages/detail.md)
99
+ 3. **了解某个组件** → 查看上方对应组件文档
@@ -5,7 +5,7 @@
5
5
  ## 页面结构
6
6
 
7
7
  详情页无固定结构,根据业务需求自由组合以下组件:
8
- > 查看所有可用组件:[组件文档索引](../components/index.md)
8
+ > 查看所有可用组件:[组件文档索引](../overview.md)
9
9
 
10
10
  ## 完整示例
11
11
 
@@ -71,4 +71,4 @@ const handleAdd = () => {
71
71
 
72
72
  ## 组件文档
73
73
 
74
- > 查看所有可用组件:[组件文档索引](../components/index.md)
74
+ > 查看所有可用组件:[组件文档索引](../overview.md)
@@ -0,0 +1,151 @@
1
+ # 路由配置
2
+
3
+ 本项目使用自动导入路由模块的方式,无需手动在路由文件中引入。
4
+
5
+ ## 路由文件位置
6
+
7
+ 所有路由配置文件位于 `src/router/modules/` 目录下,每个 `.ts` 文件会被自动导入。
8
+
9
+ ::: warning 排除文件
10
+ `remaining.ts` 文件不会被自动导入,用于配置不参与菜单的路由。
11
+ :::
12
+
13
+ ## 路由配置结构
14
+
15
+ 创建文件 `src/router/modules/{模块名}.ts`,参考以下结构:
16
+
17
+ ```typescript
18
+ export default {
19
+ path: '/demand', // 路由路径
20
+ redirect: '/demand/list', // 默认重定向
21
+ meta: {
22
+ icon: 'ep/document', // 菜单图标
23
+ title: '需求管理', // 菜单标题
24
+ rank: 1 // 菜单排序权重
25
+ },
26
+ children: [
27
+ {
28
+ path: '/demand/list', // 列表页路径
29
+ name: 'DemandList', // 路由名称(必须唯一)
30
+ component: () => import('@/views/demand-list.vue'),
31
+ meta: {
32
+ title: '需求列表',
33
+ keepAlive: true // 开启页面缓存
34
+ }
35
+ },
36
+ {
37
+ path: '/demand/detail', // 详情页路径
38
+ name: 'DemandDetail',
39
+ component: () => import('@/views/demand-detail.vue'),
40
+ meta: {
41
+ title: '需求详情'
42
+ }
43
+ }
44
+ ]
45
+ } satisfies RouteConfigsTable;
46
+ ```
47
+
48
+ ## Meta 配置说明
49
+
50
+ ### 一级路由 Meta
51
+
52
+ | 属性 | 类型 | 说明 |
53
+ |-----|------|-----|
54
+ | `title` | `string` | 菜单标题,必填 |
55
+ | `icon` | `string` | 菜单图标,使用 Element Plus 图标,如 `ep/document` |
56
+ | `rank` | `number` | 菜单排序权重,数字越小越靠前 |
57
+ | `showLink` | `boolean` | 是否在菜单中显示,默认 `true` |
58
+
59
+ ### 子路由 Meta
60
+
61
+ | 属性 | 类型 | 默认值 | 说明 |
62
+ |-----|------|--------|-----|
63
+ | `title` | `string` | - | 页面标题,必填 |
64
+ | `keepAlive` | `boolean` | `false` | 是否开启页面缓存 |
65
+ | `showLink` | `boolean` | `true` | 是否在菜单中显示 |
66
+ | `auths` | `string[]` | - | 权限标识,用于按钮级权限控制 |
67
+
68
+ ## 常用配置示例
69
+
70
+ ### 列表页路由
71
+
72
+ ```typescript
73
+ {
74
+ path: '/user/list',
75
+ name: 'UserList',
76
+ component: () => import('@/views/user/list.vue'),
77
+ meta: {
78
+ title: '用户列表',
79
+ keepAlive: true // 列表页通常需要缓存
80
+ }
81
+ }
82
+ ```
83
+
84
+ ### 详情页路由
85
+
86
+ ```typescript
87
+ {
88
+ path: '/user/detail',
89
+ name: 'UserDetail',
90
+ component: () => import('@/views/user/detail.vue'),
91
+ meta: {
92
+ title: '用户详情'
93
+ // 详情页通常不需要缓存
94
+ }
95
+ }
96
+ ```
97
+
98
+ ### 隐藏菜单项
99
+
100
+ ```typescript
101
+ {
102
+ path: '/system/config',
103
+ name: 'SystemConfig',
104
+ component: () => import('@/views/system/config.vue'),
105
+ meta: {
106
+ title: '系统配置',
107
+ showLink: false // 不在菜单中显示,但可以访问
108
+ }
109
+ }
110
+ ```
111
+
112
+ ### 嵌套路由
113
+
114
+ ```typescript
115
+ export default {
116
+ path: '/system',
117
+ meta: {
118
+ icon: 'ep/setting',
119
+ title: '系统管理',
120
+ rank: 10
121
+ },
122
+ children: [
123
+ {
124
+ path: '/system/user',
125
+ name: 'SystemUser',
126
+ component: () => import('@/views/system/user.vue'),
127
+ meta: { title: '用户管理' }
128
+ },
129
+ {
130
+ path: '/system/role',
131
+ name: 'SystemRole',
132
+ component: () => import('@/views/system/role.vue'),
133
+ meta: { title: '角色管理' }
134
+ }
135
+ ]
136
+ } satisfies RouteConfigsTable;
137
+ ```
138
+
139
+ ## 注意事项
140
+
141
+ ::: warning 路由名称唯一性
142
+ 每个路由的 `name` 属性必须全局唯一,不能重复。
143
+ :::
144
+
145
+ ::: tip 组件路径
146
+ `component` 使用动态导入 `() => import('@/views/xxx.vue')`,路径必须以 `@/views/` 开头。
147
+ :::
148
+
149
+ ::: warning 自动导入原理
150
+ 路由使用 `import.meta.glob` 自动导入,文件创建后无需手动引入,项目会自动识别。
151
+ :::
@@ -3,13 +3,9 @@ export declare const EpUniVue: {
3
3
  readonly name: StringConstructor;
4
4
  readonly type: import("vue").PropType<typeof import("./src/uni-vue").componentType[number]>;
5
5
  }>> & Readonly<{
6
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
7
- "onUpdate:dialogFormData"?: ((...args: any[]) => any) | undefined;
8
- "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
9
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
- "update:modelValue": (...args: any[]) => void;
11
- "update:dialogFormData": (...args: any[]) => void;
12
- "update:visible": (...args: any[]) => void;
6
+ [x: `onUpdate:${string}`]: ((value: any) => any) | undefined;
7
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
+ [x: `update:${string}`]: (value: any) => any;
13
9
  }, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
14
10
  P: {};
15
11
  B: {};
@@ -21,9 +17,7 @@ export declare const EpUniVue: {
21
17
  readonly name: StringConstructor;
22
18
  readonly type: import("vue").PropType<typeof import("./src/uni-vue").componentType[number]>;
23
19
  }>> & Readonly<{
24
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
25
- "onUpdate:dialogFormData"?: ((...args: any[]) => any) | undefined;
26
- "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
20
+ [x: `onUpdate:${string}`]: ((value: any) => any) | undefined;
27
21
  }>, {}, {}, {}, {}, {}>;
28
22
  __isFragment?: never;
29
23
  __isTeleport?: never;
@@ -32,13 +26,9 @@ export declare const EpUniVue: {
32
26
  readonly name: StringConstructor;
33
27
  readonly type: import("vue").PropType<typeof import("./src/uni-vue").componentType[number]>;
34
28
  }>> & Readonly<{
35
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
36
- "onUpdate:dialogFormData"?: ((...args: any[]) => any) | undefined;
37
- "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
38
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
39
- "update:modelValue": (...args: any[]) => void;
40
- "update:dialogFormData": (...args: any[]) => void;
41
- "update:visible": (...args: any[]) => void;
29
+ [x: `onUpdate:${string}`]: ((value: any) => any) | undefined;
30
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
31
+ [x: `update:${string}`]: (value: any) => any;
42
32
  }, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
43
33
  export default EpUniVue;
44
34
  export * from './src/uni-vue';
@@ -1,17 +1,13 @@
1
1
  declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
2
  readonly name: StringConstructor;
3
3
  readonly type: import("vue").PropType<typeof import("./uni-vue").componentType[number]>;
4
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
5
- "update:modelValue": (...args: any[]) => void;
6
- "update:dialogFormData": (...args: any[]) => void;
7
- "update:visible": (...args: any[]) => void;
4
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
5
+ [x: `update:${string}`]: (value: any) => any;
8
6
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
9
7
  readonly name: StringConstructor;
10
8
  readonly type: import("vue").PropType<typeof import("./uni-vue").componentType[number]>;
11
9
  }>> & Readonly<{
12
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
13
- "onUpdate:dialogFormData"?: ((...args: any[]) => any) | undefined;
14
- "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
10
+ [x: `onUpdate:${string}`]: ((value: any) => any) | undefined;
15
11
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
12
  declare const _default: typeof __VLS_export;
17
13
  export default _default;
@@ -12,12 +12,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
12
12
  },
13
13
  __name: "uni-vue",
14
14
  props: uniVueProps,
15
- emits: ["update:modelValue", "update:dialogFormData", "update:visible"],
16
15
  setup(__props, { emit: __emit }) {
17
16
  const bem = createNameSpace("uni-vue");
18
17
  const props = __props;
19
- const emit = __emit;
20
- const { loading } = useUniVue(props, emit);
18
+ const { loading } = useUniVue(props);
21
19
  return (_ctx, _cache) => {
22
20
  return openBlock(), createElementBlock(Fragment, null, [
23
21
  createVNode(unref(ElSkeleton), {
@@ -1 +1 @@
1
- {"version":3,"file":"uni-vue.vue2.mjs","sources":["../../../../../../packages/components/uni-vue/src/uni-vue.vue"],"sourcesContent":["<template>\n <el-skeleton\n :class=\"bem.e('skeleton')\"\n :loading=\"loading\"\n style=\"background: #fff; padding: 5px 15px\"\n :rows=\"1\"\n />\n <div\n ref=\"uniVue\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { uniVueProps } from './uni-vue'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport { ElSkeleton } from 'element-plus'\nimport { useUniVue } from './use-uni-vue'\ndefineOptions({\n name: 'EpUniVue',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('uni-vue')\nconst props = defineProps(uniVueProps)\n// const emit = defineEmits<{\n// (e: `update:${string}`, value: any): void\n// }>()\nconst emit = defineEmits(['update:modelValue', 'update:dialogFormData', 'update:visible'])\nconst { loading } = useUniVue(props, emit)\n\n</script>\n"],"names":["_createVNode","_unref","_normalizeClass","_createElementVNode","_normalizeStyle"],"mappings":";;;;;;;;;;;;;;;;AAyBA,IAAA,MAAM,GAAA,GAAM,gBAAgB,SAAS,CAAA;AACrC,IAAA,MAAM,KAAA,GAAQ,OAAA;AAId,IAAA,MAAM,IAAA,GAAO,MAAA;AACb,IAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,SAAA,CAAU,OAAO,IAAI,CAAA;;;QA9BvCA,WAAA,CAKEC,KAAA,CAAA,UAAA,CAAA,EAAA;AAAA,UAJC,OAAKC,cAAA,CAAED,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,UAAA,CAAA,CAAA;AAAA,UACZ,OAAA,EAASA,MAAA,OAAA,CAAA;AAAA,UACV,KAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,WAAA,UAAA,EAAA;AAAA,UACC,IAAA,EAAM;AAAA;QAETE,mBAME,KAAA,EAAA;AAAA,UALA,GAAA,EAAI,QAAA;AAAA,UACH,KAAA,EAAKD,cAAA,CAAA,CAAA,EAAKD,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,MAAOA,KAAA,CAAA,iBAAA,CAAA,EAAiB,CAAA,CAAA,CAAA;AAAA,UACtC,OAAKG,cAAA,CAAA;AAAA,eAAaH,KAAA,CAAA,aAAA,CAAA;AAAa;;;;;;;;;"}
1
+ {"version":3,"file":"uni-vue.vue2.mjs","sources":["../../../../../../packages/components/uni-vue/src/uni-vue.vue"],"sourcesContent":["<template>\n <el-skeleton\n :class=\"bem.e('skeleton')\"\n :loading=\"loading\"\n style=\"background: #fff; padding: 5px 15px\"\n :rows=\"1\"\n />\n <div\n ref=\"uniVue\"\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { uniVueProps } from './uni-vue'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport { ElSkeleton } from 'element-plus'\nimport { useUniVue } from './use-uni-vue'\ndefineOptions({\n name: 'EpUniVue',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('uni-vue')\nconst props = defineProps(uniVueProps)\nconst emit = defineEmits<{\n (e: `update:${string}`, value: any): void\n}>()\nconst { loading } = useUniVue(props, emit)\n</script>\n"],"names":["_createVNode","_unref","_normalizeClass","_createElementVNode","_normalizeStyle"],"mappings":";;;;;;;;;;;;;;;AAyBA,IAAA,MAAM,GAAA,GAAM,gBAAgB,SAAS,CAAA;AACrC,IAAA,MAAM,KAAA,GAAQ,OAAA;AAId,IAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,SAAA,CAAU,KAAW,CAAA;;;QA7BvCA,WAAA,CAKEC,KAAA,CAAA,UAAA,CAAA,EAAA;AAAA,UAJC,OAAKC,cAAA,CAAED,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,UAAA,CAAA,CAAA;AAAA,UACZ,OAAA,EAASA,MAAA,OAAA,CAAA;AAAA,UACV,KAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,WAAA,UAAA,EAAA;AAAA,UACC,IAAA,EAAM;AAAA;QAETE,mBAME,KAAA,EAAA;AAAA,UALA,GAAA,EAAI,QAAA;AAAA,UACH,KAAA,EAAKD,cAAA,CAAA,CAAA,EAAKD,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,MAAOA,KAAA,CAAA,iBAAA,CAAA,EAAiB,CAAA,CAAA,CAAA;AAAA,UACtC,OAAKG,cAAA,CAAA;AAAA,eAAaH,KAAA,CAAA,aAAA,CAAA;AAAa;;;;;;;;;"}
@@ -1,3 +1,3 @@
1
- export declare const useUniVue: (props: any, emit: any) => {
1
+ export declare const useUniVue: (props: any, _emit: any) => {
2
2
  loading: import("vue").Ref<boolean, boolean>;
3
3
  };
@@ -6,7 +6,7 @@ import { componentType } from './uni-vue.mjs';
6
6
  import axios from 'axios';
7
7
  import { ElLoading, ElMessage } from 'element-plus';
8
8
 
9
- const useUniVue = (props, emit) => {
9
+ const useUniVue = (props, _emit) => {
10
10
  const uniVue = useTemplateRef("uniVue");
11
11
  const { type } = props;
12
12
  const loading = ref(true);
@@ -117,7 +117,7 @@ const useUniVue = (props, emit) => {
117
117
  const cssPromises = [];
118
118
  if (!isBpm) {
119
119
  cssPromises.push(
120
- http.request("/element-ui.css", {
120
+ http.request("/index.css", {
121
121
  responseReturn: "raw",
122
122
  baseURL: ""
123
123
  }).then((res) => res.data)
@@ -152,6 +152,12 @@ const useUniVue = (props, emit) => {
152
152
  const style = document.createElement("style");
153
153
  style.textContent = css;
154
154
  shadowRoot.appendChild(style);
155
+ if (isAddress && !document.querySelector("style[data-hx-address-style]")) {
156
+ const headStyle = document.createElement("style");
157
+ headStyle.textContent = css;
158
+ headStyle.setAttribute("data-hx-address-style", "true");
159
+ document.head.appendChild(headStyle);
160
+ }
155
161
  } catch (error) {
156
162
  console.log(error);
157
163
  } finally {
@@ -159,55 +165,55 @@ const useUniVue = (props, emit) => {
159
165
  }
160
166
  }
161
167
  shadowRoot.appendChild(container);
162
- console.log(prepareVueAttributes());
163
- const baseEvents = {
164
- ...prepareVueAttributes().on,
165
- "input": (newVal) => {
166
- console.log(newVal, "input", props.name);
167
- emit("update:modelValue", newVal);
168
- },
169
- "update:dialogFormData": (newVal) => {
170
- console.log(newVal, "update:dialogFormData");
171
- emit("update:dialogFormData", newVal);
172
- },
173
- "update:visible": (newVal) => {
174
- console.log(newVal, "update:visible");
175
- emit("update:visible", newVal);
176
- }
177
- };
178
168
  instance = new Vue2({
179
169
  el: container,
180
170
  // @ts-expect-error 缺少类型定义
181
171
  router: new VueRouter3(),
182
- render: (h) => h(props.name, {
183
- props: {
184
- ...prepareVueAttributes().props
185
- },
186
- on: baseEvents
187
- })
172
+ render: (h) => {
173
+ const { on: vue2Events, props: vue2Props } = prepareVueAttributes();
174
+ return h(props.name, {
175
+ props: vue2Props,
176
+ on: vue2Events
177
+ });
178
+ }
188
179
  });
189
180
  };
181
+ const updateVue2Instance = () => {
182
+ if (!instance) return;
183
+ const child = instance.$children[0];
184
+ if (child) {
185
+ const { props: vue2Props } = prepareVueAttributes();
186
+ Object.assign(child.$options.propsData, vue2Props);
187
+ if (child._props) {
188
+ Object.keys(vue2Props).forEach((key) => {
189
+ const newValue = vue2Props[key];
190
+ const oldValue = child._props[key];
191
+ if (newValue === oldValue && typeof newValue === "object" && newValue !== null) {
192
+ const temp = {};
193
+ child._props[key] = temp;
194
+ }
195
+ child._props[key] = newValue;
196
+ });
197
+ }
198
+ child.$forceUpdate();
199
+ }
200
+ instance.$forceUpdate();
201
+ };
190
202
  Object.keys(attrs).forEach((key) => {
191
- console.log(key, 8);
192
203
  if (!key.startsWith("on")) {
193
204
  watch(
194
205
  () => attrs[key],
195
- (newVal) => {
206
+ () => {
207
+ console.log(key, "key");
196
208
  nextTick(() => {
197
209
  try {
198
- console.log(props.name, newVal, "watch", key, instance);
199
- let vue2Prop = key;
200
- if (key === "modelValue") {
201
- vue2Prop = "value";
202
- }
203
- instance.$children[0][vue2Prop] = newVal;
210
+ updateVue2Instance();
204
211
  } catch (e) {
205
212
  }
206
213
  });
207
214
  },
208
215
  {
209
- deep: true,
210
- immediate: true
216
+ deep: true
211
217
  }
212
218
  );
213
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-uni-vue.mjs","sources":["../../../../../../packages/components/uni-vue/src/use-uni-vue.ts"],"sourcesContent":["import { onMounted, ref, useAttrs,nextTick, useTemplateRef, watch } from 'vue'\nimport { http } from '@el-plus/utils/http'\nimport Vue2 from 'vue2'\nimport VueRouter3 from 'vue-router3'\nimport { componentType } from './uni-vue'\nimport axios from 'axios'\nimport { ElMessage, ElLoading } from 'element-plus'\n\nexport const useUniVue = (props, emit) => {\n const uniVue = useTemplateRef<HTMLElement>('uniVue')\n const { type } = props\n const loading = ref(true)\n const isAddress = type === 'address'\n const isBpm = type === 'bpm'\n // 是否需要加载静态资源\n const isLoadStatic = componentType.indexOf(type) > -1\n const attrs = useAttrs()\n const setupWindow = () => {\n Vue2.use(VueRouter3)\n if (!window.Vue) {\n window.Vue = Vue2\n }\n // 地址\n if (isAddress) {\n if (!window.axios) {\n window.axios = axios\n }\n if (!window.ElementUI) {\n window.ElementUI = {\n Message: ElMessage,\n Loading: ElLoading,\n }\n }\n }\n }\n setupWindow()\n const prepareVueAttributes = () => {\n const events = {}\n const _props = {} as Record<string, any>\n Object.keys(attrs).forEach((key) => {\n if (key.startsWith('on')) {\n let eventName = key.slice(2) // 去掉 'on' 前缀\n if (eventName.startsWith('Update:')) {\n // 处理 v-model:xxx 事件,转换为 update:xxx\n // 例如:onUpdate:modelValue -> update:modelValue、onUpdate:dialogFormData -> update:dialogFormData\n eventName = 'update:' + eventName.slice(7)\n\n // 如果是v-model, 转换为vue2对应的input\n if (eventName === 'update:modelValue') {\n eventName = 'input'\n }\n } else {\n // 将驼峰命名转换为短横线命名\n // 例如: onInitComplete-> init-complete (因为测试发现用initComplete不生效)\n eventName = eventName.replace(/([A-Z])/g, '-$1').toLowerCase()\n // 删除第一位的-\n eventName = eventName.slice(1)\n }\n events[eventName] = attrs[key]\n } else {\n if (key === 'modelValue') {\n // 处理 v-model转换为vue2的value\n _props.value = attrs[key] // eslint-disable-line\n } else {\n _props[key] = attrs[key]\n\n }\n }\n })\n return {\n on: events,\n props: _props,\n }\n }\n\n const cdn = '//j01.hongxinshop.com/'\n const getStaticJsUrl = () => {\n switch (type) {\n case 'bpm':\n return `${cdn}bpm-common/common/index.umd.min.js`\n case 'address':\n return `http://localhost:8001/dist/hx-address.js`\n return `./hx-address.js`\n return `${cdn}address/static/hx-address.js`\n default:\n return ''\n }\n }\n const getStaticCssUrl = () => {\n switch (type) {\n case 'bpm':\n return `/bpm-common/common/index.css`\n case 'address':\n return `/address/static/hx-address.css`\n default:\n return ''\n }\n }\n const loadStaticJsResource = async () => {\n const promises: Promise<void>[] = []\n\n // 检查并加载element-ui.js(非bpm类型)\n if (!isBpm && !window.ElementUIComponents) {\n await new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = '/element-ui.js'\n script.onload = resolve\n script.onerror = reject\n document.body.appendChild(script)\n })\n }\n\n // 检查并加载原有的JS资源\n let globalName\n if (isAddress) {\n globalName = 'hxAddress'\n }\n if (isBpm) {\n globalName = 'index'\n }\n\n if (globalName && !window[globalName]) {\n promises.push(\n new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = getStaticJsUrl()\n script.onload = () => resolve()\n script.onerror = reject\n document.body.appendChild(script)\n }),\n )\n }\n\n return Promise.all(promises)\n }\n const loadStaticCssResource = async () => {\n const cssPromises: Promise<string>[] = []\n\n // 为非bpm类型加载element-ui.css\n if (!isBpm) {\n cssPromises.push(\n http\n .request<string>('/element-ui.css', {\n responseReturn: 'raw',\n baseURL: '',\n })\n .then((res) => res.data),\n )\n }\n\n // 加载原有的CSS资源\n const staticCssUrl = getStaticCssUrl()\n if (staticCssUrl) {\n cssPromises.push(\n http\n .request<string>(staticCssUrl, {\n responseReturn: 'raw',\n })\n .then((res) => res.data),\n )\n }\n\n const cssContents = await Promise.all(cssPromises)\n return cssContents.join('\\n')\n }\n let instance\n const setupInstance = async () => {\n if (instance) {\n return\n }\n // if (import.meta.hot) return // 每次热更新都会执行,在这里阻止,防止每次热更新页面都会重复插入组件\n const el = uniVue.value // 选择一个宿主元素\n const shadowRoot = el!.attachShadow({ mode: 'open' }) // 创建一个开放模式的 shadow root\n const container = document.createElement('div')\n if (isLoadStatic) {\n try {\n loading.value = true\n const [_res1, css] = await Promise.all([\n loadStaticJsResource(),\n loadStaticCssResource(),\n ])\n const style = document.createElement('style')\n style.textContent = css\n shadowRoot.appendChild(style)\n } catch (error) {\n console.log(error)\n } finally {\n loading.value = false\n }\n }\n shadowRoot.appendChild(container)\n console.log(prepareVueAttributes());\n\n // 准备基础事件处理\n const baseEvents = {\n ...prepareVueAttributes().on,\n 'input': (newVal) => {\n console.log(newVal, 'input', props.name);\n emit('update:modelValue', newVal)\n },\n 'update:dialogFormData': (newVal) => {\n console.log(newVal, 'update:dialogFormData');\n emit('update:dialogFormData', newVal)\n },\n 'update:visible': (newVal) => {\n console.log(newVal, 'update:visible');\n emit('update:visible', newVal)\n },\n }\n\n // 创建Vue2实例\n instance = new Vue2({\n el: container,\n // @ts-expect-error 缺少类型定义\n router: new VueRouter3(),\n render: (h) => h(props.name, {\n props: {\n ...prepareVueAttributes().props,\n },\n on: baseEvents\n }),\n })\n\n // // 监听所有可能的update:事件\n // instance.$on(/^update:/, (eventName, newVal) => {\n // console.log(eventName, newVal, 'dynamic update event');\n // emit(eventName, newVal)\n // })\n }\n\n // 监听 attrs中非事件属性的变化,更新 Vue 2 组件\n Object.keys(attrs).forEach((key) => {\n console.log(key, 8);\n if (!key.startsWith('on')) {\n watch(\n () => attrs[key],\n (newVal) => {\n // if (instance) {\n nextTick(() => {\n try {\n console.log(props.name, newVal, 'watch', key, instance);\n // v-model转换为vue2的value\n let vue2Prop = key\n if (key === 'modelValue') {\n vue2Prop = 'value'\n }\n instance.$children[0][vue2Prop] = newVal\n } catch (e) {\n // 忽略更新异常\n }\n })\n // }\n },\n {\n deep: true,\n immediate: true,\n },\n )\n }\n })\n\n onMounted(() => {\n setupInstance()\n })\n\n return {\n loading,\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-uni-vue.mjs","sources":["../../../../../../packages/components/uni-vue/src/use-uni-vue.ts"],"sourcesContent":["import { onMounted, ref, useAttrs, nextTick, useTemplateRef, watch } from 'vue'\nimport { http } from '@el-plus/utils/http'\nimport Vue2 from 'vue2'\nimport VueRouter3 from 'vue-router3'\nimport { componentType } from './uni-vue'\nimport axios from 'axios'\nimport { ElMessage, ElLoading } from 'element-plus'\n\nexport const useUniVue = (props, _emit) => {\n const uniVue = useTemplateRef<HTMLElement>('uniVue')\n const { type } = props\n const loading = ref(true)\n const isAddress = type === 'address'\n const isBpm = type === 'bpm'\n // 是否需要加载静态资源\n const isLoadStatic = componentType.indexOf(type) > -1\n const attrs = useAttrs()\n const setupWindow = () => {\n Vue2.use(VueRouter3)\n if (!window.Vue) {\n window.Vue = Vue2\n }\n // 地址\n if (isAddress) {\n if (!window.axios) {\n window.axios = axios\n }\n if (!window.ElementUI) {\n window.ElementUI = {\n Message: ElMessage,\n Loading: ElLoading,\n }\n }\n }\n }\n setupWindow()\n const prepareVueAttributes = () => {\n const events = {}\n const _props = {} as Record<string, any>\n Object.keys(attrs).forEach((key) => {\n if (key.startsWith('on')) {\n let eventName = key.slice(2) // 去掉 'on' 前缀\n if (eventName.startsWith('Update:')) {\n // 处理 v-model:xxx 事件,转换为 update:xxx\n // 例如:onUpdate:modelValue -> update:modelValue、onUpdate:dialogFormData -> update:dialogFormData\n eventName = 'update:' + eventName.slice(7)\n\n // 如果是v-model, 转换为vue2对应的input\n if (eventName === 'update:modelValue') {\n eventName = 'input'\n }\n } else {\n // 将驼峰命名转换为短横线命名\n // 例如: onInitComplete-> init-complete (因为测试发现用initComplete不生效)\n eventName = eventName.replace(/([A-Z])/g, '-$1').toLowerCase()\n // 删除第一位的-\n eventName = eventName.slice(1)\n }\n events[eventName] = attrs[key]\n } else {\n if (key === 'modelValue') {\n // 处理 v-model转换为vue2的value\n _props.value = attrs[key] // eslint-disable-line\n } else {\n _props[key] = attrs[key]\n }\n }\n })\n return {\n on: events,\n props: _props,\n }\n }\n\n const cdn = '//j01.hongxinshop.com/'\n const getStaticJsUrl = () => {\n switch (type) {\n case 'bpm':\n return `${cdn}bpm-common/common/index.umd.min.js`\n case 'address':\n return `http://localhost:8001/dist/hx-address.js`\n return `./hx-address.js`\n return `${cdn}address/static/hx-address.js`\n default:\n return ''\n }\n }\n const getStaticCssUrl = () => {\n switch (type) {\n case 'bpm':\n return `/bpm-common/common/index.css`\n case 'address':\n return `/address/static/hx-address.css`\n default:\n return ''\n }\n }\n const loadStaticJsResource = async () => {\n const promises: Promise<void>[] = []\n\n // 检查并加载element-ui.js(非bpm类型)\n if (!isBpm && !window.ElementUIComponents) {\n await new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = '/element-ui.js'\n script.onload = resolve\n script.onerror = reject\n document.body.appendChild(script)\n })\n }\n\n // 检查并加载原有的JS资源\n let globalName\n if (isAddress) {\n globalName = 'hxAddress'\n }\n if (isBpm) {\n globalName = 'index'\n }\n\n if (globalName && !window[globalName]) {\n promises.push(\n new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = getStaticJsUrl()\n script.onload = () => resolve()\n script.onerror = reject\n document.body.appendChild(script)\n }),\n )\n }\n\n return Promise.all(promises)\n }\n const loadStaticCssResource = async () => {\n const cssPromises: Promise<string>[] = []\n\n // 为非bpm类型加载element-ui.css\n if (!isBpm) {\n cssPromises.push(\n http\n .request<string>('/index.css', {\n responseReturn: 'raw',\n baseURL: '',\n })\n .then((res) => res.data),\n )\n }\n\n // 加载原有的CSS资源\n const staticCssUrl = getStaticCssUrl()\n if (staticCssUrl) {\n cssPromises.push(\n http\n .request<string>(staticCssUrl, {\n responseReturn: 'raw',\n })\n .then((res) => res.data),\n )\n }\n\n const cssContents = await Promise.all(cssPromises)\n return cssContents.join('\\n')\n }\n let instance\n const setupInstance = async () => {\n if (instance) {\n return\n }\n const el = uniVue.value\n const shadowRoot = el!.attachShadow({ mode: 'open' })\n const container = document.createElement('div')\n if (isLoadStatic) {\n try {\n loading.value = true\n const [_res1, css] = await Promise.all([\n loadStaticJsResource(),\n loadStaticCssResource(),\n ])\n const style = document.createElement('style')\n style.textContent = css\n shadowRoot.appendChild(style)\n if (isAddress && !document.querySelector('style[data-hx-address-style]')) {\n const headStyle = document.createElement('style')\n headStyle.textContent = css\n headStyle.setAttribute('data-hx-address-style', 'true')\n document.head.appendChild(headStyle)\n }\n } catch (error) {\n console.log(error)\n } finally {\n loading.value = false\n }\n }\n shadowRoot.appendChild(container)\n\n instance = new Vue2({\n el: container,\n // @ts-expect-error 缺少类型定义\n router: new VueRouter3(),\n render: (h) => {\n const { on: vue2Events, props: vue2Props } = prepareVueAttributes()\n return h(props.name, {\n props: vue2Props,\n on: vue2Events,\n })\n },\n })\n }\n\n const updateVue2Instance = () => {\n if (!instance) return\n const child = instance.$children[0]\n if (child) {\n const { props: vue2Props } = prepareVueAttributes()\n Object.assign(child.$options.propsData, vue2Props)\n if (child._props) {\n Object.keys(vue2Props).forEach((key) => {\n const newValue = vue2Props[key]\n const oldValue = child._props[key]\n if (newValue === oldValue && typeof newValue === 'object' && newValue !== null) {\n const temp = {}\n child._props[key] = temp\n }\n child._props[key] = newValue\n })\n }\n child.$forceUpdate()\n }\n instance.$forceUpdate()\n }\n\n Object.keys(attrs).forEach((key) => {\n if (!key.startsWith('on')) {\n \n watch(\n () => attrs[key],\n () => {\n console.log(key,'key');\n nextTick(() => {\n try {\n updateVue2Instance()\n } catch (e) {\n // 忽略更新异常\n }\n })\n },\n {\n deep: true,\n },\n )\n }\n })\n\n onMounted(() => {\n setupInstance()\n })\n\n return {\n loading,\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var version = "0.0.87";
1
+ var version = "0.0.88";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=package.json.mjs.map
@@ -3,13 +3,9 @@ export declare const EpUniVue: {
3
3
  readonly name: StringConstructor;
4
4
  readonly type: import("vue").PropType<typeof import("./src/uni-vue").componentType[number]>;
5
5
  }>> & Readonly<{
6
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
7
- "onUpdate:dialogFormData"?: ((...args: any[]) => any) | undefined;
8
- "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
9
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
- "update:modelValue": (...args: any[]) => void;
11
- "update:dialogFormData": (...args: any[]) => void;
12
- "update:visible": (...args: any[]) => void;
6
+ [x: `onUpdate:${string}`]: ((value: any) => any) | undefined;
7
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
+ [x: `update:${string}`]: (value: any) => any;
13
9
  }, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
14
10
  P: {};
15
11
  B: {};
@@ -21,9 +17,7 @@ export declare const EpUniVue: {
21
17
  readonly name: StringConstructor;
22
18
  readonly type: import("vue").PropType<typeof import("./src/uni-vue").componentType[number]>;
23
19
  }>> & Readonly<{
24
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
25
- "onUpdate:dialogFormData"?: ((...args: any[]) => any) | undefined;
26
- "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
20
+ [x: `onUpdate:${string}`]: ((value: any) => any) | undefined;
27
21
  }>, {}, {}, {}, {}, {}>;
28
22
  __isFragment?: never;
29
23
  __isTeleport?: never;
@@ -32,13 +26,9 @@ export declare const EpUniVue: {
32
26
  readonly name: StringConstructor;
33
27
  readonly type: import("vue").PropType<typeof import("./src/uni-vue").componentType[number]>;
34
28
  }>> & Readonly<{
35
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
36
- "onUpdate:dialogFormData"?: ((...args: any[]) => any) | undefined;
37
- "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
38
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
39
- "update:modelValue": (...args: any[]) => void;
40
- "update:dialogFormData": (...args: any[]) => void;
41
- "update:visible": (...args: any[]) => void;
29
+ [x: `onUpdate:${string}`]: ((value: any) => any) | undefined;
30
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
31
+ [x: `update:${string}`]: (value: any) => any;
42
32
  }, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
43
33
  export default EpUniVue;
44
34
  export * from './src/uni-vue';