From 32b900547a4703f3ed985344009beed88f54734b Mon Sep 17 00:00:00 2001 From: root Date: Sun, 7 Jun 2026 19:18:24 +0800 Subject: [PATCH] ss --- .env.example | 2 + .env.local | 2 + app/[locale]/ebooks/[slug]/page.tsx | 15 + app/[locale]/page.tsx | 387 +--------------------- app/[locale]/videos/[slug]/page.tsx | 19 +- app/components/ContentSubmissionModal.tsx | 64 ++-- app/digital/lib/auth-cookie.ts | 9 +- app/digital/lib/env.ts | 3 +- app/lib/auth-cookie.ts | 9 +- app/lib/env.ts | 4 +- backend/.env.example | 1 + backend/settings.py | 3 +- cnomadcna.sh | 2 + config/digital/domain.config.ts | 12 +- config/digital/services.config.ts | 5 +- config/runtime-env.ts | 17 + 16 files changed, 127 insertions(+), 427 deletions(-) create mode 100644 config/runtime-env.ts diff --git a/.env.example b/.env.example index 4ea967c..8e8bf24 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,6 @@ # ========== 与 payjsapi/digital/nomadvip 同源 ========== +APP_ENV=development +NEXT_PUBLIC_APP_ENV=development NEXT_PUBLIC_POCKETBASE_URL=https://pocketbase.hackrobot.cn POCKETBASE_JOIN_COLLECTION=solan POCKETBASE_EMAIL=xiaoshuang.eric@gmail.com diff --git a/.env.local b/.env.local index cb49f82..cbe1acb 100644 --- a/.env.local +++ b/.env.local @@ -1,4 +1,6 @@ # Linux 生产环境 - nomadro.cn +APP_ENV=production +NEXT_PUBLIC_APP_ENV=production ROOT_DOMAIN=nomadro.cn NEXT_PUBLIC_ROOT_DOMAIN=nomadro.cn NEXT_PUBLIC_POCKETBASE_URL=https://pocketbase.nomadro.cn diff --git a/app/[locale]/ebooks/[slug]/page.tsx b/app/[locale]/ebooks/[slug]/page.tsx index dd85113..035517c 100644 --- a/app/[locale]/ebooks/[slug]/page.tsx +++ b/app/[locale]/ebooks/[slug]/page.tsx @@ -4,6 +4,7 @@ import { use, useEffect, useState } from "react"; import { Link, useLocale } from "@/i18n/navigation"; import { apiFetch } from "@/app/lib/api-client"; import Footer from "@/app/components/Footer"; +import ContentSubmissionModal from "@/app/components/ContentSubmissionModal"; interface ContentItem { slug: string; @@ -33,6 +34,7 @@ export default function EbookPage({ params }: { params: Promise<{ slug: string } const locale = useLocale(); const [item, setItem] = useState(null); const [cities, setCities] = useState([]); + const [submissionOpen, setSubmissionOpen] = useState(false); useEffect(() => { apiFetch<{ item: ContentItem; cities: CityLite[] }>(`/api/content/${slug}`) @@ -89,6 +91,13 @@ export default function EbookPage({ params }: { params: Promise<{ slug: string } 用城市数据规划路线 + 返回首页 @@ -109,6 +118,12 @@ export default function EbookPage({ params }: { params: Promise<{ slug: string } + setSubmissionOpen(false)} + />