feat: Add setting section of messagePostFormat

This commit is contained in:
Misa Liu 2024-02-24 00:40:45 +08:00
parent 66de0076d4
commit ffdec86209
No known key found for this signature in database
GPG Key ID: F70B23D0A4FED791
4 changed files with 25 additions and 0 deletions

View File

@ -35,6 +35,7 @@ export class ConfigUtil {
ob11: ob11Default,
heartInterval: 60000,
token: "",
messagePostFormat: "array",
enableLocalFile2Url: false,
debug: false,
log: false,

View File

@ -13,6 +13,7 @@ export interface Config {
ob11: OB11Config
token?: string
heartInterval?: number // ms
messagePostFormat?: 'array' | 'string'
enableLocalFile2Url?: boolean // 开启后本地文件路径图片会转成http链接, 语音会转成base64
debug?: boolean
reportSelfMessage?: boolean

7
src/global.d.ts vendored
View File

@ -7,4 +7,11 @@ declare global {
llonebot: typeof llonebot;
LiteLoader: any;
}
interface Event {
detail?: {
name: string;
value: string;
}
}
}

View File

@ -4,6 +4,7 @@
// 打开设置界面时触发
async function onSettingWindowCreated(view: Element) {
window.llonebot.log("setting window created");
const isEmpty = (value: any) => value === undefined || value === null || value === '';
let config = await window.llonebot.getConfig()
const httpClass = "http";
const httpPostClass = "http-post";
@ -106,6 +107,16 @@ async function onSettingWindowCreated(view: Element) {
</setting-list>
</setting-panel>
<setting-panel>
<setting-item data-direction="row" class="hostItem vertical-list-item">
<div>
<setting-text></setting-text>
<setting-text data-type="secondary"> <a href="javascript:LiteLoader.api.openExternal('https://github.com/botuniverse/onebot-11/tree/master/message#readme');">OneBot v11 </a></setting-text>
</div>
<setting-select id="messagePostFormat">
<setting-option data-value="array" ${config.messagePostFormat !== "string" ? "is-selected" : ""}>Array</setting-option>
<setting-option data-value="string" ${config.messagePostFormat === "string" ? "is-selected" : ""}>String</setting-option>
</setting-select>
</setting-item>
<setting-item data-direction="row" class="hostItem vertical-list-item">
<div>
<div></div>
@ -174,6 +185,11 @@ async function onSettingWindowCreated(view: Element) {
doc.getElementById("addHttpHost").addEventListener("click", () => addHostEle("http"))
doc.getElementById("addWsHost").addEventListener("click", () => addHostEle("ws"))
doc.getElementById("messagePostFormat").addEventListener("selected", (e) => {
const _config = config || {};
_config.messagePostFormat = e.detail && !isEmpty(e.detail.value) ? e.detail.value : 'array';
window.llonebot.setConfig(_config);
})
function switchClick(eleId: string, configKey: string, _config=null) {
if (!_config){