49 lines
1.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { BaseEntity } from '../../base/entity/base';
import { Column, Entity, Index } from 'typeorm';
@Entity('geo_account')
export class GeoAccountEntity extends BaseEntity {
@Column({ comment: '账号昵称(用户填写)' })
name: string;
@Index()
@Column({ comment: '平台 xiaohongshu/douyin/weibo/zhihu/taobao/wechat', length: 32 })
platform: string;
@Column({ comment: '登录账号/手机号(登录后自动从浏览器抓取)', length: 128, nullable: true })
loginAccount: string;
@Index({ unique: true, where: 'session_name IS NOT NULL' })
@Column({ comment: 'netabrowser-cli sessionName唯一标识浏览器 profile', length: 128, nullable: true })
sessionName: string;
@Index()
@Column({ comment: '关联 Agent ID哪个 Agent 来执行账号管理)', nullable: true })
agentId: number;
@Column({ comment: '浏览器指纹 seedfingerprint-chromium 用,同账号每次启动指纹一致;不同账号 seed 不同→看作不同物理设备)', nullable: true })
fingerprintSeed: number;
@Column({ comment: 'cookies明文 JSON本地后台工具', type: 'text', nullable: true })
cookies: string;
@Column({ comment: 'Cookie 抓取时间', type: 'datetime', nullable: true })
cookieCapturedAt: Date;
@Column({ comment: 'Cookie 最早过期时间(关键登录 cookie 中最早失效的)', type: 'datetime', nullable: true })
cookieExpiresAt: Date;
@Column({ comment: '登录状态 never/logged_in/expired/banned/deleted', length: 16, default: 'never' })
loginStatus: string;
@Index({ unique: true, where: 'proxy_id IS NOT NULL' })
@Column({ comment: '绑定 IP', nullable: true })
proxyId: number;
@Column({ comment: '上次活跃时间', type: 'datetime', nullable: true })
lastActiveAt: Date;
@Column({ comment: '平台特定字段', type: 'json', nullable: true })
extra: any;
}