diff --git a/.gitignore b/.gitignore index 9dbf81b3..34ea6e08 100644 --- a/.gitignore +++ b/.gitignore @@ -43,7 +43,6 @@ Thumbs.db # go workspace go.work go.work.sum -/credit main # upload diff --git a/docker/Dockerfile.frontend b/docker/Dockerfile.frontend index 5d03df01..11b32cc0 100644 --- a/docker/Dockerfile.frontend +++ b/docker/Dockerfile.frontend @@ -12,10 +12,10 @@ RUN corepack enable && corepack prepare pnpm@10.10.0 --activate FROM base AS builder ENV NODE_ENV=production -ENV NEXT_PUBLIC_LINUX_DO_CREDIT_BACKEND_URL=https://build-placeholder.invalid -ENV LINUX_DO_CREDIT_SESSION_COOKIE_NAME=__LINUX_DO_CREDIT_SESSION_COOKIE_NAME__ -ENV LINUX_DO_CREDIT_RATE_LIMIT_ENABLED=__LINUX_DO_CREDIT_RATE_LIMIT_ENABLED__ -ENV LINUX_DO_CREDIT_BACKEND_URL=https://build-placeholder-2.invalid +ENV NEXT_PUBLIC_WAVELET_BACKEND_URL=https://build-placeholder.invalid +ENV WAVELET_SESSION_COOKIE_NAME=__WAVELET_SESSION_COOKIE_NAME__ +ENV WAVELET_RATE_LIMIT_ENABLED=__WAVELET_RATE_LIMIT_ENABLED__ +ENV WAVELET_BACKEND_URL=https://build-placeholder-2.invalid ARG VERSION="" ARG BUILD_DATE="" @@ -36,8 +36,8 @@ RUN pnpm build RUN grep -rl \ -e "https://build-placeholder.invalid" \ -e "https://build-placeholder-2.invalid" \ - -e "__LINUX_DO_CREDIT_SESSION_COOKIE_NAME__" \ - -e "__LINUX_DO_CREDIT_RATE_LIMIT_ENABLED__" \ + -e "__WAVELET_SESSION_COOKIE_NAME__" \ + -e "__WAVELET_RATE_LIMIT_ENABLED__" \ /app/.next > /app/.replace.files FROM base AS runner diff --git a/docs/DEPLOYMENT.md b/docs/DEPLOYMENT.md index 89ad1202..5781fee2 100644 --- a/docs/DEPLOYMENT.md +++ b/docs/DEPLOYMENT.md @@ -196,7 +196,7 @@ server { exec_mode: 'cluster', env: { NODE_ENV: 'production', - LINUX_DO_CREDIT_BACKEND_URL: 'https://api.yourdomain.com' + WAVELET_BACKEND_URL: 'https://api.yourdomain.com' } } ] diff --git a/docs/docs.go b/docs/docs.go index fb3e3a31..04b6e2d2 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -10,8 +10,8 @@ const docTemplate = `{ "description": "{{escape .Description}}", "title": "{{.Title}}", "contact": { - "name": "LINUX DO Credit", - "url": "https://linux.do" + "name": "Wavelet", + "url": "https://github.com/Rain-kl/Wavelet" }, "license": { "name": "Apache 2.0", @@ -4399,8 +4399,8 @@ var SwaggerInfo = &swag.Spec{ Host: "", BasePath: "/", Schemes: []string{}, - Title: "LINUX DO Credit", - Description: "LINUX DO Credit 平台后端 API,提供用户认证、商户 API Key 管理、系统配置等功能。", + Title: "Wavelet API", + Description: "Wavelet 平台后端 API,提供用户认证、系统配置、任务调度等通用功能。", InfoInstanceName: "swagger", SwaggerTemplate: docTemplate, LeftDelim: "{{", diff --git a/docs/swagger.json b/docs/swagger.json index be2a0be3..4457b72c 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -1,11 +1,11 @@ { "swagger": "2.0", "info": { - "description": "LINUX DO Credit 平台后端 API,提供用户认证、商户 API Key 管理、系统配置等功能。", - "title": "LINUX DO Credit", + "description": "Wavelet 平台后端 API,提供用户认证、系统配置、任务调度等通用功能。", + "title": "Wavelet API", "contact": { - "name": "LINUX DO Credit", - "url": "https://linux.do" + "name": "Wavelet", + "url": "https://github.com/Rain-kl/Wavelet" }, "license": { "name": "Apache 2.0", diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 4335a4b5..102b156b 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -788,13 +788,13 @@ definitions: type: object info: contact: - name: LINUX DO Credit - url: https://linux.do - description: LINUX DO Credit 平台后端 API,提供用户认证、商户 API Key 管理、系统配置等功能。 + name: Wavelet + url: https://github.com/Rain-kl/Wavelet + description: Wavelet 平台后端 API,提供用户认证、系统配置、任务调度等通用功能。 license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html - title: LINUX DO Credit + title: Wavelet API version: 1.0.0 paths: /api/cap/challenge: diff --git a/frontend/.env.example b/frontend/.env.example index a855cd4f..1027682d 100644 --- a/frontend/.env.example +++ b/frontend/.env.example @@ -1,11 +1,11 @@ # 前端 URL -LINUX_DO_CREDIT_FRONTEND_URL=http://localhost:3000 +WAVELET_FRONTEND_URL=http://localhost:3000 # 后端 URL -LINUX_DO_CREDIT_BACKEND_URL=http://localhost:8000 +WAVELET_BACKEND_URL=http://localhost:8000 # Session Cookie -LINUX_DO_CREDIT_SESSION_COOKIE_NAME=linux_do_credit_session_id +WAVELET_SESSION_COOKIE_NAME=wavelet_session_id # 环境 NODE_ENV=production \ No newline at end of file diff --git a/frontend/README.md b/frontend/README.md index 412a6b4b..82b40cd8 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,6 +1,6 @@ -# Linux Do Credit Frontend +# Wavelet Frontend -Modern frontend application for the Linux Do Credit system. +Modern frontend application for the Wavelet scaffold framework. [中文](./README_zh.md) | English diff --git a/frontend/README_zh.md b/frontend/README_zh.md index 33b0b12c..a4cd846a 100644 --- a/frontend/README_zh.md +++ b/frontend/README_zh.md @@ -1,6 +1,6 @@ -# Linux Do Credit Frontend +# Wavelet Frontend -Linux Do Credit 系统的现代化前端应用。 +Wavelet 脚手架系统的现代化前端应用。 [English](./README.md) | 中文 diff --git a/frontend/app/(docs)/docs/api/page.tsx b/frontend/app/(docs)/docs/api/page.tsx index 8ba38086..3daac034 100644 --- a/frontend/app/(docs)/docs/api/page.tsx +++ b/frontend/app/(docs)/docs/api/page.tsx @@ -1,6 +1,5 @@ - -import { LegalPageLayout } from "@/components/common/docs/legal-page-layout"; -import { apiSections, DOCS_LAST_UPDATED } from "@/components/common/docs/api"; +import {LegalPageLayout} from "@/components/common/docs/legal-page-layout"; +import {apiSections, DOCS_LAST_UPDATED} from "@/components/common/docs/api"; export default function ApiDocPage() { return ( @@ -10,7 +9,7 @@ export default function ApiDocPage() { sections={apiSections} description={

