实验七 智能手机互联网程序设计(微信程序方向)实验报告

本文主要是介绍实验七 智能手机互联网程序设计(微信程序方向)实验报告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

               

  • 请编写一个用户登录界面,提示输入账号和密码进行登录,要求在输入后登陆框显示为绿色;

   

二、实验步骤与结果(给出对应的代码或运行结果截图)

index.wxml

<view class="content">

  <view class="account">

    <view class="title">账号</view> 

    <view class="num"><input bindinput="accountInputplaceholder="用户名/邮箱/手机号placeholder-style="color:#999999;"/></view>

    <view class="hr"></view>

  </view>

  <view class="account">

    <view class="title">密码</view> 

    <view class="num"><input bindblur="pwdBlurplaceholder="请输入密码password placeholder-style="color:#999999;"/></view>

    <view class="see">

      <image src="/images/see.jpgstyle="width:42px;height:30px;"></image>

    </view>

  </view>

  <view class="hr"></view>

  <button class="btndisabled="{{disabled}}" type="{{btnstate}}" bindtap="login">登录</button>

  <view class="operate">

    <view><navigator url="../mobile/mobile">手机快速注册</navigator></view>

    <view><navigator url="../company/company">企业用户注册</navigator></view>

    <view>找回密码</view>

  </view>

</view>

index.wxss

.content{

  margin-top: 40px;/* 设置内容区顶部外边距为40px,用于与上方元素的间隔 */

}

.account{

  display: block;/* 设置.account类的元素为块级元素,这意味着它会占据一整行 */

  padding-left: 20px;/* 设置.account类元素的左内边距为20px */

  padding-top: 20px;/* 设置.account类元素的顶部内边距为20px */

 padding-bottom: 10px; /* 设置.account类元素的底部内边距为10px */

  width: 90%;/* 设置.account类元素的宽度为其父容器宽度的90% */

}

.title{

  float: left;/* .title类的元素向左浮动,使其在水平方向上靠左排列 */

 margin-right: 30px; /* 设置.title类元素右侧的外边距为30px,用于与右侧元素的间隔 */

  font-weight: bold ;/* 设置.title类的文本为粗体 */

}

.hr{

  border: 1px solid #cccccc;/* 设置.hr类的边框为1px宽,实线,颜色为#cccccc */

  opacity: 0.2;/* 设置.hr类的不透明度为0.2,使边框显得更为透明 */

 width: 90%; /* 设置.hr类元素的宽度为其父容器宽度的90% */

  margin: auto;/* 设置.hr类元素的上下外边距为0,左右外边距自动,从而使其水平居中 */

}

.see{

 position: absolute; /* 设置.see类的定位为绝对定位,它将相对于最近的定位非static元素进行定位 */

  margin-right: 20px;/* 设置.see类元素相对于其父元素右侧的距离为20px */

}

.btn{

 width: 90%; /* 设置.btn类的按钮宽度为其父容器宽度的90% */

 margin-top: 40px; /* 设置.btn类的按钮顶部外边距为40px,用于与上方元素的间隔 */

  color: #999999;/* 设置.btn类的按钮文本颜色为#999999,这是一种灰色调 */

}

.operate{

 display: block; /* 设置.operate类的元素为块级元素,这意味着它会占据一整行 */

}

.operate view{

  display: inline-block;/* 设置.operate类中的view元素为内联块级元素,允许它们在一行内并排显示 */

  width: 33%;/* 设置每个view元素的宽度为其父容器宽度的33%,允许三个元素平分一行 */

  text-align: center;/* 设置文本在每个view元素内居中对齐 */

  margin-top: 40px;/* 设置每个view元素顶部的外边距为40px,用于与上方元素的间隔 */

  font-family: 14px;/* 设置字体大小为14px,适合阅读而不显得过大或过小 */

 color: #333333; /* 设置文本颜色为深灰色(#333333),提供良好的可读性 */

}

.login{

 display: block; /* 设置.login类的元素为块级元素,这意味着它会占据一整行 */

  margin-top: 150px;/* 设置.login类元素顶部外边距为150px,用于与上方元素的显著间隔 */

  text-align: center;/* 设置.login类的文本在元素内居中对齐 */

}

.login view{

  display: inline-block/* 设置.login类中的view元素为内联块级元素,允许它们在一行内并排显示 */

}

