@clue_nidapp/plugin-form-dealer-mini
v0.0.2-alpha.3
Published
## 能力 根据地理位置获取推荐的优选经销商
Downloads
27
Keywords
Readme
线索通表单 sdk 小程序优选经销商插件
能力
根据地理位置获取推荐的优选经销商
初始化
需要配合 @clue_nidapp/form-core
线索通 sdk 使用
初始化线索通 SDK,详见 @clue_nidapp/form-core
使用文档
import { Core, FormOptions } from '@clue_nidapp/form-core';
import { MiniDealerData } from '@clue_nidapp/plugin-form-dealer-mini'
import { API } from '@clue_nidapp/plugin-api-mini'
const options: FormOptions = {
data: {
formId: 0,
advId: 0,
clueAccountId: 0,
},
// 注册插件
plugins: [new API(), new MiniDealerData()]
}
const formCore = new Core(
options,
);
支持环境
字节小程序
使用
名词解释
sdk: 注册了自动填充插件后的表单 sdk 使用方: 使用方的小程序宿主
交互介绍
使用方与 sdk 的事件通信通过发布-订阅模式触发,即,使用方主动触发 sdk 的方法,sdk 逻辑执行完成后,触发回调方法给使用方,使用方监听这个方法执行相应逻辑。
import { DealerDataHandleEvents } from '@clue_nidapp/plugin-api-h5'
// DealerDataHandleEvents 是事件名枚举
formCore.emit(eventName, params);
formCore.on(eventName, (params) => {})
DealerDataHandleEvents 提供的事件如下
| 常量名 | 常量值 | 描述 | 回调方法返回值/触发事件参数 | 使用方触发事件或sdk回调 | | ---- | ---- | ---- | ---- | ---- | | DataSourceChange | "DataSourceChange" | 成功获取优选经销商数据 | IDealerData | sdk回调 | getPreferData | "getPreferData" | 获取优选经销商数据 | IMiniGetLocationRequest | 使用方触发事件 | getPreferDataFail | "getPreferDataFail" | 获取优选经销商数据失败 | | sdk回调
请求和返回参数说明
成功获取优选经销商数据返回 IDealerData
interface IDealerData {
data: IDealerDetailResponse,
elementId: number,
}
interface IDealerDetailResponse {
version: number;
fields: {
businessKey: string;
name: string;
}[];
root: {
children: IDealerDetailItem[];
id: number;
name: string;
};
}
interface IDealerDetailItem {
customId: string;
dcd_id?: string;
id: number;
isDefault?: 0 | 1; // 1 表示是推荐的数据
name: string;
children?: IDealerDetailItem[];
}
获取优选经销商数据请求参数
interface IMiniGetLocationRequest {
latitude: number; // 纬度
longitude: number; // 经度
authorize: boolean; // 用户是否授权获取地理位置信息
}