diff --git a/agent/modules/cnb-manager.ts b/agent/modules/cnb-manager.ts index d00d68f..7252471 100644 --- a/agent/modules/cnb-manager.ts +++ b/agent/modules/cnb-manager.ts @@ -45,10 +45,7 @@ export class CNBManager { return cnbItem } async getCNB(opts?: { username?: string, kevisualToken?: string }): Promise { - if (opts?.username) { - return this.getDefaultCNB() - } - const username = opts?.kevisualToken + const username = opts?.username const cnbItem = this.cnbMap.get(username) if (cnbItem) { cnbItem.runAt = Date.now() diff --git a/agent/routes/cnb-manager/index.ts b/agent/routes/cnb-manager/index.ts index 2e0bc4c..ed5270d 100644 --- a/agent/routes/cnb-manager/index.ts +++ b/agent/routes/cnb-manager/index.ts @@ -21,4 +21,28 @@ app.route({ cnbManager.clearUsername(username); } ctx.body = { content: '已清理cnb-manager记录' }; -}).addTo(app); \ No newline at end of file +}).addTo(app); + +app.route({ + path: 'cnb', + key: 'get-my-config', + description: '获取我的cnb配置', + middleware: ['auth'], +}).define(async (ctx) => { + const username = ctx.tokenUser?.username; + const token = ctx.query?.token; + if (!username) { + ctx.throw(400, '未授权'); + } + if (!token) { + ctx.throw(400, '缺少token参数'); + } + const cnbItem = await cnbManager.getCNB({ username, kevisualToken: token }); + if (!cnbItem) { + ctx.throw(404, '未找到cnb-manager记录'); + } + ctx.body = { + token: cnbItem.token, + cookie: cnbItem.cookie, + } +}).addTo(app); diff --git a/package.json b/package.json index 40b18a5..f352468 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kevisual/cnb", - "version": "0.0.38", + "version": "0.0.39", "description": "", "main": "index.js", "basename": "/root/cnb",