From b643a78c6ac8eb4de500672ec965eaa0880c8971 Mon Sep 17 00:00:00 2001 From: Tairraos Date: Mon, 21 Aug 2023 15:41:55 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=94=B9=20csv-json=20=E4=B8=BA?= =?UTF-8?q?=20xlsx=EF=BC=8C=E7=9B=B4=E8=AF=BB=EF=BC=8C=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4=EF=BC=8C=E6=9B=B4=E6=96=B9=E4=BE=BF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 3 +- .../Lib/DatabaseServer/DatabaseServer.ts | 41 ++++++++++++++++-- web/public/prompt.xlsx | Bin 0 -> 54473 bytes 3 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 web/public/prompt.xlsx diff --git a/package.json b/package.json index 60e5cf8..33dd485 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,8 @@ "typescript": "4.9", "vite": "4.3.1", "vite-plugin-html": "3.2.0", - "vite-plugin-progress": "^0.0.6" + "vite-plugin-progress": "^0.0.6", + "xlsx-js-style": "^1.2.0" }, "dependencies": { "@fontsource/fira-code": "4.5.13", diff --git a/src/Compoents/PromptEditor/Lib/DatabaseServer/DatabaseServer.ts b/src/Compoents/PromptEditor/Lib/DatabaseServer/DatabaseServer.ts index 87273d3..dae2bcd 100644 --- a/src/Compoents/PromptEditor/Lib/DatabaseServer/DatabaseServer.ts +++ b/src/Compoents/PromptEditor/Lib/DatabaseServer/DatabaseServer.ts @@ -1,4 +1,5 @@ import { fetchFromNotion } from "./lib/fetchFromNotion" +import XLSX from "xlsx-js-style" export interface IPromptDefineItem { text: string @@ -22,10 +23,42 @@ export class DatabaseServer { return this.isReady } async init() { - // localJson - let localPromptDescMap = await (await fetch("./localPromptDefineMap.json")).json() - // console.log('localPromptDescMap',localPromptDescMap) - this.localPromptDefineMap = localPromptDescMap + let buffer = await (await fetch("./prompt.xlsx")).arrayBuffer() + let workbook = XLSX.read(new Uint8Array(buffer), { type: "array" }), + subTypeMap:any = { + 角色: "character", + 风格: "style", + 质量: "quality", + 命令: "command", + 负面: "eg", + }, + sheetNameList = workbook.SheetNames, + mapDict:any = {} + + sheetNameList.forEach((sheetName) => { + let subTypeName = sheetName.replace(/[-\.].*/, ""), + subType = subTypeMap[subTypeName]; + if (!subType) { + console.log(`遇到无对应 subType 的 Sheet: "${sheetName}", 跳过`) + return; //如果sheet不是以subType名字开头的话,就跳过 + } + console.log(`已经读入 ${sheetName}" 对应 ${subType} 类型`) + let ws:any = workbook.Sheets[sheetName], + lenth = XLSX.utils.decode_range(ws["!ref"]).e.r //How much lines of this sheet + Array.from(Array(lenth), (_, i) => i + 2).forEach((id) => { + if (ws[`A${id}`]) { + let prompt:any = { text: ws[`A${id}`].v, dir: `${subTypeName}/未知` } //text + ws[`B${id}`] && (prompt.lang_zh = ws[`B${id}`].v) //lang_zh + prompt.subType = subType //subType + ws[`E${id}`] && (prompt.desc = ws[`E${id}`].v) //desc + ws[`D${id}`] && (prompt.sampleCmds = JSON.parse(ws[`D${id}`].v)) //sampleCmds + ws[`C${id}`] && (prompt.dir = `${subTypeName}/${ws[`C${id}`].v}`) //dir + mapDict[ws[`A${id}`].v] = prompt + } + }) + }) + + this.localPromptDefineMap = mapDict return true } async queryPromptsDefine(prompts: string[]): Promise { diff --git a/web/public/prompt.xlsx b/web/public/prompt.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..21ef050c1fdfd2624f5d583437b520ac62f442f5 GIT binary patch literal 54473 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 literal 0 HcmV?d00001 From f7b282801ebf4b07f4abdfc51bfd396b58e43c9f Mon Sep 17 00:00:00 2001 From: Tairraos Date: Mon, 21 Aug 2023 23:01:10 +0800 Subject: [PATCH 2/2] fix bug, all the keys should be lowercase in Map --- src/Compoents/PromptEditor/Lib/DatabaseServer/DatabaseServer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Compoents/PromptEditor/Lib/DatabaseServer/DatabaseServer.ts b/src/Compoents/PromptEditor/Lib/DatabaseServer/DatabaseServer.ts index dae2bcd..b998581 100644 --- a/src/Compoents/PromptEditor/Lib/DatabaseServer/DatabaseServer.ts +++ b/src/Compoents/PromptEditor/Lib/DatabaseServer/DatabaseServer.ts @@ -53,7 +53,7 @@ export class DatabaseServer { ws[`E${id}`] && (prompt.desc = ws[`E${id}`].v) //desc ws[`D${id}`] && (prompt.sampleCmds = JSON.parse(ws[`D${id}`].v)) //sampleCmds ws[`C${id}`] && (prompt.dir = `${subTypeName}/${ws[`C${id}`].v}`) //dir - mapDict[ws[`A${id}`].v] = prompt + mapDict[ws[`A${id}`].v.toLowerCase()] = prompt } }) })