找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 23|回复: 0

uni-app H5项目的用户登录界面DEMO

[复制链接]

5

主题

7

回帖

133

积分

管理员

积分
133
发表于 3 天前 | 显示全部楼层 |阅读模式
在uni-app中创建一个用户登录的DEMO,通常我们会结合前端页面和后端API来实现。但在这里,我将给出一个简化的前端示例,演示如何实现基本的用户名、密码验证、登录状态保持和注销登录的功能。由于后端API部分通常涉及到服务器和数据库操作,这里我们假设有一个模拟的后端接口,并且仅在前端处理登录状态的存储和展示。
首先,你需要创建几个页面:
  • pages/login/login.vue - 登录页面
  • pages/home/home.vue - 主页面(用户登录后的页面)
  • pages/logout/logout.vue - 注销页面(实际上可能不需要单独页面,可以在主页面上提供注销按钮)

1. pages/login/login.vue

  1. <template>
  2.   <view>
  3.     <input type="text" v-model="username" placeholder="请输入用户名" />
  4.     <input type="password" v-model="password" placeholder="请输入密码" />
  5.     <button @click="login">登录</button>
  6.   </view>
  7. </template>

  8. <script>
  9. export default {
  10.   data() {
  11.     return {
  12.       username: '',
  13.       password: ''
  14.     };
  15.   },
  16.   methods: {
  17.     login() {
  18.       // 这里只是模拟验证,实际开发中应调用后端API
  19.       if (this.username === 'admin' && this.password === '123456') {
  20.         uni.setStorageSync('user', { username: this.username, isLoggedIn: true });
  21.         uni.navigateTo({ url: '/pages/home/home' });
  22.       } else {
  23.         uni.showToast({ title: '用户名或密码错误', icon: 'none' });
  24.       }
  25.     }
  26.   }
  27. };
  28. </script>
复制代码


2. pages/home/home.vue


  1. <template>
  2.   <view>
  3.     <text>欢迎,{{ userInfo.username }}!</text>
  4.     <button @click="logout">注销</button>
  5.   </view>
  6. </template>

  7. <script>
  8. export default {
  9.   data() {
  10.     return {
  11.       userInfo: uni.getStorageSync('user') || {}
  12.     };
  13.   },
  14.   onLoad() {
  15.     // 检查是否已登录
  16.     if (!this.userInfo.isLoggedIn) {
  17.       uni.navigateTo({ url: '/pages/login/login' });
  18.     }
  19.   },
  20.   methods: {
  21.     logout() {
  22.       uni.removeStorageSync('user');
  23.       uni.navigateTo({ url: '/pages/login/login' });
  24.     }
  25.   }
  26. };
  27. </script>
复制代码


注意:
  • 在实际项目中,你应该使用HTTPS和安全的API来传输用户名和密码。
  • 用户名和密码的验证应该在后端进行,前端只负责发送请求和展示结果。
  • 登录状态的保持通常使用token或session来实现,这里为了简化示例,我们使用了uni.setStorageSync和uni.getStorageSync来在本地存储和读取登录状态。但在实际项目中,你应该使用更安全的方式来存储和验证登录状态。
  • 注销登录时,除了清除本地存储的登录状态外,还应该向后端发送注销请求以确保服务器端的会话也被销毁。




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DE8G.CN ( 桂ICP备2024020718号-2 )

GMT+8, 2025-9-6 04:02 , Processed in 0.050187 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表