微信小程序页面交互

目录

案例:登陆——>跳转到个人中心(并展示个人信息)

登陆流程

一、前端页面标签

二、收集前端页面数据

 三、前端验证账号密码是否合规

四、根据账号密码向后端发送请求

1.请求工具

2.请求调用

3.根据回调得到的状态进行处理

五.成功调转后从静态路由获取刚才得到的数据

1.声明存储变量

2.进入页面后加载数据

六、前端展示

总结:


案例:登陆——>跳转到个人中心(并展示个人信息)

登陆流程

        1.收集表单数据项

        2.前端验证

        3.后端验

一、前端页面标签

    <view class="input-content">
      <view class="input-item">
        <text class="tit">手机号码</text>
        <input  type="text" placeholder="请输入手机号码" id="phone" bindinput="handleInput"/>
      </view>
      <view class="input-item">
        <text class="tit">密码</text>
        <input type="password"  placeholder="请输入密码" id="password" bindinput="handleInput"/>
      </view>
    </view>

提醒:因为都是用的bindinput="handleInput",所以要用到唯一标识符id

二、收集前端页面数据

设置变量

  data: {
    phone: "",
    password: ""
  },

收集并存储

  // 表单项内容发生改变
  handleInput(event) {
    let type = event.currentTarget.id;//取值有两种
    this.setData({
      [type]: event.detail.value
    })
  },

 三、前端验证账号密码是否合规

   if (!phone) {
      wx.showToast({
        title: '手机不能为空',
        icon: "none"
      })
      return;
    }
    //正则表示式子
    let phoneReg = /^1(3|4|5|6|7|8|9)\d{9}$/;
    if (!phoneReg.test(phone)) {
      wx.showToast({
        title: '手机号格式错误',
        icon: "none",
      })
      return;
    }
    if (!password) {
      wx.showToast({
        title: '密码不能为空',
        icon: "none"
      })
      return;
    }

四、根据账号密码向后端发送请求

1.请求工具

import config from './config'
export default (url, data = {}, method = 'GET') => {
  return new Promise((resolve, reject) => {
    //1.new Promise 初始话Promise实例的状态为pending
    wx.request({
      url: config.host + url,
      data,
      method,
      success: (res) => {
        resolve(res.data)
        // 修改promise的状态为成功状态
      },
      fail: (err) => {
        reject(err)
        // 修改promise的状态为reject状态
      }
    })
  })
}

2.请求调用

    在由于使用await,login(方法前面应该加上async)

    //后端验证
    let result = await request('/login/cellphone', { phone, password })
    console.log("result", result)

3.根据回调得到的状态进行处理

if (result.code === 200) {
      wx.showToast({
        title: '登陆成功',
      });
      // 返回之前,将用户的存储信息返回到本地,转成json对象
      wx.setStorageSync('userInfo', JSON.stringify(result.profile))
      //跳转到个人中心
      wx.reLaunch({
        url: '/pages/personal/personal'
      })
    } else if (result.code === 400) {
      wx.showToast({
        title: '手机号错误',
        icon: "none"
      })
    } else if (result.code === 502) {
      wx.showToast({
        title: '密码错误',
        icon: "none"
      })
    } else {
      wx.showToast({
        title: '登陆失败,请重新登陆',
        icon: "none"
      })
    }

五.成功调转后从静态路由获取刚才得到的数据

1.声明存储变量

2.进入页面后加载数据

onLoad(options) {
    // 读取登陆的信息
    let userInfo = wx.getStorageSync('userInfo');
    if (userInfo) {
      this.setData({
        userInfo :JSON.parse(userInfo)
      })
    }
  },

六、前端展示

 

 <view class="user-info-box" bindtap="toLogin">
      <view class="portrait-box">
        <image class="portrait" src='{{userInfo.avatarUrl?userInfo.avatarUrl:"/static/images/personal/missing-face.png"}}'></image>
      </view>
      <view class="info-box">
        <text class="username">{{userInfo.nickname?userInfo.nickname:'游客'}}</text>
      </view>
    </view>

