微信小程序系列之云开发

2023-11-29 04:12

本文主要是介绍微信小程序系列之云开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

三大核心

  • 云数据库
    • 提供在小程序端直接对数据库进行增删改查的能力
    • 数据库是类似于MongoDB的文档存储的数据库,操作非常方便
  • 云存储
    • 可以在小程序端直接上传、下载、删除文件
    • 自带CDN,提高文件访问速度
    • 可以获取临时链接,支持在小程序外访问
  • 云函数
    • 提供了在服务器代码的执行能力
    • 包含微信天然的私有鉴权
    • 更大权限的操作数据库等
    • 进行云调用、HTTP请求等操作

数据库操作简单封装

export const db = wx.cloud.database();class NBCollection {constructor(collectionName) {this.collection = db.collection(collectionName);}// 增删改查add(data) {return this.collection.add({data,});}remove(condition, isDoc = true) {if (isDoc) {return this.collection.doc(condition).remove();} else {this.collection.where(condition).remove();}}update(condition, data, isDoc = true) {if (isDoc) {return this.collection.doc(condition).update({ data });} else {return this.collection.where(condition).update({ data });}}query(offset = 0, size = 20, condition = {}, isDoc = false) {if (isDoc) {return this.collection.doc(condition).get();} else {return this.collection.where(condition).skip(offset).limit(size).get();}}
}// 导出
export const favorCollection = new NBCollection("nb_favor");
export const likeCollection = new NBCollection("nb_like");

云函数示例子

// 云函数入口文件
const cloud = require('wx-server-sdk')cloud.init()// 云函数入口函数
exports.main = async (event, context) => {// 1.获取数据库和集合const db = cloud.database()const type = event.typeconst collection = db.collection("lol")// 2.从集合中查询数据const res = await collection.get()return {name: "英雄联盟",liveRooms: res.data}
}
// 云函数入口文件
const cloud = require("wx-server-sdk");cloud.init();// 云函数入口函数
exports.main = async (event, context) => {// 1.生成小程序码const qrCodeRes = await cloud.openapi.wxacode.createQRCode({width: 320,path: "pages/cloud-database/index",});// 2.获取到数据, 并且上传到云存储中const wxContext = cloud.getWXContext();const timestamp = new Date().getTime();const openid = wxContext.OPENID;const extension = qrCodeRes.contentType.split("/").pop();const cloudPath = `${timestamp}_${openid}.${extension}`;const uploadRes = await cloud.uploadFile({fileContent: qrCodeRes.buffer,cloudPath,});return uploadRes;
};
// 云函数入口文件
const cloud = require('wx-server-sdk')
const axios = require("axios")cloud.init()// 云函数入口函数
exports.main = async (event, context) => {// 1.从自己的服务器请求数据const res = await axios.get("http://123.207.32.32:8000/home/multidata")// 2.对数据进行转换, 返回给客户端return {recommends: res.data.data.recommend.list,banners: res.data.data.banner.list}
}

这篇关于微信小程序系列之云开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431398

相关文章

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac