This is an automated email from the ASF dual-hosted git repository.

juzhiyuan pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/incubator-apisix-dashboard.git


The following commit(s) were added to refs/heads/next by this push:
     new c2c07b5  feature: change login page (#171)
c2c07b5 is described below

commit c2c07b5361f83772a35de39a583c01c3f3b2d5a9
Author: bzp2010 <[email protected]>
AuthorDate: Thu Apr 9 19:23:23 2020 +0800

    feature: change login page (#171)
    
    fix: user login fake function
---
 src/locales/en-US/component.ts |  9 +++++
 src/locales/zh-CN/component.ts | 11 ++++++-
 src/pages/user/login/index.tsx | 75 +++++++++---------------------------------
 src/services/login.ts          | 12 ++++---
 src/services/user.ts           |  3 +-
 5 files changed, 44 insertions(+), 66 deletions(-)

diff --git a/src/locales/en-US/component.ts b/src/locales/en-US/component.ts
index 0157420..1133865 100644
--- a/src/locales/en-US/component.ts
+++ b/src/locales/en-US/component.ts
@@ -15,6 +15,15 @@ export default {
   'component.global.edit.plugin': 'Edit plugin',
   'component.status.success': 'Successfully',
   'component.status.fail': 'Failed',
+  // User component
+  'component.user.loginByPassword': 'Username & Password',
+  'component.user.login': 'Login',
+  'component.user.username': 'Username',
+  'component.user.password': 'Password',
+  'component.user.rememberMe': 'Remember Me',
+  'component.user.inputUsername': 'Please input username!',
+  'component.user.inputPassword': 'Please input password!',
+  'component.user.wrongUsernameOrPassword': 'Wrong account or password!',
   // SSL Module
   'component.ssl.removeSSLItemModalContent': 'You are going to remove this 
item!',
   'component.ssl.removeSSLItemModalTitle': 'SSL Remove Alert',
diff --git a/src/locales/zh-CN/component.ts b/src/locales/zh-CN/component.ts
index 5999e3c..3a73156 100644
--- a/src/locales/zh-CN/component.ts
+++ b/src/locales/zh-CN/component.ts
@@ -15,7 +15,16 @@ export default {
   'component.global.edit.plugin': '编辑插件',
   'component.status.success': '成功',
   'component.status.fail': '失败',
-  // SSL 模块
+  // User component
+  'component.user.loginByPassword': '账号密码登录',
+  'component.user.login': '登录',
+  'component.user.username': '账号',
+  'component.user.password': '密码',
+  'component.user.rememberMe': '自动登录',
+  'component.user.inputUsername': '请输入账号!',
+  'component.user.inputPassword': '请输入密码!',
+  'component.user.wrongUsernameOrPassword': '账号或密码错误!',
+  // SSL Module
   'component.ssl.removeSSLItemModalContent': '确定要移除该项吗?',
   'component.ssl.removeSSLItemModalTitle': '移除 SSL',
   'component.ssl.fetchSSLListSuccess': '获取 SSL 列表成功',
diff --git a/src/pages/user/login/index.tsx b/src/pages/user/login/index.tsx
index a553315..de529b7 100644
--- a/src/pages/user/login/index.tsx
+++ b/src/pages/user/login/index.tsx
@@ -1,9 +1,8 @@
-import { AlipayCircleOutlined, TaobaoCircleOutlined, WeiboCircleOutlined } 
from '@ant-design/icons';
 import { Alert, Checkbox } from 'antd';
 import React, { useState } from 'react';
 import { Dispatch, AnyAction } from 'redux';
-import { Link } from 'umi';
 import { connect } from 'dva';
+import { FormattedMessage, formatMessage } from 'umi-plugin-react/locale';
 import { StateType } from '@/models/login';
 import { LoginParamsType } from '@/services/login';
 import { ConnectState } from '@/models/connect';
@@ -11,7 +10,7 @@ import LoginFrom from './components/Login';
 
 import styles from './style.less';
 
-const { Tab, UserName, Password, Mobile, Captcha, Submit } = LoginFrom;
+const { Tab, UserName, Password, Submit } = LoginFrom;
 interface LoginProps {
   dispatch: Dispatch<AnyAction>;
   userLogin: StateType;
@@ -47,86 +46,44 @@ const Login: React.FC<LoginProps> = props => {
   return (
     <div className={styles.main}>
       <LoginFrom activeKey={type} onTabChange={setType} 
onSubmit={handleSubmit}>
-        <Tab key="account" tab="账户密码登录">
+        <Tab key="account" tab={formatMessage({ id: 
'component.user.loginByPassword' })}>
           {status === 'error' && loginType === 'account' && !submitting && (
-            <LoginMessage content="账户或密码错误(admin/ant.design)" />
+            <LoginMessage
+              content={formatMessage({ id: 
'component.user.wrongUsernameOrPassword' })}
+            />
           )}
 
           <UserName
             name="userName"
-            placeholder="用户名: admin or user"
+            placeholder={formatMessage({ id: 'component.user.username' })}
+            defaultValue="admin"
             rules={[
               {
                 required: true,
-                message: '请输入用户名!',
+                message: formatMessage({ id: 'component.user.inputUsername' }),
               },
             ]}
           />
           <Password
             name="password"
-            placeholder="密码: ant.design"
+            placeholder={formatMessage({ id: 'component.user.password' })}
+            defaultValue="123456"
             rules={[
               {
                 required: true,
-                message: '请输入密码!',
-              },
-            ]}
-          />
-        </Tab>
-        <Tab key="mobile" tab="手机号登录">
-          {status === 'error' && loginType === 'mobile' && !submitting && (
-            <LoginMessage content="验证码错误" />
-          )}
-          <Mobile
-            name="mobile"
-            placeholder="手机号"
-            rules={[
-              {
-                required: true,
-                message: '请输入手机号!',
-              },
-              {
-                pattern: /^1\d{10}$/,
-                message: '手机号格式错误!',
-              },
-            ]}
-          />
-          <Captcha
-            name="captcha"
-            placeholder="验证码"
-            countDown={120}
-            getCaptchaButtonText=""
-            getCaptchaSecondText="秒"
-            rules={[
-              {
-                required: true,
-                message: '请输入验证码!',
+                message: formatMessage({ id: 'component.user.inputPassword' }),
               },
             ]}
           />
         </Tab>
         <div>
           <Checkbox checked={autoLogin} onChange={e => 
setAutoLogin(e.target.checked)}>
-            自动登录
+            <FormattedMessage id="component.user.rememberMe" />
           </Checkbox>
-          <a
-            style={{
-              float: 'right',
-            }}
-          >
-            忘记密码
-          </a>
-        </div>
-        <Submit loading={submitting}>登录</Submit>
-        <div className={styles.other}>
-          其他登录方式
-          <AlipayCircleOutlined className={styles.icon} />
-          <TaobaoCircleOutlined className={styles.icon} />
-          <WeiboCircleOutlined className={styles.icon} />
-          <Link className={styles.register} to="/user/register">
-            注册账户
-          </Link>
         </div>
+        <Submit loading={submitting}>
+          <FormattedMessage id="component.user.login" />
+        </Submit>
       </LoginFrom>
     </div>
   );
diff --git a/src/services/login.ts b/src/services/login.ts
index 5c694df..a033215 100644
--- a/src/services/login.ts
+++ b/src/services/login.ts
@@ -7,11 +7,13 @@ export interface LoginParamsType {
   captcha: string;
 }
 
-export async function fakeAccountLogin(params: LoginParamsType) {
-  return request('/api/login/account', {
-    method: 'POST',
-    data: params,
-  });
+export async function fakeAccountLogin() {
+  // NOTE: APISIX doesn‘t support user login currently, we return fake data 
directly.
+  return {
+    status: 'ok',
+    type: 'account',
+    currentAuthority: 'admin',
+  };
 }
 
 export async function getFakeCaptcha(mobile: string) {
diff --git a/src/services/user.ts b/src/services/user.ts
index 1e5fec8..de49698 100644
--- a/src/services/user.ts
+++ b/src/services/user.ts
@@ -8,7 +8,8 @@ export async function queryCurrent(): Promise<any> {
   // NOTE: APISIX doesn‘t support user login currently, we return fake data 
directly.
   return {
     name: 'APISIX User',
-    avatar: 'favicon.png',
+    avatar:
+      
'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmlld0JveD0iMCAwIDUwMCA1MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogIDxkZWZzPg0KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iaWQwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjI1MTE5LjgiIHkxPSIxMTA1Mi41IiB4Mj0iMjE3MjUuNyIgeTI9IjIxNTUxLjciIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMC4wMjgwOTUsIDAsIDAsIDAuMDI4MDk1LCAtNDkyLjg2NzA5NiwgLTE0NC43Njk4MjEpIj4NCiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29
 [...]
     userid: '00000001',
   };
 }

Reply via email to