更新管理后台布局,优化菜单项标签,新增支付配置项。同时,调整API响应字段命名,确保一致性,提升代码可读性和维护性。

This commit is contained in:
2026-02-09 14:33:41 +08:00
parent bee72dc7f8
commit dfbe3eb427
77 changed files with 3041 additions and 240 deletions

View File

@@ -4,7 +4,7 @@ import type React from "react"
import { useState, useEffect } from "react"
import Link from "next/link"
import { usePathname, useRouter } from "next/navigation"
import { LayoutDashboard, FileText, Users, CreditCard, Settings, LogOut, Wallet, Globe, BookOpen } from "lucide-react"
import { LayoutDashboard, FileText, Users, CreditCard, Settings, LogOut, Wallet, Globe, BookOpen, Banknote } from "lucide-react"
export default function AdminLayout({ children }: { children: React.ReactNode }) {
const pathname = usePathname()
@@ -43,11 +43,12 @@ export default function AdminLayout({ children }: { children: React.ReactNode })
// 简化菜单:按功能归类,保留核心功能
// PDF需求分账管理、分销管理、订单管理三合一 → 交易中心
const menuItems = [
{ icon: LayoutDashboard, label: "数据概览1888", href: "/admin" },
{ icon: LayoutDashboard, label: "数据概览", href: "/admin" },
{ icon: BookOpen, label: "内容管理", href: "/admin/content" },
{ icon: Users, label: "用户管理", href: "/admin/users" },
{ icon: Wallet, label: "交易中心", href: "/admin/distribution" }, // 合并:分销+订单+提现
{ icon: CreditCard, label: "推广设置", href: "/admin/referral-settings" }, // 单独入口,集中管理分销配置
{ icon: CreditCard, label: "推广设置", href: "/admin/referral-settings" },
{ icon: Banknote, label: "支付配置", href: "/admin/payment" },
{ icon: Settings, label: "系统设置", href: "/admin/settings" },
]

View File

@@ -32,15 +32,15 @@ export async function GET(request: NextRequest) {
id: w.id,
amount: Number(w.amount),
package: w.package_info ?? '',
created_at: w.created_at,
createdAt: w.created_at,
}))
return NextResponse.json({
success: true,
data: {
list: items,
mch_id: mchId,
app_id: appId,
mchId,
appId,
},
})
} catch (e) {

View File

@@ -27,8 +27,8 @@ export async function GET(request: NextRequest) {
id: r.id,
amount: Number(r.amount),
status: r.status,
created_at: r.created_at,
processed_at: r.processed_at,
createdAt: r.created_at,
processedAt: r.processed_at,
}))
return NextResponse.json({