Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

用户模块开发需求描述 #1

Open
val213 opened this issue Aug 11, 2024 · 0 comments
Open

用户模块开发需求描述 #1

val213 opened this issue Aug 11, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@val213
Copy link
Owner

val213 commented Aug 11, 2024

backend

调研之后实现用户模块的相关后端 API

用户注册

  • 功能描述: 注册官网账号,需要用户输入用户名、密码和邮箱。注册成功后,在数据库 user 表中添加对应的记录。
  • 实现步骤:
    1. 接收前端传送的用户名、密码和邮箱。
    2. 验证输入的有效性(例如,检查用户名是否已存在,密码是否符合要求)。
    3. 对密码进行加密处理。
    4. 将用户信息存储到数据库的 user 表中。
    5. 返回注册成功的消息。

用户登录

  • 功能描述: 获取前端传送的用户名和密码,调用用户认证的方法进行验证,返回结果。
  • 实现步骤:
    1. 接收前端传送的用户名和密码。
    2. 在数据库中查找对应的用户记录。
    3. 验证密码是否正确。
    4. 如果验证成功,生成 JWT 令牌并返回给前端。
    5. 如果验证失败,返回错误消息。

获取用户信息

  • 功能描述: 获取用户的基本信息,包括用户名、邮箱和注册时间。
  • 实现步骤:
    1. 接收前端传送的 JWT 令牌。
    2. 验证 JWT 令牌的有效性。
    3. 从数据库中获取对应用户的基本信息。
    4. 返回用户信息给前端。

更新用户信息

  • 功能描述: 更新用户的邮箱和密码。
  • 实现步骤:
    1. 接收前端传送的 JWT 令牌和新的用户信息(邮箱和密码)。
    2. 验证 JWT 令牌的有效性。
    3. 验证新的用户信息的有效性(例如,检查邮箱格式,密码是否符合要求)。
    4. 对新的密码进行加密处理。
    5. 更新数据库中的用户信息。
    6. 返回更新成功的消息。

frontend

注册页面

组件: Register.vue

需求介绍: 实现用户注册界面,包含用户名、密码和邮箱的输入框,以及注册按钮。提交表单后调用注册 API。

登录页面

组件: Login.vue

需求介绍: 实现用户登录界面,包含用户名和密码的输入框,以及登录按钮。提交表单后调用登录 API,并保存返回的 JWT 令牌。
用户信息页面

组件: UserProfile.vue

需求介绍: 实现用户信息展示界面,显示用户名、邮箱和注册时间。页面加载时调用获取用户信息 API。
更新用户信息页面

组件: UpdateProfile.vue

需求介绍: 实现用户信息更新界面,包含邮箱和密码的输入框,以及更新按钮。提交表单后调用更新用户信息 API。
导航栏组件

组件: Navbar.vue

需求介绍: 实现导航栏,包含登录、注册、用户信息和登出按钮。根据用户登录状态显示不同的导航项。

@val213 val213 added the enhancement New feature or request label Aug 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant