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;
}