Update Live-streaming code (auto-daily features)

This commit is contained in:
2026-08-15 17:45:19 +08:00
parent ba39e9743d
commit f623959fd4
19 changed files with 3517 additions and 62 deletions
+18 -1
View File
@@ -15,6 +15,9 @@ const COMMAND_ROLE_DEFAULTS = {
confirm_yes: ["super_admin", "pending_operator"],
confirm_no: ["super_admin", "pending_operator"],
run: ["super_admin", "active_operator"],
daily: ["super_admin", "active_operator"],
switch_party: ["super_admin", "active_operator"],
edit_party: ["super_admin", "active_operator"],
leave: ["super_admin", "active_operator", "viewer"],
reset: ["super_admin"],
points: ROLE_OPTIONS.map(([id]) => id),
@@ -29,6 +32,9 @@ const CMD_LABELS = {
confirm_yes: "确认是",
confirm_no: "确认不是",
run: "执行配置组",
daily: "自动每日",
switch_party: "切换队伍",
edit_party: "修改队员",
leave: "退出",
reset: "重置",
points: "积分",
@@ -36,7 +42,7 @@ const CMD_LABELS = {
help: "帮助"
};
const CMD_HAS_ARG = { run: true };
const CMD_HAS_ARG = { run: true, daily: true, switch_party: true, edit_party: true };
const clone = (value) => JSON.parse(JSON.stringify(value ?? {}));
const splitList = (value) => String(value || "").replaceAll("", ",").split(",").map((item) => item.trim()).filter(Boolean);
@@ -82,6 +88,12 @@ const ensureDraftShape = (draft) => {
draft.bilibili.cookie_auto_refresh_enabled ??= true;
draft.bilibili.cookie_check_interval_hours ??= 6;
draft.bettergi ||= {};
draft.daily ||= {};
draft.daily.one_dragon_template ||= "默认配置";
draft.daily.managed_one_dragon_name ||= "直播系统自动每日";
draft.daily.ley_line_craft_resin_before ??= true;
draft.daily.commission_use_current_party ??= true;
draft.daily.current_party_read_timeout_sec ??= 45;
draft.global ||= {};
draft.queue ||= {};
draft.frontend ||= {};
@@ -1261,6 +1273,11 @@ createApp({
<h2>BetterGI</h2>
<label>BetterGI.exe<input v-model="draft.bettergi.exe_path"></label>
<label>工作目录<input v-model="draft.bettergi.work_dir"></label>
<label>每日一条龙模板<input v-model="draft.daily.one_dragon_template"></label>
<label>托管一条龙名称<input v-model="draft.daily.managed_one_dragon_name"></label>
<label class="inline"><input v-model="draft.daily.ley_line_craft_resin_before" type="checkbox"> 地脉前合成树脂</label>
<label class="inline"><input v-model="draft.daily.commission_use_current_party" type="checkbox"> 委托战斗及采集均使用游戏当前队伍</label>
<label>读取当前队伍超时秒数<input v-model.number="draft.daily.current_party_read_timeout_sec" type="number" min="10" max="120"></label>
<label>超管 UID<input v-model="draft.global.admin_uidsText" @blur="draft.global.admin_uids = splitList(draft.global.admin_uidsText).map((item) => Number(item)).filter((item) => Number.isFinite(item))" placeholder="逗号分隔 UID"></label>
</div>
<div class="panel">