UNPKG

@honor-minigame/cli

Version:

honor minigame pack cli

60 lines (55 loc) 2.03 kB
import path from 'path' // import { error, fs, info, projectPath } from '../cli-shared-utils/index.js' import fs from 'fs-extra' import { projectPath } from '../utils/index.js' import { error } from '../utils/logger.js' import { recordClient, getRecordClient, LINK_MODE, CLIENT_PORT, getClientFromRequest, clientRecordPath } from './record-client.js' /** * 记录最新的用户进入的请求 */ export async function logger (context, next) { try { const { sn, clientIp, linkMode, serverIp } = getClientFromRequest(context.request) const addrClient = clientIp const addrServer = serverIp let client = { sn: sn, ip: addrClient, port: CLIENT_PORT } switch (linkMode) { case LINK_MODE.WIFI: console.info(`### App Server ### 记录从${addrClient}进入的HTTP请求`) recordClient(clientRecordPath, client) break case LINK_MODE.ADB: // ADB模式下需要先读取连接时记录的信息 client = getRecordClient(clientRecordPath, sn, addrClient) if (!sn) { break } if (!client) { const realSN = context.adbDebugger.emulators.get(sn) client = getRecordClient(clientRecordPath, realSN, clientIp) } if (client) { console.info(`### App Server ### 记录从设备(${sn})进入的HTTP请求`) recordClient(clientRecordPath, client) } else { console.info(`### App Server ### :记录设备(${sn})失败`) } break } if (addrClient !== addrServer && (addrClient !== '127.0.0.1' || linkMode === LINK_MODE.ADB)) { // info(`### App Server ### 写入到client.json,${addrClient}的HTTP请求`) fs.outputJsonSync(path.resolve(projectPath, 'client.json'), { client: addrClient, timestamp: new Date() }) } } catch (err) { error(`### App Server ### 记录log出错: ${err.message}`) } await next() }