@ibiz-template-plugin/ibiz-file-previewer 0.0.4 → 0.0.6
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 +123 -25
- package/dist/index.cjs +1 -1
- package/dist/index.es.js +928 -488
- package/dist/index.umd.js +1 -1
- package/dist/style.css +2 -2
- package/dist/types/component/file-preview-item/file-preview-html/file-preview-html.d.ts +20 -0
- package/dist/types/component/file-preview-item/file-preview-image/file-preview-image.d.ts +22 -0
- package/dist/types/component/file-preview-item/file-preview-image-group/file-preview-image-group.d.ts +17 -5
- package/dist/types/component/file-preview-item/file-preview-image-group/image-page/image-page.d.ts +21 -4
- package/dist/types/component/file-preview-item/file-preview-md/file-preview-md.d.ts +10 -6
- package/dist/types/component/file-preview-item/file-preview-text/file-preview-text.d.ts +6 -2
- package/dist/types/component/file-preview-item/file-preview-unknown/file-preview-unkown.d.ts +7 -3
- package/dist/types/component/file-preview-item/index.d.ts +6 -0
- package/dist/types/component/file-preview-shell/file-preview-shell.d.ts +6 -3
- package/dist/types/component/index.d.ts +3 -0
- package/dist/types/component/loading/loading.d.ts +14 -0
- package/dist/types/const/constant.d.ts +6 -5
- package/dist/types/const/index.d.ts +2 -0
- package/dist/types/const/{file-type.d.ts → type.d.ts} +30 -2
- package/dist/types/controller/file-preview-item/file-preview-image-controller.d.ts +42 -0
- package/dist/types/controller/{file-preview-image-group-controller.d.ts → file-preview-item/file-preview-image-group-controller.d.ts} +12 -3
- package/dist/types/controller/{file-preview-item-controller.d.ts → file-preview-item/file-preview-item-controller.d.ts} +2 -11
- package/dist/types/controller/{file-preview-md-controller.d.ts → file-preview-item/file-preview-md-controller.d.ts} +1 -1
- package/dist/types/controller/{file-preview-text-controller.d.ts → file-preview-item/file-preview-text-controller.d.ts} +1 -1
- package/dist/types/controller/file-preview-item/file-prview-html-controller.d.ts +7 -0
- package/dist/types/controller/file-preview-item/index.d.ts +6 -0
- package/dist/types/controller/file-preview-item-dispatcher.d.ts +4 -3
- package/dist/types/controller/file-preview-shell-controller.d.ts +16 -2
- package/dist/types/controller/index.d.ts +5 -3
- package/dist/types/icon/index.d.ts +8 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface/i-file-preview-item-controller.d.ts +27 -20
- package/dist/types/interface/i-file-preview-shell-controller.d.ts +14 -12
- package/dist/types/interface/i-file-previewer-option.d.ts +8 -4
- package/dist/types/interface/index.d.ts +1 -1
- package/dist/types/util/util.d.ts +2 -1
- package/package.json +1 -1
- package/dist/types/component/file-preview-item/file-preview-img/file-preview-img.d.ts +0 -19
- package/dist/types/component/file-preview-item/file-preview-json/file-preview-json.d.ts +0 -18
- package/dist/types/component/file-preview-item/file-preview-xml/file-preview-xml.d.ts +0 -18
- package/dist/types/const/action-type.d.ts +0 -6
- package/dist/types/controller/file-preview-image-controller.d.ts +0 -18
package/README.md
CHANGED
|
@@ -1,37 +1,135 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 文件预览
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
ibiz文件预览器
|
|
3
|
+
## 项目初始化
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
1. 使用 Vite 创建 Vue 3 + TypeScript 项目
|
|
6
|
+
2. 安装必要依赖:sass(SCSS 支持)、vue-tsc(TypeScript 类型检查)
|
|
7
|
+
3. 配置项目结构,创建组件目录和样式目录
|
|
8
8
|
|
|
9
|
+
## 预览壳组件
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
1. 创建 `file-preview-shell.vue` 组件
|
|
12
|
+
2. 创建 `file-preview-controller.ts` 控制器模块
|
|
13
|
+
3. 实现参数处理逻辑:
|
|
14
|
+
- 接收 name、id、url 参数
|
|
15
|
+
- 处理 id 和 url 的二选一逻辑
|
|
16
|
+
- 处理 name 参数的获取逻辑
|
|
17
|
+
- 实现 url 转 id 的下载和上传逻辑
|
|
18
|
+
4. 实现文件信息展示:
|
|
19
|
+
- 解析文件名
|
|
20
|
+
- 解析引擎信息
|
|
21
|
+
5. 实现下载功能模块:
|
|
22
|
+
- 下载源文件
|
|
23
|
+
- 复制文本内容
|
|
24
|
+
- 导出为 PDF(非 PDF 文件)
|
|
25
|
+
- 导出为 MD(非 MD 文件)
|
|
26
|
+
6. 实现文件类型处理:
|
|
27
|
+
- 基于文件后缀解析文件类型
|
|
28
|
+
- 基于文件类型计算文件引擎
|
|
29
|
+
- 动态分发至对应预览组件
|
|
30
|
+
7. 逻辑与 UI 分离:
|
|
31
|
+
- 预览壳组件负责界面绘制
|
|
32
|
+
- 控制器模块实现功能逻辑
|
|
11
33
|
|
|
12
|
-
|
|
13
|
-
2. xxxx
|
|
14
|
-
3. xxxx
|
|
34
|
+
### 参数输入
|
|
15
35
|
|
|
16
|
-
|
|
36
|
+
| 参数名称 | 类型 | 说明 | 默认值 |
|
|
37
|
+
| --------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------ |
|
|
38
|
+
| theme | `'light' \| 'dark'` | 主题 | 'dark' |
|
|
39
|
+
| selector | string | 预览组件的挂载点(必填) | --- |
|
|
40
|
+
| getContent | `(id: string,type: string,cat: string): Promise<string \| object \| undefined>` | 获取预览文件的内容,参数依次为:文件标识,文件类型,存储位置名称 | --- |
|
|
41
|
+
| getImgContent | `(id: string, type: FileType, cat: string): Promise<string>` | 获取预览图片内容,参数依次为:文件标识,文件类型,存储目录,标准图片返回值必须为:图片url路径或者图片Base64内容,SVG图片必须为:图片html内容 | --- |
|
|
42
|
+
| upLoadFileToOss | `(url: string): Promise<{ id: string; name: string; cat: string } \| undefined>` | 上传文件至oss,参数为上传路径 | --- |
|
|
43
|
+
| downLoadFile | `(id: string, name: string, cat: string): Promise<void>` | 下载文件,参数依次为:文件标识,文件名称,存储位置名称 | --- |
|
|
44
|
+
| actionSuccessCallBack | `(type: string): Promise<void>` | 文件操作成功回调,参数为文件类型 | --- |
|
|
17
45
|
|
|
18
|
-
|
|
19
|
-
2. xxxx
|
|
20
|
-
3. xxxx
|
|
46
|
+
## 预览组件
|
|
21
47
|
|
|
22
|
-
|
|
48
|
+
1. 实现组件输入参数处理:
|
|
23
49
|
|
|
24
|
-
|
|
25
|
-
2. 新建 Feat_xxx 分支
|
|
26
|
-
3. 提交代码
|
|
27
|
-
4. 新建 Pull Request
|
|
50
|
+
- 接收预览组件控制器对象
|
|
28
51
|
|
|
52
|
+
2. 实现交互控制:
|
|
29
53
|
|
|
30
|
-
|
|
54
|
+
- 根据不同的文件引擎类型实现以下功能:
|
|
31
55
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
56
|
+
MD引擎类型:预览、查看大纲、下载源文件、复制文本内容
|
|
57
|
+
|
|
58
|
+
HTML引擎类型:预览、下载源文件、复制文本内容
|
|
59
|
+
|
|
60
|
+
TXT引擎类型:预览、下载源文件、复制文本内容
|
|
61
|
+
|
|
62
|
+
PDF引擎类型:预览、缩略图、顺/逆时针旋转、上/下一页、引擎模式切换、显示模式切换、缩小/放大、重置、下载源文件
|
|
63
|
+
|
|
64
|
+
IMG引擎类型:预览、顺/逆时针旋转、图片拖拽、显示模式切换、缩小/放大、重置、下载源文件、复制文本内容
|
|
65
|
+
|
|
66
|
+
3. 逻辑与 UI 分离:
|
|
67
|
+
|
|
68
|
+
- 预览组件负责界面绘制
|
|
69
|
+
- 控制器模块实现功能逻辑
|
|
70
|
+
|
|
71
|
+
## 样式实现
|
|
72
|
+
|
|
73
|
+
1. 使用 SCSS 实现主题和响应式样式,支持暗色和亮色两套主题
|
|
74
|
+
2. 确保 HTML 结构语义化和可访问性
|
|
75
|
+
|
|
76
|
+
## 技术实现规范
|
|
77
|
+
|
|
78
|
+
- 使用 TypeScript 实现类型安全的组件开发
|
|
79
|
+
- 采用 Vue 3 Composition API 进行逻辑组织
|
|
80
|
+
- 使用 SCSS 实现响应式样式及组件主题
|
|
81
|
+
- 确保 HTML 结构语义化且符合可访问性标准
|
|
82
|
+
|
|
83
|
+
## 文件引擎
|
|
84
|
+
|
|
85
|
+
### MD引擎
|
|
86
|
+
|
|
87
|
+
| 文件扩展名 | 支持情况 |
|
|
88
|
+
| ---------- | -------- |
|
|
89
|
+
| html | 已支持 |
|
|
90
|
+
| md | 已支持 |
|
|
91
|
+
|
|
92
|
+
### HTML引擎
|
|
93
|
+
|
|
94
|
+
| 文件扩展名 | 支持情况 |
|
|
95
|
+
| ---------- | -------- |
|
|
96
|
+
| xls | 已支持 |
|
|
97
|
+
| xlsx | 已支持 |
|
|
98
|
+
| et | 已支持 |
|
|
99
|
+
| doc | 已支持 |
|
|
100
|
+
| docx | 已支持 |
|
|
101
|
+
| wps | 已支持 |
|
|
102
|
+
|
|
103
|
+
### TXT引擎
|
|
104
|
+
|
|
105
|
+
| 文件扩展名 | 支持情况 |
|
|
106
|
+
| ---------- | -------- |
|
|
107
|
+
| txt | 已支持 |
|
|
108
|
+
| xml | 已支持 |
|
|
109
|
+
| json | 已支持 |
|
|
110
|
+
|
|
111
|
+
### PDF引擎
|
|
112
|
+
|
|
113
|
+
| 文件扩展名 | 支持情况 |
|
|
114
|
+
| ---------- | -------- |
|
|
115
|
+
| pdf | 已支持 |
|
|
116
|
+
| doc | 已支持 |
|
|
117
|
+
| docx | 已支持 |
|
|
118
|
+
| wps | 已支持 |
|
|
119
|
+
| ppt | 已支持 |
|
|
120
|
+
| pptx | 已支持 |
|
|
121
|
+
|
|
122
|
+
### IMG引擎
|
|
123
|
+
|
|
124
|
+
| 文件扩展名 | 支持情况 |
|
|
125
|
+
| ---------- | -------- |
|
|
126
|
+
| jpg | 已支持 |
|
|
127
|
+
| png | 已支持 |
|
|
128
|
+
| gif | 已支持 |
|
|
129
|
+
| bmp | 已支持 |
|
|
130
|
+
| jpeg | 已支持 |
|
|
131
|
+
| webp | 已支持 |
|
|
132
|
+
| ico | 已支持 |
|
|
133
|
+
| svg | 已支持 |
|
|
134
|
+
|
|
135
|
+
**注意**:同一个文件扩展名可能有多个引擎,如:**doc**,**docx**,**wps** 等,这些文件均可通过切换引擎的方式更改预览内容
|