Commit 36c11ea0 authored by Medicean's avatar Medicean

(Enhance:Update) 更新提示窗口新增 ReleaseNote 显示(缩放显示,图片看不清可直接前往 github 查看详细更新日志), 新增...

(Enhance:Update) 更新提示窗口新增 ReleaseNote 显示(缩放显示,图片看不清可直接前往 github 查看详细更新日志), 新增 「更新日志」按钮(点击后直接打开 github release 页)
parent b9e2fe21
......@@ -22,6 +22,9 @@
![adefault_shellmanager_1.png](https://i.loli.net/2019/04/30/5cc83fafdf0d8.png)
* 新增第三方库 marked 0.6.2 用于 markdown 渲染
* 更新提示窗口新增 ReleaseNote 显示(缩放显示,图片看不清可直接前往 github 查看详细更新日志), 新增 「更新日志」按钮(点击后直接打开 github release 页)
## 2019/04/27 `v(2.1.1)`
### 核心模块
......
......@@ -39,7 +39,8 @@ class Update {
this.logger.info('Found a new loader version', newVersion);
event.sender.send('notification-loader-update', {
ver: newVersion,
url: lastInfo['html_url']
url: lastInfo['html_url'],
body: lastInfo['body']
});
} else {
this.logger.warn('No new loader version.', newVersion, curVersion);
......@@ -69,7 +70,8 @@ class Update {
this.logger.info('Found a new version', newVersion);
event.sender.send('notification-update', {
ver: newVersion,
url: lastInfo['html_url']
url: lastInfo['html_url'],
body: lastInfo['body']
});
} else {
this.logger.warn('No new version.', newVersion, curVersion);
......
......@@ -506,6 +506,11 @@
"yallist": "^2.1.2"
}
},
"marked": {
"version": "0.6.2",
"resolved": "https://registry.npm.taobao.org/marked/download/marked-0.6.2.tgz",
"integrity": "sha1-xXS+i1Rai0hkFFbKHb4ON7bczBo="
},
"methods": {
"version": "1.1.2",
"resolved": "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
......
{
"name": "antsword",
"version": "2.1.1.2",
"version": "2.1.1.3",
"description": "中国蚁剑是一款跨平台的开源网站管理工具",
"main": "app.js",
"dependencies": {
......@@ -8,6 +8,7 @@
"geoips": "0.0.1",
"iconv-lite": "^0.4.23",
"jschardet": "^1.6.0",
"marked": "^0.6.2",
"nedb": "^1.5.1",
"node-rsa": "^1.0.5",
"superagent": "^3.8.3",
......
......@@ -303,8 +303,8 @@ ipcRenderer
const WIN = require('ui/window');
let win = new WIN({
title: antSword['language']['update']['title'],
height:130,
width:280
height:430,
width:480
});
win.win.setIconCss("update-winicon");
win.win.button("minmax").hide();
......@@ -314,22 +314,50 @@ ipcRenderer
let formdata = [
{type:"label" , name:"form_msg", label:LANG["prompt"]["body"](opt['ver']), offsetLeft: 5},
{type: "container", name: "form_body", label: "", inputWidth: 450, inputHeight: 300},
{type: "block", list:[
{type:"newcolumn", offset:20},
{type:"button" , name:"updatebtn", value: `<i class="fa fa-cloud-download"></i> ${LANG["prompt"]["btns"]["ok"]}`, className:"background-color: #39c;"},
{type:"newcolumn", offset:15},
{type:"button" , name:"canclebtn", value: `${LANG["prompt"]["btns"]["no"]}`},
{type:"newcolumn", offset:20},
{type:"button" , name:"changelogbtn", value: `<i class="fa fa-chrome"></i> ${LANG["prompt"]["btns"]["changelog"]}`},
{type:"newcolumn", offset:20},
{type:"button" , name:"canclebtn", value: `<i class="fa fa-remove"></i> ${LANG["prompt"]["btns"]["no"]}`},
]
}];
uplayout.cells('a').attachForm(formdata, true);
win.win.attachEvent('onParkUp', () => {
if(win.win.isParked()){
win.win.wins._winSetSize(win.win._idd, 240, (win.win.wins.w[win.win._idd].hdr.offsetHeight+win.win.wins.conf.ofs_h), false, true);
}
win.win.setPosition(document.body.clientWidth-300,document.body.clientHeight-150);
return true;
});
win.win.attachEvent('onParkDown', () =>{
win.win.setDimension(478, 428);
win.win.centerOnScreen();
return true;
});
const form = uplayout.cells('a').attachForm(formdata, true);
let form_body = new dhtmlXLayoutObject(form.getContainer('form_body'), '1C');
form_body.cells('a').hideHeader();
const marked = require('marked');
let _html = `<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body {
zoom:80%;
}
img {
width:100%;
}
</style>
</head>
<body>
${marked(opt['body']).replace(/<a.+?(href=".+?")/g, "<a")}
</body>
</html>`;
form_body.cells('a').attachHTMLString(`<iframe sandbox="" src="data:text/html;base64,${Buffer.from(_html).toString('base64')}" style="width:100%;height:100%;border:0;padding:0;margin:0;"></iframe>`);
form.attachEvent("onButtonClick", (name)=>{
switch (name) {
case "updatebtn":
......@@ -367,6 +395,9 @@ ipcRenderer
case "canclebtn":
win.close();
break;
case "changelogbtn":
antSword.shell.openExternal(opt['url']);
break;
}
});
})
......
......@@ -626,7 +626,8 @@ Hot Keys:
prompt: {
btns: {
ok: 'Update',
no: 'Cancel'
no: 'Cancel',
changelog: 'ChangeLog'
},
body: (ver) => `Found new version v${ver}, update now?`,
loader_body: (ver) => `The new version of the Loader v${ver} has been released, the currently used loader will not be available, will you quit the program and go to download the latest version of the Loader?`,
......
......@@ -628,7 +628,8 @@ module.exports = {
prompt: {
btns: {
ok: '立即更新',
no: '下次再说'
no: '下次再说',
changelog: '更新日志'
},
body: (ver) => `发现新版本 v${ver}, 是否更新?`,
loader_body: (ver) => `加载器新版本 v${ver} 已经发布,当前使用的加载器即将不能使用, 是否退出程序并前往下载最新版加载器?`,
......
......@@ -627,7 +627,8 @@ module.exports = {
prompt: {
btns: {
ok: '立即更新',
no: '下次再説'
no: '下次再説',
changelog: '更新日誌'
},
body: (ver) => `發現新版本 v${ver}, 是否更新?`,
loader_body: (ver) => `加載器新版本 v${ver} 已經發布,當前使用的加載器即將不能使用, 是否退出程序並前往下載最新版加載器?`,
......
......@@ -627,7 +627,8 @@ module.exports = {
prompt: {
btns: {
ok: '立即更新',
no: '下次再說'
no: '下次再說',
changelog: '更新日誌'
},
body: (ver) => `發現新版本 v${ver}, 是否更新?`,
loader_body: (ver) => `加載器新版本 v${ver} 已經發布,當前使用的加載器即將不能使用, 是否退出程序並前往下載最新版加載器?`,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment