一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語言 - JavaScript - js教程 - 微信小程序?qū)崿F(xiàn)登錄界面

微信小程序?qū)崿F(xiàn)登錄界面

2022-03-08 17:00Harris-H js教程

這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)登錄界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

微信小程序登錄界面實(shí)現(xiàn),供大家參考,具體內(nèi)容如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<view class="container">
  <view class="wrapper">
    <view class="left-top-sign">LOGIN</view>
    <view class="welcome">
      歡迎回來!
    </view>
    <view class="input-content">
      <view class="input-item">
        <text class="tit">手機(jī)號(hào)碼</text>
        <input type="text" placeholder="請(qǐng)輸入手機(jī)號(hào)碼" id='phone' data-type='phone' bindinput='handerInput' />
      </view>
      <view class="input-item">
        <text class="tit">密碼</text>
        <input type="password" placeholder="請(qǐng)輸入密碼" id='password' data-type='password' bindinput='handerInput' />
      </view>
    </view>
    <button class="confirm-btn">登錄</button>
    <view class="forget-section">
      忘記密碼?
    </view>
  </view>
  <view class="register-section">
    還沒有賬號(hào)?
    <text>馬上注冊(cè)</text>
  </view>
</view>

最基本的表單提交。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
data: {
    phone: '', //手機(jī)號(hào)
    password: ''  //密碼
  },
 
  /**
   * 生命周期函數(shù)--監(jiān)聽頁面加載
   */
  onLoad: function (options) {
 
  },
  handerInput(event) {
    //let type = event.currentTarget.dataset.type;
    let type = event.currentTarget.id;
    console.log(event);
    this.setData({
      [type]: event.detail.value
   })
  },
  /**

雙向綁定的實(shí)現(xiàn),利用bindinput 事件,可用id或者dataset 唯一確定數(shù)據(jù)。

id可傳入一個(gè)數(shù)據(jù),dataset可傳入多個(gè)數(shù)據(jù)。

微信小程序的交互:消息顯示框。(官方鏈接)

對(duì)于登錄按鈕綁定一個(gè)點(diǎn)擊回調(diào)函數(shù)。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//html
<button class="confirm-btn" bindtap="login">登錄</button>
 
//js
login() {
    let { phone, password } = this.data;
    console.log(password);
    /**
     * 手機(jī)號(hào)驗(yàn)證
     * 手機(jī)號(hào)為空
     * 手機(jī)號(hào)式錯(cuò)誤
     * 手機(jī)號(hào)正確
     */
    if (!phone) {
      wx.showToast({
        title: '手機(jī)號(hào)不能為空',
        icon: 'none'
      })
      return;
    }
    //定義手機(jī)號(hào)的正則表達(dá)式
    let phoneReg = /^1(3|4|5|6|7|8|9)\d{9}$/
    if (!phoneReg.test(phone)) {
      wx.showToast({
        title: '手機(jī)號(hào)格式錯(cuò)誤',
        icon: 'none'
      })
      return;
    }
 
    if (!password) {
      wx.showToast({
        title: '密碼不能為空',
        icon: 'none'
      })
      return;
    }
 
    wx.showToast({
      title: '前端驗(yàn)證通過'
 
    })

后端驗(yàn)證,調(diào)用接口,通過響應(yīng)的狀態(tài)碼來返回給用戶登錄的信息。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
let result = await request('/login/cellphone', { phone, password });
    if (result.code === 200) {
      wx.showToast({
        title: '登陸成功',
      })
    }
    else if (result.code === 400) {
      wx.showToast({
        title: '手機(jī)號(hào)錯(cuò)誤',
        icon: 'none'
      })
    }
    else if (result.code === 502) {
      wx.showToast({
        title: '密碼錯(cuò)誤',
        icon: 'none'
      })
    }
    else {
      wx.showToast({
        title: '登錄失敗,請(qǐng)重新登錄',
        icon: 'none'
      })
    }
},

個(gè)人中心點(diǎn)擊頭像,跳轉(zhuǎn)登錄界面,登錄成功后將用戶個(gè)人信息數(shù)據(jù)緩存(使用setStorageSync,和getStorageSync 方法),然后使用switchTab 跳轉(zhuǎn)到tabbar下的個(gè)人中心頁,然后將獲得的緩存數(shù)據(jù)儲(chǔ)存到j(luò)s的data中,注意json格式的轉(zhuǎn)化,最后在

html里三元運(yùn)算特判一下。

