tycoding 1 år sedan
förälder
incheckning
7aa5899835

+ 0 - 3
docs/langchat.sql

@@ -1,9 +1,6 @@
 CREATE DATABASE IF NOT EXISTS langchat;
 USE langchat;
 
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;=
-
 SET NAMES utf8mb4;
 SET FOREIGN_KEY_CHECKS = 0;
 

+ 16 - 5
langchat-server/src/main/java/cn/tycoding/langchat/server/controller/AigcUserController.java

@@ -21,10 +21,12 @@ import cn.hutool.core.lang.Dict;
 import cn.tycoding.langchat.biz.entity.AigcUser;
 import cn.tycoding.langchat.biz.service.AigcUserService;
 import cn.tycoding.langchat.common.annotation.ApiLog;
+import cn.tycoding.langchat.common.properties.AuthProps;
 import cn.tycoding.langchat.common.utils.MybatisUtil;
 import cn.tycoding.langchat.common.utils.QueryPage;
 import cn.tycoding.langchat.common.utils.R;
 import cn.tycoding.langchat.upms.utils.AuthUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.*;
@@ -41,6 +43,7 @@ import java.util.List;
 public class AigcUserController {
 
     private final AigcUserService userService;
+    private final AuthProps authProps;
 
     @GetMapping("/info")
     public R<AigcUser> info() {
@@ -56,23 +59,30 @@ public class AigcUserController {
 
     @GetMapping("/list")
     public R<List<AigcUser>> list(AigcUser data) {
-        return R.ok(userService.list(Wrappers.lambdaQuery()));
+        List<AigcUser> list = userService.list(Wrappers.lambdaQuery());
+        list.forEach(i -> i.setPassword(null));
+        return R.ok(list);
     }
 
     @GetMapping("/page")
     public R<Dict> page(AigcUser user, QueryPage queryPage) {
-        return R.ok(MybatisUtil.getData(userService.page(user, queryPage)));
+        IPage<AigcUser> page = userService.page(user, queryPage);
+        page.getRecords().forEach(i -> i.setPassword(null));
+        return R.ok(MybatisUtil.getData(page));
     }
 
     @GetMapping("/{id}")
-    public R<AigcUser> findById(@PathVariable Long id) {
-        return R.ok(userService.getById(id));
+    public R<AigcUser> findById(@PathVariable String id) {
+        AigcUser user = userService.getById(id);
+        user.setPassword(null);
+        return R.ok(user);
     }
 
     @PostMapping
     @ApiLog("新增客户端用户")
     @SaCheckPermission("aigc:user:add")
     public R<AigcUser> add(@RequestBody AigcUser data) {
+        data.setPassword(AuthUtil.encode(authProps.getSaltKey(), data.getPassword()));
         userService.save(data);
         return R.ok();
     }
@@ -81,6 +91,7 @@ public class AigcUserController {
     @ApiLog("修改客户端用户")
     @SaCheckPermission("aigc:user:update")
     public R update(@RequestBody AigcUser data) {
+        data.setPassword(AuthUtil.encode(authProps.getSaltKey(), data.getPassword()));
         userService.updateById(data);
         return R.ok();
     }
@@ -88,7 +99,7 @@ public class AigcUserController {
     @DeleteMapping("/{id}")
     @ApiLog("删除客户端用户")
     @SaCheckPermission("aigc:user:delete")
-    public R delete(@PathVariable Long id) {
+    public R delete(@PathVariable String id) {
         AigcUser user = userService.getById(id);
         if (user != null) {
             userService.removeById(id);

+ 11 - 0
langchat-ui-client/src/views/login/data.ts

@@ -32,6 +32,17 @@ export const rules = {
       return;
     },
   },
+  username: {
+    key: 'username',
+    required: true,
+    trigger: ['blur'],
+    validator: (rule: any, value: string) => {
+      if (isBlank(value)) {
+        return new Error('请输入用户名');
+      }
+      return true;
+    },
+  },
   code: {
     key: 'code',
     required: true,

+ 10 - 17
langchat-ui/src/views/aigc/user/columns.ts

@@ -116,6 +116,16 @@ export const formSchemas: FormSchema[] = [
     },
     rules: [{ required: true, message: '请输入用户名', trigger: ['blur'] }],
   },
+  {
+    field: 'password',
+    label: '密码',
+    component: 'NInput',
+    componentProps: {
+      type: 'password',
+      placeholder: '请输入密码',
+    },
+    rules: [{ required: true, message: '请输入密码', trigger: ['blur'] }],
+  },
   {
     field: 'nickname',
     label: '用户昵称',
@@ -142,23 +152,6 @@ export const formSchemas: FormSchema[] = [
       ],
     },
   },
-  {
-    field: 'status',
-    component: 'NRadioGroup',
-    label: '用户状态',
-    componentProps: {
-      options: [
-        {
-          label: '启用',
-          value: true,
-        },
-        {
-          label: '禁用',
-          value: false,
-        },
-      ],
-    },
-  },
   {
     field: 'phone',
     label: '手机号',

+ 1 - 1
langchat-ui/src/views/aigc/user/edit.vue

@@ -51,7 +51,7 @@
     if (id) {
       setFieldsValue(await getById(id));
     } else {
-      setFieldsValue({ status: true, sex: '男' });
+      setFieldsValue({ isPerms: true });
     }
   }