house-middleware-sdk
Version:
58 hosue rn native sdk
513 lines (454 loc) • 11.9 kB
TypeScript
// tslint:disable-next-line:export-just-namespace
import { AsyncUpdateResult } from '@w/wbapp';
export = HMS;
export as namespace HMS;
declare namespace HMS {
/**
* 埋点区分平台
*/
type ActionType = {
wb?: string;
ajk?: string;
jjr?: string;
wbtz?: string;
};
/**
* 老埋点方法
* @param pageType
* @param actionType
* @param cate
* @param params
*/
function writeLog(
pageType: string,
actionType: ActionType,
cate: string,
params?: object
): void;
/**
* 新埋点 带sidDict参数
* @param pageType string
* @param actionType string
* @param cate string
* @param sidDict map
* @param params map
*/
function writeLogWithSid(
pageType: string,
actionType: ActionType,
cate: string,
sidDict: object,
params?: object
): void;
/**
* 异步升级监听
* @param url
* @param appVersion
* @param bizVersion
* @param productorid
* @param os
* @param onCheckForUpdateCallback
* @param onUpdateReadyCallback
* @param onUpdateReadyCatchCallback
* @param onUpdateFailedCallback
*/
function addAsyncUpdateListener(
url: string,
appVersion: string,
bizVersion: string,
productorid: string,
os: string,
onCheckForUpdateCallback: (params: AsyncUpdateResult) => void,
onUpdateReadyCallback: (params: any) => void,
onUpdateReadyCatchCallback: (params: any) => void,
onUpdateFailedCallback: () => void
): void;
/**
* 载体页返回
*/
function goBack(): void;
/**
* 控制ios是否开启右滑返回
* @param config "on"/"off"
*/
function setGestureBackEnableIOS(config: string): void;
/**
* 打电话
* @param phonenum
* @param len
* @param isencrypt
* @param callback
*/
function call(
phonenum: string,
len: string,
isencrypt: string,
callback: () => void
): void;
/**
* 通用打电话
* @param phoneData
* @param sucCall
* @param failCall
*/
function phoneCall(
phoneData: object,
sucCall?: () => void,
failCall?: (errorMsg: string) => void
): void;
/**
* 认证
* @param type 3:人脸认证,7:银行卡认证,100:法人认证,501:普通营业执照认证
* @param callback 回调 0:成功 -1:失败
* @param confirm 可变参数中的情况下 传不全 会进行校验
* @param url: 同镇需要参数
*/
function certify(
type: string,
callback: (param: number) => void,
confirm: boolean,
url?: string,
): void;
/**
* 获取认证状态
* @param type 3:人脸认证,7:银行卡认证,100:法人认证,501:普通营业执照认证
* @param callback -2:其他错误 -1:未登录 0:未认证 1:已认证
* @param confirm 可变参数中的情况下 传不全 会进行校验
*/
function queryCertifyStatus(
type: string,
callback: (param: number) => void,
confirm: boolean
): void;
/**
* 已不维护。推荐使用 jscout 代替
*/
function errorReport(param: any): void;
/**
* 检查微信是否安装
*
* @callback 回调函数 `callback` ,其返回值: 安装:0,未安装:-1
*/
function isWeixinInstalled(callback: (result: number) => void): void;
/**
* naitve初始化参数
*/
type InitNativeParams = {
jumpParams: any;
httpHeader: any;
publicParams: any;
};
/**
*
* @param callback 回调参数InitNativeParams
* @param isRequest 是否是网络请求
*/
function initNativeParams(
callback: (params: InitNativeParams) => void,
isRequest: boolean
): void;
/**
* 图片选择器
* @param max 可选上限
* @param defaultImage 图片选择器
* @param callback 数组对象
*/
function pickImagesFormGallery(
max: number,
defaultImage: string,
callback: (params: any) => void
): void;
/**
* 消息红点注册监听
*/
function registerIMMessageListener(): void;
/**
* 监听红点数据返回的
* @param callback
*/
function addMessageInfoListener(callback: (result: any) => void): void;
/**
* 移除红点监听
*/
function removeMessageInfoListener(): void;
/**
* 跳转 安居客的跳转协议目前只能是明文的 如果加密或转义应该在跳转中心统一处理 否则需要在每一个目标页面进行转义成本高 切不安全
* @param protocol
*/
function jump(protocol: string): void;
type alertParams = {
title: string; // 标题
message: string; // 内容信息
btn: string; // 按钮名字
}
/**
*
* @param params
* @param callBack
*/
function alert(params: alertParams, callBack: (index: number) => void): void;
type confirmParams = {
title: string; // 标题
message: string; // 内容信息
cancelBtn: string; // 取消名字
confirmBtn: string;// 确定的名字
}
function confirm(params: confirmParams, callBack: (index: number) => void): void;
type confirmPicParams = {
title: string,
content: string,
negativeButtonTxt: string,
positiveButtonTxt: string,
imageUrl?: string
}
function confirmPicShow(params: confirmPicParams, callBack: (data: any) => void): void;
function confirmPicDismiss(): void;
/**
* 跳转携带参数
* @param group rn/core/house
* @param page 页面
* @param params
*/
function jumpWithParams(group: string, page: string, params: object): void;
/**
* 58需要初始化loaidng
* @param param
*/
function initLoading(param?: object): void;
/**
* 显示loading
* @param param
*/
function showLoading(param?: object): void;
/**
* 隐藏loading
* @param param
*/
function hideLoading(param?: object): void;
/**
* 获取SP内容
* @param key key
* @param callback string
*/
function getDataFromSP(key: string, callback: (params: string) => void): void;
/**
* 获取定位信息
* @param callback 位置信息或定位失败
*/
function getLocation(callback: (params: string) => void): void;
/**
* 登录
* @param success 登录成功
* @param other 其他
* @param has 已经登录
*/
function login(
success: () => void,
other?: () => void,
has?: () => void
): void;
/**
* 是否登录
* @param y 已登录回调
* @param n 未登录回调
*/
function hasLogin(y: () => void, n: () => void): void;
/**
* 设置状态栏
* @param textStyle 'dark-content/light-content/default'
* @param bgColor
*/
function setStatusBarStyle(textStyle: string, bgColor: string): void;
/**
* 分享
* @param info server返回一个协议(server当前应该已知平台信息)
* @param callback 返回结果 成功:0,失败:-1
*/
function share(info: string, callback: (param: number) => void): void;
/**
* 展示toast
* @param message 内容
* @param delay 持续时间
*/
function showToast(message: string, delay?: number): void;
/**
* 获取用户信息
* @param callback
*/
function getUserInfoMap(callback: (param: object) => void): void;
/**
* 判断当前平台 && 定义对应平台包名
* @param ifwb
* @param ifajk
* @param ifydjjr
* @param ifwbtz
*/
function findImpl(ifwb: () => void, ifajk: () => void, ifydjjr: () => void, ifwbtz: () => void): void;
/**
* get请求
* @param url 请求地址
* @param params 参数
*/
function get(url: string, params?: object): Promise<object>;
/**
* get请求
* @param url 请求地址
* @param formData 表单
* @param params 参数
*/
function post(
url: string,
formData: FormData,
params: object
): Promise<object>;
/**
* 构建请求url
* @param requestUrl 请求地址
* @param params
*/
function buildRequestURL(requestUrl: string, params: object): string;
/**
* 创建验签
* @param postfix 和server商定的key
* @param params 参数
*/
function createSignature(postfix: string, params: object): string;
/**
* 已不维护。推荐使用DeviceStorage
*/
function initAsyncStorage(): void;
/**
* 深拷贝
* @param data 数据
*/
function deepClone(data: object): string;
/**
* 防止多次点击
* @param callback 方法
*/
function callOnceWrapper(callback: () => void): void;
/**
* 开始一个native动画,默认linear
* @param duration
* @param type
* @param callback
*/
function startLayoutAnimation(
duration?: number,
type?: any,
callback?: () => void
): void;
/**
* 项目初始化
* @param callback 初始化后调用
*/
function initPackage(callback: () => void): void;
// /**
// * 获取安全高度
// */
// function getSafeTop(): number;
// /**
// * 获取安全底部高度
// */
// function getSafeBottom(): number;
// /**
// * 是否是iphoneX以上系列
// */
// function isX(): boolean;
/**
* 是否是有效列表
*/
function isEffectiveList(data: any): boolean;
/**
* 是否是有效对象
*/
function isEffectiveObject(data: any): boolean;
/**
* 是否是高版本
* 版本相等返回 0,第一个传入的版本高于第二个版本 1,第一个传入的版本低于第二个版本 -1.
* @param firstVersion
* @param secondVersion
*/
function isHigherVersion(firstVersion: string, secondVersion: string): number;
/**
* 校验方法是否有
* @param args 参数
* @param types 类型
* @param track
*/
function checker(args: any, types: string, track: any): any;
/**
* md5加密
* @param key
*/
function encryptionMD5(key: string): string;
/**
* 监听
*
* 已有事件
* - "view_resume" 载体页显示
* - "view_pause" 载体页隐藏
*
* @param 入参 `eventName: string` 事件类型
*
* @param 回调函数 `callback` ,其返回值见文档
*
* @see http://rn.58corp.com/react-native/api/APIAddListener.html
*
*/
function addListener(
eventName: string,
callback: (result?: any) => void
): any;
/**
* 移除监听
*
* @param 入参 `eventName: string` 事件类型
*/
function removeAllListeners(eventName: string): void;
type ViewControllerPushAction = {
deviceEventName: string;
callback: (result: any) => void;
action: string | object;
};
type ViewControllerPopAction = {
deviceEventName: string;
result: any;
};
/**
* 带回调的跳转
* @function `push()` - 监听并跳转
* @function `pop()` - 返回,并通过触发监听回调传递任意数据
* @see http://rn.58corp.com/react-native/api/APIViewController.html
*/
namespace viewController {
/**
* 监听,并跳转
*
* @param 入参 `action: ViewControllerPushAction`:
* - `deviceEventName: string` - 自定义返回监听事件名,值和pop中的要一样。
* - `callback: (result: any) => void` - 监听回调函数。返回值是 pop 的result参数。
* - `action: string | object` - 跳转协议。
*
* @see http://rn.58corp.com/react-native/api/APIChangeview.html
*/
function push(action: ViewControllerPushAction): void;
/**
* 通过触发监听回调传递任意数据,并返回
*
* @param 入参 `action: ViewControllerPopAction`:
* - `deviceEventName: string` - 自定义返回监听事件名,值和push中的要一样。
* - `result: any` - 给 push 监听回调 callback 的数据。
*
* @see http://rn.58corp.com/react-native/api/APIChangeview.html
*/
function pop(action: ViewControllerPopAction): void;
}
/**
* 安居客二手房 wmda埋点
* @param action string
* @param params object
* @param callback () => void
*/
function wmdaLog(action: string, params: object, callback?: () => void): void;
}