vue實(shí)戰(zhàn)(7):完整開(kāi)發(fā)登錄頁(yè)面(一)

加速度

轉(zhuǎn)眼又到端午放假纵柿,趁著這期間再整理一篇蜈抓,這個(gè)小項(xiàng)目不大,但是時(shí)間拖的比較久昂儒,期間浪費(fèi)了不少時(shí)間沟使,加快速度,爭(zhēng)取早點(diǎn)結(jié)束掉渊跋。

0. 其它

vue實(shí)戰(zhàn)(1):準(zhǔn)備與資料整理
vue實(shí)戰(zhàn)(2):初始化項(xiàng)目腊嗡、搭建底部導(dǎo)航路由
vue實(shí)戰(zhàn)(3):底部導(dǎo)航顯示、搭建各模塊靜態(tài)頁(yè)面拾酝、添加登錄頁(yè)頁(yè)面與路由
vue實(shí)戰(zhàn)(4):postman測(cè)試數(shù)據(jù)燕少、封裝ajax、使用vuex管理狀態(tài)
vue實(shí)戰(zhàn)(5):總結(jié)一
vue實(shí)戰(zhàn)(6):異步顯示數(shù)據(jù)蒿囤、開(kāi)發(fā)Star組件
vue實(shí)戰(zhàn)(7):完整開(kāi)發(fā)登錄頁(yè)面(一)
vue實(shí)戰(zhàn)(8):完整開(kāi)發(fā)登錄頁(yè)面(二)
vue實(shí)戰(zhàn)(9):總結(jié)二
vue實(shí)戰(zhàn)(10):開(kāi)發(fā)店鋪詳情(一)
vue實(shí)戰(zhàn)(11):開(kāi)發(fā)店鋪詳情(二)
vue實(shí)戰(zhàn)(12):完結(jié) + 附學(xué)習(xí)視頻

1. 界面相關(guān)效果


這一部分內(nèi)容客们,回到之前完成的 Login.vue 頁(yè)面,做邏輯之前先完成一些必要的效果材诽。

  • 切換登錄
    1)設(shè)置布爾值 logingwey: true, // 短信登錄為true,密碼登錄為false
    2)設(shè)置相關(guān) class
    登錄切換.gif
  • 手機(jī)號(hào)合法檢查
    1)判斷輸入的手機(jī)號(hào)的位數(shù)
computed: {
    // 返回true或者false底挫,用test(),判斷是否輸入了11位1開(kāi)頭的數(shù)字
    logincode () {
      return /^1\d{10}$/.test(this.phone)
    }
  },

2)判斷是否可以發(fā)送驗(yàn)證碼

<button :disabled="!logincode" 
        class="get_verification" 
        :class="{login_code: logincode}" 
        @click.prevent ="righttime">
    {{timenum > 0 ? `已發(fā)送${timenum}s` : '獲取驗(yàn)證碼'}}
 </button>
  • 倒計(jì)時(shí)效果
    1)設(shè)置倒計(jì)時(shí)為30秒
righttime () {
      // 倒計(jì)時(shí)
      if (!this.timenum) {
        this.timenum = 30 // 初始值為30秒
        let clertime = setInterval(() => { // 計(jì)時(shí)器
          this.timenum--
          if (this.timenum <= 0) { // 如果減到0則清楚計(jì)時(shí)器
            clearInterval(clertime)
          }
        }, 1000)
        // ajax請(qǐng)求
      }
    }
發(fā)送驗(yàn)證碼倒計(jì)時(shí).gif
  • 切換顯示或隱藏密碼
    1)兩個(gè) input 設(shè)置密碼顯示與隱藏
<section class="login_verification">
  <input type="password" maxlength="8" placeholder="密碼" 
         v-if="showpwd" v-model="pwd">
  <input type="text" maxlength="8" placeholder="密碼" 
         v-else v-model="pwd">
      <div class="switch_button " :class="showpwd ? 'on' : 'off'" 
           @click="showpwd = !showpwd">
           <div class=""></div>
       <span class="switch_text">{{showpwd ? '顯示' : 'abc'}}</span>
      </div>
