fix: check new version

This commit is contained in:
linyuchen 2024-03-20 18:52:44 +08:00
parent 51e332ec38
commit 965aa48729
6 changed files with 23 additions and 14 deletions

View File

@ -3,5 +3,5 @@ export const CHANNEL_SET_CONFIG = 'llonebot_set_config'
export const CHANNEL_LOG = 'llonebot_log'
export const CHANNEL_ERROR = 'llonebot_error'
export const CHANNEL_UPDATE = 'llonebot_update'
export const CHANNEL_CHECKVERSION = 'llonebot_checkversion'
export const CHANNEL_CHECK_VERSION = 'llonebot_check_version'
export const CHANNEL_SELECT_FILE = 'llonebot_select_ffmpeg'

View File

@ -8,17 +8,22 @@ import compressing from "compressing";
const downloadMirrorHosts = ["https://mirror.ghproxy.com/"];
const checkVersionMirrorHosts = ["https://521github.com"];
export async function checkVersion() {
export async function checkNewVersion() {
const latestVersionText = await getRemoteVersion();
const latestVersion = latestVersionText.split(".");
log("llonebot last version", latestVersion);
const currentVersion: string[] = version.split(".");
log("llonebot current version", currentVersion);
for (let k of [0, 1, 2]) {
if (parseInt(latestVersion[k]) > parseInt(currentVersion[k])) {
return { result: false, version: latestVersionText };
log("")
return { result: true, version: latestVersionText };
}
else if (parseInt(latestVersion[k]) < parseInt(currentVersion[k])) {
break;
}
}
return { result: true, version: version };
return { result: false, version: version };
}
export async function upgradeLLOneBot() {

View File

@ -7,7 +7,7 @@ import {
CHANNEL_ERROR,
CHANNEL_GET_CONFIG,
CHANNEL_LOG,
CHANNEL_CHECKVERSION,
CHANNEL_CHECK_VERSION,
CHANNEL_SELECT_FILE,
CHANNEL_SET_CONFIG,
CHANNEL_UPDATE,
@ -41,7 +41,7 @@ import {NTQQUserApi} from "../ntqqapi/api/user";
import {NTQQGroupApi} from "../ntqqapi/api/group";
import {registerPokeHandler} from "../ntqqapi/external/ccpoke";
import {OB11FriendPokeEvent, OB11GroupPokeEvent} from "../onebot11/event/notice/OB11PokeEvent";
import {checkVersion, upgradeLLOneBot} from "../common/utils/upgrade";
import {checkNewVersion, upgradeLLOneBot} from "../common/utils/upgrade";
import {log} from "../common/utils/log";
import {getConfigUtil} from "../common/config";
import {checkFfmpeg} from "../common/utils/video";
@ -53,8 +53,8 @@ let running = false;
// 加载插件时触发
function onLoad() {
log("llonebot main onLoad");
ipcMain.handle(CHANNEL_CHECKVERSION, async (event, arg) => {
return checkVersion();
ipcMain.handle(CHANNEL_CHECK_VERSION, async (event, arg) => {
return checkNewVersion();
});
ipcMain.handle(CHANNEL_UPDATE, async (event, arg) => {
return upgradeLLOneBot();

View File

@ -61,7 +61,7 @@ let receiveHooks: Array<{
export function hookNTQQApiReceive(window: BrowserWindow) {
const originalSend = window.webContents.send;
const patchSend = (channel: string, ...args: NTQQApiReturnData) => {
console.log("hookNTQQApiReceive", channel, args)
// console.log("hookNTQQApiReceive", channel, args)
let isLogger = false
try {
isLogger = args[0]?.eventName?.startsWith("ns-LoggerApi")
@ -122,7 +122,7 @@ export function hookNTQQApiCall(window: BrowserWindow) {
const proxyIpcMsg = new Proxy(ipc_message_proxy, {
apply(target, thisArg, args) {
console.log(thisArg, args);
// console.log(thisArg, args);
let isLogger = false
try {
isLogger = args[3][0].eventName.startsWith("ns-LoggerApi")
@ -156,7 +156,11 @@ export function hookNTQQApiCall(window: BrowserWindow) {
}
});
let ret = target.apply(thisArg, args);
HOOK_LOG && log("call NTQQ invoke api return", ret)
try {
HOOK_LOG && log("call NTQQ invoke api return", ret)
}catch (e) {
}
return ret;
}
});

View File

@ -5,7 +5,7 @@ import {
CHANNEL_ERROR,
CHANNEL_GET_CONFIG,
CHANNEL_LOG,
CHANNEL_CHECKVERSION,
CHANNEL_CHECK_VERSION,
CHANNEL_SELECT_FILE,
CHANNEL_SET_CONFIG,
CHANNEL_UPDATE,
@ -19,7 +19,7 @@ const llonebot = {
ipcRenderer.send(CHANNEL_LOG, data);
},
checkVersion:async (): Promise<CheckVersion> => {
return ipcRenderer.invoke(CHANNEL_CHECKVERSION);
return ipcRenderer.invoke(CHANNEL_CHECK_VERSION);
},
updateLLOneBot:async (): Promise<boolean> => {
return ipcRenderer.invoke(CHANNEL_UPDATE);

View File

@ -336,7 +336,7 @@ async function onSettingWindowCreated(view: Element) {
});
return;
}
if (ResultVersion.result) {
if (!ResultVersion.result) {
view.querySelector(".llonebot-update-title").innerHTML = "当前已是最新版本 V" + ResultVersion.version;
view.querySelector(".llonebot-update-button").innerHTML = "无需更新";
} else {