当前位置:首页 > 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 实现双向数据绑定,添加基础验证逻辑:

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 并跳转:

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' });
  }
}

样式优化建议

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

uniapp登录首页

.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
分享给朋友:

相关文章

vue实现九宫格首页

vue实现九宫格首页

Vue 实现九宫格首页 基础布局结构 使用 Vue 的模板语法结合 CSS Grid 或 Flexbox 实现九宫格布局。以下是一个基于 CSS Grid 的示例: <template>…

uniapp隐藏滚动条

uniapp隐藏滚动条

在UniApp中隐藏滚动条可以通过以下几种方法实现,具体根据使用场景选择: 全局样式设置(APP/H5) 通过修改全局CSS样式隐藏滚动条,适用于所有页面: ::-webkit-scrollbar…

uniapp切片

uniapp切片

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

uniapp改变checkbox选中状态

uniapp改变checkbox选中状态

修改 checkbox 选中状态的方法 在 uniapp 中修改 checkbox 的选中状态可以通过以下几种方式实现: 绑定 v-model 控制状态 通过数据绑定方式控制 checkbox 的…

uniapp 滑动组件

uniapp 滑动组件

uniapp 滑动组件实现方法 使用swiper组件 uniapp内置的swiper组件可以实现滑动效果,适用于轮播图或页面切换场景。 示例代码: <swiper :indicator-d…

elementui uniapp

elementui uniapp

使用 Element UI 与 UniApp 结合的方法 Element UI 是一个基于 Vue.js 的桌面端组件库,而 UniApp 是一个跨平台开发框架。两者结合需要特殊处理,因为 Eleme…