BBASMPlugin+CloudRequest.h 8.67 KB
//
//  BBASMPlugin+CloudRequest.h
//  BBAMNP
//
//  Created by zhangshengjun on 2021/2/8.
//

#import "BBASMPlugin.h"
#import <BBASchemeDispatcher/BBASchemeDispatcher.h>

NS_ASSUME_NONNULL_BEGIN

@interface BBASMPlugin (CloudRequest)

/*
 * ********** description ************
 * @name:      cloud.callFunction
 * @authority: swanAPI
 * @path:      /cloudRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"workspaceid": "string", "name": "string", "data": "Object="}}}, {"name": "fileMap", "value": "Object"}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      cloud.deleteFile
 * @authority: swanAPI
 * @path:      /cloudRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"workspaceid": "string", "fileList": "Array"}}}, {"name": "fileMap", "value": "Object"}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      cloud.getCollection
 * @authority: swanAPI
 * @path:      /cloudRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"workspaceid": "string", "collectionname": "string", "data": {"type": {"Query": "object=", "Options": "object="}}}}}, {"name": "fileMap", "value": "Object"}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      cloud.addDocument
 * @authority: swanAPI
 * @path:      /cloudRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"workspaceid": "string", "collectionname": "string", "data": {"type": {"document": "object"}}}}}, {"name": "fileMap", "value": "Object"}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      cloud.countDocument
 * @authority: swanAPI
 * @path:      /cloudRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"workspaceid": "string", "collectionname": "string", "data": {"type": {"Query": "object=", "Options": "object="}}}}}, {"name": "fileMap", "value": "Object"}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      cloud.getDocument
 * @authority: swanAPI
 * @path:      /cloudRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"workspaceid": "string", "collectionname": "string", "documentid": "string|number"}}}, {"name": "fileMap", "value": "Object"}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      cloud.setDocument
 * @authority: swanAPI
 * @path:      /cloudRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"workspaceid": "string", "collectionname": "string", "documentid": "string|number", "data": {"type": {"Document": "object"}}}}}, {"name": "fileMap", "value": "Object"}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      cloud.renewalDocument
 * @authority: swanAPI
 * @path:      /cloudRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"workspaceid": "string", "collectionname": "string", "documentid": "string|number", "data": {"type": {"Document": "object"}}}}}, {"name": "fileMap", "value": "Object"}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      cloud.deleteDocument
 * @authority: swanAPI
 * @path:      /cloudRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"workspaceid": "string", "collectionname": "string", "documentid": "string|number"}}}, {"name": "fileMap", "value": "Object"}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */

- (void)cloudRequest:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 小程序cloud云组件API能力,通过组件服务置换cloud url为 http url
 * 示  例: baiduboxapp://swanAPI/cloudUploadFile?params={"service":"cloud","api":"cloudUrl","stringMap":{"fileID":"bdfile://tmp_L3N3YW5hcHBfY2hvb3NlX2FsYnVtXzE1NjQwNTkyMTQzNTdfODdiMjNhMGFmMWYyMThiZTQ3ZTc5MzJlNzY3MzJiMDgucG5n.png"},"fileMap":{}}&callback=__jsna_14
 * 文  档: http://es.baidu-int.com/#/apidetail/759
 * 备  注:
 * ********** description ************
 * @name:      getCloudUrl
 * @authority: swanAPI
 * @path:      /cloudGetUrl
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"fileID":  "string"}}}, {"name": "fileMap", "value": "Object"}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)cloudGetUrl:(BBASchemeDispatcher *)dispatcher;


/**
 * 描  述: 小程序cloud云API端能力,实现云文件上传功能
 * 示  例: baiduboxapp://swanAPI/cloud/uploadFile?params={"service":"cloud","api":"/v1/workspace/storage/request-upload","stringMap":{"cloudPath":"my-image.png","workspaceid":"first-9q5tvycr","data":{}},"fileMap":{"filePath":"bdfile://tmp_L3N3YW5hcHBfY2hvb3NlX2FsYnVtXzE1NjQxMjI5MTU4NjZfODdiMjNhMGFmMWYyMThiZTQ3ZTc5MzJlNzY3MzJiMDgucG5n.png"}}

 * 文  档: http://es.baidu-int.com/#/apidetail/759
 * 备  注:
 * ********** description ************
 * @name:      cloud.uploadFile
 * @authority: swanAPI
 * @path:      /cloudUploadFile
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"workspaceid": "string", "cloudPath": "string", "data": {"type": {"Headers": "Object="}}}}}, {"name": "fileMap", "value": {"type": {"filePath": "string"}}}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)cloudUploadFile:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 小程序cloud云API端能力,实现云文件下载功能
 * 示  例: baiduboxapp://swanAPI/cloudDownloadFile?params={"service":"cloud","api":"cloudUrl","stringMap":{"fileID":"bdfile://tmp_L3N3YW5hcHBfY2hvb3NlX2FsYnVtXzE1NjQwNTkyMTQzNTdfODdiMjNhMGFmMWYyMThiZTQ3ZTc5MzJlNzY3MzJiMDgucG5n.png"},"fileMap":{}}&callback=__jsna_14
 * 文  档: http://es.baidu-int.com/#/apidetail/759
 * 备  注:
 * ********** description ************
 * @name:      cloud.downloadFile
 * @authority: swanAPI
 * @path:      /cloudDownloadFile
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"workspaceid": "string", "fileID": "string"}}}, {"name": "fileMap", "value": "Object"}, {"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)cloudDownloadFile:(BBASchemeDispatcher *)dispatcher;

@end

NS_ASSUME_NONNULL_END