mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-25 22:42:30 +00:00
🎨 新增功能: - 使用Vue3 + Vite构建的全新管理后台界面 - 支持Tab切换的API统计页面(统计查询/使用教程) - 优雅的胶囊式Tab切换设计 - 同步了PR #106的会话窗口管理功能 - 完整的响应式设计和骨架屏加载状态 🔧 路由调整: - 新版管理后台部署在 /admin-next/ 路径 - 将根路径 / 重定向到 /admin-next/api-stats - 将 /web 页面路由重定向到新版,保留 /web/auth/* 认证路由 - 将 /apiStats 页面路由重定向到新版,保留API端点 🗑️ 清理工作: - 删除旧版 web/admin/ 静态文件 - 删除旧版 web/apiStats/ 静态文件 - 清理相关的文件服务代码 🐛 修复问题: - 修复重定向循环问题 - 修复环境变量配置 - 修复路由404错误 - 优化构建配置 🚀 生成方式:使用 Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
59 lines
1.7 KiB
Vue
59 lines
1.7 KiB
Vue
<template>
|
|
<Teleport to="body">
|
|
<div v-if="show" class="fixed inset-0 modal z-50 flex items-center justify-center p-4">
|
|
<div class="modal-content w-full max-w-md p-6 mx-auto">
|
|
<div class="flex items-start gap-4 mb-6">
|
|
<div class="w-12 h-12 bg-gradient-to-br from-yellow-400 to-yellow-500 rounded-full flex items-center justify-center flex-shrink-0">
|
|
<i class="fas fa-exclamation text-white text-xl"></i>
|
|
</div>
|
|
<div class="flex-1">
|
|
<h3 class="text-lg font-bold text-gray-900 mb-2">{{ title }}</h3>
|
|
<p class="text-gray-600 text-sm leading-relaxed whitespace-pre-line">{{ message }}</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex gap-3">
|
|
<button
|
|
@click="$emit('cancel')"
|
|
class="flex-1 px-4 py-2.5 bg-gray-100 text-gray-700 rounded-xl font-medium hover:bg-gray-200 transition-colors"
|
|
>
|
|
{{ cancelText }}
|
|
</button>
|
|
<button
|
|
@click="$emit('confirm')"
|
|
class="flex-1 px-4 py-2.5 bg-gradient-to-r from-yellow-500 to-orange-500 text-white rounded-xl font-medium hover:from-yellow-600 hover:to-orange-600 transition-colors shadow-sm"
|
|
>
|
|
{{ confirmText }}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</Teleport>
|
|
</template>
|
|
|
|
<script setup>
|
|
defineProps({
|
|
show: {
|
|
type: Boolean,
|
|
required: true
|
|
},
|
|
title: {
|
|
type: String,
|
|
default: ''
|
|
},
|
|
message: {
|
|
type: String,
|
|
default: ''
|
|
},
|
|
confirmText: {
|
|
type: String,
|
|
default: '继续'
|
|
},
|
|
cancelText: {
|
|
type: String,
|
|
default: '取消'
|
|
}
|
|
})
|
|
|
|
defineEmits(['confirm', 'cancel'])
|
|
</script> |