动效层:把 beUI 的动效语言移植到两端,令牌放在 packages/shared/src/motion.ts(纯常量,后端也引用得到)。弹簧用数值积分生成 CSS linear(),纯 CSS 即可驱动,不必每组件一个 rAF 循环;两端各一份 composables/motion.ts 负责 DOM 部分,在 app.mount() 之前注入 :root。含 reduced-motion 全局降级与 hover 能力探测;灵动岛只移植单调曲线。
深色主题:Web 管理端补齐,机制与桌面客户端一致;语义色令牌只覆盖颜色,不动圆角与动效令牌。默认跟随系统,用户手动点过之后以用户为准。
图标:build/classhelper.{png,ico} 成为全项目唯一图形源,pnpm icons 从它派生各端图标与界面内品牌标。版本号统一到 1.1.2。
41 lines
1.4 KiB
JSON
41 lines
1.4 KiB
JSON
{
|
|
"name": "@classhelper/desktop-client",
|
|
"version": "1.1.2",
|
|
"private": true,
|
|
"description": "班级小助手 EXE 客户端(Electron + Vue 3 + Element Plus + Socket.IO + IndexedDB 离线缓存)",
|
|
"author": "Class Helper",
|
|
"main": "dist/main/index.js",
|
|
"scripts": {
|
|
"dev": "node scripts/dev.mjs",
|
|
"build": "node ../../scripts/check-icons.mjs && npm run build:main && npm run build:renderer && npm run check:secrets",
|
|
"build:main": "node scripts/build-main.mjs",
|
|
"build:renderer": "vite build",
|
|
"check:secrets": "node scripts/check-bundle-secrets.mjs",
|
|
"start": "electron .",
|
|
"smoke": "node scripts/smoke.mjs",
|
|
"typecheck": "vue-tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.node.json",
|
|
"dist:win": "npm run build && node scripts/dist-win.mjs",
|
|
"dist:dir": "npm run build && node scripts/dist-win.mjs --dir"
|
|
},
|
|
"dependencies": {
|
|
"@classhelper/shared": "workspace:*",
|
|
"@element-plus/icons-vue": "^2.3.2",
|
|
"axios": "^1.20.0",
|
|
"element-plus": "^2.14.5",
|
|
"pinia": "^4.0.3",
|
|
"socket.io-client": "^4.8.3",
|
|
"vue": "^3.5.42",
|
|
"vue-router": "^5.3.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.20.2",
|
|
"@vitejs/plugin-vue": "^6.0.8",
|
|
"electron": "^44.3.0",
|
|
"electron-builder": "^26.15.3",
|
|
"esbuild": "^0.28.2",
|
|
"typescript": "~5.9.3",
|
|
"vite": "^8.3.0",
|
|
"vue-tsc": "^3.3.11"
|
|
}
|
|
}
|