QQ小程序 使用說(shuō)明

2020-07-10 13:41 更新

使用云開(kāi)發(fā)擴(kuò)展能力之前,需要先在云開(kāi)發(fā)控制臺(tái)安裝相關(guān)擴(kuò)展程序。具體步驟: 打開(kāi)云開(kāi)發(fā)擴(kuò)展控制臺(tái) 選擇希望安裝的擴(kuò)展 單擊【安裝】,進(jìn)行擴(kuò)展程序的安裝 等待擴(kuò)展程序安裝完成即可使用

在小程序中使用

小程序基礎(chǔ)庫(kù)從1.14.1版本開(kāi)始支持。 使用云開(kāi)發(fā)擴(kuò)展能力需要額外引入 @cloudbase/extension-ci npm包,具體引入辦法: 在小程序根目錄執(zhí)行npm install --save @cloudbase/extension-ci 點(diǎn)擊QQ小程序開(kāi)發(fā)者頂部欄 - 工具 - 構(gòu)建npm 在小程序代碼中引入@cloudbase/extension-ci

示例代碼

  1. const extCI = require('@cloudbase/extension-ci');
  2. // 初始化環(huán)境
  3. qq.cloud.init({
  4. env:"test-x1dzi"
  5. })
  6. // 注冊(cè)云開(kāi)發(fā)擴(kuò)展
  7. qq.cloud.registerExtension(extCI);
  8. // 用戶選擇圖片
  9. qq.chooseImage({
  10. success:res=>{
  11. // 使用文件管理讀取文件內(nèi)容
  12. const fsm = qq.getFileSystemManager();
  13. const filePath = res.tempFilePaths[0];
  14. const cloudPath = `demo.jpeg`;
  15. fsm.readFile({
  16. filePath:filePath,
  17. success:res2=>{
  18. const fileContent = res2.data; // 格式為ArrayBuffer
  19. // 使用云開(kāi)發(fā)擴(kuò)展能力轉(zhuǎn)換圖片格式
  20. qq.cloud.invokeExtension("CloudInfinite", {
  21. action: "ImageProcess",
  22. cloudPath: cloudPath, // 存儲(chǔ)圖像的絕對(duì)路徑,與qq.cloud.uploadFile中一致
  23. fileContent:fileContent, // 該字段可選,文件內(nèi)容:ArrayBuffer|Buffer。有值,表示上傳時(shí)處理圖像;為空,則處理已經(jīng)上傳的圖像
  24. operations: {
  25. rules: [
  26. {
  27. fileid: `/image_process/demo.png`,// 處理結(jié)果的文件路徑,如以’/’開(kāi)頭,則存入指定文件夾中,否則,存入原圖文件存儲(chǔ)的同目錄
  28. rule: "imageView2/format/png" // 處理樣式參數(shù),與下載時(shí)處理圖像在url拼接的參數(shù)一致
  29. }
  30. ]
  31. }
  32. }).then(res=>{
  33. console.log(res)
  34. })
  35. }
  36. })
  37. }
  38. })

在云函數(shù)中使用 在云函數(shù)目錄安裝

  1. @cloudbase/extension-ci
  2. npm install @cloudbase/extension-ci

2.示例代碼:

  1. const cloud = require('qq-server-sdk');
  2. const extCI = require('@cloudbase/extension-ci');
  3. // 初始化環(huán)境
  4. cloud.init({
  5. env: cloud.DYNAMIC_CURRENT_ENV
  6. })
  7. // 注冊(cè)云開(kāi)發(fā)擴(kuò)展
  8. cloud.registerExtension(extCI);
  9. // 云函數(shù)入口函數(shù)
  10. exports.main = async (event, context) => {
  11. const cloudPath = event.cloudPath;
  12. // 使用云開(kāi)發(fā)擴(kuò)展能力生成水印
  13. const res = await cloud.invokeExtension("CloudInfinite", {
  14. action: "ImageProcess",
  15. cloudPath: cloudPath, // 存儲(chǔ)圖像的絕對(duì)路徑,與cloud.uploadFile中一致
  16. operations: {
  17. rules: [
  18. {
  19. fileid: `/image_process/${cloudPath}`,// 處理結(jié)果的文件路徑,如以’/’開(kāi)頭,則存入指定文件夾中,否則,存入原圖文件存儲(chǔ)的同目錄
  20. // 處理樣式參數(shù),與下載時(shí)處理圖像在url拼接的參數(shù)一致
  21. rule: "watermark/2/text/6IW-6K6v5LqRwrfkuIfosaHkvJjlm74/fill/IzNEM0QzRA/fontsize/20/dissolve/50/gravity/northeast/dx/20/dy/20/batch/1/degree/45"
  22. }
  23. ]
  24. }
  25. })
  26. return {
  27. res
  28. }
  29. }
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)