Files
Wardrobe/package.json
T
jif2.zhang c1b630a7ef
Android Build & Publish / build-android (push) Failing after 6m55s
Docker Build and Push / build-image (push) Successful in 2m38s
refactor: 数据层迁往服务端 (Express+DuckDB), APP 变瘦客户端只留缓存
- server: 新增 DuckDB 数据层 (db.js) 与鉴权 (auth.js: 验证码+token), 挂载 /api 业务路由
  (衣物/搭配/日历/统计/MCP), 错误统一中间件
- 前端 src/api/index.ts 全部业务调用改为 HTTP (Bearer token), 客户端不再持有数据库
- 删除 Rust 数据层 (db.rs/auth.rs/mcp.rs/models.rs), Cargo.toml 裁剪 duckdb/chrono 等依赖
- Dockerfile: 基镜像 alpine→slim (@duckdb/node-api glibc 预编译), DB 落 /app/data 卷
- docker-build.yml: 移除 prune --volumes, 挂具名卷 wardrobe-data 持久化
- Landing/Profile 文案改为云端同步口径; 退出登录调服务端会话销毁
2026-09-15 10:53:58 +08:00

47 lines
1.4 KiB
JSON

{
"name": "wardrobe",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview",
"tauri": "tauri",
"android:dev": "tauri android dev",
"android:build": "tauri android build",
"check": "tsc --noEmit",
"lint": "eslint src --ext .ts,.tsx",
"dev:server": "node --watch --experimental-strip-types --no-warnings server/index.js",
"start": "node --experimental-strip-types --no-warnings server/index.js",
"build:ota": "node scripts/build-ota.mjs",
"ota:genkey": "node scripts/ota-genkey.mjs"
},
"dependencies": {
"@duckdb/node-api": "1.5.5-r.5",
"@tauri-apps/api": "^2.0.0",
"@tauri-apps/plugin-shell": "^2.0.0",
"cors": "^2.8.5",
"dotenv": "^16.4.5",
"express": "^4.21.2",
"qrcode.react": "^4.2.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^6.26.0",
"tauri-plugin-hotswap-api": "^0.0.1",
"zustand": "^4.5.2"
},
"devDependencies": {
"@tauri-apps/cli": "^2.0.0",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@typescript-eslint/eslint-plugin": "^7.14.0",
"@typescript-eslint/parser": "^7.14.0",
"@vitejs/plugin-react": "^4.3.1",
"eslint": "^8.57.0",
"typescript": "^5.5.3",
"vite": "^5.3.3",
"vite-plugin-singlefile": "^2.0.1"
}
}