添加登录默认配置
This commit is contained in:
24
src/App.vue
24
src/App.vue
@@ -8,7 +8,7 @@
|
|||||||
<NoticeBar />
|
<NoticeBar />
|
||||||
|
|
||||||
<!-- 登录页面 -->
|
<!-- 登录页面 -->
|
||||||
<LoginPage v-if="currentPage === 'login'" @login-success="currentPage = 'browser'" class="animate-fadeIn" />
|
<LoginPage v-if="currentPage === 'login'" @login-success="handleLoginSuccess" class="animate-fadeIn" />
|
||||||
|
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<!-- 配置页面 - 使用 v-show 保持状态 -->
|
<!-- 配置页面 - 使用 v-show 保持状态 -->
|
||||||
@@ -47,6 +47,7 @@ import UpdateNotification from './components/UpdateNotification.vue'
|
|||||||
import NoticeBar from './components/NoticeBar.vue'
|
import NoticeBar from './components/NoticeBar.vue'
|
||||||
import { useNoticeStore } from './stores/noticeStore'
|
import { useNoticeStore } from './stores/noticeStore'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
|
import { getPermissions } from './utils/storage'
|
||||||
|
|
||||||
// Constants
|
// Constants
|
||||||
const USER_KEY = 'user_data'
|
const USER_KEY = 'user_data'
|
||||||
@@ -104,6 +105,7 @@ onMounted(() => {
|
|||||||
const user = JSON.parse(userData)
|
const user = JSON.parse(userData)
|
||||||
if (user && user.tokenValue) {
|
if (user && user.tokenValue) {
|
||||||
currentPage.value = 'browser'
|
currentPage.value = 'browser'
|
||||||
|
void syncAutotkPermissionLimit()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch { } // eslint-disable-line no-empty
|
} catch { } // eslint-disable-line no-empty
|
||||||
@@ -206,12 +208,32 @@ const handleStorageChange = (e) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const syncAutotkPermissionLimit = async () => {
|
||||||
|
if (!isElectron()) return
|
||||||
|
try {
|
||||||
|
const permissions = getPermissions()
|
||||||
|
if (permissions?.autotk === 1) return
|
||||||
|
await window.electronAPI.updateAutomationConfig({
|
||||||
|
filters: {
|
||||||
|
maxAnchorCount: 1
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} catch (e) {
|
||||||
|
console.warn('[App] 同步 autotk 权限限制失败:', e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const clearLoginState = () => {
|
const clearLoginState = () => {
|
||||||
localStorage.removeItem(USER_KEY)
|
localStorage.removeItem(USER_KEY)
|
||||||
localStorage.removeItem('user')
|
localStorage.removeItem('user')
|
||||||
localStorage.removeItem('token')
|
localStorage.removeItem('token')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleLoginSuccess = async () => {
|
||||||
|
currentPage.value = 'browser'
|
||||||
|
await syncAutotkPermissionLimit()
|
||||||
|
}
|
||||||
|
|
||||||
// 处理配置更新事件
|
// 处理配置更新事件
|
||||||
const handleConfigUpdate = () => {
|
const handleConfigUpdate = () => {
|
||||||
console.log('[App] 收到配置更新事件,重新加载配置')
|
console.log('[App] 收到配置更新事件,重新加载配置')
|
||||||
|
|||||||
@@ -257,6 +257,7 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed, watch, onMounted } from 'vue'
|
import { ref, computed, watch, onMounted } from 'vue'
|
||||||
import { isElectron } from '../utils/electronBridge'
|
import { isElectron } from '../utils/electronBridge'
|
||||||
|
import { getPermissions } from '@/utils/storage'
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
visible: { type: Boolean, required: true }
|
visible: { type: Boolean, required: true }
|
||||||
@@ -318,6 +319,11 @@ const maxCount = ref()
|
|||||||
const selectedLevels = ref(new Set())
|
const selectedLevels = ref(new Set())
|
||||||
const showLevelDropdown = ref(false)
|
const showLevelDropdown = ref(false)
|
||||||
|
|
||||||
|
const resolveRestrictedMaxAnchorCount = (fallbackValue = 9999999) => {
|
||||||
|
const permissions = getPermissions()
|
||||||
|
return permissions?.autotk === 1 ? fallbackValue : 0
|
||||||
|
}
|
||||||
|
|
||||||
// 添加主播弹窗状态
|
// 添加主播弹窗状态
|
||||||
const showAddDialog = ref(false)
|
const showAddDialog = ref(false)
|
||||||
const addLoading = ref(false)
|
const addLoading = ref(false)
|
||||||
@@ -398,6 +404,7 @@ watch(() => filters.value, async (newFilters) => {
|
|||||||
ordinary: newFilters.ordinary,
|
ordinary: newFilters.ordinary,
|
||||||
minOnlineFans: newFilters.minOnlineFans ? parseInt(newFilters.minOnlineFans) : 0,
|
minOnlineFans: newFilters.minOnlineFans ? parseInt(newFilters.minOnlineFans) : 0,
|
||||||
maxOnlineFans: newFilters.maxOnlineFans ? parseInt(newFilters.maxOnlineFans) : 0,
|
maxOnlineFans: newFilters.maxOnlineFans ? parseInt(newFilters.maxOnlineFans) : 0,
|
||||||
|
maxAnchorCount: resolveRestrictedMaxAnchorCount(maxCount.value || 9999999),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
console.log('[HostListDialog] 过滤配置已同步:', newFilters)
|
console.log('[HostListDialog] 过滤配置已同步:', newFilters)
|
||||||
@@ -531,7 +538,7 @@ const updateMaxCount = async (value) => {
|
|||||||
if (!isElectron()) return
|
if (!isElectron()) return
|
||||||
try {
|
try {
|
||||||
// 如果不填写,传 9999999 表示无限制
|
// 如果不填写,传 9999999 表示无限制
|
||||||
const maxAnchorCount = value || 9999999
|
const maxAnchorCount = resolveRestrictedMaxAnchorCount(value || 9999999)
|
||||||
await window.electronAPI.updateAutomationConfig({
|
await window.electronAPI.updateAutomationConfig({
|
||||||
filters: { maxAnchorCount }
|
filters: { maxAnchorCount }
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user