当前位置: 首页 > news >正文

企业网站建设的收获很多网站的微信登录怎么做

企业网站建设的收获,很多网站的微信登录怎么做,论坛小程序源码,开源网站建设实习心得SpringBoot优点达项目实战:获取系统配置接口(二) 文章目录 SpringBoot优点达项目实战:获取系统配置接口(二)1、查看接口2、查看数据库3、代码实现1、创建实体类SysConfig2、创建返回数据的vo3、创建control…

SpringBoot优点达项目实战:获取系统配置接口(二)


文章目录

      • SpringBoot优点达项目实战:获取系统配置接口(二)
        • 1、查看接口
        • 2、查看数据库
        • 3、代码实现
          • 1、创建实体类SysConfig
          • 2、创建返回数据的vo
          • 3、创建controller类
          • 4、实现Service层
          • 5、实现mapper层
        • 4、测试结果

1、查看接口

GET /index/getConfig

请求参数

返回结果

状态码状态码含义说明数据模型
200OK成功Inline

返回数据结构

状态码 200

名称类型必选约束说明
» errnointegertruenonenone
» errmsgstringtruenonenone
» dataobjecttruenonenone
»» login_titlestringtruenone登录页标题
»» login_bgstringtruenone登录页背景
»» system_namestringtruenone系统名称
»» system_logostringtruenone系统logo
»» web_icostringtruenonefavicon
2、查看数据库

image-20240626171542672

从数据库中,可以看出,请求项为管理系统配置

idgroup_valuetab_valueattr_keyattr_nameattr_valuedel_flagtypeconfig_valuevalidatorplaceholder
77systemloginlogin_title登录页标题优化登录系统09
78systemloginlogin_bg登录页背景static/admin/image/loginbg.png09
80systembasesystem_name系统名称优化管理系统09
81systembasesystem_logo系统logostatic/admin/image/logo.png09
82systembaseweb_icofaviconstatic/admin/image/favicon.ico09
3、代码实现
1、创建实体类SysConfig
@Data
public class SystemConfig {@Schema(description = "主键")@TableId(value = "id",type = IdType.AUTO)private Long id;@Schema(description = "配置名称")@TableField(value = "group_value")private String groupValue;@Schema(description = "组件名称")@TableField(value = "tab_value")private String tabValue;@Schema(description = "配置键")@TableField(value = "attr_key")private String attrKey;@Schema(description = "配置名称")@TableField(value = "attr_name")private String attrName;@Schema(description = "配置值")@TableField(value = "attr_value")private String attrValue;@TableLogic@Schema(description = "逻辑删除")@TableField(value = "del_flag")@JsonIgnoreprivate Integer delFlag;@Schema(description = "类型")@TableField(value = "type")private Integer type;@Schema(description = "系统值")@TableField(value = "config_value")private String configValue;@Schema(description = "验证规则")@TableField(value = "validator")private String validator;@Schema(description = "提示文字")@TableField(value = "placeholder")private String placeholder;@Schema(description = "是否能删除")@TableField(value = "can_delete")private Integer canDelete;@Schema(description = "排序")@TableField(value = "sort_num")private Integer sortNum;}
2、创建返回数据的vo

因为前端请求并不需要那么多的数据,所以我们可以在web-admin的包下创建

image-20240626172452307

@Data
@Schema(description = "系统配置实体")
public class SystemConfigVo {@Schema(description = "登录页标题")private String loginTitle;@Schema(description = "登录页背景")private String loginBg;@Schema(description = "系统名称")private String systemName;@Schema(description = "系统logo")private String systemLogo;@Schema(description = "favicon")private String webIco;
}
3、创建controller类
@Tag(name = "基础配置")
@RestController()
@RequestMapping("/index")
@Slf4j
public class BaseSystemConfigController {@Autowiredprivate SystemConfigService systemConfigService;@GetMapping("/getConfig")@Operation(summary = "获取系统配置")public Result<SystemConfigVo> getConfig(){SystemConfigVo systemConfigVo = systemConfigService.getConfig();return Result.ok(systemConfigVo);}
}

