首页 > 编程语言 >答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发

答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发

时间:2023-04-25 11:02:38浏览次数:50  
标签:答题 登录 代码 点击 开发 注册 login 交互 页面

微信小程序云开发实战-答题积分赛小程序

界面交互篇:注册登录页布局样式与逻辑交互开发

写在前面-开发调试小技巧

模拟器通常默认展示的页面是首页,那么如果我们想切换到其他页面呢,那怎么办?我这里教给初学者三种方式,方便大家在搭建页面过程中,进行开发调试。

点击事件跳转

给页面按钮添加一个点击事件,然后在js中注册一个事件监听处理函数,里面是执行跳转至注册登录页的函数体。这样,只要点击按钮就能跳转到注册登录页了。

<button bindtap="goToLogin">去注册登录</button>
goToLogin() {
    wx.navigateTo({
    		url: '../login/login'
    })
}

pages第一项

app.json的pages配置项,哪个放置在第一项,就默认展示哪个页面。


答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发_答题积分小程序

我们可以在开发调试阶段,把当前正在开发搭建的页面的路径优先放在该配置的第一项。这样,每次编译预览的时候,模拟器总是显示该页面。不需要通过点击按钮跳转页面那么麻烦。

答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发_编写代码_02


添加编译模式

还有一种方式是,添加编译模式。

答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发_答题积分小程序_03


填写模式名称和启动页面这两项,然后点击确定。

答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发_编写代码_04


然后点一下编译按钮。

答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发_微信小程序_05


后续即使修改文件后保存,自动编译依旧是保持在当前页面。

答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发_答题积分小程序_06


注册登录页效果图

答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发_云开发_07

注册登录布局与样式实现

这个注册登录页的页面布局,是比较简单明了的,十几行代码就能实现了。我曾做过消防安全知识答题、网络安全知识答题、安全生产知识答题等,都是使用这种注册登录方式实现的。

页面布局

在login.wxml中,编写布局代码:

<view class="page-con">
    <view class="page">
        <view class="avatar-wrapper-box text-center padding-top-xl">
            <button class="avatar-wrapper">
                <image class="avatar" src="/images/0.png" mode="widthFix"></image>
            </button>
        </view>

        <view class="weui-input-box">
            <view class="solids padding margin-top">
                <input type="nickname" class="weui-input" placeholder="请输入昵称" maxlength="12" />
            </view>
        </view>

        <view class="padding margin-top-xl">
            <button class='cu-btn block round lg bg-blue'> 登 录 </button>
        </view>
    </view>
</view>

页面样式

在login.wxss中,编写样式代码:

page{
		background-color: #fff;
}

.page-con {
		padding: 20rpx;
}
.page {
    padding: 100rpx 20rpx;
    border-radius: 10rpx;
}
.weui-input-box {
		padding: 50rpx 20rpx;
}
.weui-input-box .solids {
		border-radius: 100rpx;
}
.avatar-wrapper-box .avatar-wrapper {
    display: inline-block;
    width: 100rpx;
    height: 100rpx;
    padding: 0;
    margin: 0;
    border-radius: 50rpx;
    overflow: hidden;
}

获取头像昵称逻辑交互实现

当小程序需要让用户完善个人资料时,可以通过微信提供的头像昵称填写能力快速完善。注意:从基础库2.24.4版本起。

在【详情】-【本地设置】-【调试基础库】这里,选择合适的基础库,这里要求2.24.4以上,我建议选高一点。

答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发_答题积分小程序_08


获取头像组件button

需要将 button 组件 open-type 的值设置为 chooseAvatar,当用户选择需要使用的头像之后,可以通过 bindchooseavatar 事件回调获取到头像信息的临时路径。

在login.wxml中,编写代码:

<button
    class="avatar-wrapper"
    open-type="chooseAvatar"
    bind:chooseavatar="onChooseAvatar">
        <image
            class="avatar"
            src="{{avatarUrl}}"
            mode="widthFix">
        </image>
</button>

在login.js中,编写代码:

onChooseAvatar(e) {
    const { avatarUrl } = e.detail;
    // 将获取到头像信息的临时路径,渲染到页面展示
    this.setData({
    		avatarUrl
    });
}

保存后,可以在模拟器点击操作预览效果或者手机微信扫码后操作预览。

答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发_微信小程序_09


获取昵称组件input

需要将 input 组件 type 的值设置为 nickname,当用户在此 input 进行输入时,键盘上方会展示微信昵称。

在login.wxml中,编写代码:

<input
    type="nickname"
    class="weui-input"
    placeholder="请输入昵称"
    maxlength="12"
    bindinput="bindKeyInput"
    bindblur="bindblurFn"
