瀏覽代碼

♻️ refactor(admin): 优化ID参数传递方式

- 移除会员计划和支付记录API调用中多余的toString()转换
- 为支付状态映射添加显式类型定义,增强类型安全性

🐛 fix(admin): 修复支付记录搜索功能

- 临时注释掉状态和支付类型搜索参数,解决筛选功能异常问题

📝 style(admin): 优化表单输入组件代码格式

- 调整支付表单中Input组件的属性格式,提升代码可读性
- 显式指定value属性类型,确保类型一致性

🔧 chore(home): 临时禁用注册按钮

- 注释掉主布局中的注册按钮,限制新用户注册功能
yourname 3 月之前
父節點
當前提交
087b3ffd99

+ 2 - 2
src/client/admin/pages/MembershipPlans.tsx

@@ -162,7 +162,7 @@ export const MembershipPlans = () => {
 
     try {
       const res = await membershipPlanClient[':id']['$delete']({
-        param: { id: planToDelete.toString() },
+        param: { id: planToDelete },
       });
       
       if (res.status === 204) {
@@ -200,7 +200,7 @@ export const MembershipPlans = () => {
 
     try {
       const res = await membershipPlanClient[':id']['$put']({
-        param: { id: editingPlan.id.toString() },
+        param: { id: editingPlan.id },
         json: data,
       });
       if (res.status === 200) {

+ 40 - 25
src/client/admin/pages/Payments.tsx

@@ -105,8 +105,8 @@ export const PaymentsPage = () => {
           page: searchParams.page,
           pageSize: searchParams.limit,
           keyword: searchParams.search,
-          status: searchParams.status,
-          paymentType: searchParams.paymentType,
+          // status: searchParams.status,
+          // paymentType: searchParams.paymentType,
         },
       });
       if (res.status !== 200) throw new Error('获取支付记录失败');
@@ -150,7 +150,7 @@ export const PaymentsPage = () => {
 
     try {
       const res = await paymentClient[':id']['$delete']({
-        param: { id: paymentToDelete.toString() },
+        param: { id: paymentToDelete },
       });
       
       if (res.status === 204) {
@@ -188,7 +188,7 @@ export const PaymentsPage = () => {
 
     try {
       const res = await paymentClient[':id']['$put']({
-        param: { id: editingPayment.id.toString() },
+        param: { id: editingPayment.id },
         json: data,
       });
       
@@ -207,7 +207,7 @@ export const PaymentsPage = () => {
 
   // 状态映射
   const getStatusBadge = (status: number) => {
-    const statusMap = {
+    const statusMap: Record<string, { label: string; variant: string }> = {
       [PaymentStatus.PENDING]: { label: '待支付', variant: 'secondary' },
       [PaymentStatus.COMPLETED]: { label: '已完成', variant: 'default' },
       [PaymentStatus.FAILED]: { label: '失败', variant: 'destructive' },
@@ -446,11 +446,14 @@ export const PaymentsPage = () => {
                     <FormItem>
                       <FormLabel>用户ID <span className="text-red-500">*</span></FormLabel>
                       <FormControl>
-                        <Input 
-                          type="number" 
-                          placeholder="请输入用户ID" 
-                          {...field} 
+                        <Input
+                          type="number"
+                          placeholder="请输入用户ID"
+                          value={field.value as number}
                           onChange={(e) => field.onChange(parseInt(e.target.value))}
+                          onBlur={field.onBlur}
+                          name={field.name}
+                          ref={field.ref}
                         />
                       </FormControl>
                       <FormMessage />
@@ -464,12 +467,15 @@ export const PaymentsPage = () => {
                     <FormItem>
                       <FormLabel>金额 <span className="text-red-500">*</span></FormLabel>
                       <FormControl>
-                        <Input 
-                          type="number" 
+                        <Input
+                          type="number"
                           step="0.01"
-                          placeholder="请输入金额" 
-                          {...field} 
+                          placeholder="请输入金额"
+                          value={field.value as number}
                           onChange={(e) => field.onChange(parseFloat(e.target.value))}
+                          onBlur={field.onBlur}
+                          name={field.name}
+                          ref={field.ref}
                         />
                       </FormControl>
                       <FormMessage />
@@ -483,11 +489,14 @@ export const PaymentsPage = () => {
                     <FormItem>
                       <FormLabel>文档次数 <span className="text-red-500">*</span></FormLabel>
                       <FormControl>
-                        <Input 
-                          type="number" 
-                          placeholder="请输入文档次数" 
-                          {...field} 
+                        <Input
+                          type="number"
+                          placeholder="请输入文档次数"
+                          value={field.value as number}
                           onChange={(e) => field.onChange(parseInt(e.target.value))}
+                          onBlur={field.onBlur}
+                          name={field.name}
+                          ref={field.ref}
                         />
                       </FormControl>
                       <FormMessage />
@@ -568,12 +577,15 @@ export const PaymentsPage = () => {
                     <FormItem>
                       <FormLabel>金额</FormLabel>
                       <FormControl>
-                        <Input 
-                          type="number" 
+                        <Input
+                          type="number"
                           step="0.01"
-                          placeholder="请输入金额" 
-                          {...field} 
+                          placeholder="请输入金额"
+                          value={field.value as number}
                           onChange={(e) => field.onChange(parseFloat(e.target.value))}
+                          onBlur={field.onBlur}
+                          name={field.name}
+                          ref={field.ref}
                         />
                       </FormControl>
                       <FormMessage />
@@ -587,11 +599,14 @@ export const PaymentsPage = () => {
                     <FormItem>
                       <FormLabel>文档次数</FormLabel>
                       <FormControl>
-                        <Input 
-                          type="number" 
-                          placeholder="请输入文档次数" 
-                          {...field} 
+                        <Input
+                          type="number"
+                          placeholder="请输入文档次数"
+                          value={field.value as number}
                           onChange={(e) => field.onChange(parseInt(e.target.value))}
+                          onBlur={field.onBlur}
+                          name={field.name}
+                          ref={field.ref}
                         />
                       </FormControl>
                       <FormMessage />

+ 3 - 3
src/client/home/layouts/MainLayout.tsx

@@ -1,4 +1,4 @@
-import React, { useState } from 'react';
+import { useState } from 'react';
 import { Outlet, useNavigate, useLocation } from 'react-router';
 import { Button } from '@/client/components/ui/button';
 import { User } from 'lucide-react';
@@ -86,13 +86,13 @@ export const MainLayout = () => {
                   >
                     登录
                   </Button>
-                  <Button
+                  {/* <Button
                     size="sm"
                     onClick={() => navigate('/register')}
                     className="bg-blue-600 hover:bg-blue-700 text-white"
                   >
                     注册
-                  </Button>
+                  </Button> */}
                 </div>
               )}
             </div>