小程序云开发

背景


  • 无需服务器,云函数实现服务器接口逻辑
  • 无需数据库,云开发自动集成数据库,这是类似mongdb(hash存储)
  • 服务端无要认证,便可以获取用户的openid, uninid。
  • 无需申请oss, 自动配置文件服务。

如果你是个前端er,自己可以通过类似node实现后端的接口服务器

云函数


个云函数就相当与一个http服务。


exports.main = (event, context) => {
  // 这里添加逻辑代码 然后返回
  return {
    event,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
  }
}
复制代码

一个函数,你可以处理单独逻辑,也可以把它当成所有逻辑的入口分发到不同的函数


    exports.main = async (params, context) => {
      let funName = params.actionName || 'find'
      delete params.actionName
      let res;
      switch(funName) {
        case 'del':
          res = await del(params);
          break;
        case 'create':
          res = await create(params);
          break;
        case 'update':
          res = await update(params);
          break;
        default:
          res = await find(params);
      }
      return res;
}
复制代码

当然一个函数可以当成模块儿入口,在这里可以引入express,koa框架,根据参数的不同转发到不同的模块

注意: 这里获取用户的openid, unioid官方文档都有自行查阅

云数据库

查看如上图一样

  • 集合名称相当于数据库的表名。
  • 这里没有库的概念,这里的库在用的时候,可以通过 env 选择。

    const env = 'dev' // 这里是环境Id 不是名称
    const DB =  cloud.database({ env })
复制代码
  • 当前环境目前一个账号只能申请两个,也没有开通收费服务,大家省点用

  • 遵照以下步骤就可以拿到一个model的对象

    const cloud = require('wx-server-sdk')
    cloud.init()
    const env = 'xxxx'
    const DB =  cloud.database({ env })
    const userModel = DB.collection('user')
复制代码
  • 这里就可以参照文档的实现自己的增删改查了
    
    async function find() {
      return await userModel
      .where({})     // 搜索条件
      .skip((page-1)*pageSize)  // 分页
      .limit(pageSize)    
      .orderBy('addTime', 'desc')  // 排序
      .get().then(res => {
        console.log(res)      // 结果
      })
    }
复制代码

云存储


文件存储的查看如下

  • cloud:// 开头的协议引用目前只有在小程序适用

小程序端调用

1 需要在project.config.json 规定小程序根目录,服务端根目录

2 需要在app.js 初始化cloud

3 调用云函数

  wx.cloud.callFunction({
    name: pathArr[0],   // 这里是传给后端的参数
    data,
  }).then().catch()     // 返回一个promise 对象
  
复制代码

感悟总结

  • 逻辑上更简化了,http接口调用变成了函数调用模式。
  • 省钱,需要申请的小程序,就可以实现,无需买服务器,大环境,搞数据库。
  • 简单一个前端同学完全可以搞定一切。
  • 目前感觉逻辑不是很复杂的可以用,但是高并发,用户量大的就算了吧。

转载于:https://juejin.im/post/5d0b56d9f265da1b74020370

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值