新增米家环境监控模块 (采集/聚合/历史/前端 EnvView) + CI 挂载米家凭证目录并自动应用迁移
Docker Build and Push / build-image (push) Successful in 6m54s
Docker Build and Push / build-image (push) Successful in 6m54s
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
// 手动扫码授权: npm run data:mihome:login
|
||||
// 启动后台 QRlogin, 轮询状态; 出二维码后打印地址, 扫码成功后自动结束.
|
||||
import { startQrLogin, getQrState, checkAuth } from '../server/mihome/client.js'
|
||||
|
||||
const auth = await checkAuth(true)
|
||||
if (auth.status === 'ok') {
|
||||
console.log('[米家] 已授权有效, 无需重扫 (本地 .cache 凭证可用)')
|
||||
process.exit(0)
|
||||
}
|
||||
|
||||
await startQrLogin()
|
||||
const started = Date.now()
|
||||
console.log('[米家] 等待扫码... (120s 超时)')
|
||||
for (;;) {
|
||||
const s = getQrState()
|
||||
if (s.qrImageUrl && s.state === 'waiting') {
|
||||
console.log('[米家] 二维码(需米家 App 扫):')
|
||||
console.log(' image: ' + s.qrImageUrl)
|
||||
}
|
||||
if (s.state === 'failed') {
|
||||
console.log('[米家] 扫码失败: ' + (s.lastError || '未知'))
|
||||
process.exit(2)
|
||||
}
|
||||
if (s.state === 'idle' && s.running === false && !s.qrImageUrl) {
|
||||
// 启动即失败(可能直接完成/或没权限)
|
||||
console.log('[米家] 流程结束(无二维码产生), 请检查日志')
|
||||
process.exit(2)
|
||||
}
|
||||
if (!s.running && s.qrImageUrl) {
|
||||
console.log('[米家] 扫码成功, 凭证已保存到 server/mihome/.cache/')
|
||||
process.exit(0)
|
||||
}
|
||||
if (Date.now() - started > 150000) {
|
||||
console.log('[米家] 超时, 已停止; 可重跑.')
|
||||
process.exit(3)
|
||||
}
|
||||
await new Promise((r) => setTimeout(r, 2000))
|
||||
}
|
||||
Reference in New Issue
Block a user