From cb5c9968b763362d399e1c7fce1129ec7434aba8 Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期三, 26 四月 2023 14:07:31 +0800 Subject: [PATCH] session保存token --- src/views/login.vue | 242 +++++++++++------------------------------------- 1 files changed, 55 insertions(+), 187 deletions(-) diff --git a/src/views/login.vue b/src/views/login.vue index 73c3014..42d2136 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -10,13 +10,7 @@ <Col class="content"> <div> <Header /> - <div v-if="!socialLogining"> - <Tabs v-model="tabName"> - <TabPane - :label="$t('usernameLogin')" - name="username" - icon="md-person" - > + <div v-if="!socialLogining" style="margin-top: 150px"> <Form ref="usernameLoginForm" :model="form" @@ -24,13 +18,16 @@ class="form" v-if="tabName == 'username'" > + <FormItem> + <h1 style="margin-left: 40%;">鐧� 闄�</h1> + </FormItem> <FormItem prop="username"> <Input v-model="form.username" prefix="ios-contact" size="large" clearable - placeholder="璐﹀彿/閭/鎵嬫満鍙�" + placeholder="璐﹀彿" autocomplete="off" /> </FormItem> @@ -74,70 +71,24 @@ </Row> </FormItem> </Form> - </TabPane> - <TabPane - :label="$t('mobileLogin')" - name="mobile" - icon="ios-phone-portrait" - > - <Form - ref="mobileLoginForm" - :model="form" - :rules="rules" - class="form" - v-if="tabName == 'mobile'" - > - <FormItem prop="mobile"> - <Input - v-model="form.mobile" - prefix="ios-phone-portrait" - size="large" - clearable - placeholder="璇疯緭鍏ユ墜鏈哄彿" - /> - </FormItem> - <FormItem prop="code" :error="errorCode"> - <Row type="flex" justify="space-between"> - <Input - v-model="form.code" - prefix="ios-mail-outline" - size="large" - clearable - placeholder="璇疯緭鍏ョ煭淇¢獙璇佺爜" - :maxlength="6" - class="input-verify" - /> - <CountDownButton - ref="countDown" - @on-click="sendSmsCode" - :autoCountDown="false" - size="large" - :loading="sending" - :text="getSms" - /> - </Row> - </FormItem> - </Form> - </TabPane> - </Tabs> - <Row justify="space-between" align="middle"> - <Checkbox v-model="saveLogin" size="large">{{ - $t("autoLogin") - }}</Checkbox> - <Dropdown trigger="click" @on-click="handleDropDown"> - <a class="forget-pass">{{ $t("forgetPass") }}</a> - <DropdownMenu slot="list"> - <DropdownItem name="test">浣撻獙娴嬭瘯璐﹀彿</DropdownItem> - <DropdownItem name="resetByMobile" - >浣跨敤鎵嬫満鍙烽噸缃瘑鐮�(浠樿垂)</DropdownItem - > - <DropdownItem name="resetByEmail" - >浣跨敤閭閲嶇疆瀵嗙爜(浠樿垂)</DropdownItem - > - </DropdownMenu> - </Dropdown> - </Row> + <!--<Row justify="space-between" align="middle">--> + <!--<Checkbox v-model="saveLogin" size="large">{{--> + <!--$t("autoLogin")--> + <!--}}</Checkbox>--> + <!--<Dropdown trigger="click" @on-click="handleDropDown">--> + <!--<a class="forget-pass">{{ $t("forgetPass") }}</a>--> + <!--<DropdownMenu slot="list">--> + <!--<DropdownItem name="test">浣撻獙娴嬭瘯璐﹀彿</DropdownItem>--> + <!--<DropdownItem name="resetByMobile"--> + <!-->浣跨敤鎵嬫満鍙烽噸缃瘑鐮�(浠樿垂)</DropdownItem--> + <!-->--> + <!--<DropdownItem name="resetByEmail"--> + <!-->浣跨敤閭閲嶇疆瀵嗙爜(浠樿垂)</DropdownItem--> + <!-->--> + <!--</DropdownMenu>--> + <!--</Dropdown>--> + <!--</Row>--> <Button class="login-btn" type="primary" @@ -149,65 +100,12 @@ <span v-if="!loading">{{ $t("login") }}</span> <span v-else>{{ $t("logining") }}</span> </Button> - <Row type="flex" justify="space-between" class="other-login"> - <div class="other-way icons"> - {{ $t("otherLogin") }} - <div class="other-icon" @click="toGithubLogin"> - <Icon - custom="iconfont icon-github" - size="20" - class="other-icon" - @click="toGithubLogin" - /> - </div> - <div class="other-icon" @click="toQQLogin"> - <Icon custom="iconfont icon-qq" size="22" /> - </div> - <div class="other-icon" @click="toWeixinLogin"> - <Icon custom="iconfont icon-weixin" size="23" /> - </div> - <Icon - v-show="!showMore" - type="ios-arrow-down" - class="other-icon" - size="16" - @click="showMore = true" - ></Icon> - <div class="other-icon" v-show="showMore" @click="toWeiboLogin"> - <Icon custom="iconfont icon-weibo" size="23" /> - </div> - <div - class="other-icon" - v-show="showMore" - @click="toDingdingLogin" - > - <Icon custom="iconfont icon-dingding" size="20" /> - </div> - <div - class="other-icon" - v-show="showMore" - @click="toWorkwechatLogin" - > - <Icon custom="iconfont icon-qiyeweixin" size="20" /> - </div> - <Icon - v-show="showMore" - type="ios-arrow-up" - class="other-icon" - size="16" - @click="showMore = false" - ></Icon> - </div> - <router-link to="/regist"> - <a class="forget-pass">{{ $t("regist") }}</a> - </router-link> - </Row> </div> <div v-if="socialLogining"> <RectLoading /> </div> </div> - <Footer /> + <!--<Footer />--> </Col> <LangSwitch /> </Row> @@ -227,18 +125,13 @@ <!--</div>--> + </template> <script> import { login, userInfo, - githubLogin, - qqLogin, - weiboLogin, - wechatLogin, - dingdingLogin, - workwechatLogin, getJWT, sendLoginSms, smsLogin, @@ -250,7 +143,7 @@ import { validateMobile } from "@/libs/validate"; import Cookies from "js-cookie"; import Header from "@/views/main-components/header"; - import Footer from "@/views/main-components/footer"; + //import Footer from "@/views/main-components/footer"; import LangSwitch from "@/views/main-components/lang-switch"; import RectLoading from "@/views/my-components/xboot/rect-loading"; import CountDownButton from "@/views/my-components/xboot/count-down-button"; @@ -263,7 +156,6 @@ RectLoading, LangSwitch, Header, - Footer, VueFurcateTree }, data() { @@ -302,7 +194,9 @@ ] } ], + sessionStorage: null, showMore: false, + code:"", captchaId: "", captchaImg: "", loadingCaptcha: true, @@ -315,45 +209,11 @@ sending: false, errorCode: "", form: { - username: "test鎴杢est2 鍙敞鍐� 鏀寔绗笁鏂硅处鍙风櫥褰�", - password: "123456", - mobile: "闃块噷浜戠煭淇�0.045/鏉� 鑻ヤ綑棰濅笉瓒宠仈绯讳綔鑰呭厖鍊�", + username: "", + password: "", code: "", }, - rules: { - username: [ - { - required: true, - message: "璐﹀彿涓嶈兘涓虹┖", - trigger: "change", - }, - ], - password: [ - { - required: true, - message: "瀵嗙爜涓嶈兘涓虹┖", - trigger: "change", - }, - ], - imgCode: [ - { - required: true, - message: "楠岃瘉鐮佷笉鑳戒负绌�", - trigger: "change", - }, - ], - mobile: [ - { - required: true, - message: "鎵嬫満鍙蜂笉鑳戒负绌�", - trigger: "change", - }, - { - validator: validateMobile, - trigger: "change", - }, - ], - }, + showChangePass: false, }; }, methods: { @@ -362,7 +222,8 @@ initCaptcha().then((res) => { this.loadingCaptcha = false; if (res.success) { - this.captchaId = res.result; + this.code = res.result.code; + this.captchaId = res.result.captchaId; this.captchaImg = drawCodeImage + this.captchaId; } }); @@ -386,14 +247,15 @@ }, afterLogin(res) { let accessToken = res.result; - this.setStore("accessToken", accessToken); + console.log("login_afterLogin()",accessToken) + this.setSessionStore("accessToken", accessToken); getOtherSet().then((res) => { if (res.result) { let domain = res.result.ssoDomain; - Cookies.set("accessToken", accessToken, { - domain: domain, - expires: 7, - }); + // Cookies.set("accessToken", accessToken, { + // domain: domain, + // expires: 7, + // }); } }); // 鑾峰彇鐢ㄦ埛淇℃伅 @@ -422,7 +284,7 @@ util.initRouter(this); // window.location.reload(); this.$router.push({ - name: "home_index", + name: "home2", }); } else { this.loading = false; @@ -431,6 +293,11 @@ }, submitLogin() { if (this.tabName == "username") { + if(this.code.toUpperCase()!=this.form.imgCode.toUpperCase()){ + this.$Message.error("楠岃瘉鐮侀敊璇�"); + this.getCaptchaImg(); + return + } this.loading = true; login({ username: this.form.username, @@ -541,14 +408,14 @@ if (res.success) { this.socialLogining = true; let accessToken = res.result; - this.setStore("accessToken", accessToken); + this.setSessionStore("accessToken", accessToken); getOtherSet().then((res) => { if (res.result) { let domain = res.result.ssoDomain; - Cookies.set("accessToken", accessToken, { - domain: domain, - expires: 7, - }); + // Cookies.set("accessToken", accessToken, { + // domain: domain, + // expires: 7, + // }); } }); // 鑾峰彇鐢ㄦ埛淇℃伅 @@ -625,16 +492,17 @@ }); }, test() { - this.$Notice.info({ - title: "娴嬭瘯浣撻獙璐﹀彿", - desc: "璐﹀彿锛歵est鎴杢est2<br>瀵嗙爜锛�123456", - }); + // this.$Notice.info({ + // title: "娴嬭瘯浣撻獙璐﹀彿", + // desc: "璐﹀彿锛歵est鎴杢est2<br>瀵嗙爜锛�123456", + // }); }, }, mounted() { - this.showNotice(); + //this.showNotice(); this.relatedLogin(); this.getCaptchaImg(); + }, }; </script> -- Gitblit v1.9.1