怎加版本
This commit is contained in:
parent
4f39f428bd
commit
f2e53df25b
@ -1,6 +1,7 @@
|
|||||||
import { useNavigate } from 'react-router-dom'
|
import { useNavigate } from 'react-router-dom'
|
||||||
import { Avatar, List, NavBar, Toast } from 'antd-mobile'
|
import { Avatar, List, NavBar, Toast } from 'antd-mobile'
|
||||||
import { useAuth } from '../auth/AuthContext.jsx'
|
import { useAuth } from '../auth/AuthContext.jsx'
|
||||||
|
import { APP_VERSION, BUILD_ID } from '../version.js'
|
||||||
|
|
||||||
// 我的页: 顶部 NavBar + 用户头像卡片 + 信息列表
|
// 我的页: 顶部 NavBar + 用户头像卡片 + 信息列表
|
||||||
// 使用 antd-mobile: NavBar / List / Avatar / Toast
|
// 使用 antd-mobile: NavBar / List / Avatar / Toast
|
||||||
@ -44,6 +45,7 @@ export default function MePage() {
|
|||||||
退出登录
|
退出登录
|
||||||
</List.Item>
|
</List.Item>
|
||||||
</List>
|
</List>
|
||||||
|
<div className="me-version">v{APP_VERSION} · build {BUILD_ID}</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -195,6 +195,7 @@ input, textarea, select { font: inherit; }
|
|||||||
.me-list { margin-top: 12px; }
|
.me-list { margin-top: 12px; }
|
||||||
.me-list .adm-list-item { padding-left: 16px; padding-right: 16px; }
|
.me-list .adm-list-item { padding-left: 16px; padding-right: 16px; }
|
||||||
.me-logout { color: var(--color-danger); }
|
.me-logout { color: var(--color-danger); }
|
||||||
|
.me-version { text-align: center; font-size: 12px; color: var(--color-muted); padding: 18px 0 8px; }
|
||||||
/* 首页模块: 报警 + 新闻 */
|
/* 首页模块: 报警 + 新闻 */
|
||||||
.home-content { padding: 0 0 16px; }
|
.home-content { padding: 0 0 16px; }
|
||||||
.home-content .adm-tabs-content { --content-padding: 0; }
|
.home-content .adm-tabs-content { --content-padding: 0; }
|
||||||
|
|||||||
11
src/version.js
Normal file
11
src/version.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
// 应用版本信息唯一汇聚点
|
||||||
|
// - APP_VERSION: 唯一手动管理点 = package.json 的 version 字段 (发版时改那里)
|
||||||
|
// - BUILD_ID: 每次编译自动生成 (vite.config.js define 注入 __BUILD_ID__), 无需手动维护
|
||||||
|
import pkg from '../package.json'
|
||||||
|
|
||||||
|
export const APP_VERSION = pkg.version || '0.0.0'
|
||||||
|
// __BUILD_ID__ 机制:
|
||||||
|
// - build 时: vite:define 编译期替换为字符串字面量
|
||||||
|
// - dev 时: vite 通过 /@vite/env 把值挂到 globalThis, 源码保持原样;
|
||||||
|
// typeof 防御避免 /@vite/env 未执行时 ReferenceError, 回退 'dev'
|
||||||
|
export const BUILD_ID = typeof __BUILD_ID__ !== 'undefined' ? __BUILD_ID__ : 'dev'
|
||||||
@ -1,12 +1,24 @@
|
|||||||
import { defineConfig } from 'vite'
|
import { defineConfig } from 'vite'
|
||||||
import react from '@vitejs/plugin-react'
|
import react from '@vitejs/plugin-react'
|
||||||
|
|
||||||
|
// 每次编译生成唯一 build 号 (YYYYMMDD.HHmmss), 通过 define 注入到 __BUILD_ID__
|
||||||
|
// 版本号 APP_VERSION 唯一管理点在 package.json 的 version 字段 (手动修改)
|
||||||
|
function makeBuildId() {
|
||||||
|
const d = new Date()
|
||||||
|
const p = (n, w) => String(n).padStart(w || 2, '0')
|
||||||
|
return `${d.getFullYear()}${p(d.getMonth() + 1)}${p(d.getDate())}.${p(d.getHours())}${p(d.getMinutes())}${p(d.getSeconds())}`
|
||||||
|
}
|
||||||
|
const BUILD_ID = makeBuildId()
|
||||||
|
|
||||||
// 移动端优先: 默认按移动视口开发, 同时兼容桌面浏览器
|
// 移动端优先: 默认按移动视口开发, 同时兼容桌面浏览器
|
||||||
// HMR 走 WebSocket; 某些受限 webview (VS Code Simple Browser / 老版 Android WebView) 不支持,
|
// HMR 走 WebSocket; 某些受限 webview (VS Code Simple Browser / 老版 Android WebView) 不支持,
|
||||||
// 此时 Vite 会自动降级为整页刷新兜底 (full-reload 与 HMR 共用同一 WS 通道)。
|
// 此时 Vite 会自动降级为整页刷新兜底 (full-reload 与 HMR 共用同一 WS 通道)。
|
||||||
// 注意: 不能设 hmr: false —— 那会连 WS 通道一起关掉, 文件变更不再触发任何刷新。
|
// 注意: 不能设 hmr: false —— 那会连 WS 通道一起关掉, 文件变更不再触发任何刷新。
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [react()],
|
plugins: [react()],
|
||||||
|
define: {
|
||||||
|
__BUILD_ID__: JSON.stringify(BUILD_ID), // 构建时生成的唯一 build 号
|
||||||
|
},
|
||||||
server: {
|
server: {
|
||||||
host: '0.0.0.0',
|
host: '0.0.0.0',
|
||||||
port: 5173,
|
port: 5173,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user