163c74e8eSmaotoumaoimport { showDialog } from "@/components/dialogs/useDialog"; 2*819a9075Smaotoumaoimport PersistStatus from "@/core/persistStatus.ts"; 363c74e8eSmaotoumaoimport checkUpdate from "@/utils/checkUpdate"; 463c74e8eSmaotoumaoimport Toast from "@/utils/toast"; 563c74e8eSmaotoumaoimport { compare } from "compare-versions"; 663c74e8eSmaotoumaoimport { useEffect } from "react"; 76f73e807S猫头猫 86f73e807S猫头猫export const checkUpdateAndShowResult = ( 96f73e807S猫头猫 showToast = false, 106f73e807S猫头猫 checkSkip = false, 116f73e807S猫头猫) => { 126f73e807S猫头猫 checkUpdate().then(updateInfo => { 136f73e807S猫头猫 if (updateInfo?.needUpdate) { 146f73e807S猫头猫 const {data} = updateInfo; 15*819a9075Smaotoumao const skipVersion = PersistStatus.get('app.skipVersion'); 166f73e807S猫头猫 console.log(skipVersion, data); 176f73e807S猫头猫 if ( 186f73e807S猫头猫 checkSkip && 196f73e807S猫头猫 skipVersion && 206f73e807S猫头猫 compare(skipVersion, data.version, '>=') 216f73e807S猫头猫 ) { 226f73e807S猫头猫 return; 236f73e807S猫头猫 } 246f73e807S猫头猫 showDialog('DownloadDialog', { 256f73e807S猫头猫 version: data.version, 266f73e807S猫头猫 content: data.changeLog, 276f73e807S猫头猫 fromUrl: data.download[0], 28d8bc08a8S猫头猫 backUrl: data.download[1], 296f73e807S猫头猫 }); 306f73e807S猫头猫 } else { 316f73e807S猫头猫 if (showToast) { 326f73e807S猫头猫 Toast.success('当前是最新版本~'); 336f73e807S猫头猫 } 346f73e807S猫头猫 } 356f73e807S猫头猫 }); 366f73e807S猫头猫}; 376f73e807S猫头猫 386f73e807S猫头猫export default function (callOnMount = true) { 396f73e807S猫头猫 useEffect(() => { 406f73e807S猫头猫 if (callOnMount) { 416f73e807S猫头猫 checkUpdateAndShowResult(false, true); 426f73e807S猫头猫 } 436f73e807S猫头猫 }, []); 446f73e807S猫头猫 456f73e807S猫头猫 return checkUpdateAndShowResult; 466f73e807S猫头猫} 47