1 | ### Install
|
2 |
|
3 | npm install @forzoom/uploader
|
4 |
|
5 | ### Usage
|
6 |
|
7 | #### WechatUploader
|
8 |
|
9 | ![Example](assets/img1.png)
|
10 |
|
11 | 大致上存在四种元素,分别是“容器”,“图片元素”,“添加按钮”,“图片容器”
|
12 | 嵌套结构为
|
13 |
|
14 | 1. “容器”
|
15 | 2. “图片容器”
|
16 | 3. “图片元素”
|
17 | 3. 其他元素
|
18 | 2. “添加按钮”
|
19 |
|
20 | 上图中,“咖啡”图片实际上有一个“图片容器”和一个“图片元素”组成
|
21 | 第三个是一个“添加按钮”
|
22 | 点击添加按钮能够调用JSSDK中的图片上传逻辑
|
23 |
|
24 | __根据需要,可以使用Props中的样式内容修改不同元素的样式__
|
25 |
|
26 | ##### Props
|
27 |
|
28 | |名称|默认|说明|
|
29 | |---|---|---|
|
30 | |size|1|允许最大上传图片数量|
|
31 | |canModify|true|是否允许修改|
|
32 | |containerClass|\{\}|“容器”元素样式类|
|
33 | |containerStyle|\{\}|“容器”元素样式|
|
34 | |imageClass|\{\}|每个“图片元素”样式类|
|
35 | |imageStyle|\{\}|每个“图片元素”样式|
|
36 | |requestClass|\{\}|“添加按钮”样式类|
|
37 | |requestStyle|\{\}|“添加按钮”样式|
|
38 | |imageWrapClass|\{\}|“图片容器”样式类|
|
39 | |imageWrapStyle|\{\}|“图片容器”样式|
|
40 | |useWechatPreview|true|是否使用微信JSSDK预览|
|
41 | |lazyload|false|是否使用vue-lazyload|
|
42 |
|
43 | ##### 自定义事件
|
44 |
|
45 | |名称|参数|说明|
|
46 | |---|---|---|
|
47 | |load|无|图片上传到微信服务器开始|
|
48 | |finish|无|图片上传到微信服务器结束|
|
49 | |add| \{ localId, serverId, \} |有图片增加|
|
50 | |remove|index (被删除图片位置)|有图片被删除|
|
51 | |click|index (被点击图片位置)|当正在显示的图片被点击|
|
52 | |choose|sourceType|图片来源|
|
53 |
|
54 | ##### 函数
|
55 |
|
56 | |名称|参数|说明|
|
57 | |---|---|---|
|
58 | |request|无|发起图片上传|
|
59 | |removeAll|无|删除所有图片|
|
60 | |setImages|无|设置默认显示的图片|
|
61 | |getImages|无|获得所有图片|
|
62 |
|
63 | ##### 示例
|
64 |
|
65 | ###### WechatUploader.setImages
|
66 |
|
67 | 设置uploader中默认的图片内容(注意,如果uploader被销毁的情况下,设置的内容自然也会消失)
|
68 |
|
69 | __html__
|
70 |
|
71 | ```html
|
72 | <!-- size="4": 显示多少个图片 -->
|
73 | <!-- can-modify="false": 不允许修改,只允许查看 -->
|
74 | <WechatUploader
|
75 | ref="uploader"
|
76 | :size="4"
|
77 | :can-modify="true">
|
78 | </WechatUploader>
|
79 | ```
|
80 |
|
81 | __script__
|
82 |
|
83 | ```javascript
|
84 | this.$refs.uploader.setImages([
|
85 | {
|
86 | image: '...', // 可以是url或者localId
|
87 | serverId: '...', // 可以不传入
|
88 | },
|
89 | ]);
|
90 | ```
|
91 |
|
92 | ###### WechatUploader.getImages
|
93 |
|
94 | 获得uploader中当前的图片内容
|
95 |
|
96 | ```javascript
|
97 | const images = this.$refs.uploader.getImages();
|
98 |
|
99 | // 结果是
|
100 | [
|
101 | {
|
102 | image: '...',
|
103 | serverId: '...',
|
104 | },
|
105 | ]
|
106 | ```
|
107 |
|
108 | ### Roadmap
|
109 |
|
110 | 1. image之间添加间距
|
111 |
|
112 | ### Changelog
|
113 |
|
114 | #### v0.0.2
|
115 |
|
116 | 1. export default Uploader 改为 export {Uploader, WechatUploader}
|
117 |
|
118 | #### v0.0.3
|
119 |
|
120 | 1. add/remove添加boolean返回值
|
121 |
|
122 | #### v0.0.4
|
123 |
|
124 | 1. WechatUploader中setImages(images: Array<image>)函数修改为setImages(data: Array<{image, serverId}>)
|
125 | 2. WechatUploader中getImages: Array<image>函数修改为getImages: Array<{image, serverId}>
|
126 |
|
127 | #### 0.0.21
|
128 |
|
129 | 1. 删除add事件中的res,添加choose事件
|
130 |
|
131 | ### Version
|
132 |
|
133 | #### v0.0.1
|
134 |
|
135 | 1. @request() 请求一张图片
|
136 | 1. @click(index) 点击了某张图片
|
137 | 1. @remove(index) 删除了某张图片
|
138 | 1. add(image) 添加一张图片
|
139 | 1. remove(index) 删除某张图片
|
140 | 1. getImages(): Array<image> 获得所有的图片
|
141 | 1. setImages(images: Array<image>) 设置所有的图片
|
142 | 1. 样式上
|
143 | 1. 强制70px宽度
|
144 | 1. icon使用before和after生成
|
145 |
|
146 | #### v0.0.2
|
147 |
|
148 | 1. 添加@add(image)事件
|
149 | 1. remove(index)函数调用将触发@remove(index)事件
|
150 | 1. 添加wechat-uploader.js
|
151 | 1. 图片上传将触发@load和@finish事件
|
152 |
|
153 | #### 0.0.3
|
154 |
|
155 | 1. 样式代码简单优化
|
156 | 1. remove(index)需要对index进行处理,例如是否大于0。添加返回值
|
157 | 1. add(image)需要判断当前的size是否已满。添加返回值
|
158 |
|
159 | #### 0.0.4
|
160 |
|
161 | 1. 修复WechatUploader中setImages/getImages的参数可能导致的不正确问题
|
162 |
|
163 | #### 0.0.5
|
164 |
|
165 | 1. WechatUploader提供preview
|
166 | 1. 添加canModify控制部分按钮的显示
|
167 |
|
168 | #### 0.0.6
|
169 |
|
170 | 1. 修复WechatUploader的setImages逻辑错误
|
171 |
|
172 | #### 0.0.7
|
173 |
|
174 | 1. request组件和container组件的样式允许部分自定义
|
175 |
|
176 | #### 0.0.8
|
177 |
|
178 | 1. 修复错误
|
179 |
|
180 | #### 0.0.9
|
181 |
|
182 | 1. 添加 removeAll / getCount / getSize 函数
|
183 |
|
184 | #### 0.0.10
|
185 |
|
186 | 1. 添加新函数,优化样式
|
187 |
|
188 | #### 0.0.11
|
189 |
|
190 | 1. 优化样式
|
191 |
|
192 | #### 0.0.12
|
193 |
|
194 | 1. 添加props: imageStyle/imageClass
|
195 |
|
196 | #### 0.0.13
|
197 |
|
198 | 1. 完善文档
|
199 |
|
200 | #### v0.0.14
|
201 |
|
202 | 1. 修复错误
|
203 |
|
204 | #### v0.0.15
|
205 |
|
206 | 1. 添加props,mageWrapClass和imageWrapStyle
|
207 |
|
208 | #### v0.0.16
|
209 |
|
210 | 1. 添加prop: lazyload
|
211 |
|
212 | #### v0.0.17
|
213 |
|
214 | 1. 修复微信预览黑屏的问题
|
215 |
|
216 | #### v0.0.18
|
217 |
|
218 | 1. 修复preview的错误
|
219 |
|
220 | #### 0.0.20
|
221 |
|
222 | 1. add事件添加参数res,变成add(image, serverId, res)
|
223 |
|
224 | #### 0.0.21
|
225 |
|
226 | 1. 回滚0.0.20功能,添加choose(sourceType)事件 |
\ | No newline at end of file |