mirror of
https://github.com/klxf/eda-copilot.git
synced 2025-12-07 20:34:14 +08:00
增加了按回车发送和检查更新
This commit is contained in:
70
src/index.ts
70
src/index.ts
@@ -16,18 +16,68 @@ import * as extensionConfig from '../extension.json';
|
||||
export function activate(status?: 'onStartupFinished', arg?: string): void {}
|
||||
|
||||
export function openAbout(): void {
|
||||
eda.sys_Dialog.showInformationMessage(
|
||||
extensionConfig.description + '\n' +
|
||||
'版本:' + extensionConfig.version + '\n' +
|
||||
'作者:' + extensionConfig.publisher + '\n' +
|
||||
'————————————————————\n' +
|
||||
'本拓展使用 ' + extensionConfig.license + ' 开源许可协议\n' +
|
||||
'开源:' + extensionConfig.homepage + '\n' +
|
||||
'反馈:' + extensionConfig.bugs + '\n',
|
||||
'关于 ' + extensionConfig.displayName
|
||||
);
|
||||
eda.sys_ClientUrl.request('https://api.github.com/repos/klxf/eda-copilot/releases/latest').then(async (res) => {
|
||||
let updateTip = '';
|
||||
if (res.status === 200) {
|
||||
console.log('检查更新成功');
|
||||
const data = JSON.parse(await res.text());
|
||||
// 比较版本号
|
||||
const latestVersion = data.tag_name;
|
||||
if (compareVersions(extensionConfig.version, latestVersion.replaceAll('v', '')) < 0) {
|
||||
updateTip = '(存在新版本' + latestVersion + ')';
|
||||
} else {
|
||||
updateTip = '(已是最新版本)';
|
||||
}
|
||||
} else {
|
||||
console.log('检查更新失败');
|
||||
updateTip = '(检查更新失败)';
|
||||
}
|
||||
|
||||
eda.sys_Dialog.showInformationMessage(
|
||||
extensionConfig.description +
|
||||
'\n' +
|
||||
'版本:' +
|
||||
extensionConfig.version +
|
||||
updateTip +
|
||||
'\n' +
|
||||
'作者:' +
|
||||
extensionConfig.publisher +
|
||||
'\n' +
|
||||
'————————————————————\n' +
|
||||
'本拓展使用 ' +
|
||||
extensionConfig.license +
|
||||
' 开源许可协议\n' +
|
||||
'开源:' +
|
||||
extensionConfig.homepage +
|
||||
'\n' +
|
||||
'反馈:' +
|
||||
extensionConfig.bugs +
|
||||
'\n',
|
||||
'关于 ' + extensionConfig.displayName,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
export function openIframe(): void {
|
||||
eda.sys_IFrame.openIFrame('/iframe/index.html', 400, 600);
|
||||
}
|
||||
|
||||
function compareVersions(version1: string, version2: string): number {
|
||||
const v1Parts = version1.split('.');
|
||||
const v2Parts = version2.split('.');
|
||||
|
||||
const maxLength = Math.max(v1Parts.length, v2Parts.length);
|
||||
|
||||
for (let i = 0; i < maxLength; i++) {
|
||||
const part1 = parseInt(v1Parts[i] || '0', 10);
|
||||
const part2 = parseInt(v2Parts[i] || '0', 10);
|
||||
|
||||
if (part1 < part2) {
|
||||
return -1; // 后者版本号更高
|
||||
} else if (part1 > part2) {
|
||||
return 1; // 前者版本号更高
|
||||
}
|
||||
}
|
||||
|
||||
return 0; // 两个版本号相等
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user