Skip to content

Commit

Permalink
修改截图插件
Browse files Browse the repository at this point in the history
  • Loading branch information
carsonxu committed Apr 27, 2014
1 parent b3162b4 commit 3781b14
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 72 deletions.
152 changes: 82 additions & 70 deletions _src/plugins/snapscreen.js
Original file line number Diff line number Diff line change
@@ -1,82 +1,94 @@
///import core
///import plugins\inserthtml.js
///import plugins\image.js
///commandsName snapscreen
///commandsTitle 截屏
/*
* 截屏插件
/**
* 截屏插件,为UEditor提供插入支持
* @file
* @since 1.4.0
*/
UE.plugins['snapscreen'] = function(){
var me = this,
doc,
snapplugin;
UE.plugin.register('snapscreen', function (){

me.setOpt({
snapscreenServerPort: location.port //屏幕截图的server端端口
,snapscreenImgAlign: '' //截图的图片默认的排版方式
,snapscreenHost: location.hostname //屏幕截图的server端文件所在的网站地址或者ip,请不要加http://
var me = this;
var snapplugin;

// 设置截屏配置项默认值
me.setOpt({
snapscreenServerPort: location.port, // 屏幕截图的server端端口
snapscreenImgAlign: '', // 截图的图片默认的排版方式
snapscreenHost: location.hostname // 屏幕截图的server端文件所在的网站地址或者ip,请不要加http://
});
me.commands['snapscreen'] = {
execCommand: function(){
var me = this,lang = me.getLang("snapScreen_plugin");
if(!snapplugin){
var container = me.container;
doc = container.ownerDocument || container.document;
snapplugin = doc.createElement("object");
try{snapplugin.type = "application/x-pluginbaidusnap";}catch(e){
return;
}
snapplugin.style.cssText = "position:absolute;left:-9999px;";
snapplugin.setAttribute("width","0");
snapplugin.setAttribute("height","0");
container.appendChild(snapplugin);
}

function getLocation(url){
var a = document.createElement('a');

var editorOptions = me.options;
a.href = url;
return {
'port': a.port,
'hostname': a.hostname,
'path': a.pathname + a.search + a.hash
}
}

var onSuccess = function(rs){
try{
rs = eval("("+ rs +")");
}catch(e){
alert(lang.callBackErrorMsg);
return;
}
return {
commands:{
/**
* 字体背景颜色
* @command snapscreen
* @method execCommand
* @param { String } cmd 命令字符串
* @example
* ```javascript
* editor.execCommand('snapscreen');
* ```
*/
'snapscreen':{
execCommand:function (cmd) {
var url, local, res;
var me = this,
lang = me.getLang("snapScreen_plugin");

if(rs.state != 'SUCCESS'){
alert(rs.state);
return;
}
me.execCommand('insertimage', {
src: editorOptions.snapscreenUrlPrefix + rs.url,
floatStyle: editorOptions.snapscreenImgAlign,
_src:editorOptions.snapscreenUrlPrefix + rs.url
});
};
var onStartUpload = function(){
//开始截图上传
};
var onError = function(){
alert(lang.uploadErrorMsg);
};
if(!snapplugin){
var container = me.container;
var doc = me.container.ownerDocument || me.container.document;
snapplugin = doc.createElement("object");
try{snapplugin.type = "application/x-pluginbaidusnap";}catch(e){
return;
}
snapplugin.style.cssText = "position:absolute;left:-9999px;width:0;height:0;";
snapplugin.setAttribute("width","0");
snapplugin.setAttribute("height","0");
container.appendChild(snapplugin);
}

var port = editorOptions.snapscreenServerPort + '',
snapscreenServerUrl = me.getActionUrl(me.getOpt('snapscreenActionName'));
snapscreenServerUrl = snapscreenServerUrl.split( editorOptions.snapscreenHost );
snapscreenServerUrl = snapscreenServerUrl[1] || snapscreenServerUrl[0];
if( snapscreenServerUrl.indexOf(":"+port) === 0 ) {
snapscreenServerUrl = snapscreenServerUrl.substring( port.length+1 );
}
function onSuccess(rs){
try{
rs = eval("("+ rs +")");
if(rs.state == 'SUCCESS'){
var opt = me.options;
me.execCommand('insertimage', {
src: opt.snapscreenUrlPrefix + rs.url,
_src: opt.snapscreenUrlPrefix + rs.url,
floatStyle: opt.snapscreenImgAlign
});
} else {
alert(rs.state);
}
}catch(e){
alert(lang.callBackErrorMsg);
}
}

url = me.getActionUrl(me.getOpt('snapscreenActionName'));
local = getLocation(url);
setTimeout(function () {
try{
res =snapplugin.saveSnapshot(local.hostname, '/ueditor/' + local.path, local.port);
}catch(e){
me.ui._dialogs['snapscreenDialog'].open();
return;
}

try{
var ret =snapplugin.saveSnapshot(editorOptions.snapscreenHost, snapscreenServerUrl, port);
}catch(e){
me.ui._dialogs['snapscreenDialog'].open();
return;
onSuccess(res);
}, 50);
}
}
onSuccess(ret);
}
};
}

}
});
2 changes: 0 additions & 2 deletions php/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@
"snapscreenActionName": "uploadimage", //执行上传截图的action名称
"snapscreenPathFormat": "/ueditor/php/upload/image/{yyyy}{mm}{dd}/{filename}_{time}{rand:6}", //上传保存路径,可以自定义保存路径和文件名格式
"snapscreenUrlPrefix": "", //图片访问路径前缀
"snapscreenHost": "localhost",
"snapscreenServerPort": 80,
"snapscreenInsertAlign": "none",

// 抓取远程图片配置
Expand Down

0 comments on commit 3781b14

Please sign in to comment.