Files
iboard/vite.config.js
T
jif2.zhang 9fea1a5a3a
Docker Build and Push / build-image (push) Successful in 4m5s
fix(V0.2): 二轮评审 6 项 —— BUILD_ID 格式 / 菜单与详情精简 / 拖动重做 / 键盘统一方案
1. BUILD_ID 改为 yyyyMMddHHmmss (去掉中间点), 仍 UTC+8
2. 任务 ⋯ 菜单去掉顶部任务名标题
3. 任务详情去掉底部「拷贝到其他项目」「删除任务」按钮 (⋯ 菜单已有)
4+6. 键盘遮挡统一方案 (重点设计 §7.2):
   - index.html 加 interactive-widget=resizes-content
   - App 级 useKeyboardInsetWatcher 写 --kb-inset (visualViewport+window 双源)
   - 底部弹层统一 .kb-safe 类 (安全区+20px+键盘插入量, dvh 收缩+内部滚动)
   - TaskDetail/UserPicker/CopyTaskPopup/信息块弹层全部迁移, 删除 per-component hook
   - 信息块 textarea 补 focus scrollIntoView 兜底
5. 拖动方案重做 (重点设计 §7.1):
   - 新 useColumnDrag: Pointer Events + setPointerCapture, 长按400ms原位抬起,
     elementFromPoint 高亮目标列, 边缘 rAF 自动横滚; 移除手指跟随浮层(任务名)
   - 列表行长按 500ms → 「移动到列」ActionSheet (不做自由拖动)
   - 移除「拖到卡片转子任务」误触路径, 统一走详情页层级区
   - 删除旧 useLongPressDrag

已验证: 99 文件语法 0 错误、导入 0 缺失
2026-10-24 22:15:52 +08:00

44 lines
1.7 KiB
JavaScript

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
// 每次编译生成唯一 build 号 (YYYYMMDDHHmmss), 通过 define 注入到 __BUILD_ID__
// 版本号 APP_VERSION 唯一管理点在 package.json 的 version 字段 (手动修改)
function makeBuildId() {
// 统一用 UTC+8 (北京时间) 生成: CI runner 是 UTC 时区, 直接取本地时间会把日期/小时错位
const d = new Date(Date.now() + 8 * 3600 * 1000)
const p = (n, w) => String(n).padStart(w || 2, '0')
return `${d.getUTCFullYear()}${p(d.getUTCMonth() + 1)}${p(d.getUTCDate())}${p(d.getUTCHours())}${p(d.getUTCMinutes())}${p(d.getUTCSeconds())}`
}
const BUILD_ID = makeBuildId()
// 移动端优先: 默认按移动视口开发, 同时兼容桌面浏览器
// HMR 走 WebSocket; 某些受限 webview (VS Code Simple Browser / 老版 Android WebView) 不支持,
// 此时 Vite 会自动降级为整页刷新兜底 (full-reload 与 HMR 共用同一 WS 通道)。
// 注意: 不能设 hmr: false —— 那会连 WS 通道一起关掉, 文件变更不再触发任何刷新。
export default defineConfig({
plugins: [react()],
define: {
__BUILD_ID__: JSON.stringify(BUILD_ID), // 构建时生成的唯一 build 号
},
server: {
host: '0.0.0.0',
port: 5173,
hmr: true, // 开启 WebSocket HMR + full-reload 兜底
watch: {
usePolling: true, // Windows 文件监听用轮询更可靠
interval: 300,
},
proxy: {
'/api': {
target: 'http://127.0.0.1:3001',
changeOrigin: true,
},
},
},
build: {
outDir: 'dist',
emptyOutDir: true,
sourcemap: true,
},
})