index.js

Page({

  data: {

    disabled: true, // 初始化登录按钮为禁用状态

    btnstate: "default", // 设置按钮的初始样式为默认

    account: "", // 初始化账户数据为空

    password: "" // 初始化密码数据为空

  },

  //判断输入框里是否有字,有内容则按更改按钮样式

  accountInput(e) {

    var content=e.detail.value;

    // 获取输入框内的值

    console.log(content);

     // 在控制台输出当前输入的内容

      if (content != ''{

        this.setData({disabled:false,btnstate:"primary",account:content});// 如果输入不为空,设置按钮为启用状态,更改按钮样式为"primary",并更新账户数据

      } else {

        this.setData({disabled:true,btnstate:"default"});// 如果输入为空,重置按钮为禁用状态和默认样式

      }

  },

  //失去焦点后获取密码框的值,进行更新

  pwdBlur(e) {

    var password =e.detail.value;// 获取密码输入框内的值

      if (password != ''{

        this.setData({password:password});// 如果密码输入不为空,更新密码数据

      }

  },

  //模拟登录成功界面

  login(){

    console.log("账号:"+this.data.account)//将登陆成功后的账号输出至控制台

    console.log("密码:"+this.data.password)//将登陆成功后的密码输出至控制台

    wx.showToast({

      title: '完成登录', //可视化

    })

  }

})

思路

1.WXML
1.1 定义登录表单视图
页面的主体内容被一个名为“content”的view组件包含,作为容器包括所有子组件,包括账号输入框、密码输入框以及登录按钮。
<view class="content">

1.2 添加账号输入部分
在“content”视图内,首先添加了一个“account”类的view组件,用于用户输入账号信息:

标题:包含一个静态文本“账号”,显示在输入框的左侧。
输入框:使用input组件,提供了输入反馈的绑定事件bindinput="accountInput",并设置了灰色的占位文字。<view class="account">


  <view class="title">账号</view>
  <view class="num"><input bindinput="accountInput" placeholder="用户名/邮箱/手机号" placeholder-style="color:#999999;"/></view>
</view>


1.3 添加分割线
在账号输入框下方添加了一个名为“hr”的view组件,用作视觉上的分割线,增强布局的分区效果。
<view class="hr"></view>


1.4 添加密码输入部分
紧接着,为密码输入设置了一个与账号输入类似的布局:

标题:同样包含一个静态文本“密码”。
输入框:input组件用于密码输入,绑定了失焦事件bindblur="pwdBlur",并设置密码隐藏。
查看密码:通过一个image组件实现,点击后可以查看或隐藏密码。

<view class="account">
  <view class="title">密码</view>
  <view class="num"><input bindblur="pwdBlur" placeholder="请输入密码" password placeholder-style="color:#999999;"/></view>
  <view class="see">
    <image src="/images/see.jpg" style="width:42px;height:30px;"></image>
  </view>
</view>


1.5 再次添加分割线
为了在视觉上区分密码输入和后续的操作按钮,再次插入一个“hr”类的分割线。
<view class="hr"></view>


1.6 添加登录按钮
在表单下方提供了一个登录按钮,其可用状态和类型通过数据绑定实现,响应用户点击事件bindtap="login"。
<button class="btn" disabled="{{disabled}}" type="{{btnstate}}" bindtap="login">登录</button>

1.7 设置附加操作链接
最后,在登录表单下方设置了一个“operate”类的view组件,包含三个视图,每个视图都使用navigator组件,分别指向手机快速注册、企业用户注册和找回密码的页面。
<view class="operate">
  <view><navigator url="../mobile/mobile">手机快速注册</navigator></view>
  <view><navigator url="../company/company">企业用户注册</navigator></view>
  <view>找回密码</view>
</view>


2.WXSS
.content{
  /* 设置内容区顶部外边距为40px,用于与上方元素的间隔 */
}

.account{
  /* 设置.account类的元素为块级元素,这意味着它会占据一整行 */
  /* 设置.account类元素的左内边距为20px */
  /* 设置.account类元素的顶部内边距为20px */
  /* 设置.account类元素的底部内边距为10px */
  /* 设置.account类元素的宽度为其父容器宽度的90% */
}

.title{
  /* 将.title类的元素向左浮动,使其在水平方向上靠左排列 */
  /* 设置.title类元素右侧的外边距为30px,用于与右侧元素的间隔 */
  /* 设置.title类的文本为粗体 */
}

.hr{
  /* 设置.hr类的边框为1px宽,实线,颜色为#cccccc */
  /* 设置.hr类的不透明度为0.2,使边框显得更为透明 */
  /* 设置.hr类元素的宽度为其父容器宽度的90% */
  /* 设置.hr类元素的上下外边距为0,左右外边距自动,从而使其水平居中 */
}

.see{
  /* 设置.see类的定位为绝对定位,它将相对于最近的定位非static元素进行定位 */
  /* 设置.see类元素相对于其父元素右侧的距离为20px */
}

.btn{
  /* 设置.btn类的按钮宽度为其父容器宽度的90% */
  /* 设置.btn类的按钮顶部外边距为40px,用于与上方元素的间隔 */
  /* 设置.btn类的按钮文本颜色为#999999,这是一种灰色调 */
}

.operate{
  /* 设置.operate类的元素为块级元素,这意味着它会占据一整行 */
}

.operate view{
  /* 设置.operate类中的view元素为内联块级元素,允许它们在一行内并排显示 */
  /* 设置每个view元素的宽度为其父容器宽度的33%,允许三个元素平分一行 */
  /* 设置文本在每个view元素内居中对齐 */
  /* 设置每个view元素顶部的外边距为40px,用于与上方元素的间隔 */
  /* 设置字体大小为14px,适合阅读而不显得过大或过小 */
  /* 设置文本颜色为深灰色(#333333),提供良好的可读性 */
}

.login{
  /* 设置.login类的元素为块级元素,这意味着它会占据一整行 */
  /* 设置.login类元素顶部外边距为150px,用于与上方元素的显著间隔 */
  /* 设置.login类的文本在元素内居中对齐 */
}

.login view{
  /* 设置.login类中的view元素为内联块级元素,允许它们在一行内并排显示 */
}


3.JS
Page({
  data: {
    disabled: true, // 初始化登录按钮为禁用状态
    btnstate: "default", // 设置按钮的初始样式为默认
    account: "", // 初始化账户数据为空
    password: "" // 初始化密码数据为空
  },

  //判断输入框里是否有字,有内容则按更改按钮样式
  accountInput(e) {
      // 获取输入框内的值
     // 在控制台输出当前输入的内容
      if (content != '') {
         // 如果输入不为空,设置按钮为启用状态,更改按钮样式为"primary",并更新账户数据
      } else {
         // 如果输入为空,重置按钮为禁用状态和默认样式
      }
  },
  //失去焦点后获取密码框的值,进行更新
  pwdBlur(e) {
      // 获取密码输入框内的值
      if (password != '') {
         // 如果密码输入不为空,更新密码数据
      }
  },
  //模拟登录成功界面
  login(){
   //将登陆成功后的账号输出至控制台
   //将登陆成功后的密码输出至控制台
    wx.showToast({
      title: '完成登录', //可视化
    })
  }
})


 

这篇关于实验七 智能手机互联网程序设计(微信程序方向)实验报告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/930821

相关文章

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

这些心智程序你安装了吗?

原文题目:《为什么聪明人也会做蠢事(四)》 心智程序 大脑有两个特征导致人类不够理性,一个是处理信息方面的缺陷,一个是心智程序出了问题。前者可以称为“认知吝啬鬼”,前几篇文章已经讨论了。本期主要讲心智程序这个方面。 心智程序这一概念由哈佛大学认知科学家大卫•帕金斯提出,指个体可以从记忆中提取出的规则、知识、程序和策略,以辅助我们决策判断和解决问题。如果把人脑比喻成计算机,那心智程序就是人脑的

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:'error'是设置我们失败的logo 设置的文字上限是7个文字,如果需要设置的提示文字过长就需要设置icon并给

理解分类器(linear)为什么可以做语义方向的指导?(解纠缠)

Attribute Manipulation(属性编辑)、disentanglement(解纠缠)常用的两种做法:线性探针和PCA_disentanglement和alignment-CSDN博客 在解纠缠的过程中,有一种非常简单的方法来引导G向某个方向进行生成,然后我们通过向不同的方向进行行走,那么就会得到这个属性上的图像。那么你利用多个方向进行生成,便得到了各种方向的图像,每个方向对应了很多