fe17886ac4
- 车辆 / 洗车 / 加油 / 充电 / 保养 / 保险 完整 CRUD + 软删 - AI 截图识别(5 类型 OCR schema):OpenAI 兼容 + MiniMax M3 - 化学品 / Grocy 实例对接 + 库存镜像同步 - 仪表盘:30 天频次 + 健康度 + 同比环比 + 油价趋势 + 年均养护 - 月度报表:Excel 6 sheet + PDF - PWA:manifest / SW / 离线缓存 / iOS 引导 - 安全:bcrypt + CSRF + 登录锁定(IP/用户/全局三级)+ 401 自动跳登录 + 表单草稿 - 高 ROI 8 功能:里程/提醒/成本/搜索/标签/通知/同比/成就 - 3 个新 migration(0016/0017/0018)+ 18 个迁移全幂等 - 101/101 测试通过(含 ipRateLimit / CSRF / retry / stats / tags / notifications) - 部署:宝塔面板文档 + PM2 + Nginx
36 lines
995 B
JSON
36 lines
995 B
JSON
{
|
|
"root": true,
|
|
"env": {
|
|
"browser": true,
|
|
"es2022": true,
|
|
"node": true
|
|
},
|
|
"parser": "espree",
|
|
"parserOptions": {
|
|
"ecmaVersion": "latest",
|
|
"sourceType": "module",
|
|
"ecmaFeatures": { "jsx": false }
|
|
},
|
|
"extends": ["eslint:recommended"],
|
|
"rules": {
|
|
"no-unused-vars": ["warn", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }],
|
|
"no-undef": "error",
|
|
"no-console": "off",
|
|
"no-var": "error",
|
|
"prefer-const": "warn",
|
|
"eqeqeq": ["error", "always", { "null": "ignore" }],
|
|
"no-implicit-coercion": "warn",
|
|
"no-throw-literal": "error"
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["client/src/**/*.vue"],
|
|
"parser": "vue-eslint-parser",
|
|
"parserOptions": {
|
|
"parser": "espree"
|
|
}
|
|
}
|
|
],
|
|
"ignorePatterns": ["node_modules/", "client/dist/", "server/storage/", "uploads/", "*.min.js"]
|
|
}
|