首頁 web前端 uni-app uniapp登入跳頁

uniapp登入跳頁

May 25, 2023 pm 09:08 PM

隨著行動端應用的發展,許多開發者選擇使用uniapp來進行應用程式的開發,uniapp的一大特點是支援跨平台,在提升開發效率的同時,也使得應用程式的運作和維護更加簡單和便捷。在uniapp應用程式中,登入跳頁是常見的功能,以下我們就來探討如何實現uniapp登入跳轉頁面的具體步驟。

  1. 先建立一個登入頁面,可以使用uniapp提供的模板,也可以自行寫程式碼來實作。
  2. 在登入頁面中,需要引入uniapp官方提供的登入元件,其程式碼如下:
<template>
  <view>
    <form>
      <input type="text" v-model="account" placeholder="请输入账号"/>
      <input type="password" v-model="password" placeholder="请输入密码"/>
      <button type="submit" @click="login">登录</button>
    </form>
  </view>
</template>

<script>
  import { login } from '@/api/user'

  export default {
    data() {
      return {
        account: '',
        password: ''
      }
    },
    methods: {
      async login() {
        // 调用登录接口,接口返回登录状态
        const res = await login({ account: this.account, password: this.password })

        // 如果登录成功,就跳转到主页
        if (res.code === 200) {
          uni.switchTab({ url: '/pages/index' })
        } else {
          uni.showToast({
            title: '登录失败',
            icon: 'none'
          })
        }
      }
    }
  }
</script>
登入後複製

在上述程式碼中,我們編寫了一個基本的登入表單,並在表單提交時調用了登入接口,如果登入成功,則跳到主頁;登入失敗,則彈出視窗提示登入失敗。

  1. 在登入介面中,我們需要進行帳號密碼的校驗,檢查使用者輸入的帳號和密碼是否正確,如果正確則傳回登入成功的狀態碼,並攜帶使用者資訊回傳;否則傳回登入失敗的狀態碼和錯誤訊息。
import request from '@/utils/request'

// 登录接口
export function login(data) {
  return request({
    url: '/login',
    method: 'post',
    data
  })
}
登入後複製

在上述程式碼中,我們使用了uniapp官方推薦的網路請求庫request來進行請求的發送,同時我們需要根據後端介面的要求來進行資料的傳輸和加密。

  1. 在主頁中,我們需要對使用者的登入狀態進行判斷,如果使用者已登錄,則顯示使用者的資訊;如果使用者未登錄,則跳到登入頁面進行登入。
<template>
  <view>
    <text v-if="isLogin">欢迎你,{{ userInfo.name }}</text>
    <view v-else>
      <text>请先登录</text>
      <button @click="gotoLogin">去登录</button>
    </view>
  </view>
</template>

<script>
  export default {
    data() {
      return {
        isLogin: false,
        userInfo: {}
      }
    },
    onLoad() {
      // 判断用户是否已登录
      this.checkLogin()
    },
    methods: {
      checkLogin() {
        // 检查本地存储中是否存在登录信息
        const loginInfo = uni.getStorageSync('loginInfo')
        if (loginInfo && loginInfo.isLogin) {
          this.isLogin = true
          this.userInfo = loginInfo.userInfo
        }
      },
      gotoLogin() {
        // 跳转到登录页面
        uni.navigateTo({ url: '/pages/login' })
      }
    }
  }
</script>
登入後複製

在上述程式碼中,我們透過checkLogin方法檢查本機儲存中是否存在登入訊息,如果存在,則將isLogin設為true,並將userInfo設為本機儲存中的使用者資訊;否則將isLogin設定為false,表示使用者未登入。如果使用者未登錄,則可以透過gotoLogin方法跳到登入頁面進行登入操作。

  1. 在登入成功後,我們需要將登入狀態和使用者資訊儲存到本機儲存中,以便下次開啟應用程式時可以自動登入。
async login() {
  // 调用登录接口,接口返回登录状态
  const res = await login({ account: this.account, password: this.password })

  // 如果登录成功,就跳转到主页
  if (res.code === 200) {
    // 保存登录状态和用户信息到本地存储中
    uni.setStorageSync('loginInfo', { isLogin: true, userInfo: res.data.userInfo })
    uni.switchTab({ url: '/pages/index' })
  } else {
    uni.showToast({
      title: '登录失败',
      icon: 'none'
    })
  }
}
登入後複製

在上述程式碼中,我們使用uniapp提供的本機儲存API來進行狀態的儲存與讀取,以e‘setStorageSync’和‘getStorageSync’為例。透過這種方式,我們可以實現uniapp登入跳轉頁面的功能,為應用程式的開發和使用者體驗提供更好的支援。

以上是uniapp登入跳頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)