包含的注解和类

  • @Tag(name = “基础配置”):这是 OpenAPI(Swagger)的注解,用于给 API 分组,方便生成 API 文档时进行分类。这里的分组名称是 “基础配置”。
  • @RestController:这是 Spring 的注解,表示这个类是一个控制器,并且它的每个方法的返回值会自动转换为 JSON 格式并写入 HTTP 响应中。
  • @RequestMapping(“/index”):这是 Spring 的注解,用于定义请求的基本路径。这里定义了这个控制器的所有请求路径前缀为 /index
  • @Slf4j:这是 Lombok 的注解,用于自动生成一个名为 log 的 Logger 对象,方便在类中进行日志记录。
  • @Autowired:这是 Spring 的注解,用于自动注入依赖。这里注入了 SystemConfigService 服务类。
  • @GetMapping(“/getConfig”):这是 Spring 的注解,用于将 HTTP GET 请求映射到 getConfig 方法。请求路径是 /index/getConfig
  • @Operation(summary = “获取系统配置”):这是 OpenAPI(Swagger)的注解,用于给 API 方法添加描述,方便生成 API 文档时显示。这里的描述是 “获取系统配置”。
4、实现Service层

创建service接口

/*** 针对表sys_config的数据操作service*/
public interface SystemConfigService extends IService<SystemConfig> {/*** 获取系统配置信息* @return*/SystemConfigVo getConfig();/*** 用户等登录* @param systemUser* @return*/String login(SystemUser systemUser);
}
  • extends IService:IService 是 MyBatis-Plus 提供的一个通用服务接口,SystemConfigService 通过继承它获取了许多通用的 CRUD 操作方法。SystemConfig 是实体类,表示 sys_config 表。

实现类

