/** * 会话管理模型模块 * * 定义会话实体和多种登录方式的请求/响应模型: * - code 登录(一次性授权码) * - 手机号登录 * - 企业微信登录 * - 微信登录 * - 账号密码登录 */ import BaseModel, { ORMBaseFields } from '../base/model'; import Request from "../base/request"; import Response from "../base/response"; import { User } from './user'; import Account from './account'; import { EStatus } from '../base/enumType'; /** * 会话实体 * * 管理用户登录状态,包含 token、userId、appId 等信息 */ export declare class Session extends ORMBaseFields { constructor(data?: any); id: string; code?: string; loginId: string; userId?: number; user?: User; account?: Account; appId?: number; status?: EStatus; lastDate: Date; } interface ICode { code: string; } /** * 登录一次性授权码映射 * * 用于临时授权登录,code 消耗后失效 */ export declare class AuthMap extends BaseModel { constructor(data?: any); code: string; token: string; authTime?: number; status?: EAuthMapStatus; createTime: Date; modifyTime: Date; } /** * 登录授权码消耗状态枚举 * * 1: 活跃中 * 2: 已消耗 */ export declare enum EAuthMapStatus { ACTIVED = 1, DISABLED = 2 } /** * 通过一次性 code 登录请求模型 */ export declare class LoginByCodeReq extends Request { code: string; } export declare class LoginByCodeRes extends Response { data?: Session; } /** end */ /** * 通过手机号登录请求模型 */ export declare class LoginByPhoneReq extends Request { appId?: string; targetId: string; phone: string; code: string; } export declare class LoginByPhoneRes extends Response { data?: Session; } /** end */ /** * 获取session,如果无效会返回空 */ export declare class CheckSessionReq extends Request { id?: string; code?: string; } export declare class CheckSessionRes extends Response { data?: Session; } /** end */ /** * 创建会话请求模型 */ export declare class CreateSessionReq extends Request { session: Session; } export declare class CreateSessionRes extends Response { data?: Session; } /** end */ /** * 登出会话请求模型 */ export declare class LogoutReq extends Request { id: string; } export declare class LogoutRes extends Response { data?: any; } /** end */ /** * 获取session,如果无效会返回空 */ export declare class GetLoginSessionReq extends Request { id: string; } export declare class GetLoginSessionRes extends Response { data?: Session; } /** end */ /** * 获取会话请求模型 */ export declare class GetSessionReq extends Request { id: string; } export declare class GetSessionRes extends Response { data?: Session; } /** end */ /** * */ export declare class SetStatusReq extends Request { id: string; status: EStatus; } export declare class SetStatusRes extends Response { data?: Session; } /** end */ /** * 企业微信 code 登录请求模型 */ export declare class LoginByWeWorkReq extends Request { code: string; appId?: string; comapnyId?: number; isMiniProgram?: boolean; originAppId?: string; } export declare class LoginByWeWorkRes extends Response { data: Session; } /** end */ export declare class LoginByUserNameReq extends Request { userName: string; appId?: string; } export declare class LoginByUserNameRes extends Response { data: Session; } export declare class GetCodeBySessionTokenReq extends Request { token: string; } export declare class GetCodeBySessionTokenRsp extends Response { data: ICode; } export declare class LoginByWxReq extends Request { appId?: string; platformAppId?: string; appType?: number; code: string; scope?: string; } export declare class LoginByWxRsp extends Response { data: Session; } export declare class LoginByAccountReq extends Request { appId: string; account: string; password: string; } export declare class LoginByAccountRsp extends Response { data: Session; } export {};