现代化的 SvelteKit 多工具集合,主打高性能与极简交互。当前仓库提供以下模块:
核心功能:
技术架构:
OSS 文件结构:
websharex/
├── {roomName}/
│ ├── 文档.pdf # 保持原文件名
│ └── {folderId}/
│ └── 照片.jpg
可视化指标:
bun install
复制环境变量模板文件:
cp .env.local.example .env.local
编辑 .env.local
文件,填入你的 MySQL 数据库信息:
MYSQL_HOST=your_mysql_host
MYSQL_PORT=3306
MYSQL_USER=your_mysql_user
MYSQL_PASSWORD=your_mysql_password
MYSQL_DATABASE=your_database_name
如需使用阿里云 OSS 存储文件,继续在 .env.local
中添加:
ALIYUN_OSS_REGION=oss-cn-hangzhou
ALIYUN_OSS_ACCESS_KEY_ID=your_access_key_id
ALIYUN_OSS_ACCESS_KEY_SECRET=your_access_key_secret
ALIYUN_OSS_BUCKET=your_bucket_name
ALIYUN_OSS_ENDPOINT=oss-cn-hangzhou.aliyuncs.com
获取阿里云 OSS 配置信息:
BUCKET
名称和 REGION
ACCESS_KEY_ID
和 ACCESS_KEY_SECRET
ENDPOINT
格式为: oss-{region}.aliyuncs.com
OSS Bucket 配置建议:
*
或你的域名)bun run dev
访问 http://localhost:5173
体验应用。
# 运行类型检查
bun run check
# 构建生产版本
bun run build
分类 | 技术 |
---|---|
框架 | SvelteKit, TypeScript, Vite |
运行时 | Bun |
UI | Tailwind CSS, shadcn-svelte, Iconify |
数据库 | MySQL, Drizzle ORM |
存储 | 阿里云 OSS |
图表 | Chart.js |
工具 | ESLint, Prettier |
ideaflash-svelte/
├── src/
│ ├── lib/
│ │ ├── db/ # 数据库配置和 schema
│ │ ├── server/ # 服务端逻辑
│ │ │ ├── oss.ts # OSS 服务
│ │ │ └── websharex.ts # WebShareX 数据库操作
│ │ └── websharex/ # WebShareX 前端逻辑
│ │ ├── store.ts # 状态管理
│ │ └── types.ts # 类型定义
│ └── routes/
│ ├── api/ # API 路由
│ │ └── websharex/ # WebShareX API
│ ├── dashboard/ # Dashboard 页面
│ └── websharex/ # WebShareX 页面
├── .env.local # 环境变量 (不提交到 Git)
├── .env.local.example # 环境变量模板
├── drizzle.config.ts # Drizzle ORM 配置
└── OSS_INTEGRATION.md # OSS 集成详细文档
方法 | 路径 | 功能 |
---|---|---|
POST |
/api/websharex/rooms |
创建房间 |
GET |
/api/websharex/rooms |
获取所有房间 |
DELETE |
/api/websharex/rooms |
删除房间 |
POST |
/api/websharex/rooms/{name}/files |
上传文件 |
POST |
/api/websharex/rooms/{name}/folders |
创建文件夹 |
PATCH |
/api/websharex/rooms/{name}/entries/{id} |
重命名 |
GET |
/api/websharex/rooms/{name}/files/{id} |
获取下载 URL |
DELETE |
/api/websharex/rooms/{name}/files |
删除文件 |
克隆仓库
git clone https://github.com/KercyDing/ideaflash-svelte.git
cd ideaflash-svelte
安装依赖
bun install
配置环境变量
cp .env.local.example .env.local
# 编辑 .env.local 填入真实配置
构建项目
bun run build
启动服务
# 使用 PM2 (推荐)
pm2 start build/index.js --name ideaflash
# 或直接运行
node build/index.js
错误信息: The bucket you access does not belong to you
解决方案:
bun check-oss-config.js # 运行配置检查工具
.env.local
AliyunOSSFullAccess
策略{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListObjects",
"oss:GetObject",
"oss:PutObject",
"oss:DeleteObject"
],
"Resource": [
"acs:oss:*:*:your-bucket-name",
"acs:oss:*:*:your-bucket-name/*"
]
}
]
}
# 停止当前服务 (Ctrl+C)
bun run dev
.env.local
配置正确bun run dev
bun run check
bun run format
MIT License
Copyright © 2025-2026 Kercy. All rights reserved.
欢迎提交 Issue 和 Pull Request!
开发原则: