para-bridge-demo
Version:
a bridge api for js-ios/andriod rest
35 lines (31 loc) • 1.07 kB
text/typescript
import { BridgePlugin } from '../bridge';
import { get } from 'para-utils';
interface IContactItem {
contactName: string;
mobile: string;
}
interface IGetSelectedContactResult {
contactList: IContactItem[];
}
export class GetSelectedContact<K> extends BridgePlugin<void, K> {
protected get ntvPluginName() {
return '_ntv_user_get_selected_contact';
}
protected get availableMinVersion() {
return '1.0.0';
}
protected bridgeExecChrome(pluginName?: string | undefined): void {
// 可针对不同运行环境实现特定的调用逻辑来MOCK,弥补平台差异性.
throw new Error('GetSelectedContact() 未针对当前环境实现');
}
}
/**
* 打开联系人列表,选择特定联系人,返回这个联系人的名字+手机号
* @returns IContactItem
*/
export const getSelectedContact = () => {
return new GetSelectedContact<IGetSelectedContactResult>().invokeOnce().then(result => {
const contacts = get(result.cbData, 'contactList', []);
return contacts.length ? contacts[0] as IContactItem : null;
});
}