?
1
2
3
4
5
6
7
8
9
<view class="user-info-box" bindtap='toLogin'>
      <view class="portrait-box">
        <image class="portrait"
          src='{{userInfo.avatarUrl?userInfo.avatarUrl:"/static/images/personal/missing-face.png"}}'></image>
      </view>
      <view class="info-box">
        <text class="username">{{userInfo.nickname?userInfo.nickname: '游客'}}</text>
      </view>
</view>
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//login.js
if (result.code === 200) {
      wx.showToast({
        title: '登陸成功',
      })
 
      wx.setStorageSync('userInfo', JSON.stringify(result.profile));
 
      wx.switchTab({
        url: '/pages/personal/personal'
      })
    }
// personal.js
onLoad: function (options) {
 
    let userInfo = wx.getStorageSync('userInfo');
    if (userInfo) {
      this.setData({
        userInfo: JSON.parse(userInfo)
      })
    }
 
  },

微信小程序?qū)崿F(xiàn)登錄界面

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/weixin_45750972/article/details/115922021

延伸 · 閱讀

精彩推薦
  • js教程基于JavaScript實(shí)現(xiàn)輪播圖效果

    基于JavaScript實(shí)現(xiàn)輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    努力學(xué)習(xí)中.....5792021-12-24
  • js教程微信小程序如何獲取圖片寬度與高度

    微信小程序如何獲取圖片寬度與高度

    這篇文章主要給大家介紹了關(guān)于微信小程序如何獲取圖片寬度與高度的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參...

    bug制造者6352022-02-15
  • js教程javascript實(shí)現(xiàn)固定側(cè)邊欄

    javascript實(shí)現(xiàn)固定側(cè)邊欄

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)固定側(cè)邊欄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    愛前端的茂茂3702022-01-20
  • js教程JavaScript代碼實(shí)現(xiàn)簡(jiǎn)單計(jì)算器

    JavaScript代碼實(shí)現(xiàn)簡(jiǎn)單計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了JavaScript代碼實(shí)現(xiàn)簡(jiǎn)單計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    小蟲蟲~4232021-12-21
  • js教程JavaScript實(shí)現(xiàn)點(diǎn)擊出現(xiàn)子菜單效果

    JavaScript實(shí)現(xiàn)點(diǎn)擊出現(xiàn)子菜單效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)點(diǎn)擊出現(xiàn)子菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    weixin_551084226492022-01-19
  • js教程JavaScript實(shí)現(xiàn)二叉搜索樹

    JavaScript實(shí)現(xiàn)二叉搜索樹

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)二叉搜索樹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    希魔王的塔羅牌7262022-02-13
  • js教程微信小程序開發(fā)篇之踩坑記錄

    微信小程序開發(fā)篇之踩坑記錄

    這篇文章主要給大家介紹了關(guān)于微信小程序開發(fā)篇之踩坑記錄的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)...

    孫夢(mèng)舸8552022-02-16
  • js教程原生JS實(shí)現(xiàn)音樂播放器的示例代碼

    原生JS實(shí)現(xiàn)音樂播放器的示例代碼

    這篇文章主要介紹了原生JS實(shí)現(xiàn)音樂播放器的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友...

    單線程_017072022-01-22
主站蜘蛛池模板: 网站在线观看 | 91精品国产品国语在线不卡 | 全彩调教侵犯h本子全彩妖气he | 黑人与欧洲女子性大战 | 免费毛片 | 禁欲天堂| 5151hh四虎国产精品 | 色99视频 | 成年视频在线播放 | 午夜免费体验30分 | 色婷婷综合久久久 | 啊好爽视频 | 亚洲AV国产福利精品在现观看 | 五月一区二区久久综合天堂 | 久草在线精彩免费视频 | 久久久久青草大香线综合精品 | 欧美黑人性猛交╳xx╳动态图 | 美女毛片在线 | 亚洲国产午夜 | 顶级尤物极品女神福利视频 | 成人网18免费网站 | 息与子中文字幕bd | 亚洲精品国产精品麻豆99 | 国产欧美va欧美va香蕉在线观看 | 亚洲第一男人天堂 | 草逼视频网站 | 日本大片免a费观看在线 | 日韩在线视精品在亚洲 | futa百合文| 国产亚洲精品美女久久久 | 国产裸舞在线一区二区 | 人体欣赏孕妇季玥图片 | 白鹿扒开内裤露出尿孔 | 国产欧美日韩综合 | 日本中文字幕高清 | 欧美大片一区二区三区 | 美女用手扒开粉嫩的屁股 | 日本中文字幕一区二区有码在线 | 国产成人精品一区二区 | 亚洲精品www久久久久久久软件 | 成人国产一区二区 |