mirror of
https://github.com/AIsouler/GKD_subscription.git
synced 2025-12-21 01:04:53 +08:00
chore: 增加订阅规则属性说明
This commit is contained in:
64
src/types.ts
64
src/types.ts
@@ -12,9 +12,21 @@ type StringFilter = {
|
|||||||
enum?: string[];
|
enum?: string[];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* null/undefined 则使用上级属性, 例如 rule.cd 是 null, 则 rule.cd 使用 group.cd
|
||||||
|
*/
|
||||||
type CommonProps = {
|
type CommonProps = {
|
||||||
|
/**
|
||||||
|
* 如果 设备界面Id startWith activityIds 的任意一项, 则匹配
|
||||||
|
*/
|
||||||
activityIds?: IArray<string>;
|
activityIds?: IArray<string>;
|
||||||
|
/**
|
||||||
|
* 如果 设备界面Id startWith excludeActivityIds 的任意一项, 则排除匹配, 这个优先级更高
|
||||||
|
*/
|
||||||
excludeActivityIds?: IArray<string>;
|
excludeActivityIds?: IArray<string>;
|
||||||
|
/**
|
||||||
|
* 当前规则的冷却时间
|
||||||
|
*/
|
||||||
cd?: number;
|
cd?: number;
|
||||||
appFilter?: {
|
appFilter?: {
|
||||||
name?: StringFilter;
|
name?: StringFilter;
|
||||||
@@ -33,6 +45,9 @@ type CommonProps = {
|
|||||||
|
|
||||||
export type AppConfig = {
|
export type AppConfig = {
|
||||||
id: string;
|
id: string;
|
||||||
|
/**
|
||||||
|
* 如果设备没有安装这个 APP, 则使用这个 name 显示
|
||||||
|
*/
|
||||||
name: string;
|
name: string;
|
||||||
groups?: GroupConfig[];
|
groups?: GroupConfig[];
|
||||||
} & CommonProps;
|
} & CommonProps;
|
||||||
@@ -42,20 +57,56 @@ export type AppConfigMudule = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
type GroupConfig = {
|
type GroupConfig = {
|
||||||
|
/**
|
||||||
|
* 当前规则组在列表中的唯一标识
|
||||||
|
*/
|
||||||
key: number;
|
key: number;
|
||||||
name: string;
|
name: string;
|
||||||
desc?: string;
|
desc?: string;
|
||||||
|
/**
|
||||||
|
* 控制规则默认情况下是启用还是禁用, 默认启用
|
||||||
|
*/
|
||||||
enable?: boolean;
|
enable?: boolean;
|
||||||
rules?: IArray<RuleConfig | string>;
|
rules?: IArray<RuleConfig | string>;
|
||||||
|
/**
|
||||||
|
* 当前 规则/规则组 的快照链接, 最好填上, 增强订阅可维护性
|
||||||
|
*/
|
||||||
snapshotUrls?: IArray<string>;
|
snapshotUrls?: IArray<string>;
|
||||||
|
/**
|
||||||
|
* 当前 规则/规则组 的规则在手机上的运行示例, gif/mp4 都行
|
||||||
|
*
|
||||||
|
* 如果规则是多个规则组合起来的, 可以更好看懂规则到底在干啥, 比如 点击关闭按钮-选择关闭原因-确认关闭 这种广告用 gif 看着更清楚在干啥
|
||||||
|
*/
|
||||||
exampleUrls?: IArray<string>;
|
exampleUrls?: IArray<string>;
|
||||||
} & CommonProps;
|
} & CommonProps;
|
||||||
|
|
||||||
type RuleConfig = {
|
type RuleConfig = {
|
||||||
|
/**
|
||||||
|
* 当前规则在列表中的唯一标识
|
||||||
|
*/
|
||||||
|
key?: number;
|
||||||
name?: string;
|
name?: string;
|
||||||
desc?: string;
|
desc?: string;
|
||||||
|
/**
|
||||||
|
* 一个或者多个合法的 GKD 选择器, 如果每个选择器都能匹配上节点, 那么点击最后一个选择器的目标节点
|
||||||
|
*/
|
||||||
matches?: IArray<string>;
|
matches?: IArray<string>;
|
||||||
|
/**
|
||||||
|
* 一个或者多个合法的 GKD 选择器, 如果存在一个选择器匹配上节点, 则停止匹配此规则
|
||||||
|
*/
|
||||||
excludeMatches?: IArray<string>;
|
excludeMatches?: IArray<string>;
|
||||||
|
/**
|
||||||
|
* 要求当前列表里某个 key 刚刚执行
|
||||||
|
*
|
||||||
|
* 比如点击关闭按钮-选择关闭原因-确认关闭, key 分别是 1,2,3, preKeys 分别是 [],[2],[3]
|
||||||
|
*
|
||||||
|
* 那么 选择关闭原因 必须要求 比如点击关闭按钮 刚刚点击过才能执行, 确认关闭 也要求 选择关闭原因 刚刚点击过才执行
|
||||||
|
*
|
||||||
|
* 否则后面的规则不会触发, 也就是要求规则按顺序执行, 这是为了防止规则匹配范围太过广泛而误触
|
||||||
|
*
|
||||||
|
* 多数情况下 不需要设置
|
||||||
|
*
|
||||||
|
*/
|
||||||
preKeys?: IArray<number>;
|
preKeys?: IArray<number>;
|
||||||
snapshotUrls?: IArray<string>;
|
snapshotUrls?: IArray<string>;
|
||||||
exampleUrls?: IArray<string>;
|
exampleUrls?: IArray<string>;
|
||||||
@@ -64,16 +115,23 @@ type RuleConfig = {
|
|||||||
export type SubscriptionConfig = {
|
export type SubscriptionConfig = {
|
||||||
/**
|
/**
|
||||||
* 当前订阅文件的标识, 如果新旧订阅文件id不一致则更新失败\
|
* 当前订阅文件的标识, 如果新旧订阅文件id不一致则更新失败\
|
||||||
* 范围: `[-Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER]`\
|
* 范围: `[0, Number.MAX_SAFE_INTEGER]`\
|
||||||
* 建议值: `new Date().getTime()`
|
* 建议值: `new Date().getTime()`
|
||||||
|
*
|
||||||
|
* 官方默认订阅是 0, 负数 id APP 自己内部使用, APP 不允许用户添加负数 id 的订阅
|
||||||
*/
|
*/
|
||||||
id: number;
|
id: number;
|
||||||
|
/**
|
||||||
|
* 规则的名称
|
||||||
|
*/
|
||||||
name: string;
|
name: string;
|
||||||
|
/**
|
||||||
|
* 必填, 此处有 ? 是因为本项目的 version 由 ts 校验自动生成
|
||||||
|
*/
|
||||||
version?: number;
|
version?: number;
|
||||||
author: string;
|
author: string;
|
||||||
/**
|
/**
|
||||||
* https url
|
* APP 会定时或者用户手动请求这个链接, 如果返回的订阅的 version 大于 APP 订阅当前的 version , 则更新
|
||||||
* android file path
|
|
||||||
*/
|
*/
|
||||||
updateUrl?: string;
|
updateUrl?: string;
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user