35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import { QueryRouterServer as App } from '@kevisual/router'
|
||
import { useContextKey } from '@kevisual/context'
|
||
import { useKey } from '@kevisual/use-config'
|
||
import { CNB } from '../src/index.ts';
|
||
import { CNBManager } from './modules/cnb-manager.ts'
|
||
export const cnbManager = new CNBManager()
|
||
|
||
// CNB_TOKEN是降级兼容变量,推荐使用CNB_API_KEY
|
||
// CNB_TOKEN 是流水线自己就有的变量,但是权限比较小
|
||
const token = useKey('CNB_API_KEY') as string || useKey('CNB_TOKEN') as string
|
||
// cookie 变量是可选的
|
||
const cookie = useKey('CNB_COOKIE') as string
|
||
try {
|
||
cnbManager.addCNB({
|
||
username: 'default',
|
||
token: token,
|
||
cookie: cookie,
|
||
cnb: new CNB({ token: token, cookie: cookie })
|
||
})
|
||
} catch (error) {
|
||
|
||
}
|
||
export const cnb = (await cnbManager.getCNB({ username: 'default' })).cnb
|
||
export const app = await useContextKey<App>('app', () => {
|
||
return new App({})
|
||
})
|
||
|
||
export const notCNBCheck = (ctx: any) => {
|
||
const isCNB = useKey('CNB');
|
||
if (!isCNB) {
|
||
ctx.throw(400, '当前环境非 cnb-board 环境,无法获取 live 内容');
|
||
return true;
|
||
}
|
||
return false;
|
||
} |