mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
feat: 基础样式
This commit is contained in:
@@ -26,6 +26,7 @@ import {
|
|||||||
Checkbox as TCheckbox,
|
Checkbox as TCheckbox,
|
||||||
Popup as TPopup,
|
Popup as TPopup,
|
||||||
Dialog as TDialog,
|
Dialog as TDialog,
|
||||||
|
Switch as TSwitch,
|
||||||
} from 'tdesign-vue-next';
|
} from 'tdesign-vue-next';
|
||||||
import { router } from './router';
|
import { router } from './router';
|
||||||
import 'tdesign-vue-next/es/style/index.css';
|
import 'tdesign-vue-next/es/style/index.css';
|
||||||
@@ -57,4 +58,5 @@ app.use(TSpace);
|
|||||||
app.use(TCheckbox);
|
app.use(TCheckbox);
|
||||||
app.use(TPopup);
|
app.use(TPopup);
|
||||||
app.use(TDialog);
|
app.use(TDialog);
|
||||||
|
app.use(TSwitch);
|
||||||
app.mount('#app');
|
app.mount('#app');
|
||||||
|
@@ -3,5 +3,74 @@
|
|||||||
<div>
|
<div>
|
||||||
<t-divider content="其余配置" align="left" />
|
<t-divider content="其余配置" align="left" />
|
||||||
</div>
|
</div>
|
||||||
|
<t-form ref="form" :model="otherConfig">
|
||||||
|
<t-form-item label="音乐签名地址" name="musicSignUrl">
|
||||||
|
<t-input v-model="otherConfig.musicSignUrl" />
|
||||||
|
</t-form-item>
|
||||||
|
<t-form-item label="启用本地文件到URL" name="enableLocalFile2Url">
|
||||||
|
<t-switch v-model="otherConfig.enableLocalFile2Url" />
|
||||||
|
</t-form-item>
|
||||||
|
</t-form>
|
||||||
|
<t-button @click="saveConfig">保存</t-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { ref, onMounted } from 'vue';
|
||||||
|
import { OneBotConfig } from '../../../src/onebot/config/config';
|
||||||
|
import { QQLoginManager } from '@/backend/shell';
|
||||||
|
|
||||||
|
const otherConfig = ref<Partial<OneBotConfig>>({
|
||||||
|
musicSignUrl: '',
|
||||||
|
enableLocalFile2Url: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
const getOB11Config = async (): Promise<OneBotConfig | undefined> => {
|
||||||
|
const storedCredential = localStorage.getItem('auth');
|
||||||
|
if (!storedCredential) {
|
||||||
|
console.error('No stored credential found');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const loginManager = new QQLoginManager(storedCredential);
|
||||||
|
return await loginManager.GetOB11Config();
|
||||||
|
};
|
||||||
|
|
||||||
|
const setOB11Config = async (config: OneBotConfig): Promise<boolean> => {
|
||||||
|
const storedCredential = localStorage.getItem('auth');
|
||||||
|
if (!storedCredential) {
|
||||||
|
console.error('No stored credential found');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const loginManager = new QQLoginManager(storedCredential);
|
||||||
|
return await loginManager.SetOB11Config(config);
|
||||||
|
};
|
||||||
|
|
||||||
|
const loadConfig = async () => {
|
||||||
|
try {
|
||||||
|
const userConfig = await getOB11Config();
|
||||||
|
if (userConfig) {
|
||||||
|
otherConfig.value.musicSignUrl = userConfig.musicSignUrl;
|
||||||
|
otherConfig.value.enableLocalFile2Url = userConfig.enableLocalFile2Url;
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error loading config:', error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const saveConfig = async () => {
|
||||||
|
try {
|
||||||
|
const userConfig = await getOB11Config();
|
||||||
|
if (userConfig) {
|
||||||
|
userConfig.musicSignUrl = otherConfig.value.musicSignUrl || '';
|
||||||
|
userConfig.enableLocalFile2Url = otherConfig.value.enableLocalFile2Url ?? false;
|
||||||
|
await setOB11Config(userConfig);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error saving config:', error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
loadConfig();
|
||||||
|
});
|
||||||
|
</script>
|
Reference in New Issue
Block a user