71 lines
1.9 KiB
TypeScript
71 lines
1.9 KiB
TypeScript
import type {
|
|
YinianAuthSession,
|
|
YinianConfigSnapshot,
|
|
YinianImageCaptcha,
|
|
YinianLocalSkill,
|
|
YinianLoginWithPasswordInput,
|
|
YinianLoginWithSmsInput,
|
|
YinianServerStatus,
|
|
YinianSessionState,
|
|
YinianSkillRegistry,
|
|
YinianSkillSyncResult,
|
|
} from '../../shared/yinian';
|
|
import type { YinianControlPlane } from './control-plane';
|
|
|
|
const MESSAGE = '服务端地址未配置,请设置 YINIAN_API_BASE_URL 后重新启动智念助手。';
|
|
|
|
export class UnconfiguredYinianControlPlane implements YinianControlPlane {
|
|
async getServerStatus(): Promise<YinianServerStatus> {
|
|
return {
|
|
mode: 'http',
|
|
reachable: false,
|
|
checkedAt: Date.now(),
|
|
message: MESSAGE,
|
|
};
|
|
}
|
|
|
|
async createImageCaptcha(randomStr = `${Date.now()}`): Promise<YinianImageCaptcha> {
|
|
return { randomStr, raw: { error: MESSAGE } };
|
|
}
|
|
|
|
async restoreSession(): Promise<YinianSessionState> {
|
|
return { authenticated: false };
|
|
}
|
|
|
|
async getSessionState(): Promise<YinianSessionState> {
|
|
return { authenticated: false };
|
|
}
|
|
|
|
async loginWithSms(_input: YinianLoginWithSmsInput): Promise<YinianAuthSession> {
|
|
throw new Error(MESSAGE);
|
|
}
|
|
|
|
async loginWithPassword(_input: YinianLoginWithPasswordInput): Promise<YinianAuthSession> {
|
|
throw new Error(MESSAGE);
|
|
}
|
|
|
|
async logout(): Promise<YinianSessionState> {
|
|
return { authenticated: false };
|
|
}
|
|
|
|
async switchHotel(_hotelId: string): Promise<YinianAuthSession> {
|
|
throw new Error(MESSAGE);
|
|
}
|
|
|
|
async getConfigSnapshot(): Promise<YinianConfigSnapshot> {
|
|
throw new Error(MESSAGE);
|
|
}
|
|
|
|
async syncSkills(): Promise<YinianSkillSyncResult> {
|
|
throw new Error(MESSAGE);
|
|
}
|
|
|
|
async listLocalSkills(): Promise<YinianLocalSkill[]> {
|
|
return [];
|
|
}
|
|
|
|
async getSkillRegistry(_hotelId?: string): Promise<YinianSkillRegistry | Record<string, YinianSkillRegistry> | undefined> {
|
|
return undefined;
|
|
}
|
|
}
|