// 抽查 OSS 直链是否可公共读:每个库取 1 条 oss_url 做 GET,打印状态码与字节数 'use strict' const path = require('path') const https = require('https') const Database = require('better-sqlite3') const db = new Database(path.resolve(__dirname, '..', '..', 'data', 'style_check.db')) const libs = ['item_images', 'wave', 'korean', 'x_fashion'] const get = (url) => new Promise((resolve, reject) => { https.get(url, res => { let n = 0 res.on('data', c => { n += c.length }) res.on('end', () => resolve({ status: res.statusCode, bytes: n })) }).on('error', reject) }) ;(async () => { for (const lib of libs) { const r = db.prepare('SELECT local_path, oss_url FROM oss_migration_log WHERE lib=? LIMIT 1').get(lib) if (!r) { console.log(lib, '无记录'); continue } const res = await get(r.oss_url) console.log(`${lib} -> ${res.status} ${res.bytes} bytes ${r.oss_url}`) } db.close() })()