78ff060420
- 模板 art-design-pro(MIT)GitHub 直连克隆后裁剪落地 admin/:删除演示页面/示例数据/mock/未用组件,保留构建与依赖清单 - 品牌化:应用名/标题/侧栏与登录页 logo/浏览器 favicon 全部替换为 all-kefu 自有资源(static/kefu-small.png),中文界面 - 八页骨架:login / force-change-password / dashboard / tenants / conversations / config / stats / settings 占位页 + 6 组路由模块 - 权限菜单:meta.roles 前端过滤,super 全量,tenant 隐藏 租户管理/平台设置(角色值与后端一致) - 开发代理:/api 直转 + /api/public 与 /static 携带租户 Host 改写(VITE_TENANT_PREVIEW_HOST),适配后端 TenantHostMiddleware - 认证 API 为开发桩(角色调试开关),Task 3 对接真实登录 Co-Authored-By: Claude Code <noreply@anthropic.com>
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
/**
|
|
* useAppMode - 应用模式管理
|
|
*
|
|
* 提供应用访问模式的判断和管理功能,支持前端和后端两种权限控制模式。
|
|
* 根据环境变量 VITE_ACCESS_MODE 自动识别当前运行模式。
|
|
*
|
|
* ## 主要功能
|
|
*
|
|
* 1. 模式识别 - 自动识别前端模式或后端模式
|
|
* 2. 前端模式 - 权限由前端路由配置控制,适合小型项目或演示环境
|
|
* 3. 后端模式 - 权限由后端接口返回的菜单数据控制,适合企业级应用
|
|
* 4. 响应式状态 - 提供响应式的模式判断,方便在组件中使用
|
|
*
|
|
* @module useAppMode
|
|
* @author Art Design Pro Team
|
|
*/
|
|
|
|
import { computed } from 'vue'
|
|
|
|
export function useAppMode() {
|
|
// 获取访问模式配置
|
|
const accessMode = import.meta.env.VITE_ACCESS_MODE
|
|
|
|
/**
|
|
* 是否为前端控制模式
|
|
* 前端模式:权限由前端路由配置控制
|
|
*/
|
|
const isFrontendMode = computed(() => accessMode === 'frontend')
|
|
/**
|
|
* 是否为后端控制模式
|
|
* 后端模式:权限由后端接口返回的菜单数据控制
|
|
*/
|
|
const isBackendMode = computed(() => accessMode === 'backend')
|
|
|
|
/**
|
|
* 当前应用模式
|
|
*/
|
|
const currentMode = computed(() => accessMode)
|
|
|
|
return {
|
|
isFrontendMode,
|
|
isBackendMode,
|
|
currentMode
|
|
}
|
|
}
|