fix: 修改物料登录组件

This commit is contained in:
NICE CODE BY DEV 2024-03-22 17:12:38 +08:00
parent 4fb21f0236
commit 51b793019d
8 changed files with 41 additions and 10 deletions

1
global.d.ts vendored
View File

@ -0,0 +1 @@
declare module '*.less';

View File

@ -1,5 +1,11 @@
# @zhst/material
## 0.7.1
### Patch Changes
- 添加登录 css 属性
## 0.7.0
### Minor Changes

View File

@ -1,6 +1,6 @@
{
"name": "@zhst/material",
"version": "0.7.0",
"version": "0.7.1",
"description": "物料库",
"keywords": [
"business",

View File

@ -5,6 +5,10 @@
import React, { FC } from 'react'
import { Button, Checkbox, Flex, Form, FormProps, Image, Input, theme } from 'antd';
import { HomeOutlined } from '@ant-design/icons';
import { isNumber } from '@zhst/func';
import './index.less'
const materialName = 'zhst-material-login'
const { useToken } = theme
@ -14,6 +18,8 @@ interface LoginProps {
rememberPassword?: boolean
imageUrl: string;
onFinish: FormProps['onFinish']
width?: string | number
height?: string | number
}
const Login: FC<LoginProps> = (props) => {
@ -22,13 +28,17 @@ const Login: FC<LoginProps> = (props) => {
onIconClick,
rememberPassword = true,
imageUrl,
width,
height,
onFinish
} = props
const [form] = Form.useForm();
const { token } = useToken()
console.log('width', width)
return (
<Flex>
<Flex className={materialName} style={{ width: isNumber(width) ? `${width}px` : width, height: isNumber(height) ? `${height}px` : height }}>
<Flex align='center' justify='center' style={{ position: 'relative', width: '40%', padding: `30px` }}>
<HomeOutlined
onClick={onIconClick}
@ -76,11 +86,12 @@ const Login: FC<LoginProps> = (props) => {
</Form>
</div>
</Flex>
<div style={{ width: '60%' }}>
<div style={{ width: '60%', height: '100%' }}>
<Image
style={{ width: '100%' }}
src={imageUrl}
width={'100%'}
height={'100%'}
preview={false}
fallback="data:image/png;base64,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"
/>

View File

@ -6,10 +6,11 @@ import bg1 from '../images/ai-suanfa.png'
const demo = () => {
return (
<div style={{ width: '100%', border: '1px solid #ccc' }}>
<div style={{ border: '1px solid #ccc' }}>
<Login
title='AI算法仓平台'
imageUrl={bg1}
height={'100vh'}
onFinish={val => console.log('val', val)}
/>
</div>

View File

@ -0,0 +1,5 @@
.zhst-material-login {
&::-webkit-scrollbar {
display: none;
}
}

View File

@ -32,6 +32,8 @@ slave.init({
| tokenKey | 从链接获取的登录校验字段 | string | token | - |
| showMsg | 是否显示“请先登录”提示框 | boolean | true | - |
| msgText | 提示框自定义文案 | string | 请先登录 | - |
| from | 来自哪个链接(可选) | string | - | - |
| to | 准备去的链接(可选) | string | - | - |
## slave 实例方法

View File

@ -15,6 +15,9 @@ export interface ISlaveConfig {
*/
tokenKey?: string;
showMsg?: boolean;
msgText?: string;
from?: string;
to?: string
}
class Slave {
@ -32,7 +35,10 @@ class Slave {
jumpToLogin = true,
jumpUrl,
tokenKey,
showMsg = true
showMsg = true,
msgText,
from,
to,
} = opt
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
@ -40,13 +46,12 @@ class Slave {
this.token = _token
localStorage.setItem('ZHST_AUTH_TOKEN', _token as string)
this.checkEnv({ showMsg })
this.checkEnv({ showMsg, msgText })
if (jumpToLogin && jumpUrl && !_token) {
let jumpUrlObj = new URL(jumpUrl)
console.log('jumpUrlObj', jumpUrlObj, jumpUrl)
// 判断是否为同一个域,采用不同的跳转方式
if (jumpUrlObj.origin === location.origin) {
history.pushState('', '', jumpUrl)
} else {
@ -56,9 +61,9 @@ class Slave {
}
// 判端是否登录
checkEnv(_opt: { showMsg: boolean }) {
checkEnv(_opt: { showMsg: boolean, msgText?: string }) {
if (!this.token && _opt.showMsg) {
message.error('请先登录!')
message.error(_opt.msgText || '请先登录!')
return
}
}