3つのコア
- クラウドデータベース
- ミニプログラム側でデータベースを直接追加、削除、変更、クエリする機能を提供します。
- このデータベースは MongoDB に似た文書保管データベースであり、操作が非常に便利です。
- クラウドストレージ
- ミニ プログラム上でファイルを直接アップロード、ダウンロード、削除できます。
- ファイルアクセス速度を向上させるCDNが付属しています
- ミニ プログラム外へのアクセスをサポートするために、一時的なリンクを取得できます。
- クラウド機能
- サーバー上でコードを実行する機能を提供します
- WeChat の自然なプライベート認証が含まれています
- データベース等の操作権限の強化
- クラウド呼び出しや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) => {
const db = cloud.database()
const type = event.type
const collection = db.collection("lol")
const res = await collection.get()
return {
name: "英雄联盟",
liveRooms: res.data
}
}
const cloud = require("wx-server-sdk");
cloud.init();
exports.main = async (event, context) => {
const qrCodeRes = await cloud.openapi.wxacode.createQRCode({
width: 320,
path: "pages/cloud-database/index",
});
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) => {
const res = await axios.get("http://123.207.32.32:8000/home/multidata")
return {
recommends: res.data.data.recommend.list,
banners: res.data.data.banner.list
}
}