整理内容: - 删除 60+ 临时测试输出文件 (*.txt) - 移动二进制文件到 bin/ 目录 - 移动 Shell 脚本到 scripts/ 目录 - scripts/dev/: check_gitea.sh, check_sub2api.sh, run_tests.sh - scripts/deploy/: deploy_*.sh, simple_deploy.sh - scripts/ops/: fix_nginx.sh, fix_ssl.sh, install_docker.sh - scripts/test/: test_*.sh, test_*.bat - 移动批处理文件到 scripts/ - 移动 Python 脚本到 tools/ - 清理临时日志文件 保留根目录必要文件: - go.mod, go.sum, go.work - Makefile, docker-compose.yml - .env.example, .gitignore - README.md, AGENTS.md, DEPLOY_GUIDE.md 验证: go build ./... && go test ./... 通过
59 lines
1.2 KiB
TypeScript
59 lines
1.2 KiB
TypeScript
/**
|
|
* 系统设置服务
|
|
*
|
|
* 提供系统设置 API 调用
|
|
*/
|
|
|
|
import { get } from '@/lib/http/client'
|
|
|
|
export interface SystemInfo {
|
|
name: string
|
|
version: string
|
|
environment: string
|
|
description: string
|
|
}
|
|
|
|
export interface SecurityInfo {
|
|
password_min_length: number
|
|
password_require_uppercase: boolean
|
|
password_require_lowercase: boolean
|
|
password_require_numbers: boolean
|
|
password_require_symbols: boolean
|
|
password_history: number
|
|
totp_enabled: boolean
|
|
login_fail_lock: boolean
|
|
login_fail_threshold: number
|
|
login_fail_duration: number
|
|
session_timeout: number
|
|
device_trust_duration: number
|
|
}
|
|
|
|
export interface FeaturesInfo {
|
|
email_verification: boolean
|
|
phone_verification: boolean
|
|
oauth_providers: string[]
|
|
sso_enabled: boolean
|
|
operation_log_enabled: boolean
|
|
login_log_enabled: boolean
|
|
data_export_enabled: boolean
|
|
data_import_enabled: boolean
|
|
}
|
|
|
|
export interface SystemSettings {
|
|
system: SystemInfo
|
|
security: SecurityInfo
|
|
features: FeaturesInfo
|
|
}
|
|
|
|
interface SettingsResponse {
|
|
data: SystemSettings
|
|
}
|
|
|
|
/**
|
|
* 获取系统设置
|
|
* GET /api/v1/admin/settings
|
|
*/
|
|
export function getSettings(): Promise<SystemSettings> {
|
|
return get<SettingsResponse>('/admin/settings').then(res => res.data)
|
|
}
|