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


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 相关文章推荐
跟我一起学写jQuery插件开发方法(附完整实例及下载)
Apr 01 Javascript
过虑特殊字符输入的js代码
Aug 05 Javascript
javascript中的作用域scope介绍
Dec 28 Javascript
js 连接数据库如何操作数据库中的数据
Nov 23 Javascript
jquery控制左右箭头滚动图片列表的实例
May 20 Javascript
jQuery选择器源码解读(八):addCombinator函数
Mar 31 Javascript
JS简单实现多级Select联动菜单效果代码
Sep 06 Javascript
JavaScript对Json的增删改属性详解
Jun 02 Javascript
jQuery监听浏览器窗口大小的变化实例
Feb 07 Javascript
Vue表单验证插件的制作过程
Apr 01 Javascript
微信小程序canvas写字板效果及实例
Jun 15 Javascript
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
小程序云开发实现数据库异步操作同步化
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
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
详解PHP序列化反序列化的方法
2015/10/27 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
jQuery 解析xml文件
2009/08/09 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
React 组件间的通信示例
2018/06/14 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
解决layer.msg 不居中 ifram中的问题
2019/09/05 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
Python import用法以及与from...import的区别
2015/05/28 Python
python生成随机图形验证码详解
2017/11/08 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
python 中如何获取列表的索引
2019/07/02 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
CSS3实现swap交换动画
2016/01/19 HTML / CSS
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
学生安全教育材料
2014/02/14 职场文书
高级销售求职信
2014/02/21 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
入职担保书怎么写
2014/05/12 职场文书
经营目标管理责任书
2014/07/25 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
财政局党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
ant design charts 获取后端接口数据展示
2022/05/25 Javascript