diff --git a/.env.example b/.env.example index 1f42ecc..d795880 100644 --- a/.env.example +++ b/.env.example @@ -16,6 +16,3 @@ TRIAL_CONCURRENCY=2 ALLOWED_WS_ORIGINS= OJ2_DEV_USERNAME=student OJ2_DEV_PASSWORD=student123 -# 一言数据集(hitokoto 官方的 sentences-bundle)。默认 data/hitokoto;本机放在仓库旁边的话指过去, -# 读不到就回落到内置的三句,不影响启动 -# HITOKOTO_DIRECTORY=../sentences-bundle diff --git a/apps/api/src/config.ts b/apps/api/src/config.ts index 4f8cf74..f0b8464 100644 --- a/apps/api/src/config.ts +++ b/apps/api/src/config.ts @@ -77,7 +77,7 @@ const envSchema = z.object({ AVATAR_DIRECTORY: text("data/avatar"), TEST_CASE_DIRECTORY: text("data/test_case"), UPLOAD_DIRECTORY: text("data/upload"), - HITOKOTO_DIRECTORY: text("data/hitokoto"), + HITOKOTO_DIRECTORY: text("../sentences-bundle"), ALLOWED_WS_ORIGINS: text(""), UPLOAD_URI_PREFIX: text("/public/upload"), AVATAR_URI_PREFIX: text("/public/avatar"), @@ -150,8 +150,8 @@ export const config = { // 判题沙箱把这个目录挂成只读的 /test_case,两边必须指同一处 testCaseDirectory: repoPath(env.TEST_CASE_DIRECTORY), uploadDirectory: repoPath(env.UPLOAD_DIRECTORY), - // 一言数据集(hitokoto.cn 官方导出),和旧后端读同一份:容器里是 /data/hitokoto。 - // 本机 dev 默认路径下没有这份数据,读不到就回落到内置的几条,不影响启动。 + // 一言数据集(hitokoto.cn 官方的 sentences-bundle)。线上容器里是 /data/hitokoto(Dockerfile 写死, + // 这个默认值管不到);本机默认读仓库旁边那份 ../sentences-bundle,读不到就回落到内置的几条,不影响启动。 hitokotoDirectory: repoPath(env.HITOKOTO_DIRECTORY), /** * WebSocket 升级时额外放行的来源(逗号分隔的完整 origin,如 https://oj.example.com)。 diff --git a/apps/api/src/routes/site.ts b/apps/api/src/routes/site.ts index 7538455..982717b 100644 --- a/apps/api/src/routes/site.ts +++ b/apps/api/src/routes/site.ts @@ -34,7 +34,7 @@ siteRoutes.get("/site/online", async (c) => { return success(c, { count: await onlineCount() } satisfies OnlineCount) }) -// 数据集读不到时的兜底(本机 dev 没挂 data/hitokoto 就会走这里) +// 数据集读不到时的兜底(本机旁边没有 sentences-bundle 就会走这里) const fallbackQuotes = [ { hitokoto: "程序首先是写给人读的,其次才是让机器执行。", diff --git a/apps/web/src/shared/components/Hitokoto.vue b/apps/web/src/shared/components/Hitokoto.vue index f094c57..fbeec3f 100644 --- a/apps/web/src/shared/components/Hitokoto.vue +++ b/apps/web/src/shared/components/Hitokoto.vue @@ -5,7 +5,8 @@ import { useThemeVars } from "naive-ui" import { getHitokoto } from "../api" /** - * 一言(设计稿「一言重设计」A 版):大引号 + 一行句子 + 「—— 谁《出处》· 分类」+ 一个看得见的「换一句」。 + * 一言(设计稿「一言重设计」A 版):大引号 + 一行句子 + 「—— 谁《出处》」+ 一个看得见的「换一句」。 + * 分类(动画、诗词……)不显示;接口里的 type 只用来判断出处要不要加书名号。 * 原来只能点句子换,没人知道;出处被截成「来自 Structure and Interpretatio…」。 * 长句(数据集 p90 44 字、最长 255 字)一行放不下,点句子弹出全文。 * 留着它是给学生一点「无聊的乐趣」,别去掉、别挪到看不见的地方。 @@ -56,22 +57,12 @@ const popVars = computed(() => ({
{{ quote.hitokoto }}
-
- - -
+
—— {{ source }}