From 84ad5590bafc58e17ebcf7ebdce2cd70c0c22ea9 Mon Sep 17 00:00:00 2001 From: heyujie <516346543@qq.com> Date: 星期五, 24 九月 2021 18:54:56 +0800 Subject: [PATCH] 日期时间新版 --- src/pages/index/App.vue | 168 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 116 insertions(+), 52 deletions(-) diff --git a/src/pages/index/App.vue b/src/pages/index/App.vue index 22a9f70..2a3a431 100644 --- a/src/pages/index/App.vue +++ b/src/pages/index/App.vue @@ -1,8 +1,11 @@ <template> <div class v-loading="vLoading" :style="`width: ${currentWidth}px;height:${currentHeight}px`"> <div class="web-site"> - <a href="http://www.aiotlink.com" target="_blank">www.aiotlink.com</a> + <a href="http://www.smartai.com" target="_blank">www.smartai.com</a> </div> + + <!-- 鎺堟潈淇℃伅 --> + <lang-select class="lang-select"/> <licence /> <div class="right-bg" style> <particle-network /> @@ -12,7 +15,7 @@ <img src="/images/login-logo.png" alt width="105px" height="105px" /> </div> <div class="login-com"> - <span>鍖椾含璐濇�濈鎶�鏈湁闄愬叕鍙�</span> + <span>{{ $t('login.company') }}</span> </div> <div class="login-form"> <el-form @@ -24,7 +27,7 @@ class="demo-ruleForm" > <el-form-item prop="loginName"> - <el-input v-model="user.loginName" style="width:280px" placeholder="璇疯緭鍏ョ敤鎴峰悕"> + <el-input v-model="user.loginName" style="width:280px" :placeholder="$t('placeholder.enterUsername')"> <i slot="prefix" class="iconfont iconyonghu1"></i> </el-input> </el-form-item> @@ -35,25 +38,35 @@ v-model="user.password" autocomplete="off" style="width:280px" - placeholder="璇疯緭鍏ュ瘑鐮�" + :placeholder="$t('placeholder.enterPassword')" > <i slot="prefix" class="iconfont iconmima"></i> </el-input> </el-form-item> <el-form-item> - <el-button ref="submit" type="warning" @click="systemLogin()" style="width:280px">鐧诲綍</el-button> + <el-button ref="submit" type="warning" @click="systemLogin()" style="width:280px">{{ $t('button.login') }}</el-button> </el-form-item> </el-form> </div> - <p class="gradient-text gradient-text-one">鈥斺�斺�� {{serverTitle || '鏅� 鑳� 璁� 绠� 鑺� 鐐� 鈥� ReID'}} 鈥斺�斺��</p> + <!-- <p class="gradient-text gradient-text-one">鈥斺�斺�� {{serverTitle || 'SmartAI 鈥� ReID'}} 鈥斺�斺��</p> --> + <p class="gradient-text gradient-text-one"> + 鈥斺�� + <b>SmartAI</b> {{ $t('login.aios') }} 鈥斺�� + </p> + <p + class="gradient-text gradient-text-one" + style="letter-spacing: 1.8px;font-size:15px;" + >V1.0.0</p> </div> </div> </template> <script> -import { tologin, getLoginUserData, getServerName } from './api.ts' +import { tologin, getLoginUserData, getServerName } from './api.ts'; import ParticleNetwork from './ParticleNetwork' import Licence from '@/components/licence' +import LangSelect from '@/components/langSelect' +import { getMenuListData } from "@/api/utils"; export default { name: 'login-pgae', @@ -62,7 +75,16 @@ }, components: { ParticleNetwork, - Licence + Licence, + LangSelect + }, + computed: { + rules() { + return { + loginName: [{ required: true, message: this.$t('placeholder.enterUsername'), trigger: 'change' } ], + password: [{ required: true, message: this.$t('placeholder.enterPassword'), trigger: 'change' }] + } + }, }, data: () => ({ serverTitle: "", @@ -72,18 +94,47 @@ rememberMe: false }, nullRule: {}, - rules: { - loginName: [ - { required: true, message: '璇疯緭鍏ョ敤鎴峰悕', trigger: 'change' } - ], - password: [{ required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'change' }] - }, + loading: '', vLoading: false, currentHeight: 1057, currentWidth: 1920 }), + created() { + this.getServerName() + this.getScreenHeight() + }, + mounted() { + // 鑷姩鐧诲綍鎺ュ彛 + this.loginRobot(); + }, + watch: {}, + beforeDestroy() { + window.onresize = null + }, methods: { + loginRobot() { + // 瑙f瀽璺敱鍙傛暟锛屽苟缂撳瓨 + let user = this.getQueryVariable("username"); + let passwd = this.getQueryVariable("password"); + if (user.length && passwd.length) { + sessionStorage.setItem("autoLogin", JSON.stringify({ username: user, passwd: passwd })); + + this.user.loginName = user; + this.user.password = passwd; + this.systemLogin(); + return; + } + + // 鐧婚檰瓒呮椂鍚庣殑閲嶆柊鐧婚檰 + let sessionInfo = sessionStorage.getItem('autoLogin'); + if (sessionInfo) { + let authority = JSON.parse(sessionInfo); + this.user.loginName = authority.username; + this.user.password = authority.passwd; + this.systemLogin(); + } + }, systemLogin() { this.nullRule = this.rules this.$nextTick(() => { @@ -96,7 +147,6 @@ background: 'rgba(0, 0, 0, 0.7)' }) this.testLogin() - // return false } else { this.nullRule = {} } @@ -105,9 +155,9 @@ }) }, async testLogin() { + // location.assign("/view/desktop/") tologin({ username: this.user.loginName, password: this.user.password }) .then(json => { - // console.log(json, "鐧诲綍璇锋眰"); const loginedInfo = { access_token: json.token_type + ' ' + json.access_token, refresh_token: json.refresh_token @@ -118,48 +168,35 @@ this.getLoginUserData() }) .catch(err => { - // console.log(err, "鐧诲綍鎶ラ敊"); this.loading.close() this.$notify({ title: '鎻愮ず', type: 'error', - message: err + message: err.msg }) this.$refs.pwd.focus() }) }, async getLoginUserData() { - let json = await getLoginUserData() - if (!json.error) { - // this.loading.close() - sessionStorage.setItem('userInfo', JSON.stringify(json)) - this.$notify({ - title: '鎻愮ず', - type: 'success', - message: '鐧诲綍鎴愬姛锛�' - }) - // await this.getMenuList() - // this.$router.push('/Layout/Video') + let res = await getLoginUserData() + if (res.success) { + sessionStorage.setItem('userInfo', JSON.stringify(res.data)) + this.$notify.success("鐧诲綍鎴愬姛锛�") + // 鑾峰彇鏉冮檺 + await this.getMenuList() location.assign("/view/desktop/") - return json + return res.data } else { - this.$notify({ - title: '鎻愮ず', - type: 'error', - message: '鐧诲綍澶辫触锛�' - }) - // this.loading.close() + this.$notify.error("鐧诲綍澶辫触锛�") } }, getScreenHeight() { this.currentHeight = document.documentElement.clientHeight this.currentWidth = document.documentElement.clientWidth - // console.log(this.currentHeight, "褰撳墠绐楀彛澶у皬"); window.onresize = () => { this.currentHeight = document.documentElement.clientHeight this.currentWidth = document.documentElement.clientWidth - // console.log(this.currentHeight, "褰撳墠绐楀彛澶у皬2", this.currentWidth); this.$forceUpdate() } }, @@ -169,19 +206,37 @@ this.serverTitle = res.data.serverName window.document.title = res.data.serverName ? res.data.serverName - : '鏅� 鑳� 璁� 绠� 鑺� 鐐�' + : 'SmartAI' sessionStorage.setItem('title', res.data.serverName) } }, + async getMenuList() { + let results = await getMenuListData({}); + if (results && results.success) { + /* 瀛樺偍鏉冮檺 */ + let buttonAuthoritys = results.data; + if (results && results.length && this.$route.query.is_login) { + this.$router.replace(results[0].url); + } + sessionStorage.setItem("buttonAuthoritys", "," + buttonAuthoritys + ","); + sessionStorage.setItem("menuInfo", JSON.stringify(results)); + } else { + this.$toast({ + type: "error", + message: "鑿滃崟鑾峰彇澶辫触" + }); + } + }, + getQueryVariable(variable) { + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i = 0; i < vars.length; i++) { + var pair = vars[i].split("="); + if (pair[0] == variable) { return pair[1]; } + } + return (false); + } }, - created() { - this.getServerName() - this.getScreenHeight() - }, - watch: {}, - beforeDestroy() { - window.onresize = null - } } </script> <style lang="scss"> @@ -212,12 +267,19 @@ color: #6170e1; letter-spacing: 6.15px; } +.lang-select { + float: right; + color: white !important; + font-size: 14px; + margin: 13px; + cursor: pointer; +} .left-bg { position: absolute; - top: 30%; + top: 29%; right: 18%; width: 390px; - height: 402px; + height: 426px; background: rgba(146, 208, 255, 0.23); border-radius: 4px; text-align: center; @@ -234,14 +296,16 @@ } .login-form { margin: 40px 10px; - // margin: 24px 10px 40px 10px; } .gradient-text { - line-height: 50px; - font-size: 20px; + line-height: 36px; + font-size: 17px; font-family: -webkit-pictograph; font-weight: bolder; position: relative; + b { + font-size: 20px; + } } .gradient-text-one { background-image: linear-gradient(to right, #51feff 5%, #ff8725 100%); -- Gitblit v1.8.0