feature 游戏同步
Some checks are pending
Deploy Jekyll site to Pages / build (push) Waiting to run
Deploy Jekyll site to Pages / deploy (push) Blocked by required conditions

1. 增加游戏同步页面
2. 增加支持二维码
This commit is contained in:
Wanxp 2025-03-09 00:13:21 +08:00
parent 0aa0c15cc5
commit 671b28f91a
9 changed files with 95 additions and 5 deletions

@ -164,7 +164,10 @@
| 同步书影音数据 | 以上所有 | 以上所有 | 以上所有 |
| 同步书影音数据 | `替换同名文档`值为勾选 | 已经存在 **同路径同文档名** ,直接覆盖 | 如已经存在在`data/Movie/蝙蝠侠.md`,配置`笔记名称`值为`/data/{{type}}/{{title}}`, 同步书影音记录时勾选 `替换同名文档`, 则`data/Movie/蝙蝠侠.md`会被替换成最新 |
[//]: # (## 鸣谢)
## 支持开发者
如果觉得插件对你有帮助,欢迎请我喝杯咖啡,让我有更多的动力去维护和更新插件
![support_pay](./doc/img/support_pay_2.png)
[//]: # (### IDE支持)

@ -5,11 +5,14 @@ nav_order: 1000
---
## 支持
愿世界充满爱与和平!
愿世界充满爱与和平!
如果觉得喜欢或对您有帮助,欢迎请我喝杯咖啡,让我有更多的动力去维护和更新插件
![support_pay](./img/support_pay_2.png)
## 交流社群
<img src="img/obsidian-douban-qq-qr_code.svg" width="300px">
<img src="https://picture-bed-public.wanxuping.com/obsidian-douban/wechat_group.png" width="245px">
<img src="img/wechat_group.png" width="245px">
[邮件联系我](mailto:977741432@qq.com)
或者[邮件联系我](mailto:977741432@qq.com)

BIN
doc/img/support_pay_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 KiB

@ -204,6 +204,7 @@ export const PersonNameModeRecords: { [key in PersonNameMode]: string } = {
export enum SyncType {
movie = 'movie',
book = 'book',
game = 'game',
broadcast = 'broadcast',
note = 'note',
music = 'music',
@ -216,7 +217,9 @@ export const SyncTypeUrlDomain: Map<SyncType, string> = new Map([
[SyncType.broadcast , 'broadcast'],
[SyncType.note , 'note'],
[SyncType.music , 'music'],
[SyncType.teleplay , 'movie']]
[SyncType.teleplay , 'movie'],
[SyncType.game, 'game'],
]
)
/**

@ -0,0 +1,35 @@
import {DoubanAbstractSyncHandler} from "./DoubanAbstractSyncHandler";
import {BasicConst, SyncType} from "../../../constant/Constsant";
import {SyncConfig} from "../model/SyncConfig";
import HandleContext from "../../data/model/HandleContext";
import DoubanSubjectLoadHandler from "../../data/handler/DoubanSubjectLoadHandler";
import DoubanMovieLoadHandler from "../../data/handler/DoubanMovieLoadHandler";
import DoubanMovieSubject from "../../data/model/DoubanMovieSubject";
import DoubanPlugin from "../../../main";
import {SubjectListItem} from "../../data/model/SubjectListItem";
import DoubanMovieCollectListHandler from "./list/DoubanMovieCollectListHandler";
import {DoubanListHandler} from "./list/DoubanListHandler";
import DoubanMovieWishListHandler from "./list/DoubanMovieWishListHandler";
import DoubanMovieDoListHandler from "./list/DoubanMovieDoListHandler";
import TimeUtil, {sleepRange} from "../../../utils/TimeUtil";
import {log} from "../../../utils/Logutil";
//TODO will support in future version
export class DoubanMovieSyncHandler extends DoubanAbstractSyncHandler<DoubanMovieSubject>{
constructor(plugin:DoubanPlugin) {
super(plugin, new DoubanMovieLoadHandler(plugin),[
new DoubanMovieCollectListHandler(),
new DoubanMovieWishListHandler(),
new DoubanMovieDoListHandler()]);
}
getSyncType(): SyncType {
return SyncType.movie;
}
}

@ -0,0 +1,11 @@
import { DoubanSubjectState} from "src/org/wanxp/constant/DoubanUserState";
import { DoubanMovieListHandler } from "./DoubanMovieListHandler";
import {DoubanGameListHandler} from "./DoubanGameListHandler";
export default class DoubanGameCollectListHandler extends DoubanMovieListHandler{
getDoType(): string {
return DoubanSubjectState.collect;
}
}

@ -0,0 +1,11 @@
import { DoubanSubjectState} from "src/org/wanxp/constant/DoubanUserState";
import { DoubanMovieListHandler } from "./DoubanMovieListHandler";
import {DoubanGameListHandler} from "./DoubanGameListHandler";
export default class DoubanGameDoListHandler extends DoubanMovieListHandler{
getDoType(): string {
return DoubanSubjectState.do;
}
}

@ -0,0 +1,13 @@
import DoubanAbstractListHandler from "./DoubanAbstractListHandler";
import { SyncType} from "../../../../constant/Constsant";
export abstract class DoubanGameListHandler extends DoubanAbstractListHandler {
getSyncType(): SyncType {
return SyncType.game;
}
abstract getDoType(): string;
}

@ -0,0 +1,11 @@
import { DoubanSubjectState} from "src/org/wanxp/constant/DoubanUserState";
import { DoubanMovieListHandler } from "./DoubanMovieListHandler";
import {DoubanGameListHandler} from "./DoubanGameListHandler";
export default class DoubanGameWishListHandler extends DoubanMovieListHandler{
getDoType(): string {
return DoubanSubjectState.wish;
}
}