首页 > 热点 > 微信 > 正文

微信小程序云开发(数据库)详解

2024-07-22 01:18:27
字体:
来源:转载
供稿:网友

开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。

云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。

目前提供三大基础能力支持:

1、云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码

2、数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库

3、存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理

具体的可以去小程序文档上查看,下面用一个登录注册的案例来演示小程序云开发数据库的运用

注册

在创建的时候,要在点下一步的时候,调数据库来看用户名有没有重复的。在点击同意的时候来调用数据库,然后把所有的判断放到下一步来判断。所有条件都满足就将用户名和密码放到全局变量中。

var app = getApp();Page({ data: {  userName: '',  userPassword: '',  userPasswordAgain: '',  checkbox: false,  repetition: false }, // 返回主页面 backHomeTap: function() {  wx.switchTab({   url: '../index/index',  }) }, // 绑定 bindingTap: function () {  wx.redirectTo({   url: '../login/login',  }) }, // 用户名 userNameInput: function(e) {  this.setData({   userName: e.detail.value  }); }, // 密码 userPasswordInput: function(e) {  this.setData({   userPassword: e.detail.value  }); }, // 再次输入密码 userPasswordAgainInput: function(e) {  this.setData({   userPasswordAgain: e.detail.value  }); }, // 同意 checkboxChange: function() {  if (this.data.checkbox === false) {   this.setData({    checkbox: true   })  } else {   this.setData({    checkbox: false   })  }  var that = this;  var userName = this.data.userName;  // 初始化云  wx.cloud.init({   env: 'wubaib-9543f7',   traceUser: true  });  // 初始化数据库  const db = wx.cloud.database();  const _ = db.command;  db.collection('userInformation').where({   userName: _.eq(userName)  }).get({   success: function (res) {    if (res.data.length === 1) {     that.setData({      repetition: true     })    }   }  }) }, // 下一步,完善个人信息 perfectInforTap: function() {  var userName = this.data.userName;  var userPassword = this.data.userPassword;  var checkbox = this.data.checkbox;  var userPasswordAgain = this.data.userPasswordAgain;  var name = /^[A-Za-z0-9/u4e00-/u9fa5]+$/;  var repetition = this.data.repetition;  if (userName === '') {   wx.showToast({    title: '请输入用户名',    icon: 'none',    duration: 2000,    mask: true   })  } else if (!name.test(userName)) {   wx.showToast({    title: '用户名格式不正确',    icon: 'none',    duration: 2000,    mask: true   })  } else if (repetition === true) {   wx.showToast({    title: '用户名已存在',    icon: 'none',    duration: 2000,    mask: true   })  } else if (userPassword === '') {   wx.showToast({    title: '请输入密码',    icon: 'none',    duration: 2000,    mask: true   })  } else if (userPassword.length < 6) {   wx.showToast({    title: '密码最少6位',    icon: 'none',    duration: 2000,    mask: true   })  } else if (userPassword !== userPasswordAgain) {   wx.showToast({    title: '两次密码输入不一致',    icon: 'none',    duration: 2000,    mask: true   })  } else if (checkbox === false) {   wx.showToast({    title: '请选中已阅读',    icon: 'none',    duration: 2000,    mask: true   })  } else {   wx.redirectTo({    url: 'perfectInfor/perfectInfor',   })   // 保存用户名和密码   app.appData.account = {    userName: userName,    userPassword: userPassword   }  } }})            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表