小程序云开发之用户注册登录


Posted in Javascript onMay 18, 2019

本文实例为大家分享了小程序云开发用户注册登录的具体代码,供大家参考,具体内容如下

小程序云开发之用户注册登录
小程序云开发之用户注册登录

注册界面和文件

小程序云开发之用户注册登录
小程序云开发之用户注册登录

登录界面和文件

小程序云开发之用户注册登录
小程序云开发之用户注册登录

这里的UI使用iviewUI 不懂可以看我的另一篇文章IviewUI

先说注册界面
json如下

小程序云开发之用户注册登录

wxml如下

<!--pages/register/index.wxml-->
<view>
<i-input bind:change='inputName' maxlength="15" title="账号" autofocus placeholder="请输入账号" />
<i-input bind:change='inputPassword' maxlength="15" title="密码" autofocus placeholder="请输入密码" />
<i-button bindtap='register' type="success">注册</i-button>
</view>

js页面

// pages/register/index.js
let app = getApp();
//获取云数据库引用
const db = wx.cloud.database();
const admin = db.collection('adminlist');
 let name = null;
 let password = null;

Page({
 data: {
 },
 //输入用户名
 inputName:function(event){
 name = event.detail.detail.value
 },
 //输入密码
 inputPassword(event){
 password = event.detail.detail.value
 },


// .where({
// _openid: app.globalData.openid // 填入当前用户 openid
// })

 // wx.showModal({
 // title: '提示',
 // content: '您已注册,确定要更新账号密码吗?',
 // success: function (res) {
 // if (res.confirm) {
 // console.log('用户点击确定')
 // that.saveuserinfo();
 // }
 // }
 // })

 //注册
 register(){ 
 let that = this;
 let flag = false //是否存在 true为存在
 //查询用户是否已经注册
 admin.get({
 success:(res)=> {
 let admins = res.data; //获取到的对象数组数据
 // console.log(admins);
 for (let i=0; i<admins.length; i++){ //遍历数据库对象集合
 if (name === admins[i].name){ //用户名存在
 flag = true;
 // break;
 }
 }
 if(flag === true){ //已注册
 wx.showToast({
 title: '账号已注册!',
 icon: 'success',
 duration: 2500
 })
 }else{ //未注册
 that.saveuserinfo()
 }
 }
 })
 },


 //注册用户信息
 saveuserinfo() {
 // let that = this;
 admin.add({ //添加数据
 data:{
 name:name,
 password: password
 }
 }).then(res => {
 console.log('注册成功!')
 wx.showToast({
 title: '注册成功!',
 icon: 'success',
 duration: 3000
 })
 wx.redirectTo({
 url: '/pages/login/login',
 })
 })
 },
})

因为使用云开发数据库所以先在app.js中初始化加入下面这段代码

下面的fighting1323797232-e05624就是我们云开发的环境id

wx.cloud.init({
 env: 'fighting'1323797232-e05624',
 traceUser: true
 })

小程序云开发之用户注册登录

环境ID在这里

小程序云开发之用户注册登录

这里需要进云数据库创建一个adminlist集合

小程序云开发之用户注册登录

注册成功后,开始实现登陆功能

login.wxml

<!--pages/login/login.wxml-->
<view>
<i-input bind:change='inputName' maxlength="15" title="账号" placeholder="请输入账号" />
<i-input bind:change='inputPassword' maxlength="15" title="密码" placeholder="请输入密码" />
<i-button bindtap='login' type="primary">登录</i-button>
<i-button bindtap='register' type="success">注册</i-button>
</view>

json和以上注册的json一样

js逻辑页面实现如下:

// pages/login/login.js
let app = getApp();
// 获取云数据库引用
const db = wx.cloud.database();
const admin = db.collection('adminlist');
let name = null;
let password = null;

