Skip to content

Commit

Permalink
refactor: now parallelly rendering config and info part
Browse files Browse the repository at this point in the history
significantly improved loading speed of settings page
  • Loading branch information
std-microblock committed Nov 19, 2022
1 parent 0f2d303 commit 6979b99
Showing 1 changed file with 26 additions and 22 deletions.
48 changes: 26 additions & 22 deletions src/App.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

namespace fs = std::filesystem;

const auto version = "0.2.4";
const auto version = "0.2.5";

extern string datapath;

Expand Down Expand Up @@ -249,18 +249,33 @@ function dom(tag, settings, ...children) {
betterncm.utils.waitForElement(".g-mn-set").then(async (settingsDom) => {
let updatey;
betterncm.utils.waitForElement(".g-mn-set").then((settingsDom)=>{(async () => {
settingsDom.prepend(
dom("div", { style: { marginLeft: "30px" } },
dom("div", { style: { display: "flex", flexDirection: "column", alignItems: "center" } },
dom("img", { src: "https://s1.ax1x.com/2022/08/11/vGlJN8.png", style: { width: "60px" } }),
dom("div", { innerText: "BetterNCM II", style: { fontSize: "20px", fontWeight: "700" } }),
dom("div", { innerText: "v" + await betterncm.app.getBetterNCMVersion() }),
dom("div",{class:["BetterNCM-PM-Updatey"]}),
dom("div", { style: { marginBottom: "20px" } },
dom("a", { class: ["u-ibtn5", "u-ibtnsz8"], innerText: "Open Folder", onclick: async () => { await betterncm.app.exec(`explorer "${(await betterncm.app.getDataPath()).replace(/\//g,"\\")}"`,false,true) }, style: { margin: "5px" } }),
dom("a", { class: ["u-ibtn5", "u-ibtnsz8"], innerText: "Show Console", onclick: async () => { await betterncm.app.showConsole() }, style: { margin: "5px" } }),
dom("a", { class: ["u-ibtn5", "u-ibtnsz8"], innerText: "Reload Plugins", onclick: async () => { await betterncm.app.reloadPlugins();document.location.reload(); }, style: { margin: "5px" } }),
)
),
dom("div", { class: ["BetterNCM-Plugin-Configs"] })
))
try {
let currentVersion = await betterncm.app.getBetterNCMVersion()
let ncmVersion = document.querySelector(".fstbtn>span").innerText.split(" ")[0]
let online = await (await fetch("https://gitee.com/microblock/better-ncm-v2-data/raw/master/betterncm/betterncm.json")).json()
let onlineSuitableVersions = online.versions.filter(v => v.supports.includes(ncmVersion))
if (onlineSuitableVersions.length === 0) updatey = dom("div", { innerText: decodeURI("BetterNCM%E6%9A%82%E6%9C%AA%E5%AE%98%E6%96%B9%E6%94%AF%E6%8C%81%E8%AF%A5%E7%89%88%E6%9C%AC%EF%BC%8C%E5%8F%AF%E8%83%BD%E4%BC%9A%E5%87%BA%E7%8E%B0Bug") });
if (onlineSuitableVersions.length === 0) document.querySelector(".BetterNCM-PM-Updatey").appendChild(dom("div", { innerText: decodeURI("BetterNCM%E6%9A%82%E6%9C%AA%E5%AE%98%E6%96%B9%E6%94%AF%E6%8C%81%E8%AF%A5%E7%89%88%E6%9C%AC%EF%BC%8C%E5%8F%AF%E8%83%BD%E4%BC%9A%E5%87%BA%E7%8E%B0Bug") }));
if (currentVersion != onlineSuitableVersions[0].version) {
updatey = dom("div",
document.querySelector(".BetterNCM-PM-Updatey").appendChild(dom("div",
{
style:
{ display: "flex", flexDirection: "column", alignItems: "center" }
Expand All @@ -278,27 +293,14 @@ betterncm.utils.waitForElement(".g-mn-set").then(async (settingsDom) => {
betterncm.app.exec(`cmd /c @echo off & echo BetterNCM Updating... & cd "${ncmpath}" & taskkill /f /im cloudmusic.exe>nul & taskkill /f /im cloudmusicn.exe>nul & ping 127.0.0.1>nul & del msimg32.dll & move "${dllpath}" .\\msimg32.dll & start cloudmusic.exe`, true)
}
}
}))
})))
}
} catch (e) { }
settingsDom.prepend(
dom("div", { style: { marginLeft: "30px" } },
dom("div", { style: { display: "flex", flexDirection: "column", alignItems: "center" } },
dom("img", { src: "https://s1.ax1x.com/2022/08/11/vGlJN8.png", style: { width: "60px" } }),
dom("div", { innerText: "BetterNCM II", style: { fontSize: "20px", fontWeight: "700" } }),
dom("div", { innerText: "v" + await betterncm.app.getBetterNCMVersion() }),
updatey,
dom("div", { style: { marginBottom: "20px" } },
dom("a", { class: ["u-ibtn5", "u-ibtnsz8"], innerText: "Open Folder", onclick: async () => { await betterncm.app.exec(`explorer "${(await betterncm.app.getDataPath()).replace(/\//g,"\\")}"`,false,true) }, style: { margin: "5px" } }),
dom("a", { class: ["u-ibtn5", "u-ibtnsz8"], innerText: "Show Console", onclick: async () => { await betterncm.app.showConsole() }, style: { margin: "5px" } }),
dom("a", { class: ["u-ibtn5", "u-ibtnsz8"], innerText: "Reload Plugins", onclick: async () => { await betterncm.app.reloadPlugins();document.location.reload(); }, style: { margin: "5px" } }),
)
),
dom("div", { class: ["BetterNCM-Plugin-Configs"] })
))
})();
(async ()=>{
await betterncm.utils.waitForFunction(() => window.loadedPlugins)
const tools = {
Expand All @@ -317,6 +319,8 @@ betterncm.utils.waitForElement(".g-mn-set").then(async (settingsDom) => {
document.querySelector(".BetterNCM-Plugin-Configs").appendChild(dom("div", { innerText: name, style: { fontSize: "18px", fontWeight: 600 } }))
document.querySelector(".BetterNCM-Plugin-Configs").appendChild(dom("div", { style: { padding: "7px" } }, loadedPlugins[name].injects[0]._config?.call(loadedPlugins[name], tools)))
}
})()
})
)";

Expand Down

0 comments on commit 6979b99

Please sign in to comment.