Rumah  >  Artikel  >  hujung hadapan web  >  Amalan reka bentuk dan pembangunan UniApp untuk melaksanakan fungsi log masuk dan kebenaran pengguna

Amalan reka bentuk dan pembangunan UniApp untuk melaksanakan fungsi log masuk dan kebenaran pengguna

WBOY
WBOYasal
2023-07-06 16:02:182216semak imbas

UniApp ialah rangka kerja pembangunan aplikasi merentas platform yang dibangunkan berdasarkan Vue.js Ia boleh menyusun kod yang dibangunkan sekali dan menjana aplikasi untuk iOS, Android, H5 dan platform lain pada masa yang sama. Artikel ini akan memperkenalkan amalan reka bentuk dan pembangunan untuk melaksanakan fungsi log masuk dan kebenaran pengguna dalam UniApp, dan menggambarkannya melalui contoh kod.

1. Reka bentuk fungsional
Fungsi log masuk dan keizinan pengguna merupakan bahagian penting dalam aplikasi moden Peranan mereka adalah untuk mengesahkan identiti pengguna, melindungi privasi pengguna dan mengawal hak akses pengguna. Apabila melaksanakan fungsi log masuk dan kebenaran pengguna, kita perlu mengambil kira aspek berikut:

  1. Pendaftaran dan log masuk pengguna: Pengguna boleh membuat akaun baharu melalui fungsi pendaftaran dan mengesahkan melalui fungsi log masuk.
  2. Log masuk pihak ketiga: Sokong pengguna untuk log masuk menggunakan akaun pihak ketiga, seperti WeChat, QQ, Weibo, dll.
  3. Pengurusan kebenaran: Urus hak akses pengguna dan lindungi privasi pengguna.
  4. Storan maklumat: Simpan status log masuk pengguna dan maklumat berkaitan.

2. Amalan Pembangunan
Yang berikut menggunakan kes praktikal untuk menggambarkan cara melaksanakan fungsi log masuk dan kebenaran pengguna dalam UniApp.

  1. Buat halaman log masuk
    Pertama, buat direktori log masuk di bawah direktori halaman UniApp untuk menyimpan halaman berkaitan log masuk. Cipta fail login.vue dalam direktori log masuk sebagai templat untuk halaman log masuk Kodnya adalah seperti berikut:
<template>
  <view>
    <input v-model="username" placeholder="请输入用户名" />
    <button @click="login">登录</button>
  </view>
</template>

<script>
  export default {
    data() {
      return {
        username: ''
      }
    },
    methods: {
      login() {
        // 登录操作
      }
    }
  }
</script>

<style>
  // 样式
</style>
  1. Pelaksanaan logik log masuk
    Dalam fail login.vue, kami menulis kaedah log masuk untuk mengendalikan log masuk pengguna. operasi. Dalam pembangunan sebenar, kami boleh mengesahkan dengan menghantar permintaan log masuk, dan melaksanakan pemprosesan yang sepadan berdasarkan hasil log masuk. Berikut ialah contoh kod mudah:
methods: {
  login() {
    // 发送登录请求
    api.login({
      username: this.username
    }).then(res => {
      // 登录成功
      // 将登录状态保存到本地
      uni.setStorageSync('token', res.data.token)
      // 跳转到首页
      uni.switchTab({
        url: '/pages/index/index'
      })
    }).catch(err => {
      // 登录失败
      uni.showToast({
        title: '登录失败',
        icon: 'none'
      })
    })
  }
}

Dalam kod sampel, kami menggunakan modul yang dipanggil api untuk menghantar permintaan log masuk. Selepas log masuk berjaya, kami menyimpan token yang dikembalikan secara setempat (menggunakan kaedah uni.setStorageSync) dan melompat ke halaman utama melalui uni.switchTab.

  1. Pengurusan Kebenaran
    Dalam sesetengah kes, kami perlu mengawal kebenaran pada halaman atau fungsi tertentu untuk melindungi privasi pengguna atau menyekat akses pengguna. Dalam UniApp, kami boleh melaksanakan kawalan kebenaran melalui pengawal navigasi global. Berikut ialah contoh kod mudah:
// main.js
import Vue from 'vue'
import App from './App'

// 全局导航守卫
router.beforeEach((to, from, next) => {
  // 从本地获取登录状态
  const token = uni.getStorageSync('token')
  // 如果没有登录,跳转到登录页面
  if (!token && to.path !== '/login') {
    uni.navigateTo({
      url: '/pages/login/login'
    })
  } else {
    next()
  }
})

const app = new Vue({
  ...App
})
app.$mount()

Dalam kod sampel, kami menggunakan kaedah beforeEach pengawal navigasi global untuk melaksanakan kawalan kebenaran dengan menilai status log masuk dan penghalaan sasaran. Jika pengguna tidak log masuk dan laluan sasaran bukan halaman log masuk, kami akan melompat ke halaman log masuk.

  1. Log masuk pihak ketiga
    UniApp menyokong penggunaan pemalam pihak ketiga untuk melaksanakan pelbagai fungsi log masuk pihak ketiga, seperti menggunakan pemalam uexWeiXin untuk melaksanakan log masuk WeChat. Berikut ialah contoh kod mudah:
methods: {
  login() {
    uexWeiXin.login({
      scope: 'snsapi_userinfo',
      state: 'uniapp',
      success: res => {
        const code = res.code
        // 发送登录请求
        api.loginByWeChat({
          code: code
        }).then(res => {
          // 登录成功
          // 将登录状态保存到本地
          uni.setStorageSync('token', res.data.token)
          // 跳转到首页
          uni.switchTab({
            url: '/pages/index/index'
          })
        }).catch(err => {
          // 登录失败
          uni.showToast({
            title: '登录失败',
            icon: 'none'
          })
        })
      }
    })
  }
}

Dalam kod sampel, kami menggunakan kaedah log masuk pemalam uexWeiXin untuk melaksanakan log masuk WeChat. Selepas log masuk berjaya, kami menyimpan token yang dikembalikan secara setempat dan melompat ke halaman utama.

3. Ringkasan
Melalui pengenalan artikel ini, kami telah mempelajari tentang reka bentuk dan amalan pembangunan untuk melaksanakan fungsi log masuk dan kebenaran pengguna dalam UniApp, dan menerangkannya melalui contoh kod. Log masuk dan kebenaran pengguna adalah fungsi penting dalam aplikasi moden Ia boleh melindungi privasi pengguna dan keselamatan data serta meningkatkan pengalaman pengguna. Dalam pembangunan sebenar, kami boleh menggunakan alatan pembangunan dan pemalam yang disediakan oleh UniApp secara fleksibel mengikut keperluan projek dan keadaan sebenar untuk mencapai fungsi log masuk dan kebenaran pengguna yang lebih berkuasa dan selamat.

Atas ialah kandungan terperinci Amalan reka bentuk dan pembangunan UniApp untuk melaksanakan fungsi log masuk dan kebenaran pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn