专为 Weiss Schwarz (WS) 玩家打造的现代化卡片浏览与卡组管理工具。
- 🔍 全局索引搜索: 基于 FlexSearch 的毫秒级跨系列关键词检索,支持多种过滤维度。
- 🃏 卡组管理: 卡组版本管理、导入 DeckLog、生成分享链接等。
- 📄 多格式导出: 支持将卡组导出为图片或 PDF(支持打印排版)。
- 📱 PWA 支持: 支持安装至移动端桌面。
| 类别 | 技术 / 套件 | 说明 |
|---|---|---|
| 前端框架 | Vue 3 | Composition API + <script setup> 语法 |
| UI 框架 | Vuetify 3 | 基于 Material Design 3 的组件库 |
| 状态管理 | Pinia | 支持持久化存储(PersistedState) |
| 核心引擎 | FlexSearch | 全文搜索引擎 |
| 后端框架 | Hono | 轻量级边缘计算 API 框架 |
| 数据库 | Cloudflare D1 | 边缘侧 Serverless SQL 数据库 |
在根目录创建 .env 文件(可参考 .env.dev)。
您可以选择以下两种方式之一来设定图片来源:
- 使用URL (推荐)
直接连结图片库,无需下载大量档案。
VITE_IMAGE_BASE_URL=https://media.githubusercontent.com/media/U-CLIMAX/ws-image-data/main/ws-image-data
VITE_BLUR_IMAGE_BASE_URL=https://media.githubusercontent.com/media/U-CLIMAX/ws-image-data/main/ws-blur-image-data- 使用本地图片
- 第一步:执行脚本下载图片
npm run setup-img- 第二步:修改环境变数
VITE_IMAGE_BASE_URL=ws-image-data
VVITE_BLUR_IMAGE_BASE_URL=ws-blur-image-data确保 Node.js 版本 >= 20.0.0。
-
安装依赖
npm install
-
构建搜索索引 (初次启动必执行)
npm run build:index
-
启动开发服务器
npm run dev
若需测试登录与后端功能,请按照以下步骤初始化数据库:
-
创建数据表结构:
npm run db:init
-
创建本地测试账号:
npm run db:seed
说明:按照终端提示输入测试邮箱、密码及权限等级,即可安全地生成测试账号。
本专案后端包含多个排程任务。若要在本地测试 Scheduler,请参考 Cloudflare 官方文件: Testing Cron Triggers Locally
您可以在本地 Worker 运行时,透过 curl 加上特定的 cron 参数发送请求来手动触发对应的任务:
-
测试每小时的集换大厅数据更新 (
0 * * * *):curl "http://localhost:5173/cdn-cgi/handler/scheduled?cron=0+*+*+*+*" -
测试每周的数据库清理 (
0 0 * * 7):curl "http://localhost:5173/cdn-cgi/handler/scheduled?cron=0+0+*+*+7"
本专案深度整合了 Antigravity AI 代理架构与多个自动化脚本,以加速本地开发与测试体验。
如果您使用支持 Antigravity 的 AI 助手,专案中已内建了 ucx-workspace 插件,提供了完整的角色分工:
ucx_architect: 主架构师,负责分析需求并派发任务。ucx_frontend_expert: 前端专家,精通 Vue 3、Vuetify 与 Composables 规范。ucx_backend_expert: 后端专家,精通 Hono、Cloudflare D1 与 Webhook 机制。
如何使用?
只需在与 AI 助手的对话中自然提出需求,或主动提示:“请使用 ucx-multi-agent-dev 技能帮我开发...”,AI 就会自动读取 .agents/rules 下的所有设计规范,并唤醒对应的专家进行无缝协作。
- 创建测试账号 (
npm run db:seed) 交互式界面,输入邮箱、密码和权限等级,即可安全地生成加盐加密 (Scrypt) 后的测试账号。 - 测试爱发电 Webhook (
npm run test:afdian) 在本地服务器启动 (npm run dev) 的前提下,执行此脚本可自动模拟:登录 -> 发起订单 -> 获取订单 UUID -> 触发 Webhook 支付成功回调。 (注意:需确保您的.env.dev中已配置AFDIAN_WEBHOOK_BYPASS_TOKEN=dev_sign_bypass_123,该安全后门在正式环境会被 Vite 自动剔除)
- 组件风格: 统一使用
<script setup>与 Composition API。 - 函数风格: 优先使用 箭头函数 (Arrow Functions)。
- 路径引用: 使用
@别名指向src/目录。 - 代码质量: 提交前请运行
npm run lint和npm run fmt。
- UI/UX 与美术设计: Kamomim
- 卡牌文字翻译: Card-缪 & U-CLIMAX项目组
本项目为非官方粉丝制作工具,与 Bushiroad (武士道) 无任何关联。 卡片图片与相关资料版权归 Bushiroad 及各版权方所有。 本项目仅供学习与交流使用,严禁用于商业用途。
