跳至主要內容
CMS-动态公告(公告系统管理)

项目介绍

​ 构建通用动态公告系统,后端管理员统一维护公告信息,对外提供接口根据域名或者其他参数配置构建通告联系(关联通知对象,例如根据域名区分子系统等)。前台通过引入通用公告SDK组件(请求调用后台接口获取通知,封装弹窗组件获取公告信息),不同子系统接入只需要一行代码的形式即可完成接入。

项目源码


holic-x...大约 9 分钟项目itc
自定义通用组件开发

1.复制粘贴按钮组件(CopyButton)

components/Common/CopyButton.tsx

import React from 'react';
import { CopyOutlined } from '@ant-design/icons';
import { Button, message } from 'antd';

// 自定义复制按钮组件,传入text文件则可完成复制操作
const CopyButton = ({ text }) => {
  const copyToClipboard = () => {
    navigator.clipboard.writeText(text).then(
      () => message.success('复制成功'),
      () => message.error('复制失败')
    );
  };

  return (
    <Button icon={<CopyOutlined />} onClick={copyToClipboard}>
      复制
    </Button>
  );
};

export default CopyButton;


holic-x...小于 1 分钟项目itc
项目构建

安全框架引入

引入Shiro框架,构建用户安全认证

考虑到原有的实现方式是通过request来进行校验,每次都要请求获取用户参数信息。不能够灵活地在任一处获取到当前的登陆用户信息,例如controller=》service,要把request对象传过去,这种方式非常麻烦。

有一种方式是通过缓存方式存储:借助ThreadLoal存储登陆用户信息,

还有一种方式借助安全认证框架统一管理,引入shiro

原有登陆实现session存储登陆用户信息,自定义@AuthCheck注解和AOP 校验AuthInterceptor(权限拦截器)


holic-x...大约 7 分钟项目itc