Files
sudomarcma 2b4a7b2c50 feat(移动端优化): 实现安卓原生应用的全屏布局和安全区域处理
添加安全区域插件和样式处理,优化移动端视图布局
重构路由和导航结构,改进底部导航栏
增强原生功能集成,包括状态栏和导航栏控制
优化位置服务和后台任务处理
更新语言包和样式以适应移动端体验
2025-07-08 14:15:25 +08:00

80 lines
2.9 KiB
JSON

{
"name": "nilai-clock",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite --host",
"dev:https": "vite --host --https",
"backend": "node ./backend/server.js",
"backend:https": "node start-backend-https.js",
"dev:all": "concurrently \"npm run dev\" \"npm run backend\"",
"dev:all:https": "concurrently \"npm run dev:https\" \"npm run backend:https\"",
"build": "vite build",
"preview": "vite preview",
"lint": "eslint . --fix",
"format": "prettier --write src/",
"generate-certs": "node generate-ssl-mkcert.js",
"generate-certs-openssl": "node generate-ssl-certs.js",
"generate-certs-simple": "node generate-certs-simple.js",
"setup-https": "node setup-https.js",
"build:local-http": "copy .env.local-http .env.production && npm run build && npx cap copy android",
"build:local-https": "copy .env.local-https .env.production && npm run build && npx cap copy android",
"build:production": "copy .env.production-server .env.production && npm run build && npx cap copy android",
"switch:local-http": "copy .env.local-http .env.production",
"switch:local-https": "copy .env.local-https .env.production",
"switch:production": "copy .env.production-server .env.production",
"switch": "node switch-server.js",
"build:android": "npm run build && npx cap copy android && npx cap sync android",
"open:android": "npx cap open android"
},
"dependencies": {
"@capacitor-community/background-geolocation": "^1.2.22",
"@capacitor-community/safe-area": "^7.0.0-alpha.1",
"@capacitor/android": "^7.4.0",
"@capacitor/app": "^7.0.1",
"@capacitor/app-launcher": "^7.0.1",
"@capacitor/core": "^7.4.0",
"@capacitor/device": "^7.0.1",
"@capacitor/geolocation": "^7.1.2",
"@capacitor/local-notifications": "^7.0.1",
"@capacitor/network": "^7.0.1",
"@capacitor/preferences": "^7.0.1",
"@heroicons/vue": "^2.2.0",
"@primeuix/themes": "^1.1.2",
"@turf/turf": "^7.2.0",
"bcrypt": "^6.0.0",
"body-parser": "^2.2.0",
"cors": "^2.8.5",
"dotenv": "^16.5.0",
"express": "^5.1.0",
"html5-qrcode": "^2.3.8",
"json2csv": "^6.0.0-alpha.2",
"jsonwebtoken": "^9.0.2",
"mysql2": "^3.14.1",
"primevue": "^4.3.5",
"qrcode": "^1.5.4",
"tailwindcss": "^3.4.17",
"uuid": "^11.1.0",
"vue": "^3.5.13",
"vue-i18n": "^11.1.7",
"vue-router": "^4.5.0"
},
"devDependencies": {
"@capacitor/cli": "^7.4.0",
"@eslint/js": "^9.22.0",
"@vitejs/plugin-vue": "^5.2.3",
"@vue/eslint-config-prettier": "^10.2.0",
"autoprefixer": "^10.4.21",
"concurrently": "^9.1.2",
"cross-env": "^7.0.3",
"eslint": "^9.22.0",
"eslint-plugin-vue": "~10.0.0",
"globals": "^16.0.0",
"postcss": "^8.4.31",
"prettier": "3.5.3",
"vite": "^6.2.4",
"vite-plugin-vue-devtools": "^7.7.2"
}
}