2021-02-21

微信小程序云开发

无服务端架构,它提供了云函数的能力,可以在小程序端直接调用写好的云函数,同时提供了云数据库和对象存储的能力,程序员不用配置服务器,服务端功能可以在小程序端使用云函数实现

一、云开发初始准备

1.开发工具
官方链接: https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html
2.项目创建
3. 开通云开发服务 ,点击微信开发者工具的“云开发”图标,在插入框里点击“开通”,同意协议后,会插入创建环境的替代。这时会要求您输入环境名称和环境ID,以及当前云开发的基础环境初步
4. 找到云开发的环境ID,点击云开发控制台窗口里的设置图标,在环境变量的标签页中找到环境名称和环境ID。
5. 初始环境搭建
6. 部署并上传云函数
7. 发布云函数

(1)项目创建

项目名称XXXXXXX
目录选择需要保存的目录
APPID需要注册或者使用体验
开发模式小程序
后端服务小程序.云开发或者不使用云开发

注册好自己专属的微信小程序,通过开发>开发管理>开发设置>获取开发ID后,云服务可选择付费和免费开发配置两种。后端服务选择云开发,系统会默认生成一个云开发模板提供给开发者,官网参考https://developers.weixin.qq.com/minigame/dev/wxcloud/guide/functions/getting-started.html

(2)、初始化程序

开发环境ID尽量选择在云开发控制台设置下选择复制,尽量不要自己打,以免遗漏

// app.js
App({
  //初始状态环境,启动就执行
  onLaunch() {
      console.log("小程序开始")
      wx.cloud.init({
        env:"duck-2go53kyy86f53686",//开发环境ID
        traceUser: true,
      })
   } 
})

traceUser用法:
数据类型 :boolean
非必填
默认值 :true
说明 :是否在将用户访问记录到用户管理中,在控制台中可见
关于 初始化程序 语法,参考 官方文件

(3)、数据库集合创建

  1. 数据集合名称构建
    集合创建顺序
  2. 数据类型
    在这里插入图片描述
    3.get 获取数据库 .js代码
    在Pages文件下建立一个新的文件夹,包含.js、.json、.wxml、wxss,用作数据库文件(可在app.js下一键生成)
//data.js
Page({
  onLoad(){
    //第一种写法
    wx.cloud.database().collection("new")
    .get({
      //请求成功
      success(res){
         console.log("请求成功1",res)
      },
      //失败请求
      fail(ga){
        console.log("请求失败1",ga)
      }
    })
      //第二种写法
    wx.cloud.database().collection("new").get()
    .then(res=>{
      console.log("请求成功2",res)
    })
    .catch(ga=>{
      console.log("请求失败2",ga)
    })
    
  }
})

运行代码,请求成功数据data:Array(0),查询数据为0,原因是开发控制台集合权限没有改,应该在数据权限中把它改为是所有用户可读,仅创建者可读写.

4.数据库查询
#** 例子1**

//data.js
Page({
data:{
  list:[]
},
onLoad(){
  //固定写法
  let that=this//将this赋值给that
  wx.cloud.database().collection("new")
  .get({
    //请求成功
    success(res){
       console.log("请求成功1",res)
       that.setData({
        list:res.data
      })
    },
    //失败请求
    fail(ga){
      console.log("请求失败1",ga)
    }
  }) 
}
})

需要注意的是success中this并不是全局变量,需要将其赋值给另一个变量,否则将读取不出数据库

#** 例子2**

//data.js
Page({
 data:{
   list:[]
 },
 onLoad(){
  
   wx.cloud.database().collection("new").get()
   .then(res=>{
     console.log("请求成功2",res)
     this.setData({
       list:res.data
     })
   })
   .catch(ga=>{
     console.log("请求失败2",ga)
   })
   
 }
})
//data.wxml
<view wx:for="{{list}}">
     <view>获取库集name:{{item.name}},获取库集prick:{{item.prick}}</view>
</view>

数据库脚本语法同 SDK 数据库语法,是 JavaScript 的真子集,出于安全考虑在语法上带有一定的限制性,wx.cloud.database() 的结果 (不区分环境)。
Collection.where(condition: Object)用法
: 说明 :指定查询条件,返回带新查询条件的新的集合引用
: 非必填
: 返回值 :Collection

//Collection.where(condition: Object)用法
onLoad(){
   wx.cloud.database().collection("new")
   .where({
     name:"课本"//查询条件
   })  
   .get()doC
doc用法
说明 :获取集合中指定记录的引用。方法接受一个 id 参数,指定需引用的记录的 _id,查询单条数据
非必填
返回值 :Document
官方示例代码 :const myTodo = db.collection(‘todos’).doc(‘my-todo-id’)
//doc用法
Page({
 data:{
   gg:{},
 },
 onLoad(){
   wx.cloud.database().collection("new")
    .doc("b00064a76032114a063db5ec057018c4")//id必须填
   .get()
   .then(res=>{
     console.log("请求成功2",res.data)
     this.setData({
       gg:res.data
     })
   })
   .catch(ga=>{
     console.log("请求失败2",ga)
   }) 
 }
})

5.数据库添加
新建新页面

//add.js
Page({
onLoad(){
   wx.cloud.database().collection("new")
   .add({
     data:{//按值 字段添加
       name:" 慢慢懂",
       prick:"5"
     }
    })
     .then(res=>{
       console.log("添加成功",res)
     })
     .catch(res=>{
      console.log("添加失败",res)
     })
}
})

学而思,思而学

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值