BBASMPlugin+AIRequest.h 13.4 KB
//
//  BBASMPlugin+AIRequest.h
//  BBAMNP
//
//  Created by zhangshengjun on 2021/2/7.
//

#import "BBASMPlugin.h"

NS_ASSUME_NONNULL_BEGIN

@interface BBASMPlugin (AIRequest)

/**
 * 描  述: 小程序AI通用能力接口
 * 示  例: baiduboxapp:swanAPI/aiRequest?params={"service":"aip","api":"/rest/2.0/antispam/v2/spam","stringMap":{"content":"qqq"}}&callback=_bdbox_js_766&upgrade=0
 * 文  档: http:ft.baidu.com/#/scheme/swan_airequest
 * 备  注:
 * ********** description ************
 * @name:      ai.plantClassify
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"string_key": "string"}}}, {"name": "fileMap", "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.animalClassify
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"string_key": "string", "top_num": "number="}}}, {"name": "fileMap", "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.logoClassify
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"string_key": "string=", "custom_lib": "boolean="}}}, {"name": "fileMap", "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.carClassify
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"string_key": "string", "top_num": "number="}}}, {"name": "fileMap", "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.dishClassify
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"top_num": "number=", "filter_threshold": "number"}}}, {"name": "fileMap", "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.objectDetectIdentify
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"string_key": "string", "with_face": "number="}}}, {"name": "fileMap", "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.advancedGeneralIdentify
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"string_key": "string"}}}, {"name": "fileMap", "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.imageAudit
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"string_key": "string"}}}, {"name": "fileMap", "value": {"type": {"image": "string=", "imageUrl": "string="}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.textToAudio
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"tex": "string", "ctp": "string=", "lan": "string=", "spd": "string=", "pit": "string=", "vol": "string=", "per": "string="}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.textReview
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"content": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.ocrVehicleLicense
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service",  "value": "string"},  {"name": "api",  "value": "string"},  {"name": "stringMap",  "value": {"type": {"string_key": "string",  "detect_direction": "string=",  "accuracy": "string="}}},  {"name": "fileMap",  "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.ocrDrivingLicense
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"string_key": "string", "detect_direction": "string=", "unified_valid_period": "boolean="}}}, {"name": "fileMap", "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.ocrBankCard
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"string_key": "string="}}}, {"name": "fileMap", "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.ocrIdCard
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"detect_direction": "boolean=", "id_card_side": "string", "detect_risk": "boolean="}}}, {"name": "fileMap", "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.nlpLexerCustom
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"text": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.faceLivenessVerify
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"video_base64": "string=", "session_id": "string="}}}, {"name": "fileMap", "value": {"type": {"video_base64": "string="}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.faceLivenessSessioncode
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"appid": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.faceVerify
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": "Object"}, {"name": "fileMap", "value": "Object"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.facePersonIdmatch
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"id_card_number": "string", "name": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.facePersonVerify
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"image_type": {"oneOf": ["URL", "BASE64", "FACE_TOKEN"], "isRequired": true}, "id_card_number": "string", "name": "string", "quality_control": "string=", "liveness_control": "string=", "image": "string="}}}, {"name": "fileMap", "value": {"type": {"image": "string="}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.faceSearch
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"image_type": {"oneOf": ["URL", "BASE64", "FACE_TOKEN"], "isRequired": true}, "group_id_list": "string", "quality_control": "string=", "liveness_control": "string=", "user_id": "string=", "max_user_num": "number=", "image": "string="}}}, {"name": "fileMap", "value": {"type": {"image": "string="}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.faceMatch
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": "Object"}, {"name": "fileMap", "value": "Object"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.faceDetect
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"image_type": {"oneOf": ["URL", "BASE64", "FACE_TOKEN"], "isRequired": true}, "face_field": "string=", "max_face_num": "string=", "face_type": "string=", "image": "string="}}}, {"name": "fileMap", "value": {"type": {"image": "string="}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.textClassify
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": {"type": {"detect_direction": "string="}}}, {"name": "fileMap", "value": {"type": {"image": "string"}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 * ********** description ************
 * @name:      ai.nlpLexer
 * @authority: swanAPI
 * @path:      /aiRequest
 * @args:      [{"name": "service", "value": "string"}, {"name": "api", "value": "string"}, {"name": "stringMap", "value": "Object"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)aiRequest:(BBASchemeDispatcher *)dispatcher;

@end

NS_ASSUME_NONNULL_END