/>

在login.js中,编写代码:

bindblurFn(e) {
    // 表单失去焦点事件监听函数
    this.setData({
    		nickName: e.detail.value
    })
},
bindKeyInput(e) {
    // 表单输入状态事件监听函数
    this.setData({
    		nickName: e.detail.value
    })
}

保存后,可以在模拟器点击操作预览效果或者手机微信扫码后操作预览。

答题积分小程序云开发实战-界面交互篇:注册登录页布局样式与逻辑交互开发_编写代码_10


登录按钮组件button

给登录按钮添加一个点击事件。

在login.wxml中,编写代码:

<button class='cu-btn block round lg bg-blue' bindtap="login"> 登 录 </button>

在login.js中,编写代码:

login() {
}

标签:答题,登录,代码,点击,开发,注册,login,交互,页面
From: https://blog.51cto.com/u_15335909/6223589

相关文章

  • 【20230424】logstash生产开发总结汇总
    logstash生产开发总结汇总本文主要讲使用Logstash生产开发操作、遇到问题及处理时间:20230424logstash版本:logstash7.8.1官网:https://www.elastic.co/cn/logstash/目录logstash生产开发总结汇总一、基础开发简单的启动脚本字段过滤解析Json嵌套时间转换类templa......
  • uniapp 做app与h5开发的问题
    目前产品是使用uniapp做跨平台开发的安卓ios的app以及公众号也就是h5版本基于uniapp的一些api只能提供app端的使用先前的设想是如果有类似下图的接口不支持h5的 就使用html5的api去介入设备控制开始不打算用wxsdk是考虑后续如果要发布到不同平台......
  • Netstat 备忘清单_开发速查表分享
    Netstat备忘清单netstat命令是一个命令行工具,可以在Windows、Linux、MacOSX等操作系统中使用,它可以帮助用户查看本地主机的网络连接情况。它可以报告出本地主机的TCP/IP协议统计信息,包括活动的TCP连接,UDP端口,所有的接口信息,以及活动的网络连接等。netstat命令可以用来查看本......
  • 在 WSL2 搭建ESP8266/ESP32开发环境
    Ubuntu版本Ubuntu22.04.1LTS#wsl前期准备本文中所有命令均使用完整路径,环境安装完成后,目录结构如下/home/zhao/esp├──esp-gitee-tools├──esp32-sdk│  └──esp-idf└──esp8266-sdk└──ESP8266_RTOS_SDK下载esp32-gitee-tools[1]cd~/e......
  • SpringBoot多模块项目开发(Maven多模块项目)
    Maven多模块项目Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块。微服务项目是以多模块的方式开发,分包部署;springboot多模块项目使用maven打包部......
  • 前端开发规范
    什么是规范规范就是一个大家都认同,都接受的一种模式.为什么要有这个规范呢,一是让自己的代码的可读性更高,别人一看就懂,二是也方便自己去回顾自己的代码.提高开发的效率,使自己写出的代码不至于成为屎山.规范的分类HTML编码规范变量名命名规范文件夹命名规范组件命名规......
  • 开发中如何选择集合类
    开发中如何选择集合类?主要取决于业务操作特点,具体分析如下:先判断存储的类型:是一组对象(单列)还是一组键值对(双列)一组对象单列:用Collection接口允许重复:List增删多:LinkedList[底层是双向链表]改查多:ArrayList[底层是Object类型可变数组]不允许重复:Set无序:Hash......
  • linux中非交互式修改密码
    一、概述主要记录两种非交互式修改密码方式1、使用passwd和--stdin组合passwd默认是要用终端作为标准输入,而--stdin表示可以用任意文件做标准输入,这两个配合可以直接修改密码格式:#echo'密码'|passwd--stdin用户名echo123456|passwd--stdinroot在centos和欧拉环境都可以使用......
  • linux中非交互式修改密码
    一、概述主要记录两种非交互式修改密码方式1、使用passwd和--stdin组合passwd默认是要用终端作为标准输入,而--stdin表示可以用任意文件做标准输入,这两个配合可以直接修改密码格式:#echo'密码'|passwd--stdin用户名echo123456|passwd--stdinroot在centos和欧拉环境都可以使用......
  • 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 16.优化交互,实现看到物体时出现交互提
    斯坦福课程UE4C++ActionRoguelike游戏实例教程0.绪论概述本篇文章对应Lecture18–CreatingBuffs,WorldInteraction,73节。本文将会重构以前实现过的SurInteractionComponent,实现在玩家注释可交互物体时,可以出现可交互提示,效果如下:在文章的最后,我会放出所有相关的代......