Page({

 /**
 * 页面的初始数据
 */
 data: {

 },
 //输入用户名
 inputName: function (event) {
 name = event.detail.detail.value
 },
 //输入密码
 inputPassword(event) {
 password = event.detail.detail.value
 },
 //登陆
 login(){
 let that = this;
 //登陆获取用户信息
 admin.get({
 success:(res)=>{
 let user = res.data;
 // console.log(res.data);
 for (let i = 0; i < user.length; i++) { //遍历数据库对象集合
 if (name === user[i].name) { //用户名存在
 if (password !== user[i].password) { //判断密码是否正确
 wx.showToast({
 title: '密码错误!!',
 icon: 'success',
 duration: 2500
 })
 } else {
 console.log('登陆成功!')
 wx.showToast({
 title: '登陆成功!!',
 icon: 'success',
 duration: 2500
 })
 wx.switchTab({ //跳转首页
 url: '/pages/shopcart/shopcart', //这里的URL是你登录完成后跳转的界面
 })
 }
 }else{ //不存在
 wx.showToast({
 title: '无此用户名!!',
 icon: 'success',
 duration: 2500
 })
 }
 }
 }
 })
 },


 register(){
 wx.navigateTo({
 url: '/pages/register/index'
 })
 },

 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) {

 },

 /**
 * 生命周期函数--监听页面初次渲染完成
 * 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互
 */
 onReady: function () {

 },

 /**
 * 生命周期函数--监听页面显示
 * 页面显示/切入前台时触发
 */
 onShow: function () {

 },

 /**
 * 生命周期函数--监听页面隐藏
 */
 onHide: function () {

 },

 /**
 * 生命周期函数--监听页面卸载
 */
 onUnload: function () {

 },

 /**
 * 页面相关事件处理函数--监听用户下拉动作
 */
 onPullDownRefresh: function () {

 },

 /**
 * 页面上拉触底事件的处理函数
 */
 onReachBottom: function () {

 },

 /**
 * 用户点击右上角分享
 */
 onShareAppMessage: function () {

 }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js直接编辑当前cookie的脚本
Sep 14 Javascript
jQuery阻止冒泡和HTML默认操作
Nov 17 Javascript
Jquery UI震动效果实现原理及步骤
Feb 04 Javascript
使用jQuery时Form表单元素ID和name命名大忌
Mar 06 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
Aug 20 Javascript
关于js原型的面试题讲解
Sep 25 Javascript
深入理解vue.js双向绑定的实现原理
Dec 05 Javascript
BootStrapTable 单选及取值的实现方法
Jan 10 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
Jan 15 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
Nov 02 Javascript
基于JavaScript伪随机正态分布代码实例
Nov 07 Javascript
详解Vue template 如何支持多个根结点
Feb 10 Javascript
小程序云开发实现数据库异步操作同步化
May 18 #Javascript
微信小程序云开发之数据库操作
May 18 #Javascript
微信小程序云开发如何使用云函数生成二维码
May 18 #Javascript
史上最为详细的javascript继承(推荐)
May 18 #Javascript
微信小程序云开发如何使用npm安装依赖
May 18 #Javascript
vue路由中前进后退的一些事儿
May 18 #Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
May 18 #Javascript
You might like
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
jQuery插件实现控制网页元素动态居中显示
2015/03/24 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
Bootstrap基本样式学习笔记之表格(2)
2016/12/07 Javascript
Node.js的特点详解
2017/02/03 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
Python告诉你木马程序的键盘记录原理
2019/02/02 Python
Python3 批量扫描端口的例子
2019/07/25 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
python中实现词云图的示例
2020/12/19 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
使用HTML5做的导航条详细步骤
2020/10/19 HTML / CSS
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
工程师求职简历的自我评价分享
2013/10/10 职场文书
庆七一活动方案
2014/01/25 职场文书
大学生家政服务项目创业计划书
2014/01/30 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
学校四风对照检查材料
2014/08/28 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
Python调用腾讯API实现人脸身份证比对功能
2022/04/04 Python