71 lines
1.3 KiB
JavaScript
71 lines
1.3 KiB
JavaScript
|
|
'use strict';
|
||
|
|
|
||
|
|
const { Controller } = require('ee-core');
|
||
|
|
const { dialog } = require('electron');
|
||
|
|
const _ = require('lodash');
|
||
|
|
const CoreWindow = require('ee-core/electron/window');
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 特效 - 功能demo
|
||
|
|
* @class
|
||
|
|
*/
|
||
|
|
class EffectController extends Controller {
|
||
|
|
|
||
|
|
constructor(ctx) {
|
||
|
|
super(ctx);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 选择文件
|
||
|
|
*/
|
||
|
|
selectFile() {
|
||
|
|
const filePaths = dialog.showOpenDialogSync({
|
||
|
|
properties: ['openFile']
|
||
|
|
});
|
||
|
|
|
||
|
|
if (_.isEmpty(filePaths)) {
|
||
|
|
return null
|
||
|
|
}
|
||
|
|
|
||
|
|
return filePaths[0];
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* login window
|
||
|
|
*/
|
||
|
|
loginWindow(args) {
|
||
|
|
const { width, height } = args;
|
||
|
|
const win = CoreWindow.getMainWindow();
|
||
|
|
|
||
|
|
const size = {
|
||
|
|
width: width || 400,
|
||
|
|
height: height || 300
|
||
|
|
}
|
||
|
|
win.setSize(size.width, size.height);
|
||
|
|
win.setResizable(true);
|
||
|
|
win.center();
|
||
|
|
win.show();
|
||
|
|
win.focus();
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* restore window
|
||
|
|
*/
|
||
|
|
restoreWindow(args) {
|
||
|
|
const { width, height } = args;
|
||
|
|
const win = CoreWindow.getMainWindow();
|
||
|
|
|
||
|
|
const size = {
|
||
|
|
width: width || 980,
|
||
|
|
height: height || 650
|
||
|
|
}
|
||
|
|
win.setSize(size.width, size.height);
|
||
|
|
win.setResizable(true);
|
||
|
|
win.center();
|
||
|
|
win.show();
|
||
|
|
win.focus();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
EffectController.toString = () => '[class EffectController]';
|
||
|
|
module.exports = EffectController;
|