激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - JavaScript - js教程 - 微信小程序實現登錄界面

微信小程序實現登錄界面

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

這篇文章主要為大家詳細介紹了微信小程序實現登錄界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

微信小程序登錄界面實現,供大家參考,具體內容如下

?
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">手機號碼</text>
        <input type="text" placeholder="請輸入手機號碼" id='phone' data-type='phone' bindinput='handerInput' />
      </view>
      <view class="input-item">
        <text class="tit">密碼</text>
        <input type="password" placeholder="請輸入密碼" id='password' data-type='password' bindinput='handerInput' />
      </view>
    </view>
    <button class="confirm-btn">登錄</button>
    <view class="forget-section">
      忘記密碼?
    </view>
  </view>
  <view class="register-section">
    還沒有賬號?
    <text>馬上注冊</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: '', //手機號
    password: ''  //密碼
  },
 
  /**
   * 生命周期函數--監聽頁面加載
   */
  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
   })
  },
  /**

雙向綁定的實現,利用bindinput 事件,可用id或者dataset 唯一確定數據。

id可傳入一個數據,dataset可傳入多個數據。

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

對于登錄按鈕綁定一個點擊回調函數。

?
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);
    /**
     * 手機號驗證
     * 手機號為空
     * 手機號式錯誤
     * 手機號正確
     */
    if (!phone) {
      wx.showToast({
        title: '手機號不能為空',
        icon: 'none'
      })
      return;
    }
    //定義手機號的正則表達式
    let phoneReg = /^1(3|4|5|6|7|8|9)\d{9}$/
    if (!phoneReg.test(phone)) {
      wx.showToast({
        title: '手機號格式錯誤',
        icon: 'none'
      })
      return;
    }
 
    if (!password) {
      wx.showToast({
        title: '密碼不能為空',
        icon: 'none'
      })
      return;
    }
 
    wx.showToast({
      title: '前端驗證通過'
 
    })

后端驗證,調用接口,通過響應的狀態碼來返回給用戶登錄的信息。

?
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: '手機號錯誤',
        icon: 'none'
      })
    }
    else if (result.code === 502) {
      wx.showToast({
        title: '密碼錯誤',
        icon: 'none'
      })
    }
    else {
      wx.showToast({
        title: '登錄失敗,請重新登錄',
        icon: 'none'
      })
    }
},

個人中心點擊頭像,跳轉登錄界面,登錄成功后將用戶個人信息數據緩存(使用setStorageSync,和getStorageSync 方法),然后使用switchTab 跳轉到tabbar下的個人中心頁,然后將獲得的緩存數據儲存到js的data中,注意json格式的轉化,最后在

html里三元運算特判一下。

?
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)
      })
    }
 
  },

微信小程序實現登錄界面

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

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

延伸 · 閱讀

精彩推薦
  • js教程基于JavaScript實現輪播圖效果

    基于JavaScript實現輪播圖效果

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

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

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

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

    bug制造者6352022-02-15
  • js教程javascript實現固定側邊欄

    javascript實現固定側邊欄

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

    愛前端的茂茂3702022-01-20
  • js教程JavaScript代碼實現簡單計算器

    JavaScript代碼實現簡單計算器

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

    小蟲蟲~4232021-12-21
  • js教程JavaScript實現點擊出現子菜單效果

    JavaScript實現點擊出現子菜單效果

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

    weixin_551084226492022-01-19
  • js教程JavaScript實現二叉搜索樹

    JavaScript實現二叉搜索樹

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

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

    微信小程序開發篇之踩坑記錄

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

    孫夢舸8552022-02-16
  • js教程原生JS實現音樂播放器的示例代碼

    原生JS實現音樂播放器的示例代碼

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

    單線程_017072022-01-22
主站蜘蛛池模板: 精品一区二区三区日本 | 国产一区二区精品91 | 成人在线网站 | 91社影院在线观看 | 激情宗合 | 蜜桃精品视频 | 黄色三级三级三级 | 欧美三级美国一级 | 国产乱淫a∨片免费观看 | 国产成人精品二区 | 国产毛片aaa一区二区三区视频 | 高清做爰免费无遮网站挡 | 免费看污视频在线观看 | 亚洲精品 在线播放 | 欧美一级淫片免费播放口 | 成人男女啪啪免费观看网站四虎 | 国产一级aa大片毛片 | 色婷婷av一区二区三区久久 | 可以看逼的视频 | 毛毛片在线看 | 欧美视频网 | 欧美一级全黄 | 日韩精品久久久久久久九岛 | 在线亚州 | 日韩精品中文字幕一区二区三区 | 成人福利视频在线 | 99视频观看 | 麻豆蜜桃在线观看 | 夜间福利视频 | 亚久久 | 日本一区二区视频在线 | 爱性久久久久久久 | 国产免费福利视频 | 综合精品一区 | 黄网站免费观看视频 | 北条麻菲 | 国产亚洲福利 | 久久精品无码一区二区三区 | 斗破苍穹在线免费 | 欧美特一级| 色播视频在线播放 |