@@ -5,114 +5,99 @@ import 'client/lib/plupload/js/plupload.dev.js';
5
5
import 'qiniu-js/dist/qiniu.min' ;
6
6
import _ from 'lodash' ;
7
7
import { $ } from 'meteor/jquery' ;
8
+ import wangEditor from 'wangeditor' ;
8
9
import Content from '../../../../components/admin/singlePagesConf/config/content' ;
9
10
10
11
const lifeCycle = {
11
12
componentDidMount ( ) {
12
- // // 初始化七牛上传
13
- // uploadInit() {
14
- // // this 即 editor 对象
15
- // var editor = this;
16
- // // 触发选择文件的按钮的id
17
- // var btnId = editor.customUploadBtnId;
18
- // // 触发选择文件的按钮的父容器的id
19
- // var containerId = editor.customUploadContainerId;
20
- // Meteor.call('files.token', function(err, token, btnId, containerId) {
21
- // if (err) {
22
- // alert('初始化图片上传组件失败');
23
- // } else {
24
- // // 创建上传对象
25
- // var uploader = Qiniu.uploader({
26
- // runtimes: 'html5,flash,html4', //上传模式,依次退化
27
- // browse_button: btnId, //上传选择的点选按钮,**必需**
28
- // // uptoken_url: '/uptoken',
29
- // //Ajax请求upToken的Url,**强烈建议设置**(服务端提供)
30
- // uptoken : token,
31
- // //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成
32
- // // unique_names: true,
33
- // // 默认 false,key为文件名。若开启该选项,SDK会为每个文件自动生成key(文件名)
34
- // // save_key: true,
35
- // // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK在前端将不对key进行任何处理
36
- // domain: qiniuDomain,
37
- // //bucket 域名,下载资源时用到,**必需**
38
- // container: containerId, //上传区域DOM ID,默认是browser_button的父元素,
39
- // max_file_size: '100mb', //最大文件体积限制
40
- // flash_swf_url: 'Moxie.swf', //引入flash,相对路径
41
- // filters: {
42
- // mime_types: [
43
- // //只允许上传图片文件 (注意,extensions中,逗号后面不要加空格)
44
- // { title: "图片文件", extensions: "jpg,gif,png,bmp" }
45
- // ]
46
- // },
47
- // max_retries: 3, //上传失败最大重试次数
48
- // dragdrop: true, //开启可拖曳上传
49
- // drop_element: 'editor-container', //拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传
50
- // chunk_size: '4mb', //分块上传时,每片的体积
51
- // auto_start: true, //选择文件后自动上传,若关闭需要自己绑定事件触发上传
52
- // init: {
53
- // 'FilesAdded': function(up, files) {
54
- // plupload.each(files, function(file) {
55
- // // 文件添加进队列后,处理相关的事情
56
- // printLog('on FilesAdded');
57
- // });
58
- // },
59
- // 'BeforeUpload': function(up, file) {
60
- // // 每个文件上传前,处理相关的事情
61
- // printLog('on BeforeUpload');
62
- // },
63
- // 'UploadProgress': function(up, file) {
64
- // // 显示进度条
65
- // editor.showUploadProgress(file.percent);
66
- // },
67
- // 'FileUploaded': function(up, file, info) {
68
- // // 每个文件上传成功后,处理相关的事情
69
- // // 其中 info 是文件上传成功后,服务端返回的json,形式如
70
- // // {
71
- // // "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
72
- // // "key": "gogopher.jpg"
73
- // // }
74
- // printLog(info);
75
- // // 参考http://developer.qiniu.com/docs/v6/api/overview/up/response/simple-response.html
76
- //
77
- // var domain = up.getOption('domain');
78
- // var res = $.parseJSON(info);
79
- // var sourceLink = domain + res.key; //获取上传成功后的文件的Url
80
- //
81
- // printLog(sourceLink);
82
- //
83
- // // 插入图片到editor
84
- // editor.command(null, 'insertHtml', '<img src="' + sourceLink + '" style="max-width:100%;"/>')
85
- // },
86
- // 'Error': function(up, err, errTip) {
87
- // //上传出错时,处理相关的事情
88
- // printLog('on Error');
89
- // },
90
- // 'UploadComplete': function() {
91
- // //队列文件处理完毕后,处理相关的事情
92
- // printLog('on UploadComplete');
93
- //
94
- // // 隐藏进度条
95
- // editor.hideUploadProgress();
96
- // }
97
- // // Key 函数如果有需要自行配置,无特殊需要请注释
98
- // // ,
99
- // // 'Key': function(up, file) {
100
- // // // 若想在前端对每个文件的key进行个性化处理,可以配置该函数
101
- // // // 该配置必须要在 unique_names: false , save_key: false 时才生效
102
- // // var key = "";
103
- // // // do something with key here
104
- // // return key
105
- // // }
106
- // }
107
- // });
108
- // // domain 为七牛空间(bucket)对应的域名,选择某个空间后,可通过"空间设置->基本设置->域名设置"查看获取
109
- // // uploader 为一个plupload对象,继承了所有plupload的方法,参考http://plupload.com/docs
110
- // }
13
+ const { qiniuDomain, content } = this . props ;
111
14
15
+ // 初始化七牛上传
16
+ function uploadInit ( ) {
17
+ // this 即 editor 对象
18
+ // 触发选择文件的按钮的id
19
+ const editor = this ;
20
+ const btnId = editor . customUploadBtnId ;
21
+ // 触发选择文件的按钮的父容器的id
22
+ const containerId = editor . customUploadContainerId ;
23
+ console . log ( btnId , containerId ) ;
24
+ Meteor . call ( 'files.token' , function ( err , token ) {
25
+ if ( err ) {
26
+ alert ( '初始化图片上传组件失败' ) ;
27
+ } else {
28
+ // 创建上传对象
29
+ var uploader = Qiniu . uploader ( {
30
+ runtimes : 'html5,flash,html4' , //上传模式,依次退化
31
+ browse_button : btnId , //上传选择的点选按钮,**必需**
32
+ uptoken : token ,
33
+ domain : qiniuDomain ,
34
+ container : containerId , //上传区域DOM ID,默认是browser_button的父元素,
35
+ max_file_size : '100mb' , //最大文件体积限制
36
+ flash_swf_url : 'Moxie.swf' , //引入flash,相对路径
37
+ filters : {
38
+ mime_types : [
39
+ //只允许上传图片文件 (注意,extensions中,逗号后面不要加空格)
40
+ { title : "图片文件" , extensions : "jpg,gif,png,bmp" }
41
+ ]
42
+ } ,
43
+ max_retries : 3 , //上传失败最大重试次数
44
+ dragdrop : true , //开启可拖曳上传
45
+ drop_element : containerId , //拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传
46
+ chunk_size : '4mb' , //分块上传时,每片的体积
47
+ auto_start : true , //选择文件后自动上传,若关闭需要自己绑定事件触发上传
48
+ init : {
49
+ 'FilesAdded' : function ( up , files ) {
50
+ plupload . each ( files , function ( file ) {
51
+ // 文件添加进队列后,处理相关的事情
52
+ } ) ;
53
+ } ,
54
+ 'BeforeUpload' : function ( up , file ) {
55
+ // 每个文件上传前,处理相关的事情
56
+ console . log ( 'ddddd' ) ;
57
+ } ,
58
+ 'UploadProgress' : function ( up , file ) {
59
+ // 显示进度条
60
+ editor . showUploadProgress ( file . percent ) ;
61
+ } ,
62
+ 'FileUploaded' : function ( up , file , info ) {
63
+ // 每个文件上传成功后,处理相关的事情
64
+ // 其中 info 是文件上传成功后,服务端返回的json,形式如
65
+ // {
66
+ // "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
67
+ // "key": "gogopher.jpg"
68
+ // }
69
+ // 参考http://developer.qiniu.com/docs/v6/api/overview/up/response/simple-response.html
70
+
71
+ var domain = up . getOption ( 'domain' ) ;
72
+ var res = $ . parseJSON ( info ) ;
73
+ var sourceLink = domain + res . key ; //获取上传成功后的文件的Url
74
+
75
+ // 插入图片到editor
76
+ editor . command ( null , 'insertHtml' , '<img src="' + sourceLink + '" style="max-width:100%;"/>' )
77
+ } ,
78
+ 'Error' : function ( up , err , errTip ) {
79
+ //上传出错时,处理相关的事情
80
+ } ,
81
+ 'UploadComplete' : function ( ) {
82
+ //队列文件处理完毕后,处理相关的事情
83
+
84
+ // 隐藏进度条
85
+ editor . hideUploadProgress ( ) ;
86
+ }
87
+ }
88
+ } ) ;
89
+ }
90
+ } ) ;
91
+ }
92
+ this . editor = new wangEditor ( 'editor' ) ;
93
+ this . editor . config . customUpload = true ;
94
+ this . editor . config . customUploadInit = uploadInit ;
95
+ this . editor . create ( ) ;
96
+ this . editor . $txt . html ( content ) ;
112
97
} ,
113
98
componentDidUpdate ( ) {
114
- // $('.editor').summernote('reset') ;
115
- // $('.edsitor').summernote('focus' );
99
+ const { content } = this . props ;
100
+ this . editor . $txt . html ( content ) ;
116
101
} ,
117
102
componentWillUnmount ( ) {
118
103
const { dispatch, selectSection } = this . props ;
0 commit comments