Commit 84e2fde2 authored by nanahira's avatar nanahira

catchup and schema roles

parent 0eac8cc2
......@@ -10,10 +10,6 @@ Koishi 的 [Yande](https://yande.re) 和 [Konachan](https://konachan.com) 图
npm install koishi-plugin-picsource-yande
```
### 直接安装
在 https://cdn02.moecube.com:444/nanahira/koishi-plugin/picsource-yande/index.js 下载即可。
## 配置
详见 `config.ts` 部分,或详见 Schema 描述配置。
......@@ -9,7 +9,7 @@
"version": "1.0.3",
"license": "MIT",
"dependencies": {
"koishi-thirdeye": "^8.2.0",
"koishi-thirdeye": "^8.2.1",
"source-map-support": "^0.5.21"
},
"devDependencies": {
......@@ -20,7 +20,7 @@
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"koishi": "^4.2.0",
"koishi-plugin-pics": "^8.2.2",
"koishi-plugin-pics": "^8.2.4",
"prettier": "^2.5.1",
"raw-loader": "^4.0.2",
"ts-loader": "^9.2.6",
......@@ -31,7 +31,7 @@
},
"peerDependencies": {
"koishi": "^4.2.0",
"koishi-plugin-pics": "^8.2.0"
"koishi-plugin-pics": "^8.2.2"
}
},
"node_modules/@babel/code-frame": {
......@@ -2685,12 +2685,12 @@
}
},
"node_modules/koishi-plugin-pics": {
"version": "8.2.2",
"resolved": "https://registry.npmjs.org/koishi-plugin-pics/-/koishi-plugin-pics-8.2.2.tgz",
"integrity": "sha512-GkBHvJPpKE5rwAsurZDTDH1PcLzksuBXuLTGt9J/SsMgD4iFq7V96lE1fpYQJMy3VQlrHZ60vIbDZqOhorXeSA==",
"version": "8.2.4",
"resolved": "https://registry.npmjs.org/koishi-plugin-pics/-/koishi-plugin-pics-8.2.4.tgz",
"integrity": "sha512-0z51tQXwOqUDIHk1LZlxQezsWQi6dERuPNqA9o/zkP9Cf86lDj3hrcNoMmeSkLaLJYO22JonX/t434WQNkYxog==",
"dev": true,
"dependencies": {
"koishi-thirdeye": "^8.2.0",
"koishi-thirdeye": "^8.2.1",
"lodash": "^4.17.21",
"source-map-support": "^0.5.20"
},
......@@ -2699,21 +2699,21 @@
}
},
"node_modules/koishi-thirdeye": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-8.2.0.tgz",
"integrity": "sha512-8qC0flqMSIV+17t5/uT2ihmZdBqggt5qdepL6HjjIJStt2phZrzKfPmpzNItCyg8W2zmEPyop5AcYSJWQIV4fg==",
"version": "8.2.1",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-8.2.1.tgz",
"integrity": "sha512-EVOqunYyach5sd5R7MQdcVzav2+dskiWDWo815jS+4bOQEjTMSuvU/cxZhzS5XnPAK9ZBUyeChJ8+h+7O8FtRg==",
"dependencies": {
"@types/koa": "^2.13.4",
"@types/koa__router": "^8.0.11",
"koishi-decorators": "^1.0.6",
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
"schemastery": "^2.1.2",
"schemastery-gen": "^2.4.0",
"schemastery": "^2.4.2",
"schemastery-gen": "^2.4.1",
"typed-reflector": "^1.0.9"
},
"peerDependencies": {
"koishi": "^4.1.1"
"koishi": "^4.2.0"
}
},
"node_modules/levn": {
......@@ -3543,14 +3543,14 @@
}
},
"node_modules/schemastery": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.4.1.tgz",
"integrity": "sha512-BBXNUBLlYv3WR0C/EmwMiAUkwv9wWUCwYt13F3wgkoaecAY5JtWTQkHSzZk3UmL+KumfYkCnBIlHxfwFXd4Cyg=="
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.4.2.tgz",
"integrity": "sha512-0sCJuGa7LyAtnoXEVwUKSPSTMfizA0zpK0kX7dzGPLpeLuxgJg7VVyR2KFsfHg+WlqYbUOvoGY7JSNPk5I5uHQ=="
},
"node_modules/schemastery-gen": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.4.0.tgz",
"integrity": "sha512-ez+jP+AHXoBXTX+/D0AkQiaw7lWlhSPts5rEGcDwpPuS8C+/Vu/QYm+A0+wMufpJJ+fBv1HoQHXHUcjqkZh0Hw==",
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.4.1.tgz",
"integrity": "sha512-JJqNrStiTlPwVt72RkcC5GuWqVApr8vbeYFSuy+DMU6SXzZWL39HiSjGddu4q2UtuJOrkffJIpbfeXYNKGtiqg==",
"dependencies": {
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
......@@ -6400,28 +6400,28 @@
}
},
"koishi-plugin-pics": {
"version": "8.2.2",
"resolved": "https://registry.npmjs.org/koishi-plugin-pics/-/koishi-plugin-pics-8.2.2.tgz",
"integrity": "sha512-GkBHvJPpKE5rwAsurZDTDH1PcLzksuBXuLTGt9J/SsMgD4iFq7V96lE1fpYQJMy3VQlrHZ60vIbDZqOhorXeSA==",
"version": "8.2.4",
"resolved": "https://registry.npmjs.org/koishi-plugin-pics/-/koishi-plugin-pics-8.2.4.tgz",
"integrity": "sha512-0z51tQXwOqUDIHk1LZlxQezsWQi6dERuPNqA9o/zkP9Cf86lDj3hrcNoMmeSkLaLJYO22JonX/t434WQNkYxog==",
"dev": true,
"requires": {
"koishi-thirdeye": "^8.2.0",
"koishi-thirdeye": "^8.2.1",
"lodash": "^4.17.21",
"source-map-support": "^0.5.20"
}
},
"koishi-thirdeye": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-8.2.0.tgz",
"integrity": "sha512-8qC0flqMSIV+17t5/uT2ihmZdBqggt5qdepL6HjjIJStt2phZrzKfPmpzNItCyg8W2zmEPyop5AcYSJWQIV4fg==",
"version": "8.2.1",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-8.2.1.tgz",
"integrity": "sha512-EVOqunYyach5sd5R7MQdcVzav2+dskiWDWo815jS+4bOQEjTMSuvU/cxZhzS5XnPAK9ZBUyeChJ8+h+7O8FtRg==",
"requires": {
"@types/koa": "^2.13.4",
"@types/koa__router": "^8.0.11",
"koishi-decorators": "^1.0.6",
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
"schemastery": "^2.1.2",
"schemastery-gen": "^2.4.0",
"schemastery": "^2.4.2",
"schemastery-gen": "^2.4.1",
"typed-reflector": "^1.0.9"
}
},
......@@ -7008,14 +7008,14 @@
}
},
"schemastery": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.4.1.tgz",
"integrity": "sha512-BBXNUBLlYv3WR0C/EmwMiAUkwv9wWUCwYt13F3wgkoaecAY5JtWTQkHSzZk3UmL+KumfYkCnBIlHxfwFXd4Cyg=="
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.4.2.tgz",
"integrity": "sha512-0sCJuGa7LyAtnoXEVwUKSPSTMfizA0zpK0kX7dzGPLpeLuxgJg7VVyR2KFsfHg+WlqYbUOvoGY7JSNPk5I5uHQ=="
},
"schemastery-gen": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.4.0.tgz",
"integrity": "sha512-ez+jP+AHXoBXTX+/D0AkQiaw7lWlhSPts5rEGcDwpPuS8C+/Vu/QYm+A0+wMufpJJ+fBv1HoQHXHUcjqkZh0Hw==",
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.4.1.tgz",
"integrity": "sha512-JJqNrStiTlPwVt72RkcC5GuWqVApr8vbeYFSuy+DMU6SXzZWL39HiSjGddu4q2UtuJOrkffJIpbfeXYNKGtiqg==",
"requires": {
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
......
......@@ -30,7 +30,7 @@
"koishi-plugin-pics": "^8.2.2"
},
"dependencies": {
"koishi-thirdeye": "^8.2.0",
"koishi-thirdeye": "^8.2.1",
"source-map-support": "^0.5.21"
},
"devDependencies": {
......@@ -41,7 +41,7 @@
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"koishi": "^4.2.0",
"koishi-plugin-pics": "^8.2.2",
"koishi-plugin-pics": "^8.2.4",
"prettier": "^2.5.1",
"raw-loader": "^4.0.2",
"ts-loader": "^9.2.6",
......
import 'source-map-support/register';
import { DefineSchema, RegisterSchema } from 'koishi-thirdeye';
import { PicSourceInfo } from 'koishi-plugin-pics';
import { PicSourceConfig } from 'koishi-plugin-pics';
@RegisterSchema()
export class InstanceConfig implements PicSourceInfo {
@DefineSchema({ description: '图源名称', default: 'yande' })
name: string;
@DefineSchema({ type: 'string', default: [], description: '图源标签' })
tags: string[];
@DefineSchema({ default: 1, description: '图源权重' })
weight: number;
@DefineSchema({ description: '图源描述' })
description?: string;
@DefineSchema({ description: '是否为默认图源' })
isDefault?: boolean;
export class InstanceConfig extends PicSourceConfig {
@DefineSchema({
description: '网站 post.json 的地址',
description:
'网站 post.json 的地址。如果使用 Konachan 则可以使用 `https://konachan.com/post.json` 。',
default: 'https://yande.re/post.json',
role: 'url',
})
endpoint: string;
@DefineSchema({ description: '页数上限。', default: 200 })
pageLimit: number;
@DefineSchema({ description: '使用原始图而不是 sample 图。', default: false })
@DefineSchema({ description: '使用原始图而不是 sample 图。', default: true })
useOriginal: boolean;
// 给目标对象注入上述对象。
applyTo(target: PicSourceInfo) {
target.tags = this.tags;
target.weight = this.weight;
target.name = this.name;
target.description = this.description;
target.isDefault = this.isDefault;
}
}
@RegisterSchema()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment