UNPKG

house-middleware-sdk

Version:

58 hosue rn native sdk

178 lines (161 loc) 4.46 kB
import WBAPP from '@w/wbapp'; export function alert(params, callBack) { if (!params) { console.warn('参数不能为空'); return; } require("../utils/findImpl") .default( () => wbAlertDialog(params, callBack), () => { }, () => ydjjrAlertDialog(params, callBack), () => wbtzAlertDialog(params, callback) ); } function wbAlertDialog(params, callBack) { WBAPP.alert(params, (e) => { callBack && callBack(e); }); } function ydjjrAlertDialog(params, callBack) { let param = { title: params.title, message: params.message, buttons: params.btn ? [params.btn] : [] } NativeModules.BrokerDialog.show(param, (index) => { callBack && callBack(index); }); } function wbtzAlertDialog(params, callback) { //同镇与同城实现已统一 wbAlertDialog(params, callback); } export function confirm(params, callBack) { if (!params) { console.warn('参数不能为空'); return; } require("../utils/findImpl") .default( () => wbConfirmDialog(params, callBack), () => { }, () => ydjjrConfirmDialog(params, callBack), () => wbtzConfirmDialog(params, callBack) ); } function wbConfirmDialog(params, callBack) { WBAPP.confirm(params, (e) => { callBack && callBack(e); }); } function ydjjrConfirmDialog(params, callBack) { const para = { title: params.title, message: params.message, buttons: [params.confirmBtn, params.cancelBtn] } NativeModules.BrokerDialog.show(para, (index) => { callBack && callBack(index); }); } function wbtzConfirmDialog(params, callBack) { //同镇与同城实现已统一 WBAPP.confirm(params, (e) => { callBack && callBack(e); }); } //带图片 和 确认按钮的 Dialog export function confirmPicShow(params, callBack) { if (!params) { console.warn('参数不能为空'); return; } require("../utils/findImpl") .default( () => wbConfirmPicDialog(params, callBack), () => { }, () => { }, () => wbtzConfirmPicDialog(params, callBack) ); } function wbConfirmPicDialog(params, callBack){ confirmPic?.show(params, (e) => { callBack && callBack(e); }); } function wbtzConfirmPicDialog(params, callBack){ wbConfirmPicDialog(params, callBack) } //带图片 和 确认按钮的 Dialog export function confirmPicDismiss() { require("../utils/findImpl") .default( () => wbConfirmPicDismissDialog(), () => { }, () => { }, () => wbtzConfirmPicDismissDialog() ); } function wbConfirmPicDismissDialog(){ confirmPic?.dismiss(); } function wbtzConfirmPicDismissDialog(){ wbConfirmPicDismissDialog() } let lastCallback, subscription let confirmPic = { show: function(param, callback) { // 类型检查 const error = require('../utils/checker')?.default( arguments, [ { title: 's', content: 's', negativeButtonTxt: 's', positiveButtonTxt: 's', // imageUrl: 's' }, 'f' ], 'dialog.confirmPic.show' ) // 线上环境报错不调起 Native 的 API if (error === 'error') { return error } // let { // title = '', // content = '', // negativeButtonTxt = '取消', // positiveButtonTxt = '确定' // } = param // 如果是不同回调,先取消上次订阅,再重新注册。 if (callback !== lastCallback) { subscription && subscription.remove() //callback "1": leftBtn "0": rightBtn subscription = require('react-native').DeviceEventEmitter.addListener( 'RCTDidButtonSelectedEvent', callback ) } // console.error("hahhahahhah") // if (Platform.OS === 'ios') { // // ios 默认图片地址为 shield // RCTImageDialog?.show?.( // 'shield', // title, // content, // negativeButtonTxt, // positiveButtonTxt // ) // } else { param.imageUrl = '' require('react-native').NativeModules?.WBTitleImageDialog?.show?.(param) // } }, dismiss: function() { require('react-native').NativeModules?.WBTitleImageDialog?.dismiss?.() } }