@Service
@Slf4j
public class SystemConfigServiceImpl extends ServiceImpl<SystemConfigMapper, SystemConfig>
implements SystemConfigService {@Autowiredprivate SystemConfigMapper systemConfigMapper;/*** 获取系统配置信息** @return*/@Overridepublic SystemConfigVo getConfig() {List<SystemConfig> systemConfigList = systemConfigMapper.getTabByVale(SystemConfigConstant.SYSTEM_CONFIG_SYSTEM);SystemConfigVo systemConfigVo = new SystemConfigVo();// 定义一个映射,将常量值映射到相应的设置方法Map<String, BiConsumer<SystemConfigVo, String>> configMap = new HashMap<>();configMap.put(SystemConfigConstant.SYSTEM_CONFIG_TAB_LOGIN_TITLE, SystemConfigVo::setLoginTitle);configMap.put(SystemConfigConstant.SYSTEM_CONFIG_TAB_LOGIN_BG, SystemConfigVo::setLoginBg);configMap.put(SystemConfigConstant.SYSTEM_CONFIG_TAB_SYSTEM_NAME, SystemConfigVo::setSystemName);configMap.put(SystemConfigConstant.SYSTEM_CONFIG_TAB_SYSTEM_LOGO, SystemConfigVo::setSystemLogo);configMap.put(SystemConfigConstant.SYSTEM_CONFIG_TAB_WEB_ICO, SystemConfigVo::setWebIco);for (SystemConfig config : systemConfigList) {BiConsumer<SystemConfigVo, String> setter = configMap.get(config.getAttrKey());if (setter != null) {setter.accept(systemConfigVo, config.getAttrValue());}}return systemConfigVo;}
}

类注解

  • @Service:标记该类是一个服务类,Spring 会自动将其注册为 Spring Bean。
  • @Slf4j:由 Lombok 提供,自动生成一个 log 对象用于日志记录。

类声明

  • SystemConfigServiceImpl 类继承了 ServiceImpl<SystemConfigMapper, SystemConfig>,并实现了 SystemConfigService 接口。

依赖注入

  • @Autowired:注入 SystemConfigMapper,用于与数据库交互

getConfig 方法

  • 从数据库中获取系统配置列表。
  • 创建 SystemConfigVo 对象,用于存储系统配置。
  • 定义一个映射,将配置项的键映射到 SystemConfigVo 对象的相应设置方法。
  • 遍历配置列表,根据键值对调用相应的设置方法,将配置值注入 SystemConfigVo 对象。
  • 返回填充了系统配置信息的 SystemConfigVo 对象。

主要逻辑

  • 获取系统配置列表:调用 systemConfigMapper.getTabByVale(SystemConfigConstant.SYSTEM_CONFIG_SYSTEM) 获取系统配置列表。
  • 映射配置项:使用 Map<String, BiConsumer<SystemConfigVo, String>> 将配置项的键映射到 SystemConfigVo 的设置方法。
  • 设置配置值:遍历配置列表,根据键值对调用相应的设置方法,将配置值注入 SystemConfigVo 对象。
  • 返回配置对象:返回包含所有系统配置信息的 SystemConfigVo 对象。
5、实现mapper层
@Mapper
public interface SystemConfigMapper extends BaseMapper<SystemConfig> {@Select("select * from sys_config where tab_value = #{systemConfigSystem}")List<SystemConfig> getTabByVale(String systemConfigSystem);
}
  • @Mapper : MyBatis 这是一个 Mapper 接口,Spring 会自动将其注册为一个 MyBatis Mapper。
  • extends BaseMapper: 使得 SystemConfigMapper 继承了 MyBatis-Plus 提供的通用 Mapper 接口,可以直接使用通用的 CRUD 方法。
  • @Select注解:定义了一个自定义的 SQL 查询语句,用于从 sys_config 表中根据 tab_value 查询记录。
  • getTabByVale 方法根据传入的 systemConfigSystem 参数查询 sys_config 表中的记录,并返回一个 SystemConfig 对象的列表。
4、测试结果

访问knife4j,进行接口测试

image-20240626174204198

http://www.yayakq.cn/news/563441/

相关文章:

  • 淄博阿雷网站建设公司网站建设资源分享
  • 深圳外贸网站公司海口房产网
  • 户网站建设整改报告建设网站需求分析
  • 影响网站排名重要因素视觉设计和ui设计有什么区别
  • 网站设计需要考虑哪些基本原则ps做网站导航
  • 网站密码管理制度wordpress api接口
  • 合肥做网站cnfg怎么查看网站是否降权
  • 电商网站文档东莞it外包
  • 建设银行网站密码忘记了咋办购物网站建设 属于信息系统管理与设计么?
  • 济南集团网站建设南宁网站建设公司比优建站
  • 国外外贸网站制作网站需要哪些知识
  • 物流网站建设网站登录界面图片用什么软件做
  • 电子商务网站建设的要素丹东网站建
  • 游戏网站建设方案书模块网站
  • 厦门模板做网站wish跨境电商平台官网
  • 夺宝网站建设口碑营销案例2022
  • 什么网站可以做高三英语试题织梦cms侵权
  • 福州建站免费模板安庆跨境电商建站哪家好
  • 女孩子学做网站有前途吗做一个网站赚钱吗
  • 网站建设吉金手指专业11东莞网站建设推广平台
  • 网络游戏名网站seo专员招聘
  • 兴国做网站wordpress导出淘宝
  • 寻找南昌网站设计单位网页设计的设计思路怎么写
  • 做视频直播网站需要多少资金抖音seo关键词优化排名
  • 上海企业建站公司排名网站换程序 搜索引擎
  • 非常好的网站建设公司企业官方网站建设教程
  • 网站建设关于公司怎么写网站建设验收模板
  • 全球设计网站有哪些wordpress 怎么安装插件
  • 百度网站排名规则黑龙江省住房和城乡建设厅网站
  • 做网站要多少回扣二手书网站建设策划书