当前位置:首页 > uni-app

uniapp登录首页

2026-02-06 00:01:36uni-app

uniapp 登录首页实现方法

页面结构设计

pages 目录下创建登录页面(如 login.vue),使用 uni-app 基础组件构建表单:

<template>
  <view class="login-container">
    <input type="text" v-model="username" placeholder="请输入用户名"/>
    <input type="password" v-model="password" placeholder="请输入密码"/>
    <button @click="handleLogin">登录</button>
  </view>
</template>

数据绑定与验证

通过 v-model 实现双向数据绑定,添加基础验证逻辑:

uniapp登录首页

export default {
  data() {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    handleLogin() {
      if (!this.username || !this.password) {
        uni.showToast({ title: '请填写完整信息', icon: 'none' });
        return;
      }
      this.submitToServer();
    }
  }
}

接口请求封装

使用 uni.request 调用后端接口:

methods: {
  async submitToServer() {
    try {
      const res = await uni.request({
        url: 'https://your-api.com/login',
        method: 'POST',
        data: { 
          username: this.username,
          password: this.password 
        }
      });
      if (res.data.code === 200) {
        this.saveTokenAndRedirect(res.data.token);
      }
    } catch (e) {
      uni.showToast({ title: '登录失败', icon: 'none' });
    }
  }
}

登录状态管理

成功登录后存储 token 并跳转:

uniapp登录首页

methods: {
  saveTokenAndRedirect(token) {
    uni.setStorageSync('token', token);
    uni.reLaunch({ url: '/pages/home/index' });
  }
}

自动登录判断

App.vueonLaunch 中检查本地 token:

onLaunch() {
  const token = uni.getStorageSync('token');
  if (token) {
    uni.reLaunch({ url: '/pages/home/index' });
  } else {
    uni.reLaunch({ url: '/pages/login' });
  }
}

样式优化建议

添加基础样式提升用户体验:

.login-container {
  padding: 40rpx;
}
input {
  border: 1px solid #eee;
  margin-bottom: 20rpx;
  padding: 20rpx;
}
button {
  background-color: #007AFF;
  color: white;
}

安全注意事项

  1. 密码传输需使用 HTTPS 协议
  2. 敏感信息避免存储在本地缓存
  3. 建议添加图形验证码或短信验证防止暴力破解
  4. 服务端应做接口限流和防 SQL 注入处理

标签: 首页uniapp
分享给朋友:

相关文章

uniapp 推送

uniapp 推送

uniapp 推送实现方法 uniapp 推送功能可以通过多种方式实现,主要包括使用第三方推送服务、原生插件或云服务。以下是几种常见的实现方案: 使用 UniPush 服务 UniPush 是…

uniapp消息推送

uniapp消息推送

uniapp消息推送实现方法 uniapp支持多种消息推送方式,包括uniPush、个推、极光推送等。以下为常见实现方案: uniPush(官方推荐) uniapp官方提供的推送服务,基于DClo…

uniapp安装uview

uniapp安装uview

安装uView到UniApp项目 方法一:通过npm安装(推荐) 确保项目已初始化npm,在项目根目录执行以下命令: npm install uview-ui 在main.js文件中引入并注册…

uniapp切片

uniapp切片

uniapp 切片实现方法 在 uniapp 中实现切片功能通常指的是对图片或数据进行分割处理。以下是几种常见的切片实现方式: 图片切片展示 通过 CSS 和 JavaScript 实现图片的网格化…

uniapp 如何封装request请求

uniapp 如何封装request请求

封装 request 请求的核心思路 在 UniApp 中封装请求通常基于 uni.request,通过统一处理 URL、参数、header 和拦截逻辑提升代码复用性。以下是一个完整封装方案: 创建…

uniapp 目录

uniapp 目录

uniapp 目录结构 uniapp 的目录结构遵循 Vue.js 项目的规范,同时包含一些特有的文件和目录。以下是典型的 uniapp 项目目录结构及其说明: project-name/ ├──…