Files
iboard/package.json
T
jif2.zhang 7b52220aad
Docker Build and Push / build-image (push) Successful in 3m52s
fix(键盘): 统一修复 Android 软键盘遮挡输入框
根因: Tauri targetSdk 37 强制 edge-to-edge, MainActivity 不处理 IME Insets,
系统不再因键盘缩小窗口, 清单 adjustResize 失效, 键盘直接盖住 WebView。

- 新增 scripts/ci/android-softinput.sh: init 后注入 windowSoftInputMode=adjustResize,
  并重写 MainActivity.kt 监听 IME Insets, 键盘可见时把高度加到内容容器底部 (API 30+),
  让 WebView 真正变矮, 所有 bottom 弹层自动上移
- CI (android-build.yml) 与本地 build-apk.sh 在 init 之后、build 之前调用该脚本 (幂等)
- 新增全局 useKeepInputVisible: 输入框聚焦后用 scroll-into-view-if-needed 滚入可视区,
  覆盖页面滚动与 Popup 内部滚动
- 弹层补 max-height + 内部滚动, 防止键盘弹出后顶部被顶出屏幕
- calibrateSafeTop 在键盘弹出时保留旧值, 避免误判导致整页跳动
2026-11-09 16:25:11 +08:00

74 lines
2.6 KiB
JSON

{
"name": "iboard",
"version": "0.2.1",
"type": "module",
"scripts": {
"tauri": "tauri",
"dev:web": "vite",
"dev:server": "node --watch --experimental-strip-types --no-warnings server/index.js",
"dev": "concurrently -n web,api -c blue,green \"npm run dev:web\" \"npm run dev:server\"",
"build": "vite build",
"build:shell": "vite build --mode shell",
"build:win": "node scripts/build-windows.mjs",
"build:win:debug": "node scripts/build-windows.mjs --debug",
"win:dev": "node scripts/dev-windows-live.mjs",
"build:ota": "node scripts/build-ota.mjs",
"preview": "vite preview",
"start": "node --experimental-strip-types --no-warnings server/index.js",
"db:migrate": "prisma migrate deploy",
"db:seed": "node scripts/seed.cjs",
"registry:sync": "node scripts/sync-registry.mjs",
"icons": "node scripts/generate-icons.mjs",
"tauri:dev": "tauri dev",
"tauri:build": "tauri build",
"tauri:android:init": "tauri android init",
"tauri:android:dev": "tauri android dev",
"tauri:android:build": "tauri android build",
"tauri:android:apk": "tauri android build --apk",
"test": "echo \"Error: no test specified\" && exit 1",
"data:news": "node --no-warnings scripts/refresh-news.cjs",
"data:mihome": "node --experimental-strip-types --no-warnings scripts/mihome-cli.mjs",
"data:mihome:login": "node --experimental-strip-types --no-warnings scripts/mihome-login.mjs",
"publish": "bash scripts/wsl/build-apk.sh release"
},
"dependencies": {
"@journeyapps/wa-sqlite": "^2.0.7",
"@modelcontextprotocol/sdk": "^1.30.0",
"@powersync/react": "^2.1.0",
"@powersync/web": "^2.5.0",
"@prisma/adapter-pg": "^7.9.1",
"@prisma/client": "^7.7.0",
"@zythum02/mijia-api": "^0.1.4",
"antd-mobile": "^5.42.3",
"axios": "^1.15.0",
"cors": "^2.8.5",
"dotenv": "^16.4.5",
"express": "^4.21.0",
"gray-matter": "^4.0.3",
"jsonwebtoken": "^9.0.2",
"mariadb": "^3.5.3",
"marked": "^17.0.6",
"node-cron": "^3.0.3",
"prisma": "^7.7.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.26.0",
"recharts": "^3.8.1",
"scroll-into-view-if-needed": "^3.1.0",
"swiper": "^14.4.0",
"tauri-plugin-hotswap-api": "^0.0.4",
"ws": "^8.21.2",
"zod": "^4.6.5"
},
"devDependencies": {
"@tauri-apps/api": "^2.12.4",
"@tauri-apps/cli": "^2.12.4",
"@vitejs/plugin-react": "^4.3.1",
"cheerio": "^1.2.0",
"concurrently": "^9.0.0",
"csv-parser": "^3.2.0",
"sharp": "^0.33.0",
"vite": "^5.4.0"
}
}