package com.qunar.rn_service.plugins; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.WritableMap; import com.orhanobut.logger.Logger; import com.qunar.im.base.common.QunarIMApp; import com.qunar.im.base.util.JsonUtils; import com.qunar.im.core.services.QtalkNavicationService; import com.qunar.im.base.protocol.NativeApi; import java.util.List; /** * Created by wangyu.wang on 2016/12/19. */ public class QTalkLoaclSearch extends ReactContextBaseJavaModule{ public QTalkLoaclSearch(ReactApplicationContext reactContext) { super(reactContext); } @Override public String getName() { return "QTalkLoaclSearch"; } @ReactMethod public void search( String key, int length, int start, String groupId, Promise promise) { WritableMap map = Arguments.createMap(); map.putBoolean("is_ok", true); try { List ret = NativeApi.localSearch(key, start, length, groupId); String jsonStr = JsonUtils.getGson().toJson(ret); Logger.i("QTalkLoaclSearch->"+jsonStr); map.putString("data", jsonStr); promise.resolve(map); } catch (Exception e) { Logger.i("QTalkLoaclSearch-search>"+e.getLocalizedMessage()); //map.putBoolean("is_ok", false); //map.putString("errorMsg", e.toString()); promise.reject("500", e.toString(), e); } } /** * 给rn返回搜索地址 * @param msg * @param promise */ @ReactMethod public void searchUrl(String msg,Promise promise){ WritableMap map = Arguments.createMap(); map.putBoolean("is_ok", true); map.putString("data", QtalkNavicationService.getInstance().getSearchurl()); map.putString("Msg",msg); Logger.i("QTalkLoaclSearch->"+QtalkNavicationService.getInstance().getSearchurl()); try { promise.resolve(map); }catch (Exception e){ Logger.i("QTalkLoaclSearch-searchUrl>"+e.getLocalizedMessage()); promise.reject("500",e.toString(),e); } } /** * 给Rn返回客户端版本号 * @param msg * @param promise */ @ReactMethod public void getVersion(String msg,Promise promise){ WritableMap map = Arguments.createMap(); map.putBoolean("is_ok", true); map.putString("data", QunarIMApp.getQunarIMApp().getVersion()+""); map.putString("Msg",msg); try { promise.resolve(map); }catch (Exception e){ promise.reject("500",e.toString(),e); } } }