当前位置:首页 > 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
分享给朋友:

相关文章

uniapp支付功能怎么实现

uniapp支付功能怎么实现

uniapp支付功能实现方法 准备工作 注册微信支付、支付宝等平台的开发者账号,获取必要的商户ID(mch_id)、API密钥(key)、应用ID(appid)等信息。确保项目已配置好相关支付SDK。…

uniapp打包

uniapp打包

uniapp打包步骤 H5平台打包 在项目根目录运行以下命令生成H5资源文件: npm run build:h5 打包完成后,文件默认输出到/dist/build/h5目录,可直接部署到Web服务器…

uniapp商场

uniapp商场

uniapp 商城开发指南 开发环境搭建 安装HBuilderX作为开发工具,确保已安装Node.js和npm。创建uniapp项目时选择模板,推荐使用官方提供的商城模板或插件市场中的商城模板。 页…

uniapp下拉换图

uniapp下拉换图

uniapp下拉换图实现方法 监听页面滚动事件 在页面中监听onPageScroll事件,获取滚动位置。当滚动到特定位置时触发换图逻辑。 onPageScroll(e) { if(e.sc…

uniapp 后台播报

uniapp 后台播报

uniapp 实现后台播报的方法 在uniapp中实现后台播报功能,主要涉及音频播放和后台运行权限的配置。以下是具体实现方法: 使用uni.getBackgroundAudioManager uni…

uniapp 插槽使用

uniapp 插槽使用

uniapp 插槽的基本使用 插槽(Slot)是组件化开发中的重要特性,允许在组件内部预留位置,由父组件动态传入内容。uniapp 支持 Vue 的插槽语法,包括默认插槽、具名插槽和作用域插槽。 默…