feat: Add platform adapters for various content publishing platforms

- Implemented Dongchedi adapter for user detection and publishing.
- Implemented Jianshu adapter for user detection and publishing.
- Implemented Juejin adapter for user detection and publishing.
- Implemented Qiehao adapter for user detection and publishing.
- Implemented Smzdm adapter for user detection and publishing.
- Implemented Sohuhao adapter for user detection and publishing.
- Implemented Toutiaohao adapter for user detection and publishing.
- Implemented Wangyihao adapter for user detection and publishing.
- Implemented Weixin Gzh adapter for user detection and publishing.
- Implemented Zol adapter for user detection and publishing.
- Added documentation for manual testing of media publishing.
This commit is contained in:
2026-04-03 17:48:30 +08:00
parent 32d6a462cd
commit 134dd063c3
33 changed files with 2722 additions and 457 deletions
+15 -13
View File
@@ -275,6 +275,14 @@ function toneClass(tone: CardTone): string {
</div>
</section>
<a-alert
v-if="!pluginInstalled"
type="warning"
show-icon
:message="t('media.plugin.installTitle')"
:description="t('media.plugin.installDesc')"
/>
<section class="media-runtime-card panel">
<div class="media-runtime-card__copy">
<h3 class="panel-title">{{ t("media.plugin.title") }}</h3>
@@ -298,13 +306,7 @@ function toneClass(tone: CardTone): string {
</div>
</section>
<a-alert
v-if="!pluginInstalled"
type="warning"
show-icon
:message="t('media.plugin.installTitle')"
:description="t('media.plugin.installDesc')"
/>
<section class="media-list-wrapper panel">
<div class="custom-tabs">
@@ -331,7 +333,7 @@ function toneClass(tone: CardTone): string {
class="media-search"
>
<template #prefix>
<SearchOutlined style="color: #bfbfbf;" />
<SearchOutlined style="color: #737373;" />
</template>
</a-input>
@@ -375,7 +377,7 @@ function toneClass(tone: CardTone): string {
</a>
</a-menu-item>
<a-menu-item v-if="card.accountCount > 1" disabled>
<span style="color: #bfbfbf;">{{ t("media.card.multiAccount", { count: card.accountCount }) }}</span>
<span style="color: #737373;">{{ t("media.card.multiAccount", { count: card.accountCount }) }}</span>
</a-menu-item>
</a-menu>
</template>
@@ -596,7 +598,7 @@ function toneClass(tone: CardTone): string {
top: 4px;
right: -8px;
background: #f5f5f5;
color: #bfbfbf;
color: f3f#737373;
font-size: 10px;
padding: 2px 6px;
border-radius: 4px;
@@ -716,12 +718,12 @@ function toneClass(tone: CardTone): string {
.media-card__identity-text p {
margin: 2px 0 0;
color: #bfbfbf;
color: #737373;
font-size: 11px;
}
.more-icon {
color: #bfbfbf;
color: #737373;
font-size: 18px;
cursor: pointer;
padding: 0 4px;
@@ -750,7 +752,7 @@ function toneClass(tone: CardTone): string {
.media-card__account-unbound {
font-size: 13px;
color: #bfbfbf;
color: #737373;
}
.media-card__footer {
+1 -1
View File
@@ -501,7 +501,7 @@ function refreshDashboard(): void {
align-items: center;
gap: 6px;
}
.muted { color: #bfbfbf; font-size: 11px; }
.muted { color: #737373; font-size: 11px; }
.muted-dot { color: #d9d9d9; font-size: 10px; }
/* Status Badges */