增加了一些作品信息展示和更友好的错误界面
All checks were successful
Build / build-and-test (push) Successful in 42s

[BugFix]
增加了错误界面返回链接缺失的换行
修复了不显示作者笔名的陈年老 Bug (我觉得我是不是 SB, 把 pseud 写成 pesud)
This commit is contained in:
2025-06-09 17:20:48 +08:00
parent eca669d62a
commit c4464e1202
3 changed files with 57 additions and 24 deletions

View File

@ -15,6 +15,8 @@ export const useWorkReadState = defineStore('workRead', () => {
const text = ref(null)
const state = ref('')
const publishedTime = ref(null)
const completedTime = ref(null)
const updatedTime = ref(null)
const wordCount = ref(0)
const kudoCount = ref(0)
const hitCount = ref(0)
@ -32,6 +34,8 @@ export const useWorkReadState = defineStore('workRead', () => {
pseud.value = data.pseud
text.value = data.text
publishedTime.value = data.stats.publishedTime
completedTime.value = data.stats.completedTime
updatedTime.value = data.stats.updatedTime
wordCount.value = data.stats.wordCount
kudoCount.value = data.stats.kudoCount
hitCount.value = data.stats.hitCount
@ -66,26 +70,20 @@ export const useWorkReadState = defineStore('workRead', () => {
state.value = import.meta.env.SSR ? 'ssrnotfound' : 'notfound'
} else if (result.status == 401) {
state.value = 'unauth'
} else if (result.status == 500) {
state.value = 'error'
}
}
return {
id, cid,
title,
summary,
pseud,
text,
state,
title, summary,
pseud, text, state,
publishedTime,
wordCount,
kudoCount,
hitCount,
category,
fandom,
lang,
chapters,
chapterIndex,
chapterStat,
setData,
loadWork
completedTime,
updatedTime,
wordCount, kudoCount, hitCount,
category, fandom, lang,
chapters, chapterIndex, chapterStat,
setData, loadWork
}
})

View File

@ -21,9 +21,10 @@ onUnmounted(() => console.log('Unmounted'))*/
---
一个 AO3 镜像站, 优化了 UI/UX
作者 (1)
作者 {#contact}
---
- [UnknownMp](https://www.unknownmp.top)
邮件: unknownmp@unknownmp.top
<mdui-avatar src="https://cdn.unknownmp.top/website/logo.jpg"></mdui-avatar>
---

View File

@ -122,7 +122,16 @@ async function switchWorkWithIndex(target) {
ID: {{workReadState.id}}<br/>
<template v-if="workReadState.cid">
CID: {{ workReadState.cid }}
</template>
</template><br/>
<a @click="$router.back()">返回</a>
</template><template v-if="workReadState.state == 'error'">
<h2>内部服务器错误</h2>
这种情况不是你的问题, 而是我给网站写的屎山代码发力了, <a href="/about#contact">这里</a> 联系我修复此问题<br/>
并提供以下信息:<br/>
ID: {{workReadState.id}}<br/>
<template v-if="workReadState.cid">
CID: {{ workReadState.cid }}
</template><br/>
<a @click="$router.back()">返回</a>
</template><template v-if="workReadState.state == 'errformat'">
<h2>路径格式错误</h2>
@ -138,9 +147,10 @@ async function switchWorkWithIndex(target) {
</template>
<template v-if="workReadState.state == 'ready'">
<article>
<h1 style="margin: auto">{{ workReadState.title }}</h1>
<h4>{{ workReadState.pesud }}</h4>
<mdui-card style="margin: 8px; padding: 16px;">
<h1>{{ workReadState.title }}</h1>
<h4>{{ workReadState.pseud }}</h4>
<a target="_blank" :href="workReadState.cid ? `https://archiveofourown.org/works/${workReadState.id}/chapters/${workReadState.cid}` : `https://archiveofourown.org/works/${workReadState.id}`"> AO3 链接</a>
<mdui-card style="margin: 8px 0px; padding: 16px;">
<strong>作品信息</strong><dl>
<template v-if="workReadState.category"><dt>分类</dt><ul>
<li v-for="item in workReadState.category" :key="item">
@ -150,16 +160,30 @@ async function switchWorkWithIndex(target) {
<li v-for="item in workReadState.fandom" :key="item">
{{ item }}</li>
</ul></template>
<template v-if="workReadState.additionalTags"><dt>附加 Tag</dt><ul>
<li v-for="item in workReadState.additionalTags" :key="item">
{{ item }}</li>
</ul></template>
<dt>语言</dt><dd>
{{ workReadState.lang }}
</dd>
</dl><Hr/>
<strong>作品状态</strong><dl>
<dt>发布时间</dt><dd>
<dt>发布</dt><dd>
{{ workReadState.publishedTime.year }} -
{{ workReadState.publishedTime.month }} -
{{ workReadState.publishedTime.date }}
</dd>
<template v-if="workReadState.completedTime"><dt>完成</dt><dd>
{{ workReadState.completedTime.year }} -
{{ workReadState.completedTime.month }} -
{{ workReadState.completedTime.date }}
</dd></template>
<template v-if="workReadState.updatedTime"><dt>更新</dt><dd>
{{ workReadState.updatedTime.year }} -
{{ workReadState.updatedTime.month }} -
{{ workReadState.updatedTime.date }}
</dd></template>
<dt>字数</dt><dd>
{{ workReadState.wordCount }}
</dd>
@ -220,7 +244,7 @@ async function switchWorkWithIndex(target) {
<template #ssr>
<template v-if="workReadState.state == 'ready'">
<h2>{{ workReadState.title }}</h2>
<h4>{{ workReadState.pesud }}</h4>
<h4>{{ workReadState.pseud }}</h4>
<dl>
<template v-if="workReadState.category"><dt>分类</dt><ul>
<li v-for="item in workReadState.category" :key="item">
@ -233,11 +257,21 @@ async function switchWorkWithIndex(target) {
<dt>语言</dt><dd>
{{ workReadState.lang }}
</dd>
<dt>发布时间</dt><dd>
<dt>发布</dt><dd>
{{ workReadState.publishedTime.year }} -
{{ workReadState.publishedTime.month }} -
{{ workReadState.publishedTime.date }}
</dd>
<template v-if="workReadState.completedTime"><dt>完成</dt><dd>
{{ workReadState.completedTime.year }} -
{{ workReadState.completedTime.month }} -
{{ workReadState.completedTime.date }}
</dd></template>
<template v-if="workReadState.updatedTime"><dt>更新</dt><dd>
{{ workReadState.updatedTime.year }} -
{{ workReadState.updatedTime.month }} -
{{ workReadState.updatedTime.date }}
</dd></template>
<dt>字数</dt><dd>
{{ workReadState.wordCount }}
</dd>