Skip to content
On this page

Webpages 类型

UploadWebpageRequest

ts
interface UploadWebpageRequest {
  /**
   * 网页文件的格式
   */
  ext: WebsiteExt;
  /**
   * base64 编码后的网页文件
   */
  content: string;
  /**
   * 网页标题: 如果没有传入,则使用网页的 <title> 标签
   */
  title?: string;
  /**
   * 网页地址: 如果没有传入,则回尝试从 content 中获取
   */
  link?: string;
}

Webpage

ts
interface WebpageHighlight {
  highlightId: string;
  type: 1;
  marker: {
    meta: {
      textBefore: string;
      textAfter: string;
    };
  };
  text: string;
}

interface Webpage {
  title: string;
  excerpt: string;
  liked: boolean;
  link?: string;
  ext: WebsiteExt;
  id: string;
  size: number;
  read: boolean;
  highlights: WebpageHighlight[];
  firstAddTime: number;
  createTime: number;
}

WebsiteExt

ts
enum WebsiteExt {
  mhtml = "mhtml",
  webarchive = "webarchive",
  html = "html",
}

WebpagesList

ts
interface WebpagesList {
  webpages: WebPage[];
}

WebpagesSearchOptions

ts
interface WebpagesSearchOptions {
  /**
   * 页面标题或者内容的相关关键词
   */
  q: string;
  /**
   * 过滤出页面是否标注为喜欢的
   */
  liked?: boolean;
  /**
   * 过滤出页面是否为已读的
   */
  read?: boolean;
  /**
   * 过滤出页面是否有标注的
   */
  annotated?: boolean;
  /**
   * 过滤出页面地址是否为指定一个或者多个域名中
   */
  host?: string | string[];
  /**
   * 过滤出页面格式为指定的某一种
   */
  ext?: WebsiteExt | WebsiteExt[];
  /**
   * @default 30
   * 每页数量
   */
  per_page?: number;
  /**
   * @default 1
   * 当前页数
   */
  page?: number;
}

WebpagesListOptions

ts
interface WebpagesListOptions {
  liked?: boolean;
  read?: boolean;
  annotated?: boolean;
  host?: string | string[];
  ext?: WebsiteExt | WebsiteExt[];
  /**
   * @default 30
   */
  per_page?: number;
  /**
   * @default 1
   */
  page?: number;
  /**
   * 对过滤出来的页面列表进行排序
   * title_asc: 标题排序 从 A 到 Z
   * title_desc: 标题排序 从 Z 到 A
   * first_add_time_asc: 添加时间 从远到近
   * first_add_time_desc: 添加时间 从近到远
   * annotate_count_asc: 批注数量 从少到多
   * annotate_count_desc: 批注数量 从多到少
   * @default first_add_time_desc
   */
  sort?:
    | "title_asc"
    | "title_desc"
    | "first_add_time_asc"
    | "first_add_time_desc"
    | "annotate_count_asc"
    | "annotate_count_desc";
}

PatchWebPageRequest

ts
interface PatchWebPageRequest {
  /**
   * 网页摘要
   */
  excerpt?: string;
  /**
   * 网页标题
   */
  title?: string;
  /**
   * 网页地址
   */
  link?: string;
  /**
   * 是否标注为喜欢
   */
  liked?: boolean;
  /**
   * 是否已读
   */
  read?: boolean;
}