微信小程序-雲開發實戰教程


微信小程序-雲開發實戰教程

雲函數,雲存儲,雲數據庫,雲調用

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started

雲函數

cloud functions

// index.js 是入口文件,雲函數被調用時會執行該文件導出的 main 方法
// event 包含了調用端(小程序端)調用該函數時傳過來的參數,同時還包含了可以通過 getWXContext 方法獲取的用戶登錄態 `openId` 和小程序 `appId` 信息
const cloud = require('wx-server-sdk')
exports.main = (event, context) => {
  let { userInfo, a, b} = event
  let { OPENID, APPID } = cloud.getWXContext() // 這里獲取到的 openId 和 appId 是可信的
  let sum = a + b

  return {
    OPENID,
    APPID,
    sum
  }
}

pages methods

wx.cloud.callFunction({
  // 需調用的雲函數名
  name: 'add',
  // 傳給雲函數的參數
  data: {
    a: 12,
    b: 19,
  },
  // 成功回調
  complete: console.log
})
// 當然 promise 方式也是支持的
wx.cloud.callFunction({
  name: 'add',
  data: {
    a: 12,
    b: 19
  }
}).then(console.log)

✅ 打印雲函數的信息 event, context, wxContext,

// 雲函數入口文件
const cloud = require('wx-server-sdk')

cloud.init()

const log = console.log;

// 雲函數入口函數
exports.main = async (event, context) => {
  log(`event, context`, event, context);
  const wxContext = cloud.getWXContext();
  log(`wxContext =`, wxContext);
  // let { OPENID, APPID } = cloud.getWXContext();
  // 這里獲取到的 openId 和 appId 是可信的
  // const {
  //   OPENID,
  //   APPID,
  // } = cloud.getWXContext();
  // let { userInfo, a, b} = event;
  const {
    a,
    b,
    // userInfo,
  } = event;
  const sum = a + b;
  // ✅返回想查看的信息 event, context, wxContext,
  return {
    sum,
    event,
    context,
    wxContext,
  };
}

  data: {
    urls: [
      {
        url: "https://cdn.xgqfrms.xyz/logo/icon.png",
        id: 1,
      },
      {
        url: "https://cdn.xgqfrms.xyz/logo/favicon.png",
        id: 2,
      },
      {
        url: "https://cdn.xgqfrms.xyz/logo/logo.png",
        id: 3,
      },
    ],
    sum: 0,
  },
  sum(e) {
    // log(`sum =`, e);
    const min = Math.floor(Math.random() * 10);
    const max = Math.floor(Math.random() * 10 + 10);
    wx.cloud.callFunction({
      name: 'sum',
      data: {
        a: min,
        b: max,
      },
    })
    .then(res => {
      // ✅打印返回的信息 event, context, wxContext,
      log(`add OK`, res);
      // log(`sum =`, res.result.sum);
      const sum = res.result.sum;
      this.setData({
        sum,
      });
    })
    .catch(error => {
      err(`add error`, error);
    })
  },

雲存儲

// 讓用戶選擇一張圖片
wx.chooseImage({
  success: chooseResult => {
    // 將圖片上傳至雲存儲空間
    wx.cloud.uploadFile({
      // 指定上傳到的雲路徑
      cloudPath: 'my-photo.png',
      // 指定要上傳的文件的小程序臨時文件路徑
      filePath: chooseResult.tempFilePaths[0],
      // 成功回調
      success: res => {
        console.log('上傳成功', res)
      },
    })
  },
})

雲數據庫

// 1. 獲取數據庫引用
const db = wx.cloud.database()
// 2. 構造查詢語句
// collection 方法獲取一個集合的引用
// where 方法傳入一個對象,數據庫返回集合中字段等於指定值的 JSON 文檔。API 也支持高級的查詢條件(比如大於、小於、in 等),具體見文檔查看支持列表
// get 方法會觸發網絡請求,往數據庫取數據
db.collection('books').where({
  publishInfo: {
    country: 'United States'
  }
}).get({
  success: function(res) {
  // 輸出 [{ "title": "The Catcher in the Rye", ... }]
  console.log(res)
 }
})

雲調用

雲調用是雲開發提供的基於雲函數使用小程序開放接口的能力,目前覆蓋以下使用場景:

服務端調用
開放數據調用
消息推送

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/openapi/openapi.html

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-http-api/

wx-server-sdk

SDK

$ yarn add wx-server-sdk

$ npm i wx-server-sdk

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/utils/Cloud.getWXContext.html

refs



©xgqfrms 2012-2020

www.cnblogs.com 發布文章使用:只允許注冊用戶才可以訪問!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM