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:
2. Amalan Pembangunan
Yang berikut menggunakan kes praktikal untuk menggambarkan cara melaksanakan fungsi log masuk dan kebenaran pengguna dalam UniApp.
<template> <view> <input v-model="username" placeholder="请输入用户名" /> <button @click="login">登录</button> </view> </template> <script> export default { data() { return { username: '' } }, methods: { login() { // 登录操作 } } } </script> <style> // 样式 </style>
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.
// 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.
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!