chore: v1 整理 — 清理历史文件、DDL 合并、文档归档

- 清理 1155 个已删除的历史文件(废弃 prompt_logs、tmp、旧 ops 脚本)
- export/ 数据文件从 git 移除(已在 .gitignore)
- demo-miniprogram 从 tmp/ 移入 apps/,添加 CLAUDE.md 注解
- DDL 合并:完整 schema 定义填充到 db/*/schemas/(从 docs/database/ddl/ 复制)
- 39 个 v1 迁移脚本归档到 db/_archived/migrations_v1_merged/
- 4 个迁移变更类 BD_Manual 文档归档到 docs/database/_archived/
- .gitignore 补充 .vite/ 和 apps/*.zip
- settings.json 添加 effortLevel 默认配置
- scripts/ops/ 新增运维脚本入库

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Neo
2026-04-06 00:39:27 +08:00
parent 6f8f12314f
commit 779b2f6d52
1340 changed files with 9124 additions and 132087 deletions

View File

@@ -0,0 +1,86 @@
// WXS 时间格式化桥接 — WXML 中不能调用 TS/JS 模块,需通过 WXS 桥接
// 规范docs/miniprogram-dev/design-system/DATETIME-DISPLAY-STANDARD.md
//
// 规则:
// < 120s -> 刚刚
// 2~59min -> N分钟前
// 1~23h -> N小时前
// 1~3d -> N天前
// >3d 同年 -> MM-DD
// >3d 跨年 -> YYYY-MM-DD
function relativeTime(value) {
if (value === undefined || value === null || value === '') return '--'
var ts
if (typeof value === 'number') {
ts = value
} else {
var parsed = getDate(value)
ts = parsed.getTime()
if (isNaN(ts)) return '--'
}
var now = getDate().getTime()
var diff = Math.floor((now - ts) / 1000)
if (diff < 120) return '刚刚'
if (diff < 3600) return Math.floor(diff / 60) + '分钟前'
if (diff < 86400) return Math.floor(diff / 3600) + '小时前'
if (diff < 259200) return Math.floor(diff / 86400) + '天前'
var date = getDate(ts)
var nowDate = getDate(now)
var year = date.getFullYear()
var nowYear = nowDate.getFullYear()
var month = date.getMonth() + 1
var day = date.getDate()
var mm = month < 10 ? '0' + month : '' + month
var dd = day < 10 ? '0' + day : '' + day
if (year === nowYear) return mm + '-' + dd
return year + '-' + mm + '-' + dd
}
// IM 气泡内时间戳格式
// 今天内 -> HH:mm
// 今年非今天 -> MM-DD HH:mm
// 跨年 -> YYYY-MM-DD HH:mm
function imTime(value) {
if (value === undefined || value === null || value === '') return ''
var ts
if (typeof value === 'number') {
ts = value
} else {
var parsed = getDate(value)
ts = parsed.getTime()
if (isNaN(ts)) return ''
}
var date = getDate(ts)
var now = getDate()
var hh = date.getHours()
var mn = date.getMinutes()
var hhStr = hh < 10 ? '0' + hh : '' + hh
var mnStr = mn < 10 ? '0' + mn : '' + mn
var timeStr = hhStr + ':' + mnStr
var isSameDay =
date.getFullYear() === now.getFullYear() &&
date.getMonth() === now.getMonth() &&
date.getDate() === now.getDate()
if (isSameDay) return timeStr
var month = date.getMonth() + 1
var day = date.getDate()
var mm = month < 10 ? '0' + month : '' + month
var dd = day < 10 ? '0' + day : '' + day
if (date.getFullYear() === now.getFullYear()) return mm + '-' + dd + ' ' + timeStr
return date.getFullYear() + '-' + mm + '-' + dd + ' ' + timeStr
}
module.exports = {
relativeTime: relativeTime,
imTime: imTime,
}