BBASMPlugin+Device.h 3.48 KB
//
//  BBASMPlugin+Clipboard.h
//  BBAMNP
//
//  Created by baidu on 2019/9/23.
//

#import "BBASMPlugin.h"

#define kBBASMDeviceModule  @"mnp_device"

NS_ASSUME_NONNULL_BEGIN

extern NSString *const BBASMDeviceClipboardBusinessID; // 设置剪切板业务id

@interface BBASMPlugin (Device)

/**
 * 描  述: 获取剪切板数据(使用小程序内部描述)
 * 示  例: baiduboxapp://swanAPI/getClipboardData?callback=_bdbox_js_745&upgrade=0&oauthType=swan
 * 文  档: http://es.baidu-int.com/?#/apidetail/470
 * 备  注:
 * ********** description ************
 * @name:          getClipboardData
 * @authority:  swanAPI
 * @path:          /getClipboardData
 * @args:           [{"name": "cb", "value": "string"}]
 * @config:       {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.deviceBridge.getClipboardData"}}}
 */
- (void)getClipboardData:(BBASchemeDispatcher *)command;

/**
 * 描  述: 设置获取剪切板(使用小程序内部描述)
 * 示  例: baiduboxapp://swanAPI/setClipboardData?params={"data":"baidu"}&callback=_bdbox_js_743&upgrade=0&oauthType=swan
 * 文  档: http://es.baidu-int.com/?#/apidetail/502
 * 备  注:
 * ********** description ************
 * @name:          setClipboardData
 * @authority:  swanAPI
 * @path:          /setClipboardData
 * @args:         [{"name": "data", "value": "string"}]
 * @config:       {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.deviceBridge.setClipboardData"}}}
 */
- (void)setClipboardData:(BBASchemeDispatcher *)command;

/**
 * 描  述: 打电话(使用小程序内部描述)
 * 示  例: baiduboxapp://swanAPI/makePhoneCall?params={"phoneNumber":"1234567890"}&callback=_bdbox_js_746&upgrade=0&oauthType=swan
 * 文  档: http://ft.baidu.com/#/scheme/utils_makephonecall
 * 备  注:
 * ********** description ************
 * @name:          makePhoneCall
 * @authority:  swanAPI
 * @path:          /makePhoneCall
 * @args:          [{"name": "cb", "value": "string"},{"name": "phoneNumber", "value": "string"}]
 * @config:       {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.deviceBridge.makePhoneCall"}}}
 */
- (void)makePhoneCall:(BBASchemeDispatcher *)dispatcher;

#pragma mark - not API

/**
 * @brief 粘贴板的数据
 *
 * @param action 名称
 * @param completion 完成回调
 * @return 数据{status:Status,msg: msg,data:data}
 */
+ (NSDictionary *)getClipboardDataActionName:(NSString *)action
                                  completion:(void (^)(NSDictionary *completionData))completion;

/**
 * @brief 设置剪切板
 *
 * @param dic 参数
 * @param action 名字
 * @param appID appID
 * @return 返回结果数据 {status:Status,msg: msg,data:data}
 */
+ (NSDictionary *)setClipboardDataParam:(NSDictionary *)dic
                             actionName:(NSString *)action
                                  appID:(NSString *)appID;

/**
 * @brief 打电话
 *
 * @param appID 调起ID
 * @param dic 参数
 * @param action 名字
 * @return 返回结果数据{status:Status,msg: msg,data:data}
 */
+ (NSDictionary *)makePhoneCallWithAppID:(NSString *)appID
                                   param:(NSDictionary *)dic
                              actionName:(NSString *)action
                              completion:(void (^)(NSDictionary *completionData))completion;
@end

NS_ASSUME_NONNULL_END