| | |
| | | width: 200px; |
| | | height: 100%; |
| | | margin: 30px 0; |
| | | } |
| | | |
| | | .centered-select .ant-select-selection-item { |
| | | text-align: center; |
| | | } |
| | |
| | | ProFormCaptcha, |
| | | ProFormCheckbox, |
| | | ProFormText, |
| | | ProFormSelect |
| | | } from '@ant-design/pro-components'; |
| | | import { Button, Divider, Alert, Tabs, message, theme, Form } from 'antd'; |
| | | import { useState, useEffect } from 'react'; |
| | |
| | | import { request } from '@umijs/max'; |
| | | import { setToken } from '@/utils/token-util' |
| | | import { PROJECT_NAME } from '@/config/setting' |
| | | import Http from '@/utils/http'; |
| | | |
| | | import logo from './logo.png' |
| | | |
| | |
| | | } |
| | | }; |
| | | |
| | | const fetchHostList = async () => { |
| | | const res = await Http.doGet('api/auth/host', {}) |
| | | console.log(res.data); |
| | | } |
| | | fetchHostList(); |
| | | |
| | | const handleSubmit = async (values) => { |
| | | try { |
| | | const r = await request('/api/login', { |
| | |
| | | backgroundColor: 'rgba(0, 0, 0,0.65)', |
| | | backdropFilter: 'blur(4px)', |
| | | }} |
| | | initialValues={{ |
| | | // username: 'root', |
| | | // password: '123456', |
| | | }} |
| | | onFinish={async (values) => { |
| | | await handleSubmit(values); |
| | | }} |
| | |
| | | </Tabs> |
| | | {loginType === 'account' && ( |
| | | <> |
| | | <ProFormSelect |
| | | className="centered-select" |
| | | name="hostId" |
| | | placeholder="机构:" |
| | | rules={[ |
| | | { |
| | | required: true, |
| | | message: '请选择机构!', |
| | | }, |
| | | ]} |
| | | debounceTime={300} |
| | | request={async ({ keyWords }) => { |
| | | const resp = await Http.doGet('api/auth/host', {}); |
| | | return resp.data.map(item => ({ |
| | | label: item.name, |
| | | value: item.id |
| | | })); |
| | | }} |
| | | /> |
| | | <ProFormText |
| | | name="username" |
| | | fieldProps={{ |
| | |
| | | /> |
| | | ), |
| | | }} |
| | | placeholder={'用户名: root'} |
| | | placeholder={'用户名: '} |
| | | rules={[ |
| | | { |
| | | required: true, |
| | |
| | | /> |
| | | ), |
| | | }} |
| | | placeholder={'密码: 123456'} |
| | | placeholder={'密码: '} |
| | | rules={[ |
| | | { |
| | | required: true, |
| | |
| | | public class SecurityConfig extends WebSecurityConfigurerAdapter { |
| | | |
| | | public static final String[] FILTER_PATH = new String[]{ |
| | | "/api/auth/host", |
| | | "/test/**", |
| | | "/api/login", |
| | | "/druid/**", |
| | |
| | | import com.zy.asrs.wcs.system.controller.param.LoginParam; |
| | | import com.zy.asrs.wcs.system.controller.param.UpdatePasswordParam; |
| | | import com.zy.asrs.wcs.system.controller.result.LoginResult; |
| | | import com.zy.asrs.wcs.system.entity.Host; |
| | | import com.zy.asrs.wcs.system.entity.Menu; |
| | | import com.zy.asrs.wcs.system.entity.User; |
| | | import com.zy.asrs.wcs.system.entity.UserLogin; |
| | | import com.zy.asrs.wcs.system.service.HostService; |
| | | import com.zy.asrs.wcs.system.service.RoleMenuService; |
| | | import com.zy.asrs.wcs.system.service.UserLoginService; |
| | | import com.zy.asrs.wcs.system.service.UserService; |
| | |
| | | private UserLoginService userLoginService; |
| | | @Resource |
| | | private RoleMenuService roleMenuService; |
| | | @Resource |
| | | private HostService hostService; |
| | | |
| | | @PostMapping("/login") |
| | | public R login(@RequestBody LoginParam param, HttpServletRequest request) { |
| | |
| | | return R.ok().add(Utils.toTreeData(menus, 0L, Menu::getParentId, Menu::getId, Menu::setChildren)); |
| | | } |
| | | |
| | | @GetMapping("/auth/host") |
| | | public R authHost() { |
| | | List<Host> list = hostService.list(); |
| | | return R.ok().add(list); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('sys:auth:user')") |
| | | @OperationLog |
| | | @PutMapping("/auth/user") |