BBASMPlugin+Picker.h 5.65 KB
//
//  BBASMPlugin+Pikcer.h
//  BBAMNP
//
//  Created by baidu on 2019/9/27.
//


#import "BBASMUtilities.h"
#import "BBASMPlugin.h"

#define kBBASMPickerModule  @"mnp_picker"

NS_ASSUME_NONNULL_BEGIN

@interface BBASMPlugin (Picker)

/**
 * 描  述: 普通选择器(使用小程序内部描述)
 * 示  例: baiduboxapp://swanAPI/openPicker?params={"array":["a","b"],"current":2}&callback=_bdbox_js_789&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/utils_openpicker
 * 备  注:  @param dispatcher 所需参数如下:
 *                  属性名       类型            默认值    说明
 *                  array       Array<String>   []      数组,如["a","b"]
 *                  current     Number          0       current 的值表示选择了 array 中的第几个(下标从 0 开始)
 *                  disabled    Boolean         false   是否禁用
 *                  callback    EventHandle             current 改变时触发 change 事件,event.detail = {current: current}
 * ********** description ************
 * @name:       picker.insert
 * @authority:  swanAPI
 * @path:       /openPicker
 * @args:       [{"name": "title", "value": "string="}, {"name": "array", "value": "Array="}, {"name": "current", "value": "string="},{"name": "cb", "value": "string="}]
 * @config:     {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)openPicker:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 多项选择器(使用小程序内部描述)
 * 示  例: baiduboxapp://swanAPI/openMultiPicker?params={"cb":"_component_picker1645","array":[["a","b"],["c"],["d"]],"current":[0,0,0]}&callback=_bdbox_js_640&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/utils_openmultipicker
 * 备  注: @param dispatcher 所需参数如下:
 *                  属性名       类型           默认值     说明
 *                  array       Array<Array>    []      二维数组,长度表示多少列,数组的每项表示每列的数据,如[["a","b"], ["c","d"]]
 *                  current     Array<Number>   0       current 每一项的值表示选择了 range 对应项中的第几个(下标从 0 开始)    )
 *                  disabled    Boolean         false   是否禁用
 *                  callback    EventHandle             current 改变时触发 change 事件,event.detail = {current: current}
 *                  cb          EventHandle             某一列的值改变时触发 columnchange 事件,event.detail = \
 *                                                      {column: column, current: current}, \
 *                                                      column 的值表示改变了第几列(下标从0开始),current 的值表示变更值的下标
 * ********** description ************
 * @name:       multiPicker.insert
 * @authority:  swanAPI
 * @path:       /openMultiPicker
 * @args:       [{"name": "title", "value": "string="}, {"name": "array", "value": "Array="}, {"name": "current", "value": "Array="},{"name": "cb", "value": "string="}]
 * @config:     {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)openMultiPicker:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 更新多项选择器数据(使用小程序内部描述)
 * 示  例: baiduboxapp://swanAPI/updateMultiPicker?params={"column":2,"array":["蛔虫"],"current":0}&callback=_bdbox_js_642&upgrade=0
 * 文  档: http://ft.baidu.com/#/scheme/utils_updatemultipicker
 * 备  注:    @param dispatcher 所需参数如下:
 *                  属性名       类型           默认值     说明
 *                  array       Array<String>   []      二维数组,长度表示多少列,数组的每项表示每列的数据,如[["a","b"], ["c","d"]]
 *                  current     Number          0       current 的值表示选择了 array 中的第几个(下标从 0 开始)
 *                  column      Number          0       column 的值表示改变第几列(下标从 0 开始)
 * ********** description ************
 * @name:       multiPicker.update
 * @authority:  swanAPI
 * @path:       /updateMultiPicker
 * @args:       [{"name": "column", "value": "string="}, {"name": "array", "value": "Array="}, {"name": "current", "value": "string="}, {"name": "cb", "value": "string="}]
 * @config:     {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)updateMultiPicker:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 展示时间或日期选择器(使用小程序内部描述)
 * 示  例: baiduboxapp://swanAPI/showDatePickerView?params={"start":"2017-01-01","end":"2017-12-31","value":"2017-12-28","mode":"date","fields":"day"}&callback=_bdbox_js_328&upgrade=0&oauthType=swan
 * 文  档: http://ft.baidu.com/#/scheme/utils_showdatepickerview
 * 备  注:
 * ********** description ************
 * @name:       datePicker.insert
 * @authority:  swanAPI
 * @path:       /showDatePickerView
 * @args:       [{"name": "title", "value": "string="}, {"name": "start", "value": "string="}, {"name": "end", "value": "string="}, {"name": "mode", "value": "string="}, {"name": "value", "value": "string="}, {"name": "fields", "value": "string="}, {"name": "cb", "value": "string="}]
 * @config:     {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.postMessage"}}}
 */
- (void)showDatePickerView:(BBASchemeDispatcher *)dispatcher;

@end

NS_ASSUME_NONNULL_END