</section>
  • 前臺(tái)驗(yàn)證提示
    1)新建 AlertTip 文件夾與 AlertTip.vue 文件
    2)搭好頁(yè)面與 css
<template>
  <div class="alert_container">
    <section class="tip_text_container">
      <div class="tip_icon">
        <span></span>
        <span></span>
      </div>
      <p class="tip_text">{{alertText}}</p>
      <div class="confrim" @click="closeTip">確認(rèn)</div>
    </section>
  </div>
</template>

<script>
export default {
  props: {
    alertText: String
  },
  methods: {
    closeTip () {
      // 分發(fā)自定義事件
      this.$emit('closeTip')
    }
  }
}
</script>

3)login.vue 頁(yè)調(diào)用并判斷

showalert (alertText) {
      this.alertshow = true
      this.alertText = alertText
    },
    // 登錄
    login () {
      if (this.logingwey) { // 短信登錄
        const { logincode, phone, code } = this
        if (!this.logincode) {
          // 手機(jī)號(hào)有誤
          this.showalert('手機(jī)號(hào)有誤')
        } else if (!this.code) {
          // 驗(yàn)證碼有誤
          this.showalert('驗(yàn)證碼有誤')
        }
      } else { // 密碼登錄
        const { name, pwd, captcha } = this
        if (!this.name) {
          // 用戶(hù)名不能為空
          this.showalert('用戶(hù)名不能為空')
        } else if (!this.pwd) {
          // 密碼不能為空
          this.showalert('密碼不能為空')
        } else if (!this.captcha) {
          // 驗(yàn)證碼有誤
          this.showalert('驗(yàn)證碼有誤')
        }
      }
    },
    closeTip () {
      this.alertshow = false
      this.alertText = ''
    }
提示彈窗.gif

2. 動(dòng)態(tài)一次性圖形驗(yàn)證碼


  • src 換成接口
    <img class="get_verification" src="http://localhost:4000/captcha" @click="getCaptcha" ref="captchas" alt="captcha">
  • 添加點(diǎn)擊事件脸侥,點(diǎn)擊刷新圖片
// 刷新圖片驗(yàn)證碼
   getCaptcha () {
     this.$refs.captchas.src = `http://localhost:4000/captcha?time=${Date.now()}`
   }

3. 結(jié)束

放在一篇有點(diǎn)長(zhǎng)凄敢,分第二篇

點(diǎn)個(gè)贊唄!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末湿痢,一起剝皮案震驚了整個(gè)濱河市涝缝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌譬重,老刑警劉巖拒逮,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異臀规,居然都是意外死亡滩援,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)塔嬉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)玩徊,“玉大人,你說(shuō)我怎么就攤上這事谨究《鞲ぃ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵胶哲,是天一觀的道長(zhǎng)畔塔。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么澈吨? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任把敢,我火速辦了婚禮,結(jié)果婚禮上谅辣,老公的妹妹穿的比我還像新娘修赞。我一直安慰自己,他們只是感情好桑阶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布榔组。 她就那樣靜靜地躺著,像睡著了一般联逻。 火紅的嫁衣襯著肌膚如雪搓扯。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,816評(píng)論 1 290
  • 那天包归,我揣著相機(jī)與錄音锨推,去河邊找鬼。 笑死公壤,一個(gè)胖子當(dāng)著我的面吹牛换可,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播厦幅,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼沾鳄,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了确憨?” 一聲冷哼從身側(cè)響起译荞,我...
    開(kāi)封第一講書(shū)人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎休弃,沒(méi)想到半個(gè)月后吞歼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡塔猾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年篙骡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丈甸。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡糯俗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出睦擂,到底是詐尸還是另有隱情得湘,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布祈匙,位于F島的核電站忽刽,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏夺欲。R本人自食惡果不足惜跪帝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望些阅。 院中可真熱鬧伞剑,春花似錦、人聲如沸市埋。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)缤谎。三九已至抒倚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間坷澡,已是汗流浹背托呕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留频敛,地道東北人项郊。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像斟赚,于是被迫代替她去往敵國(guó)和親着降。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348