|
|
|
@ -0,0 +1,104 @@
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* https://www.mall4j.com/
|
|
|
|
|
*
|
|
|
|
|
* 未经允许,不可做商业用途!
|
|
|
|
|
*
|
|
|
|
|
* 版权所有,侵权必究!
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
package com.yami.shop.bean.app.param;
|
|
|
|
|
|
|
|
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `LoginParam`类是一个用于接收用户登录相关操作参数的数据对象,在电商系统用户登录的业务逻辑处理中起着关键作用。
|
|
|
|
|
* 它主要用于在前端与后端进行交互时,承载用户发起登录操作时所需的各项必要数据信息,以便后端能够依据这些参数准确地执行相应的业务逻辑,
|
|
|
|
|
* 比如验证登录信息的合法性、根据不同的登录方式(小程序登录或账号密码登录)进行对应的身份验证等操作。
|
|
|
|
|
|
|
|
|
|
* @author lanhai
|
|
|
|
|
*/
|
|
|
|
|
@Schema(description = "登陆参数")
|
|
|
|
|
public class LoginParam {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `code`属性用于存储小程序登录时返回的 `code` 值。在小程序登录的流程中,用户授权登录后,小程序会向微信等平台获取一个临时的 `code`,
|
|
|
|
|
* 这个 `code` 会被传递到后端服务器,后端再凭借该 `code` 向对应的平台(如微信开放平台)发起请求,换取用户的相关信息(如唯一标识等),
|
|
|
|
|
* 进而完成登录验证操作。通过 `@Schema` 注解明确其描述为“小程序登陆时返回的 `code`(使用 `code` 登陆必填)”,
|
|
|
|
|
* 并标记为必填项(`required = true`),以此确保在用户选择小程序登录方式时,前端必须传递这个关键的 `code` 参数给后端,
|
|
|
|
|
* 保证登录流程能够顺利进行,避免因缺少必要参数而导致登录失败。
|
|
|
|
|
*/
|
|
|
|
|
@Schema(description = "小程序登陆时返回的code(使用code登陆必填)", required = true)
|
|
|
|
|
private String code;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `mobile`属性用于存放用户登录时的用户名信息,在采用账号密码登录方式时,这里通常指的是用户的手机号码。
|
|
|
|
|
* 手机号码作为常见的账号形式,方便用户记忆且具有唯一性,后端系统会依据这个手机号码去数据库等存储介质中查找对应的用户记录,
|
|
|
|
|
* 并与后续传入的密码进行匹配验证,以确认用户身份的合法性。通过 `@Schema` 注解将其描述为“登陆时的用户名(账号密码登陆必填)”,
|
|
|
|
|
* 同时设为必填项,告知接口调用者在使用账号密码登录时必须提供有效的手机号码作为用户名,保障登录验证过程有准确的账号依据。
|
|
|
|
|
*/
|
|
|
|
|
@Schema(description = "登陆时的用户名(账号密码登陆必填)", required = true)
|
|
|
|
|
private String mobile;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `password`属性用于存储用户登录时输入的密码信息,在账号密码登录模式下,它与前面的 `mobile` 属性一同作为验证用户身份的关键要素。
|
|
|
|
|
* 用户输入的密码会与后端存储的已加密的密码(出于安全考虑,通常会对密码进行加密存储)进行比对,只有两者匹配时,
|
|
|
|
|
* 才会认定用户登录成功。借助 `@Schema` 注解明确其描述为“登陆时的密码(账号密码登陆必填)”,并标记为必填项,
|
|
|
|
|
* 强制要求接口调用者在使用账号密码登录方式时必须提供正确的密码,确保登录操作的安全性和准确性。
|
|
|
|
|
*/
|
|
|
|
|
@Schema(description = "登陆时的密码(账号密码登陆必填)", required = true)
|
|
|
|
|
private String password;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `getCode`方法是一个标准的JavaBean风格的访问器方法(Getter方法),用于获取 `code` 属性的值。
|
|
|
|
|
* 在其他类需要访问本类中存储的小程序登录 `code` 参数信息时,可以通过调用这个方法来获取相应的值,遵循了面向对象编程中封装的原则,
|
|
|
|
|
* 对属性的访问进行了一定的控制,保证数据获取的规范性和安全性。
|
|
|
|
|
*/
|
|
|
|
|
public String getCode() {
|
|
|
|
|
return code;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `setCode`方法是与 `getCode` 对应的修改器方法(Setter方法),用于设置 `code` 属性的值。
|
|
|
|
|
* 当外部需要更新本类中存储的小程序登录 `code` 信息时,可以通过调用这个方法并传入新的字符串值来实现属性值的修改,
|
|
|
|
|
* 同样也是遵循JavaBean规范,方便对属性进行赋值操作,同时在方法内部可以添加一些额外的逻辑(如数据验证等)来保障数据的合法性。
|
|
|
|
|
*/
|
|
|
|
|
public void setCode(String code) {
|
|
|
|
|
this.code = code;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `getMobile`方法是用于获取 `mobile` 属性值的Getter方法,其作用与 `getCode` 类似,
|
|
|
|
|
* 为外部类提供了获取用户名(手机号码)信息的途径,使得其他部分的代码可以按照规范的方式获取该属性存储的内容,便于后续基于用户名进行相关操作。
|
|
|
|
|
*/
|
|
|
|
|
public String getMobile() {
|
|
|
|
|
return mobile;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `setMobile`方法是对应 `getMobile` 的Setter方法,用于设置 `mobile` 属性的值,
|
|
|
|
|
* 当需要更新用户名(手机号码)信息时,外部代码可以调用这个方法传入新的字符串值来改变属性的存储内容,
|
|
|
|
|
* 并且可以在方法内部根据业务需求添加必要的数据校验等逻辑,确保设置的手机号码符合要求。
|
|
|
|
|
*/
|
|
|
|
|
public void setMobile(String mobile) {
|
|
|
|
|
this.mobile = mobile;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `getPassword`方法是获取 `password` 属性值的Getter方法,通过调用它,
|
|
|
|
|
* 其他类能够获取到本类中存储的密码信息,方便在后续的业务逻辑中,例如密码验证等操作中使用该密码作为关键的比对依据,
|
|
|
|
|
* 确保业务操作围绕准确的登录密码展开。
|
|
|
|
|
*/
|
|
|
|
|
public String getPassword() {
|
|
|
|
|
return password;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `setPassword`方法是用于设置 `password` 属性值的Setter方法,当需要更新密码信息时(例如用户修改密码等情况),
|
|
|
|
|
* 外部代码可以调用这个方法传入新的字符串值来改变其存储内容,同样也可以在方法内部添加适当的数据验证逻辑,保障密码的合法性和安全性。
|
|
|
|
|
*/
|
|
|
|
|
public void setPassword(String password) {
|
|
|
|
|
this.password = password;
|
|
|
|
|
}
|
|
|
|
|
}
|