mirror of
https://github.com/fawney19/Aether.git
synced 2026-01-08 10:42:29 +08:00
feat: 前端新增 Demo 模式支持
- 新增 demo 配置模块,支持静态托管环境(GitHub Pages/Vercel/Netlify) - API client 集成自定义 adapter,Demo 模式下自动拦截请求返回 mock 数据 - 登录对话框适配 Demo 模式,显示演示账号提示信息 - 添加完整的 mock 数据处理器(用户、配额、用量、供应商等) - 同步 token 状态到 mock handler,支持页面刷新后恢复会话
This commit is contained in:
37
frontend/src/config/demo.ts
Normal file
37
frontend/src/config/demo.ts
Normal 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
|
||||
Reference in New Issue
Block a user