BBASMPlugin+FunctionalPage.h 4.95 KB
//
//  BBASMPlugin+FunctionalPage.h
//  BBAMNP
//
//  Created by baidu on 2019/9/12.
//


#import "BBASMPlugin.h"

NS_ASSUME_NONNULL_BEGIN
 
@interface BBASMPlugin (FunctionalPage)

/**
 * 描  述: 插件功能页-打开用户信息功能页
 * 示  例: baiduboxapp://swanAPI/invokePluginLoginAndGetUserInfo?callback=callback&upgrade=0
 * 文  档: http://es.baidu-int.com/index#/apidetail/874
 * 备  注:
 * ********** description ************
 * @name:      boxjs.invokePluginLoginAndGetUserInfo
 * @authority: swanAPI
 * @path:      /invokePluginLoginAndGetUserInfo
 * @args:    [{"name": "componentId", "value": "string"}, {"name": "providerRootPath", "value": "string"}, {"name": "pluginVersion", "value": "string="}, {"name": "pluginProvider", "value": "string"}, {"name": "cb", "value": "string="}, {"name": "slaveId", "value": "string"},{"name": "args","value": {"type": {"timeout": "number="}}}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.plugin.invokePluginLoginAndGetUserInfo"}}}
 */
- (void)invokePluginLoginAndGetUserInfo:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 插件功能页-打开收货地址功能页
 * 示  例: baiduboxapp://swanAPI/invokePluginChooseAddress?callback=callback&upgrade=0
 * 文  档: http://es.baidu-int.com/index#/apidetail/876
 * 备  注:
 * ********** description ************
 * @name:      boxjs.invokePluginChooseAddress
 * @authority: swanAPI
 * @path:      /invokePluginChooseAddress
 * @args:      [{"name": "componentId", "value": "string"}, {"name": "args", "value": "Object="}, {"name": "providerRootPath", "value": "string"}, {"name": "pluginVersion", "value": "string="}, {"name": "pluginProvider", "value": "string"}, {"name": "cb", "value": "string="}, {"name": "slaveId", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.plugin.invokePluginChooseAddress"}}}
 */
- (void)invokePluginChooseAddress:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 插件功能页-打开支付功能页
 * 示  例: baiduboxapp://swanAPI/invokePluginPayment?callback=callback&upgrade=0
 * 文  档: http://es.baidu-int.com/index#/apidetail/875
 * 备  注:
 * ********** description ************
 * @name:      boxjs.invokePluginPayment
 * @authority: swanAPI
 * @path:      /invokePluginPayment
 * @args:      [{"name": "componentId", "value": "string"}, {"name":"args", "value":{"type":{"currencyType":"string", "paymentArgs":"Object", "fee":"number"}, "isRequired":true}}, {"name": "providerRootPath", "value": "string"}, {"name": "pluginVersion", "value": "string="}, {"name": "pluginProvider", "value": "string"}, {"name": "cb", "value": "string="}, {"name": "slaveId", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.plugin.invokePluginPayment"}}}
 */
- (void)invokePluginPayment:(BBASchemeDispatcher *)dispatcher;

/**
 * @brief 处理插件功能页-invokePluginLoginAndGetUserInfo端能力的具体逻辑 (开放接口,供绑定方式调用)
 * @param appID 小程序 ID
 * @param optionsDict 端能力调起参数
 * @return 端能力一级回调所需的结果
 */
+ (nonnull NSDictionary *)handlePluginLoginAndGetUserInfoWithAppID:(NSString *)appID
                                                    params:(NSDictionary *)optionsDict;

/**
 * @brief 处理插件功能页-invokePluginChooseAddress端能力的具体逻辑 (开放接口,供绑定方式调用)
 * @param appID 小程序 ID
 * @param optionsDict 端能力调起参数
 * @return 端能力一级回调所需的结果
 */
+ (nonnull NSDictionary *)handlePluginChooseAddressWithAppID:(NSString *)appID
                                              params:(NSDictionary *)optionsDict;

/**
 * @brief 处理插件功能页-invokePluginPayment端能力的具体逻辑 (开放接口,供绑定方式调用)
 * @param appID 小程序 ID
 * @param optionsDict 端能力调起参数
 * @return 端能力一级回调所需的结果
 */
+ (nonnull NSDictionary *)handlePluginPaymentWithAppID:(NSString *)appID
                                        params:(NSDictionary *)optionsDict;

/**
 * @brief 派发 finish 事件
 * @param appID 小程序 AppID
 * @param componentID 组件 id
 * @param success 是否成功
 * @param data 回调结果
 * @param error 开发者透传过来的 error 信息
 * @return YES or NO 是否派发了事件
 */
+ (BOOL)dispatchFuncPageFinishEventWithAppID:(NSString *)appID
                                     slaveId:(NSString *)slaveId
                                 componentID:(NSString *)componentID
                                     success:(BOOL)success
                                        data:(nullable NSDictionary *)data
                                       error:(nullable NSDictionary *)error;

@end

NS_ASSUME_NONNULL_END