فهرست منبع

fix: 登录修改

outaozhen 3 سال پیش
والد
کامیت
b859dea976

+ 12 - 6
src/components/RightContent/AvatarDropdown.tsx

@@ -6,6 +6,7 @@ import { stringify } from 'querystring'
 import HeaderDropdown from '../HeaderDropdown'
 import styles from './index.less'
 // import { outLogin } from '@/services/ant-design-pro/api';
+import { outLogin } from '@/services/api/login'
 import type { MenuInfo } from 'rc-menu/lib/interface'
 
 export type GlobalHeaderRightProps = {
@@ -34,16 +35,21 @@ const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu }) => {
   const { initialState, setInitialState } = useModel('@@initialState')
 
   const onMenuClick = useCallback(
-    (event: MenuInfo) => {
+    (event: {
+      key: React.Key
+      keyPath: React.Key[]
+      item: React.ReactInstance
+      domEvent: React.MouseEvent<HTMLElement>
+    }) => {
       const { key } = event
-      if (key === 'logout') {
-        setInitialState(s => ({ ...s, currentUser: undefined }))
+      if (key === 'logout' && initialState) {
+        setInitialState({ ...initialState, currentUser: undefined })
         loginOut()
         return
       }
       history.push(`/account/${key}`)
     },
-    [setInitialState]
+    [initialState, setInitialState]
   )
 
   const loading = (
@@ -64,7 +70,7 @@ const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu }) => {
 
   const { currentUser } = initialState
 
-  if (!currentUser || !currentUser.name) {
+  if (!currentUser || !currentUser.ID) {
     return loading
   }
 
@@ -93,7 +99,7 @@ const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu }) => {
   return (
     <HeaderDropdown overlay={menuHeaderDropdown}>
       <span className={`${styles.action} ${styles.account}`}>
-        <Avatar size="small" className={styles.avatar} src={currentUser.avatar} alt="avatar" />
+        {/* <Avatar size="small" className={styles.avatar} src={currentUser.avatar} alt="avatar" /> */}
         <span className={`${styles.name} anticon`}>{currentUser.name}</span>
       </span>
     </HeaderDropdown>

+ 2 - 2
src/components/RightContent/index.tsx

@@ -1,7 +1,7 @@
 import { Space } from 'antd'
 // import { QuestionCircleOutlined } from '@ant-design/icons'
 import React from 'react'
-import { useModel } from 'umi'
+import { useModel, SelectLang } from 'umi'
 import Avatar from './AvatarDropdown'
 // import HeaderSearch from '../HeaderSearch'
 import styles from './index.less'
@@ -55,7 +55,7 @@ const GlobalHeaderRight: React.FC = () => {
         <QuestionCircleOutlined />
       </span> */}
       <Avatar />
-      {/* <SelectLang className={styles.action} /> */}
+      <SelectLang className={styles.action} />
     </Space>
   )
 }

+ 1 - 1
src/pages/user/Login/index.tsx

@@ -164,7 +164,7 @@ const Login: React.FC = () => {
             {type === 'account' && (
               <>
                 <ProFormText
-                  name="username"
+                  name="account"
                   fieldProps={{
                     size: 'large',
                     prefix: <UserOutlined className={styles.prefixIcon} />

+ 17 - 2
src/services/api/login.ts

@@ -1,5 +1,20 @@
 import { request } from 'umi'
 
-export async function login(params: API.LoginParams) {
-  return request.post('/login', { data: params })
+// export async function login(params: API.LoginParams) {
+//   return request.post('/login', { data: params })
+// }
+/** 登录 */
+export async function login(body: API.LoginParams) {
+  return request<API.LoginResult>('/login', {
+    method: 'POST',
+    data: body
+  })
+}
+
+/** 退出登录 */
+export async function outLogin() {
+  // return request<Record<string, any>>('/login/outLogin', {
+  //   method: 'POST',
+  //   ...(options || {})
+  // })
 }

+ 5 - 0
src/services/api/typings.d.ts

@@ -210,4 +210,9 @@ declare namespace API {
     autoLogin: boolean
     type: string
   }
+
+  type LoginResult = {
+    code: number
+    msg: number
+  }
 }