总结:

  • js获取前端账号和密码时,需要设置唯一表示符号:id
  • 微信提示功能:  wx.showToast({ title: '登陆成功',});可以没有icon
  • 页面交互与后端请求需要使用json和js的相互转换
  • 本地存储StorageSync和Storage都很重要
  • 页面交互的时候,看一下怎样跳转,使用什么跳转函数合适

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小程序是一种轻量级的应用程序,可以在微信等平台上运行,具有快速、便捷和跨平台的特点。因此,我们选择开发小程序项目源码,以满足开发人员的需求。 首先,我们的小程序项目源码提供了丰富的功能和模块,可以满足各种类型的小程序应用需求。无论是电商、社交、教育还是娱乐,我们的项目源码都提供了相应的功能和界面设计,使得开发人员可以快速构建符合需求的小程序应用。 其次,我们的小程序项目源码具有良好的可扩展性和可定制性。我们将项目源码设计为模块化的结构,开发人员可以根据自己的需求选择和定制所需的功能模块。同时,我们还提供了丰富的文档和示例代码,以帮助开发人员理解和使用项目源码。 我们的小程序项目源码还采用了一些常用的技术和工具,以提高开发效率和代码质量。例如,我们使用了微信小程序开发框架,它提供了一系列的API和组件,使得开发人员可以快速构建小程序应用。我们还使用了Vue.js作为前端开发框架,它提供了一种简洁而灵活的方式来构建交互式界面。 此外,我们的小程序项目源码还注重用户体验和界面设计。我们提供了一系列的界面模板和样式库,使得开发人员可以轻松创建漂亮而用户友好的小程序界面。我们还提供了一些常用的交互组件和动画效果,以增加小程序交互性和吸引力。 总之,我们的小程序项目源码旨在帮助开发人员快速构建各种类型的小程序应用。无论是电商、社交、教育还是娱乐,我们相信我们的项目源码将能够提供强大的支持和帮助。感谢您对我们项目的关注和支持!
小程序是一种轻量级的应用程序,可以在微信等平台上运行,具有快速、便捷和跨平台的特点。因此,我们选择开发小程序项目源码,以满足开发人员的需求。 首先,我们的小程序项目源码提供了丰富的功能和模块,可以满足各种类型的小程序应用需求。无论是电商、社交、教育还是娱乐,我们的项目源码都提供了相应的功能和界面设计,使得开发人员可以快速构建符合需求的小程序应用。 其次,我们的小程序项目源码具有良好的可扩展性和可定制性。我们将项目源码设计为模块化的结构,开发人员可以根据自己的需求选择和定制所需的功能模块。同时,我们还提供了丰富的文档和示例代码,以帮助开发人员理解和使用项目源码。 我们的小程序项目源码还采用了一些常用的技术和工具,以提高开发效率和代码质量。例如,我们使用了微信小程序开发框架,它提供了一系列的API和组件,使得开发人员可以快速构建小程序应用。我们还使用了Vue.js作为前端开发框架,它提供了一种简洁而灵活的方式来构建交互式界面。 此外,我们的小程序项目源码还注重用户体验和界面设计。我们提供了一系列的界面模板和样式库,使得开发人员可以轻松创建漂亮而用户友好的小程序界面。我们还提供了一些常用的交互组件和动画效果,以增加小程序交互性和吸引力。 总之,我们的小程序项目源码旨在帮助开发人员快速构建各种类型的小程序应用。无论是电商、社交、教育还是娱乐,我们相信我们的项目源码将能够提供强大的支持和帮助。感谢您对我们项目的关注和支持!
小程序是一种轻量级的应用程序,可以在微信等平台上运行,具有快速、便捷和跨平台的特点。因此,我们选择开发小程序项目源码,以满足开发人员的需求。 首先,我们的小程序项目源码提供了丰富的功能和模块,可以满足各种类型的小程序应用需求。无论是电商、社交、教育还是娱乐,我们的项目源码都提供了相应的功能和界面设计,使得开发人员可以快速构建符合需求的小程序应用。 其次,我们的小程序项目源码具有良好的可扩展性和可定制性。我们将项目源码设计为模块化的结构,开发人员可以根据自己的需求选择和定制所需的功能模块。同时,我们还提供了丰富的文档和示例代码,以帮助开发人员理解和使用项目源码。 我们的小程序项目源码还采用了一些常用的技术和工具,以提高开发效率和代码质量。例如,我们使用了微信小程序开发框架,它提供了一系列的API和组件,使得开发人员可以快速构建小程序应用。我们还使用了Vue.js作为前端开发框架,它提供了一种简洁而灵活的方式来构建交互式界面。 此外,我们的小程序项目源码还注重用户体验和界面设计。我们提供了一系列的界面模板和样式库,使得开发人员可以轻松创建漂亮而用户友好的小程序界面。我们还提供了一些常用的交互组件和动画效果,以增加小程序交互性和吸引力。 总之,我们的小程序项目源码旨在帮助开发人员快速构建各种类型的小程序应用。无论是电商、社交、教育还是娱乐,我们相信我们的项目源码将能够提供强大的支持和帮助。感谢您对我们项目的关注和支持!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值