国产69成人精品视频免费,被灌满精子的波多野结衣,国产a v无码专区亚洲av,free性中国熟女hd,丰满熟女高潮毛茸茸欧洲

API對接

Up
? 發(fā)表于:2023-04-07 17:44:22 ? 更新于:2023-04-11 15:11
2189

云函數(shù)

概述

云函數(shù)可在系統(tǒng)主動觸發(fā)后,執(zhí)行相關(guān)邏輯。在云函數(shù)中可進行過網(wǎng)絡(luò)請求,實現(xiàn)與第三方數(shù)據(jù)交互。

云函數(shù)可直接在功能流程的“API-自定義api”中進行調(diào)用。

云函數(shù)暫不支持直接在編程步驟中調(diào)用,可通過單獨實現(xiàn)一個功能調(diào)用云函數(shù),編程調(diào)用該功能的方式進行實現(xiàn)。

編程方法體

代碼如下:         復(fù)制代碼

async function run($input,$output,$modules = modules){
    //$input:輸入模塊,云函數(shù)的輸入?yún)?shù) json
    //$output:輸出模塊,云函數(shù)的輸出參數(shù) json
    //$modules:功能模塊,用于數(shù)據(jù)處理
}

$input

可通過輸入模塊獲取輸入?yún)?shù)值 ,與配置頁面的輸入配置參數(shù)對應(yīng)

示例: 

https://pan.bnocode.com/project/642283bde81aad5e5587ce87/attachment/20230406/1680754220991_image.png

代碼如下:         復(fù)制代碼

async function run($input,$output,$modules = modules){
    //獲取輸入?yún)?shù) name 的值
    let name = $input.name;
}

$output

可通過輸出模塊輸出需要的參數(shù),與配置頁面的輸出配置參數(shù)對應(yīng)

示例:

代碼如下:         復(fù)制代碼

async function run($input, $output, $modules = modules) {
    //輸出參數(shù) name 的值為 "bnocode" 
    $output.name = "bnocode";
    //此時$output ={name:"bnocode"}
}

$modules

編程步驟中的$plugin可使用的內(nèi)容$modules均可使用。例如編程步驟中$plugin.data.saveData()等同$modules.data.saveData()

更多$plugin內(nèi)容請參考白碼后端編程文檔

在此基礎(chǔ)上還添加了其他接口

--lib.exceljs

引入exceljs庫,可實現(xiàn)對excel的編輯操作并下載excel。

--lib.uuid

引入uuid庫,可以獲取uuid

固定寫法如下

代碼如下:         復(fù)制代碼

async function run($input,$output,$modules = modules){
    const uuid = $modules.lib.uuid;
    let guid = uuid.v4();
    guid = guid.replace(/\-/g, "");
    $output.uuid = guid;//輸出uuid
}

--lib.Buffer

引入Buffer庫,可實現(xiàn)數(shù)據(jù)轉(zhuǎn)Buffer的效果并實現(xiàn)數(shù)據(jù)上傳

--curl(url,requestOption)

此方法用于發(fā)起網(wǎng)絡(luò)請求,可了解egg的curl相關(guān)文檔。

HttpClient - Egg (eggjs.org)

框架內(nèi)置基礎(chǔ)對象 - Egg (eggjs.org)

參數(shù)名

類型

是否必須

說明

url

string

請求地址

requestOption

object

請求配置

requestOption.method

string

請求方式:post 或 get,默認get

requestOption.headers

string

請求頭部配置

requestOption.dataType

string

響應(yīng)數(shù)據(jù)格式

requestOption.data

object

請求內(nèi)容,post請求時需要


示例:

代碼如下:         復(fù)制代碼

async function run($input, $output, $modules = modules) {
    let url = "";
    let resp = await $modules.curl(url, {
        method: "post",
        headers: {},
        dataType: "json",
        data: {}
    });
    $output.resp = resp;
}

--crypto

密碼工具庫,包含常見的加密技術(shù),參考 常見加密技術(shù)


webhook

概述

webhook一般用于接收第三方推送的數(shù)據(jù),第三方通過向webhook的路徑推送內(nèi)容,webhook被動觸發(fā)后根據(jù)推送內(nèi)容進行響應(yīng)。

編程方法體

代碼如下:         復(fù)制代碼

async function hook($req = request, $resp = response, $modules = modules) {
    //$req:請求對象,可獲取到請求內(nèi)容
    //$resp:響應(yīng)對象,可將 webhook 的處理結(jié)果返回到請求方
    //$modules:功能模塊,用于數(shù)據(jù)處理
}

$req

代碼如下:         復(fù)制代碼

async function hook($req = request, $resp = response, $modules = modules) {
   let query=$req.query;//get請求中,url上的參數(shù)內(nèi)容
   let body=$req.body;//post請求內(nèi)容
}

$resp

用于將響應(yīng)內(nèi)容返回給請求方

示例: 

代碼如下:         復(fù)制代碼

async function hook($req = request, $resp = response, $modules = modules) {
    $resp.body = {
        code: 0,
        msg: "success"
    }
}

$modules

同云函數(shù)。

常用加密技術(shù)

云函數(shù)與webhook中均可使用,為了方便,本文均以云函數(shù)為例。

HmacSHA256

代碼如下:         復(fù)制代碼

async function run($input, $output, $modules = modules) {

    let secret = "";//加密密鑰
    let dataStr = "";//需要加密的內(nèi)容字符串

    //加密
    const crypto = await $modules.crypto;
    let hmac = crypto.createHmac("sha256", secret);
    hmac.update(dataStr);

    //加密后簽名
    let sign = hmac.digest("hex");
}

SHA256

代碼如下:         復(fù)制代碼

async function run($input, $output, $modules = modules) {

    let str = "";//需要加密的內(nèi)容字符串

    //加密
    const crypto = $modules.crypto;
    let sha256 = crypto.createHash('sha256');
    sha256.update(str);

    //加密后簽名
    let mac = sha256.digest("hex");

}

MD5

代碼如下:         復(fù)制代碼

async function run($input, $output, $modules = modules) {

    let str = "";//需要加密的內(nèi)容字符串

    //加密
    const crypto = $modules.crypto;
    const hash = crypto.createHash('md5');
    let result = hash.update(str).digest('hex');//加密

    let upperCase = result.toLocaleUpperCase();//轉(zhuǎn)大寫,如果需要

}

Base64

代碼如下:         復(fù)制代碼

async function run($input, $output, $modules = modules) {

    let str = "";//需要加密的內(nèi)容字符串

    //加密
    const buffer = $modules.lib.Buffer.from(str);
    let base64 = buffer.toString("base64");

}

JWT

代碼如下:         復(fù)制代碼

async function run($input, $output, $modules = modules) {
    //jwt庫,https://www.npmjs.com/package/jsonwebtoken
    const jwt = await $modules.lib.jwt;
    
    let json = {};//需要加密的內(nèi)容
    let hmac="";//密鑰
    
    //加密
    let sign = jwt.sign(json,hmac);
    
    //解密
    let decoded = jwt.verify(sign, hmac);

}

本文是否對您有幫助?
有幫助
沒幫助
您是否遇到了以下問題?
內(nèi)容過期或不準確
缺少場景、事例
鏈接有誤
太簡單,步驟待完善
其他
提交反饋
如需獲取即時幫助,請聯(lián)系
小助理
微信掃碼添加小助理
讓你的想法快速變成軟件吧~
API對接
聯(lián)系我們
售前咨詢電話
020-88520693
意見箱 · 建議反饋
您的寶貴建議,使白碼更完美!
微信掃碼添加白碼小助理
返回頂部