2018-10-09 21:10
刚好我们公司年中旬已经开始做这个平台了(内部项目加班和周末写点代码...), 目前已经在开始内部商用了, 等平台迭代稳定后会进行开源 : )
目前功能有:
1应用商店(管理插件应用), 进度 60%.(UI刚动工, 后台主体流程已完成)
2开发者后台(负责源码的开发与提交), 进度 100%(main方法一键提交~)
3测试人员的后台(回归测试与发布), 进度 70%(还差数据库的回滚)
4用户端应用的管理(安装, 更新(可选自动更新), 卸载) , 进度 80%(UI还差点).
UI使用 layui + vue(┬_┬)当模版用...
有兴趣的可以私信我, 一起参与, 争取早日完成~
2018-09-30 00:21
@小路哥 可以的, 注意字体安装在 java 的 jre\lib\fonts 里面, JSON的 font" : {"name": 你字体的名字如:"宋体" 就可以了
2018-09-26 21:40
方法2:
@SuppressWarnings("serial")
public class MyException extends Exception {
public void init(Exception e) {
try {
// 此处 拿到异常, 存为属性 或者自定义其他 操作, 都可以, 看业务
} catch (Exception ie) {
}
}
};
使用:
final MyException myE = new MyException();
boolean tx = Db.tx(new IAtom() {
@Override
public boolean run() throws SQLException {
try {
// 你的数据库 操作
return true;
} catch (Exception e) {
myE.init(e);
return false;
}
}
});
if (!tx) {
// 这里就可以拿到自己的异常了
throw myE;
}
2018-09-26 21:23
abstract class MyIAtom implements IAtom {
public Exception myException = null;
};
MyIAtom myIAtom = new MyIAtom() {
@Override
public boolean run() throws SQLException {
try {
// 你的数据库 操作
return true;
} catch (Exception e) {
myException = e;
return false;
}
}
};
boolean tx = Db.tx(myIAtom);
if ( ! tx) {
// 这里就可以拿到异常了,自己转换一下 myIAtom.myException
System.out.println(myIAtom.myException.getMessage());
}
2018-09-20 20:35
PS:如果有用到 数据库和缓存等插件时 这样写就可以了
private void init() {
log.info("----------------启动测试配件--------------------");
Plugins me = new Plugins();
new YouConfig().configPlugin(me);
for (IPlugin iPlugin : me.getPluginList()) {
iPlugin.start();
}
log.info("----------------测试配件启动成功--------------------\r\n\r\n");
}
2018-09-14 21:45
@netwild
http://www.jfinal.com/doc/6-3
5、静态方法调用
#if(com.jfinal.kit.StrKit::isBlank(title))
....
#end