【微信小程序开发】宠物预约医疗项目实战-登录实现

news2024/11/18 19:45:05

【微信小程序开发】宠物预约医疗项目实战-登录实现

第二章 宠物预约医疗项目实战-注册实现

文章目录

  • 【微信小程序开发】宠物预约医疗项目实战-登录实现
  • 前言
  • 一、打开项目文件
  • 二、编写代码
    • 2.1 wxss代码编写
    • 2.2 wxml代码编写
    • 2.3 js代码编写
      • 2.3.1 登录接口获取:
    • 2.4 json代码编写
    • 2.5 保存运行
  • 总结


前言


注册是指向某个平台、网站或应用程序提供您的个人信息以获取账户的过程。注册对于现代社会的人们来说非常重要,以下是几个原因:

方便性:注册后,您可以随时登录到您的账户,使您能够方便地管理和使用平台的服务和功能。

个性化服务:许多网站和应用程序需要您提供个人信息以提供个性化的服务,例如推荐商品或根据您的兴趣推送内容。

安全性:通过注册,您可以创建一个账户和密码,使您的个人信息更安全。此外,许多网站和应用程序要求您使用多种安全措施,例如启用两步验证(2FA)等。

沟通:注册后,您可以参与交流、评论或定期接收电子邮件通知,这有助于您跟进相关信息和最新动态。

授权:某些平台需要您注册才能提供访问内容或服务的授权,例如社交媒体平台或在线购物网站。

