react--antDesignUI的后台管理(登录,Tab导航)

登陆时的提示

数据库中的管理员账户是直接插入进去的
708a4f18f58d2ecff044f8738433d8fd.png
6dbaa9e81c2c55a21139cceddafbd731.png

4e54d6d1ba32a3c85cba2fbb1cb9b9b8.png
beed3bd7140dd726ae849ad5c3f85da8.png
76b4510e6aa44028451a22f19215c4bf.png
f352cb4739d5ca97f9afa75acc2bfd9d.png
9ae01a474af67a139a4f32c2ac0f2a89.png

退出功能

后端实现接口

3a2b9f2a75b13911b568cbeb6c05a5b0.png
867d67fbd98573eff92b2eaf157851c9.png

前端实现

8ecba7d5f0825c82629641974358d4ff.png
7b1687e6469623f39e3e40dd6c0045ff.png

单点登陆 - 一次只能有一个设备在线

  • 如果将上一个登陆的账户然他下线:即时通讯 --- socket通讯
  • 登录时提示用户已登录,如果点击继续,就给服务器发送了一条消息
  • 服务器接收到消息,主动推送消息给上一个登陆的账户,上一个登陆的客户端其实在登陆的时候已经开启监听服务器推送的 再次登陆的函数,服务器一旦发送消息,就执行该函数
  • 此函数的设计可以包含退出登陆的功能,以及提示用的信息
    9420255d412048f04815d9f7e0744fad.png

510348eac0d6a501b674e6cda7ef10f4.png
f5ea02a8a58a19336c47f85cef97f62c.png

面包屑导航 -- 快捷导航

aac9ca352353e97575955d107bfbc1e3.png

64b988e4f3f86b8b830d7fb111fde078.png

ca69631394a828e8b6352b28537ac23e.png

编写配置信息
77026ed1a863708b3a4a9ec35bdac371.png
a53c2d2301e32bab360d01326bbb0d19.png

37969bd167e6bd1ce6dc0d72dd904909.png
18f15ee3b1865a815118b4764f4487d6.png
50ab5fd346b9b2bfc19e46f834525bc8.png
4ae5a3b1e78ae4557229986ee4bc4af7.png
8083b4056614b432e0812708f66f20b0.png
5271b402f7ed87cbce3705206891b08c.png
ba53b5214b1eb78a23067f28459e61d7.png

  • 疑问:
    554b9fc72b5648135b7ed680c0420f36.png
    4ee5eed27637d6d5be0018e83e4d15d7.png

主页面修改我们的路由的配置

81b8ca9680337cdb79dc16ee75a684ae.png

页面的链接发生变化,左侧的导航没有跟随者改变

a4ab92c6a6f8f7020998694feb7326fd.png

实现用户列表

后端:实现获取用户列表的接口

4d6e9225663075c67535022a35f74f82.png
3d1231cee4e25607e4814b053a6c232b.png
438620ed0f7439f39c4efe0ec396ac37.png
4ad664af31efde1aaa50b0b56f01144e.png

前端:调用获取用户列表的接口

be4ad8980c141b94f8e835c2efa6f5c1.png
889d425c8d507c0a5abed2ffc3184bd4.png
78f104df20a385daa86c81908f78a6c6.png
1e351d4f29365e5040045bcca61db506.png
592856bf7756bca323247ed8ae2d0b97.png

const columns = [
    {
        title: '昵称',
        dataIndex: 'nickname',
        key: 'nickname',
    },
    {
        title: '头像',
        dataIndex: 'avatar',
        key: 'avatar',
        render: val => <img src={ val } alt='' style={{width: '90px'}}/>,
    },
    {
        title: '手机号',
        dataIndex: 'tel',
        key: 'tel',
        render: val => <span> { val }</span>,
    },
    {
        title: '性别',
        dataIndex: 'sex',
        key: 'sex',
        render: val => val === 1 ? <span><ManOutlined style={{color: 'blue'}}/>男</span> : val === 0 ? <span ><WomanOutlined style={{color: 'hotpink'}}/>女</span> : <span>未设置</span>,
    },
    {
        title: '邮箱',
        dataIndex: 'email',
        key: 'email',
    },
    {
        title: '会员级别',
        dataIndex: 'member', // 0 非会员 1表示普通会员 2表示超级会员
        key: 'member',
        render: val => val === 0 ? <Tag>非会员</Tag> : val === 1 ? <Tag color="blue">普通会员</Tag> : <Tag color="gold">超级会员</Tag>,
    },
    {
        title: '操作',
        dataIndex: 'opr',
        key: 'opr',
        render: () => <div>
        <Button size="middle" type="link" shape="round" style={{ color: 'orange'}}><EditOutlined /></Button>
        <Button size="middle" type="link" shape="round" danger><DeleteOutlined /></Button>
        </div>
    },
];

cc1182b0d9b2f146f64edd3f68d88891.png
b45128a103cf225ad668364b3bd19b24.png

管理员列表实现 - 用户权限

后端

2c0a9b8d68bea04654dec430e458b500.png

9748ecfbab7e6fd89d1574779bc610b6.png

前端

复制用户列表代码,删除了不需要的代码,添加了一个新的组件 用来表示用户的登陆状态
23db4261b83e73d7a50246082abcbcb2.png
fdad18739c64625cbc72e17b93d1ebb0.png

添加管理员

 

-------------------------------------------------------------------------------------文章来自吴大勋(大勋说)链接

posted @ 2020-04-17 09:31  haccer  阅读(1088)  评论(0)    收藏  举报