微信小程序系列之云开发

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获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

基于Java开发一个极简版敏感词检测工具

《基于Java开发一个极简版敏感词检测工具》这篇文章主要为大家详细介绍了如何基于Java开发一个极简版敏感词检测工具,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录你是否还在为敏感词检测头疼一、极简版Java敏感词检测工具的3大核心优势1.1 优势1:DFA算法驱动,效率提升10

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife