fix: webui api

This commit is contained in:
手瓜一十雪 2024-05-05 15:34:07 +08:00
parent 31fe2f6da4
commit 2b275523a0
4 changed files with 16 additions and 23 deletions

View File

@ -207,11 +207,10 @@ async function onSettingWindowCreated(view: Element) {
} }
const initReverseHost = (type: string, doc: Document = document) => { const initReverseHost = (type: string, doc: Document = document) => {
const hostContainerDom = doc.body?.querySelector(`#config-ob11-${type}-list`); const hostContainerDom = doc.body?.querySelector(`#config-ob11-${type}-list`);
//@ts-ignore 等待修复 /*[...hostContainerDom.childNodes].forEach((dom) => dom.remove());
[...hostContainerDom.childNodes].forEach((dom) => dom.remove());
buildHostList(ob11Config[type], type).forEach((dom) => { buildHostList(ob11Config[type], type).forEach((dom) => {
hostContainerDom?.appendChild(dom); hostContainerDom?.appendChild(dom);
}) })*/
} }
initReverseHost('httpHosts', doc); initReverseHost('httpHosts', doc);
initReverseHost('wsHosts', doc); initReverseHost('wsHosts', doc);
@ -283,5 +282,8 @@ async function onSettingWindowCreated(view: Element) {
WebUiApi.setOB11Config(ob11Config); WebUiApi.setOB11Config(ob11Config);
alert('保存成功'); alert('保存成功');
}) })
doc.body.childNodes.forEach((node) => {
view.appendChild(node)
})
} }
export { onSettingWindowCreated }; export { onSettingWindowCreated };

View File

@ -6,7 +6,7 @@ export default defineConfig({
minify: false, minify: false,
lib: { lib: {
entry: 'src/NapCat.ts', entry: 'src/NapCat.ts',
formats: ['cjs'], formats: ['es'],
fileName: () => 'renderer.js', fileName: () => 'renderer.js',
} }
} }

View File

@ -1,7 +1,3 @@
'use strict';
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const SettingList = (items, title, isCollapsible = false, direction = "column") => { const SettingList = (items, title, isCollapsible = false, direction = "column") => {
return `<setting-section ${title && !isCollapsible ? `data-title="${title}"` : ""}> return `<setting-section ${title && !isCollapsible ? `data-title="${title}"` : ""}>
<setting-panel> <setting-panel>
@ -314,24 +310,13 @@ async function onSettingWindowCreated(view) {
dom.container.appendChild(dom.deleteBtn); dom.container.appendChild(dom.deleteBtn);
return dom.container; return dom.container;
}; };
const buildHostList = (hosts, type, inputAttr = {}) => {
const result = [];
hosts.forEach((host, index) => {
result.push(buildHostListItem(type, host, index, inputAttr));
});
return result;
};
const addReverseHost = (type, doc2 = document, inputAttr = {}) => { const addReverseHost = (type, doc2 = document, inputAttr = {}) => {
const hostContainerDom = doc2.body.querySelector(`#config-ob11-${type}-list`); const hostContainerDom = doc2.body.querySelector(`#config-ob11-${type}-list`);
hostContainerDom?.appendChild(buildHostListItem(type, "", ob11Config[type].length, inputAttr)); hostContainerDom?.appendChild(buildHostListItem(type, "", ob11Config[type].length, inputAttr));
ob11Config[type].push(""); ob11Config[type].push("");
}; };
const initReverseHost = (type, doc2 = document) => { const initReverseHost = (type, doc2 = document) => {
const hostContainerDom = doc2.body?.querySelector(`#config-ob11-${type}-list`); doc2.body?.querySelector(`#config-ob11-${type}-list`);
[...hostContainerDom.childNodes].forEach((dom) => dom.remove());
buildHostList(ob11Config[type], type).forEach((dom) => {
hostContainerDom?.appendChild(dom);
});
}; };
initReverseHost("httpHosts", doc); initReverseHost("httpHosts", doc);
initReverseHost("wsHosts", doc); initReverseHost("wsHosts", doc);
@ -381,6 +366,9 @@ async function onSettingWindowCreated(view) {
WebUiApi.setOB11Config(ob11Config); WebUiApi.setOB11Config(ob11Config);
alert("保存成功"); alert("保存成功");
}); });
doc.body.childNodes.forEach((node) => {
view.appendChild(node);
});
} }
exports.onSettingWindowCreated = onSettingWindowCreated; export { onSettingWindowCreated };

View File

@ -14,8 +14,11 @@
<script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<!-- 渲染脚本 --> <!-- 渲染脚本 -->
<script> <script>
const { onSettingWindowCreated } = await import("./assets/renderer.js"); async function InitWebUi() {
onSettingWindowCreated(document.querySelector("body")); const { onSettingWindowCreated } = await import("./assets/renderer.js");
onSettingWindowCreated(document.querySelector("body"));
}
InitWebUi();
</script> </script>
<title>NapCat-WebUi</title> <title>NapCat-WebUi</title>