mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-07 16:16:37 +08:00
裁剪
swagger 移除 merchant swagger 改造首页内容为通用后台管理系统定位 - 修改首页标题从 'LINUX DO Credit' 改为 'Modern Platform' - 更新副标题为 '为二次开发而生' - 更新首页描述为通用平台的特点 - 更新首页特性标签为 '开箱即用、高度可扩展、工业级基建' - 修改展示卡片为技术栈和二次开发相关 - 更新开发者示例代码为通用的注册和 API Key 获取示例 - 更新页脚品牌名为 'Modern Platform' - 调整页脚导航链接为通用平台相关内容 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> 去除遗留 裁剪 移除 /api/v1/user/pay-key 相关代码 - 删除后端 UpdatePayKey 处理器函数和 UpdatePayKeyRequest 结构体 - 删除 User 模型中的 PayKey 字段 - 删除 User.VerifyPayKey 方法 - 删除 EncryptPayKeyFailed 错误常量 - 删除 /api/v1/user/pay-key PUT 路由 - 删除 OAuth 返回中的 IsPayKey 字段 - 删除前端 UserService.updatePayKey 方法 - 删除前端所有支付密钥 UI 和逻辑 - 更新相关的导出和注释 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> 去除遗留 api 修正 系统配置 前端裁剪 后端裁剪 init
This commit is contained in:
@@ -4,24 +4,16 @@ import * as React from "react"
|
||||
import { createContext, useContext, useState, useRef, useCallback } from "react"
|
||||
|
||||
import services from "@/lib/services"
|
||||
import type { UpdateUserPayConfigRequest } from "@/lib/services/admin/types"
|
||||
import type { UserPayConfig, SystemConfig, UpdateSystemConfigRequest } from "@/lib/services"
|
||||
import type { SystemConfig, UpdateSystemConfigRequest } from "@/lib/services"
|
||||
import { handleContextError } from "@/lib/utils/error-handling"
|
||||
|
||||
|
||||
/** Admin 上下文状态接口 */
|
||||
export interface AdminContextState {
|
||||
userPayConfigs: UserPayConfig[]
|
||||
userPayConfigsLoading: boolean
|
||||
userPayConfigsError: Error | null
|
||||
refetchUserPayConfigs: () => Promise<void>
|
||||
updateUserPayConfig: (id: string, data: UpdateUserPayConfigRequest) => Promise<void>
|
||||
deleteUserPayConfig: (id: string) => Promise<void>
|
||||
|
||||
systemConfigs: SystemConfig[]
|
||||
systemConfigsLoading: boolean
|
||||
systemConfigsError: Error | null
|
||||
refetchSystemConfigs: () => Promise<void>
|
||||
refetchSystemConfigs: (type?: 'system' | 'business') => Promise<void>
|
||||
updateSystemConfig: (key: string, data: UpdateSystemConfigRequest) => Promise<void>
|
||||
deleteSystemConfig: (key: string) => Promise<void>
|
||||
}
|
||||
@@ -41,69 +33,22 @@ const AdminContext = createContext<AdminContextState | null>(null)
|
||||
* @param {React.ReactNode} children - Admin Provider 的子元素
|
||||
*/
|
||||
export function AdminProvider({ children }: { children: React.ReactNode }) {
|
||||
const [userPayConfigs, setUserPayConfigs] = useState<UserPayConfig[]>([])
|
||||
const [userPayConfigsLoading, setUserPayConfigsLoading] = useState(false)
|
||||
const [userPayConfigsError, setUserPayConfigsError] = useState<Error | null>(null)
|
||||
|
||||
const [systemConfigs, setSystemConfigs] = useState<SystemConfig[]>([])
|
||||
const [systemConfigsLoading, setSystemConfigsLoading] = useState(false)
|
||||
const [systemConfigsError, setSystemConfigsError] = useState<Error | null>(null)
|
||||
|
||||
const userPayRequestIdRef = useRef(0)
|
||||
const systemRequestIdRef = useRef(0)
|
||||
|
||||
/** 获取用户积分配置列表 */
|
||||
const refetchUserPayConfigs = useCallback(async () => {
|
||||
const requestId = ++userPayRequestIdRef.current
|
||||
|
||||
try {
|
||||
setUserPayConfigsLoading(true)
|
||||
setUserPayConfigsError(null)
|
||||
const data = await services.admin.listUserPayConfigs()
|
||||
|
||||
if (requestId !== userPayRequestIdRef.current) {
|
||||
return
|
||||
}
|
||||
|
||||
setUserPayConfigs(data)
|
||||
setUserPayConfigsLoading(false)
|
||||
} catch (error) {
|
||||
if (requestId !== userPayRequestIdRef.current) {
|
||||
return
|
||||
}
|
||||
|
||||
const errorObject = handleContextError(error, '加载积分配置失败', { logError: true })
|
||||
setUserPayConfigsError(errorObject)
|
||||
setUserPayConfigsLoading(false)
|
||||
}
|
||||
}, [])
|
||||
|
||||
|
||||
/** 更新用户积分配置 */
|
||||
const updateUserPayConfig = useCallback(async (id: string, data: UpdateUserPayConfigRequest) => {
|
||||
try {
|
||||
await services.admin.updateUserPayConfig(id, data)
|
||||
await refetchUserPayConfigs()
|
||||
} catch (error) {
|
||||
handleContextError(error, '更新用户积分配置失败')
|
||||
throw error
|
||||
}
|
||||
}, [refetchUserPayConfigs])
|
||||
|
||||
/** 删除用户积分配置 */
|
||||
const deleteUserPayConfig = useCallback(async (id: string) => {
|
||||
await services.admin.deleteUserPayConfig(id)
|
||||
await refetchUserPayConfigs()
|
||||
}, [refetchUserPayConfigs])
|
||||
const lastConfigTypeRef = useRef<'system' | 'business' | undefined>(undefined)
|
||||
|
||||
/** 获取系统配置列表 */
|
||||
const refetchSystemConfigs = useCallback(async () => {
|
||||
const refetchSystemConfigs = useCallback(async (type?: 'system' | 'business') => {
|
||||
lastConfigTypeRef.current = type
|
||||
const requestId = ++systemRequestIdRef.current
|
||||
|
||||
try {
|
||||
setSystemConfigsLoading(true)
|
||||
setSystemConfigsError(null)
|
||||
const data = await services.admin.listSystemConfigs()
|
||||
const data = await services.admin.listSystemConfigs(type)
|
||||
|
||||
if (requestId !== systemRequestIdRef.current) {
|
||||
return
|
||||
@@ -126,7 +71,7 @@ export function AdminProvider({ children }: { children: React.ReactNode }) {
|
||||
const updateSystemConfig = useCallback(async (key: string, data: UpdateSystemConfigRequest) => {
|
||||
try {
|
||||
await services.admin.updateSystemConfig(key, data)
|
||||
await refetchSystemConfigs()
|
||||
await refetchSystemConfigs(lastConfigTypeRef.current)
|
||||
} catch (error) {
|
||||
handleContextError(error, '更新系统配置失败')
|
||||
throw error
|
||||
@@ -136,17 +81,10 @@ export function AdminProvider({ children }: { children: React.ReactNode }) {
|
||||
/** 删除系统配置 */
|
||||
const deleteSystemConfig = useCallback(async (key: string) => {
|
||||
await services.admin.deleteSystemConfig(key)
|
||||
await refetchSystemConfigs()
|
||||
await refetchSystemConfigs(lastConfigTypeRef.current)
|
||||
}, [refetchSystemConfigs])
|
||||
|
||||
const value: AdminContextState = {
|
||||
userPayConfigs,
|
||||
userPayConfigsLoading,
|
||||
userPayConfigsError,
|
||||
refetchUserPayConfigs,
|
||||
updateUserPayConfig,
|
||||
deleteUserPayConfig,
|
||||
|
||||
systemConfigs,
|
||||
systemConfigsLoading,
|
||||
systemConfigsError,
|
||||
@@ -167,7 +105,7 @@ export function AdminProvider({ children }: { children: React.ReactNode }) {
|
||||
*
|
||||
* @example
|
||||
* ```tsx
|
||||
* const { userPayConfigs, systemConfigs } = useAdmin()
|
||||
* const { systemConfigs } = useAdmin()
|
||||
* ```
|
||||
* @returns {AdminContextState} Admin 上下文状态
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user