宝哥软件园

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

编辑:宝哥软件园 来源:互联网 时间:2021-08-24

开发者可以用云开发微信小程序和游戏,不用搭建服务器就可以使用云功能。

云开发为开发者提供了完整的云支持,弱化了后端和运维的概念,在不设置服务器的情况下,使用平台提供的API进行核心业务开发,可以快速启动和迭代。同时,这种能力与开发人员已经使用的云服务兼容,而不是相互排斥。

目前,它提供三种基本的容量支持:

1.云功能:代码在云端运行,微信私有协议自然认证,开发者只需要编写自己的业务逻辑代码

2.数据库:一个JSON数据库,可以在小程序前端操作,在云函数中读写

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

具体来说,您可以转到applet文档来查看它。下面是一个登录注册的案例,演示applet云开发数据库的应用

注册

创建时,当单击下一步时,检查数据库以查看是否有任何重复的用户名。单击“同意”时调用数据库,然后将所有判断进行下一步。如果满足所有条件,请将用户名和密码放入全局变量中。

var app=GetApp();页面({ data: { userName: ' ',userPassword: ' ',userPasswordAgain: ' ',checkbox: false,repetition: false },//返回主页面backHomeTap:函数(){ wx . SwitCh TAb({ URL : }./index/index ',}) },//绑定bindingTap:函数(){ wx . redirectto({ URL : }./login/login ',}) },//用户名用户名输入:函数{这个。setdata({ username : e . detail。value });}, //密码用户密码输入:函数{这个。setdata({ usepasswordpinput : e . detail。value });}, //再次输入密码用户密码再次输入:函数{这个。setdata({ usepasswordageinput : e . detail。value });}, //同意checkboxChange:函数(){ if(this。数据。checkbox===false){这。setdata({ checkbox : true })} else { this。setdata({ checkbox : false })} var=this;var userName=这个。数据。用户名;//初始化云wx。云。init({ en v : ' wubaib-9543 f 7 ',TraceUser : true });//初始化数据库const db=wx。云。database();const _=db.command db . collection(' user information ').其中({用户名: _ .eq(userName) }).获取({ success : function(RES){ if(RES . data。length===1){那个。setdata({ repeat : true })} })},//下一步,完善个人信息完美信息函数(){ var userName=this。数据。用户名;var用户密码=这个。数据。用户密码;var复选框=这个。数据。复选框;var usepasswordreamy=this。数据。usepasswordreamyvar name=/^[a-za-z0-9u4e00-u9fa5]$/;var repeat=this。数据。重复;if(userName==' '){ wx。showtoast({ title : '请输入用户名,icon: 'none ',duration: 2000,mask : true })else if(!名字。测试(用户名)){ wx。showtoast({ title : '用户名格式不正确,icon: 'none ',duration: 2000,mask : true })else if(repeat===true){ wx。showtoast({ title : '用户名已存在,图标:“无”,工期: 2000,掩码: true })else if(user plash===' '){ wx。showtoast({ title : '请输入密码,icon: 'none ',duration: 2000,mask : true })else if(UserPassport。长度6){ wx。showToast({ title : '密码最少6位,icon: 'none ',duration: 2000,mask : true })else if(用户密码!==userpasswordstream){ wx。showtoast({ title : '两次密码输入不一致,icon:“无”,duration: 2000,mask : true })else if(checkbox===false){ wx。显示吐司({ title : '请选中已阅读,icon: 'none ',duration: 2000,mask : true })else { wx。redirectto({ URL : '完美主义者/完美主义者',}) //保存用户名和密码app。appdata。帐户={ userName : userName,用户密码:用户密码} })在完善信息的时候获取所有的变量(用户名和密码也在内),然后在点击下一步完成按钮将数据上传到数据库。

var app=GetApp();页面({ data: { userName: ' ',userPassword: ' ',phone: ' ',realName: ' ',card: ' ',email: ' ',},//返回主界面backHomeTap:函数(){ wx . SwitCh TAb({ URL : }././index/index ',}) },//手机号电话输入:函数{这个。setdata({ phone : e . detail。value });}, //真实姓名名称输入:函数{这个。setdata({ realmename : e . detail。value });}, //身份证cardInput:函数{这个。setdata({ card : e . detail。value })},//邮箱邮箱放:函数{这个。setdata({ email : e . detail。value })},//下一步完成registeresuccesstap : function(){ var phone=this。数据。电话;var实名=这个。数据。实名;var card=这个。数据。卡片;var email=this。数据。电子邮件;var userName=这个。数据。用户名;var用户密码=这个。数据。用户密码;var phone reg=/^1[345789]d{9}$/;var namereg=/^[u4e00-u9fa5]$/;var cardreg=/^d{6}(18|19|20)? d { 2 }(0[1-9]| 1[012])(0[1-9]|[12] d | 3[01]) d { 3 }( d |[xX])$/;var emailreg=/^(w().w )*@(w) ((). w))$/;变量=这个;if(phone===' '){ wx。showtoast({ title : '请输入手机号,icon: 'none ',duration: 2000,mask : true });} else if(!电话注册。测试(电话)){ wx。showToast({ title : '请输入正确的手机号,icon: 'none ',duration: 2000,mask : true })else if(!名称注册。测试(RealName)){ wx。showToast({ title : '请输入正确的名字,icon:“无”,duration: 2000,mask : true })else if(card==' '){ wx。显示吐司({ title : '请输入身份证,icon: 'none ',duration: 2000,mask : true })else if(!卡片登记。测试(卡片)){ wx。showToast({ title : '请输入正确的身份证,icon: 'none ',duration: 2000,mask : true })else if(email===' '){ wx。showtoast({ title : '请输入邮箱,icon: 'none ',duration: 2000,mask : true })else if(!电子邮件注册。测试(电子邮件)){ wx。显示吐司({ title : '请输入正确的邮箱,icon:“无”,duration: 2000,mask : true })else {//初始化云wx。云。init({ en v : ' wubaib-9543 f 7 ',TraceUser : true });//初始化数据库const db=wx。云。database();db.collection('userInformation ').添加({ //数据字段表示需新增的数据数据数据: {实名:实名,用户名:用户名,用户密码:用户密码,电话:电话,email:电子邮件,card:卡},成功:功能(RES){//RES是一个对象,其中有_id字段标记刚创建的记录的id控制台。日志(RES);控制台。日志(RES . errmsg);} }) } }, /** * 生命周期函数-监听页面显示*/OnShaw :函数(){这个。setdata({ username : app。appdata。账户。用户名、用户密码: app。appdata。账户。用户密码})},})登录

在登录页面,先获取用户输入的用户名和密码。在点击登录的时候,先根据用户名调数据库的密码和用户输入的密码是否相等。如果相等将用户的信息保存到全局变量中。

var app=GetApp();页面({ data: { bindName: ' ',bindPassword: ' ',isChecked: false,userName: ' ',phone: ' ',realName: ' ',card: ' ',email: ' ',userid : ' ')},//点击注册账号registerTap:函数(){ wx . redirectto({ URL : }./register/register' }) },//获取用户名bindNameInput:函数{这个。setdata({ bindname : e . detail。value })var=this;if (that.data.bindName.length!==0那个。数据。BindPassPort。长度!==0){这个。setdata({ is check d : true })} else if(即。数据。绑定名称。length===0){ this。setdata({ is check d : false })} },//获取密码bindPasswordInput:函数{这个。setdata({ bind password : e . detail。value })var=this;if (that.data.bindName.length!==0那个。数据。BindPassPort。长度!==0){这个。setdata({ is check d : true })} else if(即。数据。绑定密码。length===0){ this。setdata({ is check d : false })} },//点击登录绑定成功:函数(){ var=this变量绑定名称=该。数据。绑定名称;var BindPassPort=那个。数据。BindPassPortif (bindName.length!==0 bindPassword.length!==0) { //初始化云wx。云。init({ en v : ' wubaib-9543 f 7 ',TraceUser : true });//初始化数据库const db=wx。云。database();db.collection('userInformation ').其中({用户名:绑定名称}).get().然后(RES={控制台。日志(资源数据);if (res.data[0]).user PassPort===BindPassPort){控制台。日志('登录成功');//保存手机号,真实姓名,身份证号,邮箱保存用户名那个。setdata({ username : RES . data[0]).用户名,电话: res.data[0].电话,realmename : RES . data[0]。realName,card: res.data[0].卡,email: res.data[0].电子邮件,用户Id: res.data[0]._ id })应用程序。appdata。用户信息={电话:数据。电话,真名:那个。数据。实名,卡片,电子邮件。数据。email } app。appdata。帐户={ username :数据。用户名}应用程序。appdata。userid={ userid :数据。userid } wx。切换选项卡({ URL : './personalCenter/personalCenter ',})} else { wx。显示吐司({ title : '用户名或密码错误,icon: 'none ',持续时间: 2000 })} } },})登录WXML

视图类='phoneNumberContainer '输入占位符='用户名maxlength=' 11 ' bind input=' bindNameInput '/input/view view class=' passwordContainer ' input placeholder='密码password=' true ' bind input=' bind passwordpinput '/input/view view view class=' { { isChecked?绑定检查了“:‘绑定正常’} }”绑定tap=“绑定成功”立即登录/view view class=' RegisterContainer ' bind tap=' registerstanp '注册账号/view注册第一步的WXML

!-返回主页-view class=' back home ' bind tap=' back home tap ' image src='/images/home icon。png ' class=' backHomeImg '/image/view!-头部- view class='headerContainer '!-创建账户-view class=' headerListContainer header stactive ' view class=' header list view ' 1/view text class=' header list text '创建账户/text /view!-完善个人信息-view class=' headerListContainer ' view class=' header listview ' 2/view text class=' header listvert '完善个人信息/text /view!-注册成功-view class=' headerListContainer ' view class=' header listview ' 3/view text class=' header listvert '注册成功/text/view view view class='横切线垂直/view view class='横切线垂直/view/view class=' main container '!-用户名-view class=' mainListContainer ' view class=' mainlistext '用户名/view input class='mainListInput '占位符='请输入数字,字母或中文maxlength=' 25 ' bind input=' userNameInput '/input/view!-密码-view class=' mainListContainer ' view class=' mainlistext '密码/view input class='mainListInput '占位符='长度6~14位password=' true ' maxlength=' 14 ' bind input=' user passwordpinput '/input/view!-确认密码-view class=' mainListContainer ' view class=' mainlistext '确认密码/view input class='mainListInput '占位符='请再次输入密码password=' true ' maxlength=' 14 ' bind input=' userpasswordageinput '/input/view/view!-同意-视图类='agreeContainer '复选框类='agreeCheckbox '选中=“{ { check } }”绑定点击=“复选框更改”/文本我已阅读并接受/text text class='子句《用户注册条款》/文字/视图!-下一步按钮-查看类='nextButton' bindtap='完美福塔普下一步,完善个人信息/view!-绑定-视图类="绑定容器"文本已有账号/text text class=' binding ' bind tap=' binding tap '请绑定/文本/视图注册第二步WXML

!-返回主页-view class=' back home ' bind tap=' back home tap ' image src='/images/home icon。png ' class=' backHomeImg '/image/view!-头部- view class='headerContainer '!-创建账户-view class=' headerListContainer headerlistodactive ' view class=' header list view ' 1/view text class=' header list text '创建账户/text /view!-完善个人信息-view class=' headerListContainer header stactive ' view class=' header list view ' 2/view text class=' header list text '完善个人信息/text /view!-注册成功-view class=' headerListContainer ' view class=' header listview ' 3/view text class=' header listvert '注册成功/text/view view view class='横切线垂直/view view class='横切线垂直/view/view!-主视图类='mainContainer '!-手机-view class=' mainListContainer ' view class=' mainlistext '手机/view input class='mainListInput '占位符='请输入手机号码maxlength=' 11 ' bind input=' phone input '/input/view!-真实姓名-view class=' mainListContainer ' view class=' mainlistext '真实姓名/view input class='mainListInput '占位符='请输入真实姓名最大长度=' 25 '绑定输入=' NameInput '/input/view!-证件类型-view class=' mainListContainer ' view class=' mainlistext '证件类型/view view class='cardText '中华人民共和国居民身份证/view /view!-证件号码-view class=' mainListContainer ' view class=' mainlistext '证件号码/view input class=' mainListInput ' type=' idcard ' placeholder='请输入身份证号码maxlength=' 18 ' bind input=' cardInput '/input/view!-邮箱-view class=' mainListContainer ' view class=' mainlistext '邮箱/view input class='mainListInput '占位符='请输入常用的邮箱地址绑定输入=' emailInput '/输入/查看/查看!-next按钮-view class=' next button ' bind tap=' registersssccesstap '下一步,完成/view以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

更多资讯
游戏推荐
更多+