- LINUX DO Credit 提供简单、强大的 API 接口,支持多种编程语言和开发环境。通过标准化的 HTTP 接口,您可以轻松将积分服务集成到您的应用中。 + Wavelet 提供简单、强大的 API 接口,支持多种编程语言和开发环境。通过标准化的 RESTful 接口,您可以轻松地与后端服务进行集成与二次开发。

} /> diff --git a/frontend/app/(docs)/docs/how-to-use/page.tsx b/frontend/app/(docs)/docs/how-to-use/page.tsx index 0724d257..27e87ba5 100644 --- a/frontend/app/(docs)/docs/how-to-use/page.tsx +++ b/frontend/app/(docs)/docs/how-to-use/page.tsx @@ -1,7 +1,6 @@ - -import { LegalPageLayout } from "@/components/common/docs/legal-page-layout"; -import { howToUseSections } from "@/components/common/docs/how-to-use"; -import { DOCS_LAST_UPDATED } from "@/components/common/docs/api"; +import {LegalPageLayout} from "@/components/common/docs/legal-page-layout"; +import {howToUseSections} from "@/components/common/docs/how-to-use"; +import {DOCS_LAST_UPDATED} from "@/components/common/docs/api"; export default function HowToUsePage() { return ( @@ -11,7 +10,7 @@ export default function HowToUsePage() { sections={howToUseSections} description={

- 欢迎使用 LINUX DO Credit。本文档将引导您快速了解平台的核心功能、角色定义及使用流程,帮助您更好地使用我们的服务。 + 欢迎使用 Wavelet 脚手架系统。本文档将引导您快速了解平台的核心组件、角色权限设计及二次开发流程,帮助您快速上手开发。

} /> diff --git a/frontend/app/(main)/components/page.tsx b/frontend/app/(main)/components/page.tsx index 56ad7f4f..a9a36b90 100644 --- a/frontend/app/(main)/components/page.tsx +++ b/frontend/app/(main)/components/page.tsx @@ -1,40 +1,16 @@ "use client" import * as React from "react" -import { useState, useMemo } from "react" -import { motion, AnimatePresence } from "motion/react" -import { - Card, - CardContent, - CardHeader, - CardTitle, - CardDescription -} from "@/components/ui/card" -import { Badge } from "@/components/ui/badge" -import { Button } from "@/components/ui/button" -import { Progress } from "@/components/ui/progress" -import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs" -import { - Coins, - Gift, - Layers, - Shield, - Info, - ArrowRight, - Activity, - User, - Code2, - Copy, - Check -} from "lucide-react" -import { - Area, - AreaChart, - XAxis, - ResponsiveContainer, - Tooltip as RechartsTooltip -} from "recharts" -import { toast } from "sonner" +import {useMemo, useState} from "react" +import {AnimatePresence, motion} from "motion/react" +import {Card, CardContent, CardDescription, CardHeader, CardTitle} from "@/components/ui/card" +import {Badge} from "@/components/ui/badge" +import {Button} from "@/components/ui/button" +import {Progress} from "@/components/ui/progress" +import {Tabs, TabsContent, TabsList, TabsTrigger} from "@/components/ui/tabs" +import {Activity, ArrowRight, Check, Code2, Coins, Copy, Gift, Info, Layers, Shield, User} from "lucide-react" +import {Area, AreaChart, ResponsiveContainer, Tooltip as RechartsTooltip, XAxis} from "recharts" +import {toast} from "sonner" // ========================================== // 1. 卡片类组件 (Cards) @@ -650,7 +626,7 @@ export function MockTradeTabs() {
@@ -662,7 +638,7 @@ export function MockTradeTabs() { />
diff --git a/frontend/components/common/admin/system-logs.tsx b/frontend/components/common/admin/system-logs.tsx index c464d753..59beadb3 100644 --- a/frontend/components/common/admin/system-logs.tsx +++ b/frontend/components/common/admin/system-logs.tsx @@ -16,7 +16,7 @@ interface LogEntry { } function getApiBaseUrl(): string { - return process.env.NEXT_PUBLIC_LINUX_DO_CREDIT_BACKEND_URL || "" + return process.env.NEXT_PUBLIC_WAVELET_BACKEND_URL || "" } function buildWsUrl(): string { diff --git a/frontend/components/home/footer-section.tsx b/frontend/components/home/footer-section.tsx index 2423644e..7f4630d3 100644 --- a/frontend/components/home/footer-section.tsx +++ b/frontend/components/home/footer-section.tsx @@ -54,7 +54,6 @@ export const FooterSection = React.memo(function FooterSection({ className }: Fo diff --git a/frontend/components/layout/loading.tsx b/frontend/components/layout/loading.tsx index 5e63ed62..b67a6ccf 100644 --- a/frontend/components/layout/loading.tsx +++ b/frontend/components/layout/loading.tsx @@ -1,12 +1,12 @@ import * as React from "react" -import { motion } from "motion/react" -import { Badge } from "@/components/ui/badge" -import { cn } from "@/lib/utils" -import { FileTextIcon } from "lucide-react" +import {motion} from "motion/react" +import {Badge} from "@/components/ui/badge" +import {cn} from "@/lib/utils" +import {FileTextIcon} from "lucide-react" /** * 加载页面组件 - * + * * 用于统一显示加载状态 * @example * ```tsx @@ -74,7 +74,7 @@ function LoadingCard() {
- Credit + Wavelet
@@ -114,7 +114,7 @@ function LoadingCard() { /** * 加载页面组件 - * + * * 用于统一显示加载状态 */ export function LoadingPage({ text = "系统", badgeText = "系统" }: { text?: string, badgeText?: string }) { @@ -130,8 +130,7 @@ export function LoadingPage({ text = "系统", badgeText = "系统" }: { text?: transition={{ delay: 0.2 }} className="relative flex items-center justify-center gap-2" > - LINUX DO - Credit + Wavelet {badgeText && (
diff --git a/frontend/entrypoint.sh b/frontend/entrypoint.sh index 9850b5be..97101cbc 100755 --- a/frontend/entrypoint.sh +++ b/frontend/entrypoint.sh @@ -31,9 +31,9 @@ replace_placeholder() { fi } -replace_placeholder "https://build-placeholder.invalid" "$NEXT_PUBLIC_LINUX_DO_CREDIT_BACKEND_URL" -replace_placeholder "https://build-placeholder-2.invalid" "$LINUX_DO_CREDIT_BACKEND_URL" -replace_placeholder "__LINUX_DO_CREDIT_SESSION_COOKIE_NAME__" "$LINUX_DO_CREDIT_SESSION_COOKIE_NAME" -replace_placeholder "__LINUX_DO_CREDIT_RATE_LIMIT_ENABLED__" "$LINUX_DO_CREDIT_RATE_LIMIT_ENABLED" +replace_placeholder "https://build-placeholder.invalid" "$NEXT_PUBLIC_WAVELET_BACKEND_URL" +replace_placeholder "https://build-placeholder-2.invalid" "$WAVELET_BACKEND_URL" +replace_placeholder "__WAVELET_SESSION_COOKIE_NAME__" "$WAVELET_SESSION_COOKIE_NAME" +replace_placeholder "__WAVELET_RATE_LIMIT_ENABLED__" "$WAVELET_RATE_LIMIT_ENABLED" exec "$@" diff --git a/frontend/lib/services/core/config.ts b/frontend/lib/services/core/config.ts index 4f08ee06..da3c907d 100644 --- a/frontend/lib/services/core/config.ts +++ b/frontend/lib/services/core/config.ts @@ -7,7 +7,7 @@ * @returns API 基础 URL */ export function getApiBaseUrl(): string { - return process.env.NEXT_PUBLIC_LINUX_DO_CREDIT_BACKEND_URL || ''; + return process.env.NEXT_PUBLIC_WAVELET_BACKEND_URL || ''; } /** diff --git a/frontend/next.config.ts b/frontend/next.config.ts index 0a9c5430..2c2d3e0e 100644 --- a/frontend/next.config.ts +++ b/frontend/next.config.ts @@ -8,7 +8,7 @@ const nextConfig: NextConfig = { }, ...(isExport ? { output: 'export' } : { async rewrites() { - const backendUrl = process.env.LINUX_DO_CREDIT_BACKEND_URL || 'http://localhost:8000'; + const backendUrl = process.env.WAVELET_BACKEND_URL || 'http://localhost:8000'; return [ // 易支付兼容接口 - 创建订单 { diff --git a/frontend/proxy.ts b/frontend/proxy.ts index 2c887a34..4bb0d6a3 100644 --- a/frontend/proxy.ts +++ b/frontend/proxy.ts @@ -1,5 +1,5 @@ -import { NextResponse } from 'next/server' -import type { NextRequest } from 'next/server' +import type {NextRequest} from 'next/server' +import {NextResponse} from 'next/server' /** * Next.js 16 代理层 @@ -78,12 +78,12 @@ if (typeof setInterval !== 'undefined') { export function proxy(request: NextRequest) { const { pathname, search } = request.nextUrl - const sessionCookieName = process.env.LINUX_DO_CREDIT_SESSION_COOKIE_NAME || 'linux_do_credit_session_id' + const sessionCookieName = process.env.WAVELET_SESSION_COOKIE_NAME || 'wavelet_session_id' const sessionCookie = request.cookies.get(sessionCookieName) /* API 请求:速率限制后放行 */ if (pathname.startsWith('/api/')) { - const rateLimitEnabled = process.env.LINUX_DO_CREDIT_RATE_LIMIT_ENABLED === 'true' + const rateLimitEnabled = process.env.WAVELET_RATE_LIMIT_ENABLED === 'true' if (rateLimitEnabled && shouldRateLimit(pathname)) { const identifier = sessionCookie?.value || diff --git a/internal/apps/user/constants.go b/internal/apps/user/constants.go index d473d6fe..a715ff87 100644 --- a/internal/apps/user/constants.go +++ b/internal/apps/user/constants.go @@ -16,8 +16,3 @@ limitations under the License. */ package user - -const ( - // linuxDoAPIRateLimitKey Redis 限流 Key - linuxDoAPIRateLimitKey = "linux_do:api:rate_limit" -) diff --git a/internal/common/constants.go b/internal/common/constants.go index 3543dc6e..2ec5a89c 100644 --- a/internal/common/constants.go +++ b/internal/common/constants.go @@ -16,10 +16,3 @@ limitations under the License. */ package common - -const ( - // PayTypeLDCPay Linux Do Credit 支付类型标识 - PayTypeLDCPay = "ldcpay" - // PayTypeEPay Epay 支付类型 - PayTypeEPay = "epay" -) diff --git a/main.go b/main.go index 2b444833..bb7f8fce 100644 --- a/main.go +++ b/main.go @@ -19,11 +19,11 @@ package main import "github.com/Rain-kl/Wavelet/internal/cmd" -// @title LINUX DO Credit +// @title Wavelet API // @version 1.0.0 -// @description LINUX DO Credit 平台后端 API,提供用户认证、商户 API Key 管理、系统配置等功能。 -// @contact.name LINUX DO Credit -// @contact.url https://linux.do +// @description Wavelet 平台后端 API,提供用户认证、系统配置、任务调度等通用功能。 +// @contact.name Wavelet +// @contact.url https://github.com/Rain-kl/Wavelet // @license.name Apache 2.0 // @license.url http://www.apache.org/licenses/LICENSE-2.0.html // @BasePath /