总之,注册是连接您和平台、网站和应用程序的重要步骤,可以为您提供许多方便、个性化的服务,并加强您的个人安全。`

一、打开项目文件

在这里插入图片描述

1.在pages里新建登录页面然后ctrl+s保存

    "pages/login/login",

在这里插入图片描述

2.确认登录页面被新建出来
在这里插入图片描述

二、编写代码

2.1 wxss代码编写


/* pages/login/login.wxss */

.container {

  position: absolute;

  width: 100%;

  height: 100%;

}

.container image {

  width: 100%;

  height: 100%;

}

.login_box{

  width: 90%;

  position: absolute;

  top: 15%;

  left: 5%;

}

.section{

  width: 100%;

  border-bottom: 4rpx solid #FFF;

  margin-top: 40rpx;

  position: relative;

}

.section input{

  height: 100rpx;

  color: rgb(248, 212, 7);

  box-sizing: border-box;

  padding-left: 80rpx;

  font-size: 36rpx;

}

.section image{

  width: 60rpx;

  height: 60rpx;

  position: absolute;

  top: 20rpx;

  left: 10rpx;

}

.color{

  color: #FFF;

}

checkbox-group{

  display: flex;

  justify-content:flex-end;

  margin-top: 30rpx;

  color: rgb(14, 13, 13);

  box-sizing: border-box;

  padding-right: 20rpx;

}

.login{
  width: 400rpx;
  margin-top: 260rpx;
}

.register{
  width: 400rpx;
  margin-top: 50rpx;
}

.rootbox{
  width: 300px;
  height: 200px;
}

.checkroot{
  margin-top: 10%;
  margin-left: 25%;
}

.loginbox{
  margin-left: 32%;  
  margin-top: 10%;
}

2.2 wxml代码编写


<view class="container">

<image src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F202001%2F09%2F20200109224818_hHdft.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1677326878&t=a2de9e8d2bd60b5fcdcdad98954e702c"></image>

</view>

<view class="login_box">

<view class="section">

  <input placeholder="请输入账号昵称" value='{{username}}' placeholder-class="color" bindblur='content' />

  <image src=""></image>

</view>

<view class="section">

  <input password='true' placeholder="请输入密码" value='{{password}}' placeholder-class="color" bindblur='password' />

  <image src=""></image>

</view>


<view style="margin-left:15%;margin-top:40px">
  <van-button round  type="info" icon="user-circle-o" bindtap="getUserProfile">验证登录</van-button>
  <van-button round  type="danger" icon="user-circle-o" style="margin-left:10px" bindtap="register">用户注册</van-button>
</view>
</view>

2.3 js代码编写

//index.js
//获取应用实例
const app = getApp()
Page({
  data: {
    username: '',
    password: '',
    clientHeight:''
  },
  onLoad(){
    var that=this
    wx.getSystemInfo({ 
      success: function (res) { 
        console.log(res.windowHeight)
          that.setData({ 
              clientHeight:res.windowHeight
        }); 
      } 
    }) 
  },
  //协议
  goxieyi(){
   wx.navigateTo({
     url: '/pages/oppoint/oppoint',
   })
  },
  //获取输入款内容
  content(e){
    var that = this
    this.setData({
      username:e.detail.value
    })
  },
  password(e){
    this.setData({
      password:e.detail.value
    })
  },
  //登录事件
  goadmin(){
    let flag = false  //表示账户是否存在,false为初始值
    var that = this;
    if(this.data.username=='')
    {
      wx.showToast({
        icon:'none',
        title: '账号不能为空',
      })
    }else if(this.data.password==''){
      wx.showToast({
        icon:'none',
        title: '密码不能为空',
      })
    }else{
      wx.request({
        url: app.mydata.ip+"api/user/login?password="+this.data.password+"&&username="+this.data.username,
        data:"",
        method:"POST",
        header:{
          "content-type":"application/json "
        },
        success:function(res){
          if(res.data.code==1){
            wx.hideLoading();
            wx.showToast({
              title: '注册成功',
              icon: 'none'
            })
            setTimeout(function() {
              wx.showLoading({
                title: '正在跳转',
              })
              setTimeout(function() {
                wx.hideLoading();
                app.globalData.userInfo=res.data.user;
                console.log(app.globalData.userInfo)
              }, 300)
            }, 100)
            wx.switchTab({
              url: '../index/index',
            })
          }else{
            wx.showToast({
              icon:'none',
              title: res.data.msg,
            })
          }
        }
      })
    }
  },

  //用户注册
  register(){
    wx.navigateTo({
      url: '../sign/sign',
    })
  },
  //权限授权
  async getUserProfile(e) {
    const res = await wx.getUserProfile({
      desc: '用于完善个人资料',
    });
    console.log(res.userInfo);
    app.globalData.avatarUrl = res.userInfo.avatarUrl
    this.goadmin()
  },

})
 
 

2.3.1 登录接口获取:

接口文档地址:接口文档
在这里插入图片描述
在登录时先查询当前用户的信息:
在这里插入图片描述在这里插入图片描述
点击请求try
在这里插入图片描述
点击执行
在这里插入图片描述
可以看见当前存在的用户数据,然后返回前端进行登录测试:

   "id": 1,
      "username": "王小明",
      "password": "12345678",
      "sex": "女",
      "phone": "18891636432",
      "birthTime": "2022-1-25",
      "root": 1

密码是password字段,username是登录昵称

2.4 json代码编写

{
  "usingComponents": {},
  "navigationBarTitleText": "宠物医院"
}

2.5 保存运行

在这里插入图片描述
尝试登录试试:
在这里插入图片描述
输入错误密码,验证失败

在这里插入图片描述
输入正确密码,验证成功

总结

学习如逆水行舟,不进则退。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1065029.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FPGA project : fifo_sum

实验目标&#xff1a; col(列) 4 &#xff1b;line(行) 5。相邻三行&#xff0c;按列求和。输出新的数据流。 实现方法&#xff1a; 通过rs232通信协议&#xff0c;输入数据流。第一行存进fifo1&#xff0c;第二行存进fifo2.当输入第三行第一个数据的时候&#xff0c;从fif…

RHCE---作业2

文章目录 目录 文章目录 一.远程连接服务器 二.基于域名和虚目录建立网站 一.远程连接服务器 配置 ssh 免密登陆&#xff1a;客户端主机通过 redhat 用户基于秘钥验证方式进行远程连接服务器的 root 用户 #服务端关闭防火墙 [roottimeserver ~]# systemctl disable --now fir…

一文掌握Linux系统信息查看命令(CPU、内存、进程、网口、磁盘、硬件)

引言 大家好&#xff0c;欢迎来到我的技术博客&#xff01;如果你是一名Linux系统管理员、开发者或者热衷于学习Linux系统的用户&#xff0c;那么你一定需要掌握查看系统信息的命令。在这篇博客中&#xff0c;我将为你介绍一些常用的Linux命令&#xff0c;帮助你快速了解和监控…

2023年CSP-J真题详解+分析数据(选择题篇)

目录 前言 2023CSP-J江苏卷详解 小结 前言 下面由我来给大家讲解一下CSP-J的选择题部分。 2023CSP-J江苏卷详解 1.答案 A 解析&#xff1a;const在C中是常量的意思&#xff0c;其作用是声明一个变量&#xff0c;值从头至尾不能被修改 2.答案 D 解析&#xff1a;八进制…

前端TypeScript学习day01-TS介绍与TS部分常用类型

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 TypeScript 介绍 TypeScript 是什么 TypeScript 为什么要为 JS 添加类型支持&#xff1f; TypeScript 相…

vertx的学习总结4之异步数据和事件流

一、异步数据和事件流 1.为什么流是事件之上的一个有用的抽象&#xff1f; 2.什么是背压&#xff0c;为什么它是异步生产者和消费者的基础&#xff1f; 3.如何从流解析协议数据&#xff1f; 1. 答&#xff1a;因为它能够将连续的事件序列化并按照顺序进行处理。通过将事件…

Elasticsearch架构原理快速了解

目录 一、ES的简单了解 &#xff08;一&#xff09;直面Elasticsearch &#xff08;二&#xff09;Elasticsearch和关系型数据库的对比 二、基本概念回顾 &#xff08;一&#xff09;索引、文档、字段的概念 &#xff08;二&#xff09;映射 &#xff08;三&#xff09;…

读取图片颜色占比绘制{精美}折线图失败

问题之初 读取图片颜色占比绘制{精美}折线图失败❌ 花了4个小时 你问我问题吧 选择题<small> 读取一张图片各种颜色占比 默认 /storage/emulated/0/Pictures/Screenshots/Screenshot_20230725_195440.jpg自动设置检测代码需要的库 函数 变量 定义 样式等from PIL impor…

C++库函数——set与map的模拟实现

目录 1.红黑树的迭代器与改造 ①红黑树的迭代器 ②红黑树的改造 2.map的模拟实现 3.set的模拟实现 4.测试 1.红黑树的迭代器与改造 ①红黑树的迭代器 对于上面这棵红黑树&#xff0c;我们可以很容易得知道begin()是红黑树的最左节点&#xff0c;end()应该是一个空节点。…

ubuntu增加内存

文章目录 1、硬盘操作步骤第二步:点击【扩展】(必须关闭ubuntu电源才能修改)第三步:修改【最大磁盘容量大小】1、硬盘操作步骤 最近发现Ubuntu空间不足,怎么去扩容呢? 第一步:点击【硬盘】 第二步:点击【扩展】(必须关闭ubuntu电源才能修改) 第三步:修改【最大磁…

Java反序列化:CC1链 详解

CC1 Apache Commons Collections是一个扩展了Java标准库里的Collection结构的第三方基础库&#xff0c;它提供了很多强大的数据结构类型和实现了各种集合工具类。作为Apache开放项目的重要组件&#xff0c;Commons Collections被广泛的各种Java应用的开发&#xff0c;⽽正 是因…

腾讯云轻量和CVM有啥区别?怎么选择服务器配置?

腾讯云轻量服务器和云服务器有什么区别&#xff1f;为什么轻量应用服务器价格便宜&#xff1f;是因为轻量服务器CPU内存性能比云服务器CVM性能差吗&#xff1f;轻量应用服务器适合中小企业或个人开发者搭建企业官网、博客论坛、微信小程序或开发测试环境&#xff0c;云服务器CV…

MIPI接口协议及规范理解

什么是MIPI接口 MIPI&#xff0c;英文全称为Mobile Industry Processor Interface&#xff0c;即移动行业处理器接口。它是MIPI联盟发起的为移动应用处理器制定的开放标准。MIPI接口是一种专为移动设备和嵌入式系统设计的串行通信接口&#xff0c;定义了一系列的接口标准&…

【pwn入门】用gdb调试32位程序

声明 本文是B站你想有多PWN学习的笔记&#xff0c;包含一些视频外的扩展知识。 问题源码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> char sh[]"/bin/sh"; int func(char *cmd){system(cmd);return 0; }int main(){char a[8]…

学习搜狗的workflow,MacBook上如何编译

官网说可以在MacBook上也可以运行&#xff0c;但是编译的时候却有找不到openssl的错误&#xff1a; 看其他博客也有类似的错误&#xff0c;按照类似的思路去解决 问题原因和解决办法 cmake编译的时候&#xff0c;没有找到openssl的头文件&#xff0c;需要设置cmake编译环境下…

基于Java的连锁超市会员管理系统设计与实现(源码+lw+ppt+部署文档+视频讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

孢子捕捉仪——植物疾病探测的得力工具

孢子捕捉仪是一款专为收集随空气流动、传染的病害病原菌孢子及花粉尘粒而制的精密仪器&#xff0c;它主要用于监测病害孢子的存量及其扩散动态&#xff0c;犹如植物健康状况的“超级侦察兵”&#xff0c;是农业植保部门应当配备的农作物病害监测专用设备&#xff0c;是植物疾病…

学之思第二天-调通登录功能

目录 一、前端问题 二、后端问题 三、总结 之前一直是一个前端网页即使输对了正确的账号密码&#xff0c;也进不去。 一、前端问题 前端控制台就是一大堆爆红&#xff1a; 报错信息大概下面这样&#xff1a; Uncaught (in promise) NavigationDuplicated {_name: "…

Uniapp 婚庆服务全套模板前端

包含 首页、社区、关于、我的、预约、订购、选购、话题、主题、收货地址、购物车、系统通知、会员卡、优惠券、积分、储值金、订单信息、积分、充值、礼品、首饰等 请观看 图片参观 开源&#xff0c;下载即可 链接&#xff1a;婚庆服务全套模板前端 - DCloud 插件市场 问题反…

QT:SQLITE数据库编程

pro文件&#xff1a;QT core gui sql widget.ui main.cpp #include "widget.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w("./student.db"); //传入文件名w.show();return a.exec…