feat: 新增运动节拍训练工具套件与子工具页面
新增运动节拍RepClock全套小程序页面、后端API与数据库服务,新增subhub子工具汇总页面,优化全局主页样式与配置,为web静态资源添加版本缓存参数,补充配套调试脚本
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
process.chdir('d:/Trae_Files/TRAE-Toolbox')
|
||||
|
||||
const db = require(path.join(process.cwd(), 'src/server/mp_rep_clock/db'))
|
||||
const locks = require(path.join(process.cwd(), 'src/server/mp_rep_clock/locks.js'))
|
||||
|
||||
console.log('=== 锁表当前值 ===')
|
||||
console.log(JSON.stringify(locks.getLockState(), null, 2))
|
||||
|
||||
console.log('\n=== rc_sessions status=running 行数 ===')
|
||||
const cnt = db.getDb().prepare(`SELECT COUNT(*) as c FROM rc_sessions WHERE status='running' AND deleted=0`).get()
|
||||
console.log('running cnt=', cnt.c)
|
||||
const rows = db.getDb().prepare(`SELECT id, status, card_id, created_at, updated_at FROM rc_sessions WHERE status='running' AND deleted=0 ORDER BY datetime(created_at) DESC LIMIT 5`).all()
|
||||
rows.forEach(r => console.log(' -', JSON.stringify(r)))
|
||||
|
||||
console.log('\n=== 立即操作:清锁 + 所有 running 转 abandoned ===')
|
||||
locks.resetRunningLock()
|
||||
const nowIso = () => new Date().toISOString()
|
||||
db.getDb().prepare(`UPDATE rc_sessions SET status='abandoned', ended_at=?, updated_at=?, manual_stopped=1 WHERE status='running' AND deleted=0`).run(nowIso(), nowIso())
|
||||
|
||||
console.log('\n=== 操作后复检 ===')
|
||||
console.log('锁表:', JSON.stringify(locks.getLockState(), null, 2))
|
||||
const cnt2 = db.getDb().prepare(`SELECT COUNT(*) as c FROM rc_sessions WHERE status='running' AND deleted=0`).get()
|
||||
console.log('running cnt=', cnt2.c, '(应为 0)')
|
||||
Reference in New Issue
Block a user