Sfoglia il codice sorgente

feat: able to manage user's quota now

JustSong 2 anni fa
parent
commit
61e682ca47
2 ha cambiato i file con 23 aggiunte e 4 eliminazioni
  1. 1 2
      model/user.go
  2. 22 2
      web/src/pages/User/EditUser.js

+ 1 - 2
model/user.go

@@ -19,8 +19,7 @@ type User struct {
 	Email            string `json:"email" gorm:"index" validate:"max=50"`
 	GitHubId         string `json:"github_id" gorm:"column:github_id;index"`
 	WeChatId         string `json:"wechat_id" gorm:"column:wechat_id;index"`
-	VerificationCode string `json:"verification_code" gorm:"-:all"` // this field is only for Email verification, don't save it to database!
-	Balance          int    `json:"balance" gorm:"type:int;default:0"`
+	VerificationCode string `json:"verification_code" gorm:"-:all"`                                    // this field is only for Email verification, don't save it to database!
 	AccessToken      string `json:"access_token" gorm:"type:char(32);column:access_token;uniqueIndex"` // this token is for system management
 	Quota            int    `json:"quota" gorm:"type:int;default:0"`
 }

+ 22 - 2
web/src/pages/User/EditUser.js

@@ -14,8 +14,9 @@ const EditUser = () => {
     github_id: '',
     wechat_id: '',
     email: '',
+    quota: 0,
   });
-  const { username, display_name, password, github_id, wechat_id, email } =
+  const { username, display_name, password, github_id, wechat_id, email, quota } =
     inputs;
   const handleInputChange = (e, { name, value }) => {
     setInputs((inputs) => ({ ...inputs, [name]: value }));
@@ -44,7 +45,11 @@ const EditUser = () => {
   const submit = async () => {
     let res = undefined;
     if (userId) {
-      res = await API.put(`/api/user/`, { ...inputs, id: parseInt(userId) });
+      let data = { ...inputs, id: parseInt(userId) };
+      if (typeof data.quota === 'string') {
+        data.quota = parseInt(data.quota);
+      }
+      res = await API.put(`/api/user/`, data);
     } else {
       res = await API.put(`/api/user/self`, inputs);
     }
@@ -92,6 +97,21 @@ const EditUser = () => {
               autoComplete='new-password'
             />
           </Form.Field>
+          {
+            userId && (
+              <Form.Field>
+                <Form.Input
+                  label='剩余额度'
+                  name='quota'
+                  placeholder={'请输入新的剩余额度'}
+                  onChange={handleInputChange}
+                  value={quota}
+                  type={'number'}
+                  autoComplete='new-password'
+                />
+              </Form.Field>
+            )
+          }
           <Form.Field>
             <Form.Input
               label='已绑定的 GitHub 账户'