|
|
|
@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
|
|
|
|
|
<template> |
|
|
|
|
<div :class="prefixCls" class="login-background-img"> |
|
|
|
|
<AppLocalePicker class="absolute top-4 right-4 enter-x xl:text-gray-600" :showText="false"/> |
|
|
|
|
<AppLocalePicker v-if="showLocale" class="absolute top-4 right-4 enter-x xl:text-gray-600" :showText="false"/> |
|
|
|
|
<AppDarkModeToggle class="absolute top-3 right-10 enter-x"/> |
|
|
|
|
<div v-if="!getIsMobile" class="aui-logo"> |
|
|
|
|
<div> |
|
|
|
@ -10,32 +10,28 @@
@@ -10,32 +10,28 @@
|
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div v-else class="aui-phone-logo"> |
|
|
|
|
<img :src="logoImg"> |
|
|
|
|
<img :src="logoPhoneImg"> |
|
|
|
|
</div> |
|
|
|
|
<div v-show="type === 'login'"> |
|
|
|
|
<div class="aui-content"> |
|
|
|
|
<div class="aui-container"> |
|
|
|
|
<div class="aui-form"> |
|
|
|
|
<div class="aui-image"> |
|
|
|
|
<div class="aui-image-text"> |
|
|
|
|
<img :src="adTextImg" alt=""> |
|
|
|
|
</div> |
|
|
|
|
<div class="aui-image-text"/> |
|
|
|
|
</div> |
|
|
|
|
<div class="aui-formBox"> |
|
|
|
|
<div class="aui-formWell"> |
|
|
|
|
<div class="aui-flex aui-form-nav investment_title"> |
|
|
|
|
<div class="aui-flex aui-form-nav"> |
|
|
|
|
<div |
|
|
|
|
class="aui-flex-box" |
|
|
|
|
:class="activeIndex === 'accountLogin' ? 'activeNav on' : ''" |
|
|
|
|
@click="loginClick('accountLogin')" |
|
|
|
|
>{{ t('sys.login.signInFormTitle') }} |
|
|
|
|
</div> |
|
|
|
|
>{{ t('sys.login.signInFormTitle') }}</div> |
|
|
|
|
<div |
|
|
|
|
class="aui-flex-box" |
|
|
|
|
:class="activeIndex === 'phoneLogin' ? 'activeNav on' : ''" |
|
|
|
|
@click="loginClick('phoneLogin')" |
|
|
|
|
>{{ t('sys.login.mobileSignInFormTitle') }} |
|
|
|
|
</div> |
|
|
|
|
>{{ t('sys.login.mobileSignInFormTitle') }}</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="aui-form-box" style="height: 180px"> |
|
|
|
|
<a-form |
|
|
|
@ -77,7 +73,7 @@
@@ -77,7 +73,7 @@
|
|
|
|
|
<img |
|
|
|
|
v-else |
|
|
|
|
style="margin-top: 2px; max-width: initial" |
|
|
|
|
:src="codeImg" |
|
|
|
|
:src="defaultCaptchaImg" |
|
|
|
|
@click="handleChangeCheckCode" |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
@ -129,8 +125,7 @@
@@ -129,8 +125,7 @@
|
|
|
|
|
class="aui-link-login aui-flex-box" |
|
|
|
|
type="primary" |
|
|
|
|
@click="loginHandleClick" |
|
|
|
|
> |
|
|
|
|
{{ t('sys.login.loginButton') }}</a-button> |
|
|
|
|
>{{ t('sys.login.loginButton') }}</a-button> |
|
|
|
|
</div> |
|
|
|
|
<div class="aui-flex"> |
|
|
|
|
<a class="aui-linek-code aui-flex-box" @click="codeHandleClick">{{ t('sys.login.qrSignInFormTitle') }}</a> |
|
|
|
@ -140,7 +135,7 @@
@@ -140,7 +135,7 @@
|
|
|
|
|
</div>--> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<a-form @keypress.enter="loginHandleClick"> |
|
|
|
|
<a-form> |
|
|
|
|
<div class="aui-flex aui-third-text"> |
|
|
|
|
<div class="aui-flex-box aui-third-border"> |
|
|
|
|
<span>{{ t('sys.login.otherSignIn') }}</span> |
|
|
|
@ -154,7 +149,7 @@
@@ -154,7 +149,7 @@
|
|
|
|
|
</div> |
|
|
|
|
<div class="aui-flex-box"> |
|
|
|
|
<div class="aui-third-login"> |
|
|
|
|
<a title="企业微信" @click="onThirdLogin('wechat_enterprise')"><icon-font class="item-icon" type="icon-qiyeweixin3"/></a> |
|
|
|
|
<a title="支付宝" @click="onThirdLogin('alipay')"><AlipayCircleFilled/></a> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="aui-flex-box"> |
|
|
|
@ -185,31 +180,24 @@
@@ -185,31 +180,24 @@
|
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
<script lang="ts" setup name="login-mini"> |
|
|
|
|
|
|
|
|
|
<script lang="ts" setup> |
|
|
|
|
import { getCaptcha } from '/@/api/platform/core/controller/user'; |
|
|
|
|
import { computed, onMounted, reactive, ref, toRaw, unref } from 'vue'; |
|
|
|
|
import codeImg from '/@/assets/images/captcha.jpg'; |
|
|
|
|
import { Rule } from '/@/components/Form'; |
|
|
|
|
import { onMounted, reactive, ref, toRaw, unref } from 'vue'; |
|
|
|
|
import defaultCaptchaImg from '/@/assets/images/captcha.jpg'; |
|
|
|
|
import { useUserStore } from '/@/store/modules/user'; |
|
|
|
|
import { useMessage } from '/@/hooks/web/useMessage'; |
|
|
|
|
import { useI18n } from '/@/hooks/web/useI18n'; |
|
|
|
|
import { LoginStateEnum } from '/@/views/core/login/useLogin'; |
|
|
|
|
//import ThirdModal from '/@/views/sys/login/ThirdModal.vue'; |
|
|
|
|
import MiniForgotpad from './MiniForgotpad.vue'; |
|
|
|
|
import MiniRegister from './MiniRegister.vue'; |
|
|
|
|
import MiniCodelogin from './MiniCodelogin.vue'; |
|
|
|
|
import adTextImg from '/@/assets/loginmini/icon/login-ad-text.png'; |
|
|
|
|
import logoImg from '/@/assets/images/logo-tag.png'; |
|
|
|
|
import logoPhoneImg from '/@/assets/images/logo.png'; |
|
|
|
|
import { AppLocalePicker, AppDarkModeToggle } from '/@/components/Application'; |
|
|
|
|
import { useLocaleStore } from '/@/store/modules/locale'; |
|
|
|
|
import { useDesign } from '/@/hooks/web/useDesign'; |
|
|
|
|
import { useAppInject } from '/@/hooks/web/useAppInject'; |
|
|
|
|
import { GithubFilled, WechatFilled, DingtalkCircleFilled, createFromIconfontCN } from '@ant-design/icons-vue'; |
|
|
|
|
import { GithubFilled, WechatFilled, AlipayCircleFilled, DingtalkCircleFilled } from '@ant-design/icons-vue'; |
|
|
|
|
|
|
|
|
|
const IconFont = createFromIconfontCN({ |
|
|
|
|
scriptUrl: '//at.alicdn.com/t/font_2316098_umqusozousr.js', |
|
|
|
|
}); |
|
|
|
|
const { prefixCls } = useDesign('mini-login'); |
|
|
|
|
const { notification, createMessage } = useMessage(); |
|
|
|
|
const userStore = useUserStore(); |
|
|
|
@ -219,48 +207,39 @@
@@ -219,48 +207,39 @@
|
|
|
|
|
const randCodeData = reactive<any>({ |
|
|
|
|
randCodeImage: '', |
|
|
|
|
requestCodeSuccess: false, |
|
|
|
|
checkKey: null, |
|
|
|
|
}); |
|
|
|
|
const rememberMe = ref<string>('0'); |
|
|
|
|
//手机号登录还是账号登录 |
|
|
|
|
// 手机号登录还是账号登录 |
|
|
|
|
const activeIndex = ref<string>('accountLogin'); |
|
|
|
|
const type = ref<string>('login'); |
|
|
|
|
//账号登录表单字段 |
|
|
|
|
// 账号登录表单字段 |
|
|
|
|
const formData = reactive<any>({ |
|
|
|
|
realKey: '', |
|
|
|
|
inputCode: '', |
|
|
|
|
username: 'admin', |
|
|
|
|
password: '123456', |
|
|
|
|
}); |
|
|
|
|
//手机登录表单字段 |
|
|
|
|
// 手机登录表单字段 |
|
|
|
|
const phoneFormData = reactive<any>({ |
|
|
|
|
mobile: '', |
|
|
|
|
smscode: '', |
|
|
|
|
}); |
|
|
|
|
const loginRef = ref(); |
|
|
|
|
//第三方登录弹窗 |
|
|
|
|
const thirdModalRef = ref(); |
|
|
|
|
//扫码登录 |
|
|
|
|
// 扫码登录 |
|
|
|
|
const codeRef = ref(); |
|
|
|
|
//是否显示获取验证码 |
|
|
|
|
// 是否显示获取验证码 |
|
|
|
|
const showInterval = ref<boolean>(true); |
|
|
|
|
//60s |
|
|
|
|
// 60s |
|
|
|
|
const timeRuning = ref<number>(60); |
|
|
|
|
//定时器 |
|
|
|
|
// 定时器 |
|
|
|
|
const timer = ref<any>(null); |
|
|
|
|
//忘记密码 |
|
|
|
|
// 忘记密码 |
|
|
|
|
const forgotRef = ref(); |
|
|
|
|
//注册 |
|
|
|
|
// 注册 |
|
|
|
|
const registerRef = ref(); |
|
|
|
|
const loginLoading = ref<boolean>(false); |
|
|
|
|
const { getIsMobile } = useAppInject(); |
|
|
|
|
|
|
|
|
|
defineProps({ |
|
|
|
|
sessionTimeout: { |
|
|
|
|
type: Boolean, |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 获取验证码 |
|
|
|
|
*/ |
|
|
|
@ -268,7 +247,7 @@
@@ -268,7 +247,7 @@
|
|
|
|
|
formData.inputCode = ''; |
|
|
|
|
try { |
|
|
|
|
const codeModel = await getCaptcha(); |
|
|
|
|
randCodeData.randCodeImage = codeModel.img ?? codeImg; |
|
|
|
|
randCodeData.randCodeImage = codeModel.img; |
|
|
|
|
randCodeData.requestCodeSuccess = true; |
|
|
|
|
formData.realKey = codeModel.realKey; |
|
|
|
|
} catch(error) { |
|
|
|
@ -288,10 +267,9 @@
@@ -288,10 +267,9 @@
|
|
|
|
|
*/ |
|
|
|
|
async function loginHandleClick() { |
|
|
|
|
if (unref(activeIndex) === 'accountLogin') { |
|
|
|
|
accountLogin(); |
|
|
|
|
await accountLogin(); |
|
|
|
|
} else { |
|
|
|
|
//手机号登录 |
|
|
|
|
phoneLogin(); |
|
|
|
|
await phoneLogin(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -326,7 +304,7 @@
@@ -326,7 +304,7 @@
|
|
|
|
|
} catch (error){ |
|
|
|
|
formData.code=''; |
|
|
|
|
formData.realKey=''; |
|
|
|
|
handleChangeCheckCode(); |
|
|
|
|
await handleChangeCheckCode(); |
|
|
|
|
} finally { |
|
|
|
|
loginLoading.value = false; |
|
|
|
|
} |
|
|
|
@ -336,37 +314,10 @@
@@ -336,37 +314,10 @@
|
|
|
|
|
* 手机号登录 |
|
|
|
|
*/ |
|
|
|
|
async function phoneLogin() { |
|
|
|
|
/*if (!phoneFormData.mobile) { |
|
|
|
|
createMessage.warn(t('sys.login.mobilePlaceholder')); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (!phoneFormData.smscode) { |
|
|
|
|
createMessage.warn(t('sys.login.smsPlaceholder')); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
try { |
|
|
|
|
loginLoading.value = true; |
|
|
|
|
const { userInfo }: any = await userStore.phoneLogin({ |
|
|
|
|
mobile: phoneFormData.mobile, |
|
|
|
|
captcha: phoneFormData.smscode, |
|
|
|
|
mode: 'none', //不要默认的错误提示 |
|
|
|
|
}); |
|
|
|
|
if (userInfo) { |
|
|
|
|
notification.success({ |
|
|
|
|
message: t('sys.login.loginSuccessTitle'), |
|
|
|
|
description: `${t('sys.login.loginSuccessDesc')}: ${userInfo.realname}`, |
|
|
|
|
duration: 3, |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} catch (error) { |
|
|
|
|
notification.error({ |
|
|
|
|
message: t('sys.api.errorTip'), |
|
|
|
|
description: error.message || t('sys.login.networkExceptionMsg'), |
|
|
|
|
duration: 3, |
|
|
|
|
}); |
|
|
|
|
} finally { |
|
|
|
|
loginLoading.value = false; |
|
|
|
|
}*/ |
|
|
|
|
notification.success({ |
|
|
|
|
message: '功能待开发中.', |
|
|
|
|
duration: 3, |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -376,24 +327,21 @@
@@ -376,24 +327,21 @@
|
|
|
|
|
/*if (!phoneFormData.mobile) { |
|
|
|
|
createMessage.warn(t('sys.login.mobilePlaceholder')); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
const result = await getCaptcha({ mobile: phoneFormData.mobile, smsmode: SmsEnum.FORGET_PASSWORD }); |
|
|
|
|
if (result) { |
|
|
|
|
const TIME_COUNT = 60; |
|
|
|
|
if (!unref(timer)) { |
|
|
|
|
timeRuning.value = TIME_COUNT; |
|
|
|
|
showInterval.value = false; |
|
|
|
|
timer.value = setInterval(() => { |
|
|
|
|
if (unref(timeRuning) > 0 && unref(timeRuning) <= TIME_COUNT) { |
|
|
|
|
timeRuning.value = timeRuning.value - 1; |
|
|
|
|
} else { |
|
|
|
|
showInterval.value = true; |
|
|
|
|
clearInterval(unref(timer)); |
|
|
|
|
timer.value = null; |
|
|
|
|
} |
|
|
|
|
}, 1000); |
|
|
|
|
} |
|
|
|
|
}*/ |
|
|
|
|
const TIME_COUNT = 60; |
|
|
|
|
if (!unref(timer)) { |
|
|
|
|
timeRuning.value = TIME_COUNT; |
|
|
|
|
showInterval.value = false; |
|
|
|
|
timer.value = setInterval(() => { |
|
|
|
|
if (unref(timeRuning) > 0 && unref(timeRuning) <= TIME_COUNT) { |
|
|
|
|
timeRuning.value = timeRuning.value - 1; |
|
|
|
|
} else { |
|
|
|
|
showInterval.value = true; |
|
|
|
|
clearInterval(unref(timer)); |
|
|
|
|
timer.value = null; |
|
|
|
|
} |
|
|
|
|
}, 1000); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -401,7 +349,10 @@
@@ -401,7 +349,10 @@
|
|
|
|
|
* @param type |
|
|
|
|
*/ |
|
|
|
|
function onThirdLogin(type) { |
|
|
|
|
thirdModalRef.value.onThirdLogin(type); |
|
|
|
|
notification.success({ |
|
|
|
|
message: '功能待开发中.', |
|
|
|
|
duration: 3, |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -445,7 +396,7 @@
@@ -445,7 +396,7 @@
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 注册 |
|
|
|
|
* 二维码登录 |
|
|
|
|
*/ |
|
|
|
|
function codeHandleClick() { |
|
|
|
|
type.value = 'codeLogin'; |
|
|
|
@ -461,8 +412,8 @@
@@ -461,8 +412,8 @@
|
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
<style lang="less" scoped> |
|
|
|
|
@import '/@/assets/loginmini/style/home.less'; |
|
|
|
|
@import '/@/assets/loginmini/style/base.less'; |
|
|
|
|
@import '../../../assets/loginmini/style/home.less'; |
|
|
|
|
@import '../../../assets/loginmini/style/base.less'; |
|
|
|
|
|
|
|
|
|
:deep(.ant-input:focus) { |
|
|
|
|
box-shadow: none; |
|
|
|
@ -489,10 +440,6 @@
@@ -489,10 +440,6 @@
|
|
|
|
|
color: #aaa !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
:deep(.jeecg-dark-switch){ |
|
|
|
|
position:absolute; |
|
|
|
|
margin-right: 10px; |
|
|
|
|
} |
|
|
|
|
.aui-link-login{ |
|
|
|
|
height: 42px; |
|
|
|
|
padding: 10px 15px; |
|
|
|
@ -514,85 +461,85 @@
@@ -514,85 +461,85 @@
|
|
|
|
|
</style> |
|
|
|
|
|
|
|
|
|
<style lang="less"> |
|
|
|
|
@prefix-cls: ~'@{namespace}-mini-login'; |
|
|
|
|
@dark-bg: #293146; |
|
|
|
|
@prefix-cls: ~'@{namespace}-mini-login'; |
|
|
|
|
@dark-bg: #293146; |
|
|
|
|
|
|
|
|
|
html[data-theme='dark'] { |
|
|
|
|
.@{prefix-cls} { |
|
|
|
|
background-color: @dark-bg !important; |
|
|
|
|
background-image: none; |
|
|
|
|
html[data-theme='dark'] { |
|
|
|
|
.@{prefix-cls} { |
|
|
|
|
background-color: @dark-bg !important; |
|
|
|
|
background-image: none; |
|
|
|
|
|
|
|
|
|
&::before { |
|
|
|
|
background-image: url(/@/assets/images/login-bg-dark.svg); |
|
|
|
|
} |
|
|
|
|
.aui-inputClear{ |
|
|
|
|
background-color: #232a3b !important; |
|
|
|
|
} |
|
|
|
|
.ant-input, |
|
|
|
|
.ant-input-password { |
|
|
|
|
background-color: #232a3b !important; |
|
|
|
|
} |
|
|
|
|
&::before { |
|
|
|
|
background-image: url(/@/assets/images/login-bg-dark.svg); |
|
|
|
|
} |
|
|
|
|
.aui-inputClear{ |
|
|
|
|
background-color: #232a3b !important; |
|
|
|
|
} |
|
|
|
|
.ant-input, |
|
|
|
|
.ant-input-password { |
|
|
|
|
background-color: #232a3b !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.ant-btn:not(.ant-btn-link):not(.ant-btn-primary) { |
|
|
|
|
border: 1px solid #4a5569 !important; |
|
|
|
|
} |
|
|
|
|
.ant-btn:not(.ant-btn-link):not(.ant-btn-primary) { |
|
|
|
|
border: 1px solid #4a5569 !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
&-form { |
|
|
|
|
background: @dark-bg !important; |
|
|
|
|
} |
|
|
|
|
&-form { |
|
|
|
|
background: @dark-bg !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.app-iconify { |
|
|
|
|
color: #fff !important; |
|
|
|
|
} |
|
|
|
|
.aui-inputClear input,.aui-input-line input,.aui-choice{ |
|
|
|
|
color: #c9d1d9 !important; |
|
|
|
|
} |
|
|
|
|
.app-iconify { |
|
|
|
|
color: #fff !important; |
|
|
|
|
} |
|
|
|
|
.aui-inputClear input,.aui-input-line input,.aui-choice{ |
|
|
|
|
color: #c9d1d9 !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.aui-formBox{ |
|
|
|
|
background-color: @dark-bg !important; |
|
|
|
|
} |
|
|
|
|
.aui-third-text span{ |
|
|
|
|
background-color: @dark-bg !important; |
|
|
|
|
} |
|
|
|
|
.aui-form-nav .aui-flex-box{ |
|
|
|
|
color: #c9d1d9 !important; |
|
|
|
|
} |
|
|
|
|
.aui-formBox{ |
|
|
|
|
background-color: @dark-bg !important; |
|
|
|
|
} |
|
|
|
|
.aui-third-text span{ |
|
|
|
|
background-color: @dark-bg !important; |
|
|
|
|
} |
|
|
|
|
.aui-form-nav .aui-flex-box{ |
|
|
|
|
color: #c9d1d9 !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.aui-formButton .aui-linek-code{ |
|
|
|
|
background: @dark-bg !important; |
|
|
|
|
color: white !important; |
|
|
|
|
} |
|
|
|
|
.aui-code-line{ |
|
|
|
|
border-left: none !important; |
|
|
|
|
} |
|
|
|
|
.ant-checkbox-inner,.aui-success h3{ |
|
|
|
|
border-color: #c9d1d9; |
|
|
|
|
.aui-formButton .aui-linek-code{ |
|
|
|
|
background: @dark-bg !important; |
|
|
|
|
color: white !important; |
|
|
|
|
} |
|
|
|
|
.aui-code-line{ |
|
|
|
|
border-left: none !important; |
|
|
|
|
} |
|
|
|
|
.ant-checkbox-inner,.aui-success h3{ |
|
|
|
|
border-color: #c9d1d9; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
input.fix-auto-fill, |
|
|
|
|
.fix-auto-fill input { |
|
|
|
|
-webkit-text-fill-color: #c9d1d9 !important; |
|
|
|
|
box-shadow: inherit !important; |
|
|
|
|
} |
|
|
|
|
input.fix-auto-fill, |
|
|
|
|
.fix-auto-fill input { |
|
|
|
|
-webkit-text-fill-color: #c9d1d9 !important; |
|
|
|
|
box-shadow: inherit !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
&-sign-in-way { |
|
|
|
|
.anticon { |
|
|
|
|
font-size: 22px !important; |
|
|
|
|
color: #888 !important; |
|
|
|
|
cursor: pointer !important; |
|
|
|
|
&-sign-in-way { |
|
|
|
|
.anticon { |
|
|
|
|
font-size: 22px !important; |
|
|
|
|
color: #888 !important; |
|
|
|
|
cursor: pointer !important; |
|
|
|
|
|
|
|
|
|
&:hover { |
|
|
|
|
color: @primary-color !important; |
|
|
|
|
&:hover { |
|
|
|
|
color: @primary-color !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.ant-divider-inner-text { |
|
|
|
|
font-size: 12px !important; |
|
|
|
|
color: @text-color-secondary !important; |
|
|
|
|
} |
|
|
|
|
.aui-third-login a{ |
|
|
|
|
background: transparent; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.ant-divider-inner-text { |
|
|
|
|
font-size: 12px !important; |
|
|
|
|
color: @text-color-secondary !important; |
|
|
|
|
} |
|
|
|
|
.aui-third-login a{ |
|
|
|
|
background: transparent; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|