feat: 前端新增 Demo 模式支持

- 新增 demo 配置模块,支持静态托管环境(GitHub Pages/Vercel/Netlify)
- API client 集成自定义 adapter,Demo 模式下自动拦截请求返回 mock 数据
- 登录对话框适配 Demo 模式,显示演示账号提示信息
- 添加完整的 mock 数据处理器(用户、配额、用量、供应商等)
- 同步 token 状态到 mock handler,支持页面刷新后恢复会话
This commit is contained in:
fawney19
2025-12-11 10:03:10 +08:00
parent a7b658a768
commit 6016f08d1c
7 changed files with 3173 additions and 6 deletions

View File

@@ -0,0 +1,37 @@
/**
* Demo Mode Configuration
* 用于 GitHub Pages 等静态托管环境的演示模式
*/
// 检测是否为演示模式环境
export function isDemoMode(): boolean {
const hostname = window.location.hostname
return (
hostname.includes('github.io') ||
hostname.includes('vercel.app') ||
hostname.includes('netlify.app') ||
hostname.includes('pages.dev') ||
import.meta.env.VITE_DEMO_MODE === 'true'
)
}
// Demo 账号配置
export const DEMO_ACCOUNTS = {
admin: {
email: 'admin@demo.aether.io',
password: 'demo123',
hint: '管理员账号'
},
user: {
email: 'user@demo.aether.io',
password: 'demo123',
hint: '普通用户'
}
} as const
// Demo 模式提示信息
export const DEMO_MODE_INFO = {
title: '演示模式',
description: '当前处于演示模式,所有数据均为模拟数据,不会产生实际调用。',
accountHint: '可使用以下演示账号登录:'
} as const