Commit d1b3325e by 刘鹏

feat: 客户三方登陆去除绑定手机号限制功能开发

parent 74f90cf9
......@@ -10,7 +10,7 @@ ext {
"m-fm" : "0.0.30.01",
"m-user" : "0.0.61.11",
"m-home" : "0.0.22.53",
"m-im" : "0.0.18.35",
"m-im" : "0.0.18.39",
"m-dynamic" : "0.0.7.19",
"m-article" : "0.0.0.6",
......@@ -93,7 +93,7 @@ ext {
"m-fm" : "0.0.30.01",
"m-user" : "0.0.61.11",
"m-home" : "0.0.22.54",
"m-im" : "0.0.18.34",
"m-im" : "0.0.18.39",
"m-dynamic" : "0.0.7.19",
"m-article" : "0.0.0.6",
......
......@@ -92,13 +92,15 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
private Activity mActivity;
private int blackStatus;
private int userType;
public int isFromQingShu = 0;//是否来自倾述页面
/***是否来自倾述页面*/
public int isFromQingShu = 0;
public P2PCustomActionHandlerImpl(String toChatUsername,
IMExpertBuild expert) {
setExpertInfo(toChatUsername, expert);
}
@Override
public void setExpertInfo(String toChatUsername, IMExpertBuild expert) {
blackStatus = Integer.valueOf(expert.shareData.blackStatus);
this.toChatUsername = toChatUsername;
......@@ -169,12 +171,16 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
docInfo.cover = chatItemBean.getHead();
}
//聊天室使用
/**
* 聊天室使用
*/
public P2PCustomActionHandlerImpl() {
}
//群聊使用
/**
* 群聊使用
*/
public P2PCustomActionHandlerImpl(String doctorId) {
docInfo.doctorId = doctorId;
}
......@@ -184,6 +190,7 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
return userType;
}
@Override
public void setUserType(int userType) {
this.userType = userType;
}
......@@ -193,7 +200,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
return ImIn.INSTANCE.getUserInfo().getUser_type();
}
//发红包
/**
* 发红包
*/
@Override
public void sendRedPacket(Activity activity) {
// Bundle bundle = new Bundle();
......@@ -202,7 +211,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
ImIn.INSTANCE.sendRedPacketIntent(activity, toChatUsername, 44);
}
//判定是否是今天第一次发送提醒上线通知,不是的话则不发消息通知|普通消息
/**
* 判定是否是今天第一次发送提醒上线通知,不是的话则不发消息通知|普通消息
*/
@Override
public void judgeSendRemindMsg(String sessionId) {
if (!TextUtils.isEmpty(YDLCacheUtils.Companion.getRemindTime(sessionId))) {
......@@ -237,7 +248,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
ToastUtil.toastShort("已提醒");
}
//发送专家推荐列表自定义消息
/**
* 发送专家推荐列表自定义消息
*/
@Override
public void sendRecommendExpertListMessage(String sessionId, ArrayList<RecommendExpertBean> recommendExpertList, int type, boolean showExpertList) {
......@@ -250,7 +263,10 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
NIMClient.getService(MsgService.class).saveMessageToLocal(message, true);
}
//跳转到专家主页
/**
* 跳转到专家主页
*/
@Override
public void toExpertHome(String doctorId, String name, String cover) {
// 跳转到专家主页
String junmpurl = ImIn.INSTANCE.getExpertHost() + doctorId;
......@@ -270,7 +286,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
}
}
//检查用户是否绑定手机
/**
* 检查用户是否绑定手机
*/
@Override
public boolean isBindPhone(final Activity activity, String toUid) {
//小壹特殊处理,没有绑定也可以和小壹聊天
......@@ -336,7 +354,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
return flag[0];
}
//显示举报dialog
/**
* 显示举报dialog
*/
@Override
public void showJubao(final Activity activity) {
GetReportReason cmd = new GetReportReason();
......@@ -351,8 +371,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
}
LinkedTreeMap<String, String> reportReasonsmaps =
(LinkedTreeMap<String, String>) resp.data;
if (reportReasonsmaps == null)
if (reportReasonsmaps == null) {
return;
}
List<Report> reports = new ArrayList<>();
for (Map.Entry<String, String> entry : reportReasonsmaps.entrySet()) {
Report report = new Report(entry.getKey(), entry.getValue());
......@@ -373,7 +394,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
BuryPointUtils.buryPoint(eventName, properties);
}
//发送自定义提醒消息
/**
* 发送自定义提醒消息
*/
@Override
public void sendCustomMsg() {
CustomAttachTipMsg CustomAttachTipMsg = new CustomAttachTipMsg(ImConstants.FIRST_CHAT_TIP);
......@@ -405,7 +428,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
@Override
public void saveImTempData(String touid, String content) {
if (touid == null || touid.equals("")) return;
if (touid == null || touid.equals("")) {
return;
}
ImTempData.getInstance().addTempMsg(touid, content);
EventBus.getDefault().post(new UpdateTabUnreadNumEvent());
}
......@@ -415,7 +440,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
return ImTempData.getInstance().getTempMsg(touid) == null ? "" : ImTempData.getInstance().getTempMsg(touid);
}
//获取群聊历史记录dialog是否已显示过(0未提示,1已提示过)
/**
* 获取群聊历史记录dialog是否已显示过(0未提示,1已提示过)
*/
@Override
public void chatTeamHistoryTip(Activity activity) {
if (!ImIn.INSTANCE.getChatTeamHisShow()) {
......@@ -424,7 +451,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
}
}
//短时间内私聊次数过多,给予警示
/**
* 短时间内私聊次数过多,给予警示
*/
@Override
public void sendMsgToChatTip() {
// CustomAttachChatTipMsg CustomAttachTipMsg = new CustomAttachChatTipMsg(getInfo().forbide_tip);
......@@ -481,11 +510,10 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
.subscribe(resp -> {
if (resp.code == 0) {
ToastUtil.toastShort(activity, "举报成功");
dialog.dismiss();
} else {
ToastUtil.toastShort(activity, resp.msg);
dialog.dismiss();
}
dialog.dismiss();
}, throwable -> {
HttpErrorUtils.Companion.handleError(activity, throwable);
dialog.dismiss();
......@@ -595,8 +623,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
if (userType == 1) {
list.add("ta的主页");
}
if (userType == 2)
if (userType == 2) {
list.add("访问专家主页");
}
list.add("历史聊天记录");
list.add("删除聊天记录");
}
......@@ -652,7 +681,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
});
}
//删除聊天记录
/**
* 删除聊天记录
*/
private void deleteChatHistory() {
CommonDialog dialog = CommonDialog.create(mActivity);
dialog.setMessage("确定删除与ta的聊天记录?");
......@@ -720,7 +751,11 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
// super.notifyChange();
// EventBus.getDefault().post(new NotifyRecentListChangeEvent(1));
// }
private void skip2ExpertHome() {//跳转到专家主页
/**
* 跳转到专家主页
*/
private void skip2ExpertHome() {
// 跳转到专家主页
String junmpurl = ImIn.INSTANCE.getExpertHost() + docInfo.doctorId;
String share_title = docInfo.name + "咨询工作室";
......@@ -801,7 +836,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
}
//倾诉
/**
* 倾诉
*/
@Override
public void confide() {
if (1 == docInfo.listenerIsOpen && !TextUtils.isEmpty(docInfo.doctorId) && !docInfo.doctorId.equals("0")) {
......@@ -828,7 +865,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
}
}
//帮助
/**
* 帮助
*/
@Override
public void help() {
......@@ -896,7 +935,9 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
skip2ExpertHome();
}
//跳转用户主页
/**
* 跳转用户主页
*/
@Override
public void showUserHome() {
if (ImIn.INSTANCE.membersIntent(mActivity, docInfo.toUid) != null) {
......
......@@ -25,6 +25,7 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSONObject;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.media.record.AudioRecorder;
......@@ -76,44 +77,57 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
protected Container container;
protected View view;
protected Handler uiHandler;
protected View actionPanelBottomLayout; // 更多布局
/***更多布局*/
protected View actionPanelBottomLayout;
protected LinearLayout messageActivityBottomLayout;
protected EditText messageEditText;// 文本消息编辑框
protected Button audioRecordBtn; // 录音按钮
protected View audioAnimLayout; // 录音动画布局
protected ImageView micImage;//录音声音动画文件
protected ImageView mCancelImage;//录音时取消显示图片
protected FrameLayout textAudioSwitchLayout; // 切换文本,语音按钮布局
protected View switchToTextButtonInInputBar;// 文本消息选择按钮
protected View switchToAudioButtonInInputBar;// 语音消息选择按钮
protected View moreFuntionButtonInInputBar;// 更多消息选择按钮
protected View sendMessageButtonInInputBar;// 发送消息按钮
protected View emojiButtonInInputBar;// 发送消息按钮
/***文本消息编辑框*/
protected EditText messageEditText;
/***录音按钮*/
protected Button audioRecordBtn;
/***录音动画布局*/
protected View audioAnimLayout;
/***录音声音动画文件*/
protected ImageView micImage;
/***录音时取消显示图片*/
protected ImageView mCancelImage;
/***切换文本,语音按钮布局*/
protected FrameLayout textAudioSwitchLayout;
/***文本消息选择按钮*/
protected View switchToTextButtonInInputBar;
/***语音消息选择按钮*/
protected View switchToAudioButtonInInputBar;
/***更多消息选择按钮*/
protected View moreFuntionButtonInInputBar;
/***发送消息按钮*/
protected View sendMessageButtonInInputBar;
/***发送消息按钮*/
protected View emojiButtonInInputBar;
protected View messageInputBar;
protected View messageEditLL;
private SessionCustomization customization;
// 表情
protected EmoticonPickerView emoticonPickerView; // 贴图表情控件
/***贴图表情控件*/
protected EmoticonPickerView emoticonPickerView;
// 语音
/***语音*/
protected AudioRecorder audioMessageHelper;
private Chronometer time;
private TextView timerTip;
private LinearLayout timerTipContainer;
private boolean started = false;
private boolean cancelled = false;
private boolean touched = false; // 是否按着
private boolean isKeyboardShowed = true; // 是否显示键盘
//存放录音动画文件
/***是否按着*/
private boolean touched = false;
/***是否显示键盘*/
private boolean isKeyboardShowed = true;
/***存放录音动画文件*/
private Drawable[] micImages;
private int BASE = 600;
private int SPACE = 200;// 间隔取样时间
private static final int BASE = 600;
/***间隔取样时间*/
private static final int SPACE = 200;
// state
private boolean actionPanelBottomLayoutHasSetup = false;
private boolean isTextAudioSwitchShow = true;
// adapter
......@@ -130,17 +144,17 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
private String sendText = "";
//设置输入框内容
/***设置输入框内容*/
public void setInputContent(String content) {
messageEditText.setText(content == null ? "" : content);
}
//设置输入框hint内容
/***设置输入框hint内容*/
public void setInputHintContent(String content) {
messageEditText.setHint(content == null ? "" : content);
}
//获取当前聊天输入框内容
/***获取当前聊天输入框内容*/
public String getInputContent() {
return messageEditText.getText().toString();
}
......@@ -286,7 +300,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
private void initTextEdit() {
messageEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE);
messageEditText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
switchToTextLayout(true);
......@@ -386,16 +400,12 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
@Override
public void onClick(View v) {
//验证用户是否已经绑定手机,若没有绑定则弹出提示
if (ActionHandlerStorage.getL(container.account) != null) {
if (!ActionHandlerStorage.getL(container.account).isBindPhone(context, container.account))
return;
} else {
//判断是否是聊天室
if (container.sessionType != SessionTypeEnum.ChatRoom) {
// 账户信息是null时 判断是否是聊天室 不是聊天室提示用户退出重试
if (ActionHandlerStorage.getL(container.account) == null && container.sessionType != SessionTypeEnum.ChatRoom) {
ToastUtil.toastShort("请退出聊天界面重试");
return;
}
}
if (v == switchToTextButtonInInputBar) {
switchToTextLayout(true);// 显示文本发送的布局
......@@ -490,11 +500,13 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
interface TextReplaceCallback {
void isBeReplace();
void notBeReplace();
}
/**
* 判定是否需要将长数字字符串部分替换为****
*
* @param text
* @param callback
*/
......@@ -565,7 +577,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
if (isBeReplace) {
sendText = lastText;
callback.isBeReplace();
}else {
} else {
sendText = text;
callback.notBeReplace();
}
......@@ -575,7 +587,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
return MessageBuilder.createTextMessage(container.account, container.sessionType, text);
}
// 切换成音频,收起键盘,按钮切换成键盘
/**
* 切换成音频,收起键盘,按钮切换成键盘
*/
private void switchToAudioLayout() {
messageEditText.setVisibility(View.GONE);
audioRecordBtn.setVisibility(View.VISIBLE);
......@@ -588,7 +602,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
switchToTextButtonInInputBar.setVisibility(View.VISIBLE);
}
// 点击“+”号按钮,切换更多布局和键盘
/**
* 点击“+”号按钮,切换更多布局和键盘
*/
private void toggleActionPanelLayout() {
if (actionPanelBottomLayout == null || actionPanelBottomLayout.getVisibility() == View.GONE) {
showActionPanelLayout();
......@@ -597,7 +613,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
// 点击表情,切换到表情布局
/**
* 点击表情,切换到表情布局
*/
private void toggleEmojiLayout() {
if (emoticonPickerView == null || emoticonPickerView.getVisibility() == View.GONE) {
showEmojiLayout();
......@@ -606,7 +624,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
// 隐藏表情布局
/**
* 隐藏表情布局
*/
private void hideEmojiLayout() {
uiHandler.removeCallbacks(showEmojiRunnable);
if (emoticonPickerView != null) {
......@@ -614,7 +634,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
// 隐藏更多布局
/**
* 隐藏更多布局
*/
private void hideActionPanelLayout() {
uiHandler.removeCallbacks(showMoreFuncRunnable);
if (actionPanelBottomLayout != null) {
......@@ -622,7 +644,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
// 隐藏键盘布局
/**
* 隐藏键盘布局
*/
private void hideInputMethod() {
isKeyboardShowed = false;
uiHandler.removeCallbacks(showTextRunnable);
......@@ -631,7 +655,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
messageEditText.clearFocus();
}
// 隐藏语音布局
/**
* 隐藏语音布局
*/
private void hideAudioLayout() {
audioRecordBtn.setVisibility(View.GONE);
messageEditText.setVisibility(View.VISIBLE);
......@@ -640,7 +666,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
switchToAudioButtonInInputBar.setVisibility(View.GONE);
}
// 显示表情布局
/**
* 显示表情布局
*/
private void showEmojiLayout() {
hideInputMethod();
hideActionPanelLayout();
......@@ -654,7 +682,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
// 初始化更多布局
/**
* 初始化更多布局
*/
private void initActionPanel() {
for (int i = 0; i < actions.size(); ++i) {
actions.get(i).setIndex(i);
......@@ -667,7 +697,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
// 显示键盘布局
/**
* 显示键盘布局
*/
private void showInputMethod(EditText editTextMessage) {
editTextMessage.requestFocus();
//如果已经显示,则继续操作时不需要把光标定位到最后
......@@ -682,7 +714,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
container.proxy.onInputPanelExpand();
}
// 显示更多布局
/**
* 显示更多布局
*/
private void showActionPanelLayout() {
hideEmojiLayout();
hideInputMethod();
......@@ -742,7 +776,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
@Override
public void onEmojiSelected(String key) {
Editable mEditable = messageEditText.getText();
if (key.equals("/DEL")) {
if ("/DEL".equals(key)) {
messageEditText.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
} else {
int start = messageEditText.getSelectionStart();
......@@ -944,6 +978,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
private final Handler mHandler = new Handler() {
@Override
public void handleMessage(android.os.Message msg) {
int what = msg.what;
//根据mHandler发送what的大小决定话筒的图片是哪一张
......@@ -958,6 +993,7 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
};
private Runnable mUpdateMicStatusTimer = new Runnable() {
@Override
public void run() {
updateMicStatus();
}
......@@ -971,8 +1007,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
if (touched) {
int ratio = audioMessageHelper.getCurrentRecordMaxAmplitude() / BASE;
int db = 0;// 分贝
if (ratio > 1)
if (ratio > 1) {
db = (int) (20 * Math.log10(ratio));
}
Log.e("hzs", "分贝值:" + db + " " + Math.log10(ratio));
//对着手机说话声音最大的时候,db达到了35左右
mHandler.postDelayed(mUpdateMicStatusTimer, SPACE);
......@@ -986,7 +1023,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
// 录音状态回调
/**
* 录音状态回调
*/
@Override
public void onRecordReady() {
......@@ -1069,7 +1108,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
}
}
// 发送文本消息
/**
* 发送文本消息
*/
public void onTextMessageSendButtonPressed(String text) {
if (text.isEmpty()) {
ToastUtil.toastShort(container.activity, "请输入后再发送");
......
......@@ -22,15 +22,20 @@ public interface IP2PCustomActionHandler {
Boolean isNotPrepare();
boolean deleteMessage(IMMessage message); //需要筛选的消息
/***需要筛选的消息*/
boolean deleteMessage(IMMessage message);
void setDoctorStatus(int status); //更新专家登录状态
/***更新专家登录状态*/
void setDoctorStatus(int status);
void setDoctorBusyNum(int num); //设置专家正在咨询的人数
/***设置专家正在咨询的人数*/
void setDoctorBusyNum(int num);
void judgeSendRemindMsg(String sessionId); //发送提醒上线的用户消息
/***发送提醒上线的用户消息*/
void judgeSendRemindMsg(String sessionId);
void sendRecommendExpertListMessage(String sessionId, ArrayList<RecommendExpertBean> recommendExpertList, int type, boolean showExpertList);//发送推荐专家列表
/***发送推荐专家列表*/
void sendRecommendExpertListMessage(String sessionId, ArrayList<RecommendExpertBean> recommendExpertList, int type, boolean showExpertList);
Activity getmActivity();
......@@ -40,15 +45,19 @@ public interface IP2PCustomActionHandler {
void showDingdan(String url);
void showZhuanjPage();//专家H5主页
/***专家H5主页*/
void showZhuanjPage();
void toExpertHome(String doctorId, String name, String cover); //专家h5主页
/***专家h5主页*/
void toExpertHome(String doctorId, String name, String cover);
void showUserHome();//跳转用户主页
/***跳转用户主页*/
void showUserHome();
void jump();
void h5Video();//跳转h5视频介绍
/***跳转h5视频介绍*/
void h5Video();
//私聊 获取聊天者的订单关系数据(参数cantalk从另一个接口获取)
// void getExpert(int toUid,int cantalk);
......@@ -56,7 +65,8 @@ public interface IP2PCustomActionHandler {
void help();
void makeColections(String toUid); // 发起收款
/***发起收款*/
void makeColections(String toUid);
void clear(String accid);
......@@ -77,40 +87,41 @@ public interface IP2PCustomActionHandler {
void setUserType(int userType);
//获取自己的用户类型
/***获取自己的用户类型*/
int getSelfUserType();
//发红包
/***发红包*/
void sendRedPacket(Activity activity);
//检查用户是否已经绑定手机号
/***检查用户是否已经绑定手机号*/
boolean isBindPhone(Activity activity, String toUid);
//消息中有11位数字,提示是否要隐藏中间5位
/***消息中有11位数字,提示是否要隐藏中间5位*/
boolean HintMessageSend(Activity activity, ReturnCallBack returnCallBack);
//举报
/*** 举报*/
void showJubao(Activity activity);
//埋点统计
/***埋点统计*/
void buryPoint(String eventName, JSONObject properties);
//发送自定义提醒消息
/***发送自定义提醒消息*/
void sendCustomMsg();
//保存聊天未发送的临时内容
/***保存聊天未发送的临时内容*/
void saveImTempData(String touid, String content);
//获取聊天未发送的临时内容
/***获取聊天未发送的临时内容*/
String getImTempData(String touid);
//判断是否需要弹出 获取群聊历史记录dialog
/***判断是否需要弹出 获取群聊历史记录dialog*/
void chatTeamHistoryTip(Activity activity);
//短时间多次私聊 给予警示
/***短时间多次私聊 给予警示*/
void sendMsgToChatTip();
void h5ActivityStart(Context mActivity, String url, boolean isFresh);//跳转h5页面 isFresh表示是否需要下拉刷新功能
/***跳转h5页面 isFresh表示是否需要下拉刷新功能*/
void h5ActivityStart(Context mActivity, String url, boolean isFresh);
void uploadSendMessageError(int code);
......@@ -120,32 +131,33 @@ public interface IP2PCustomActionHandler {
void popCallDialog(Context context);
void setExpertInfo(String toChatUsername, IMExpertBuild expert) ;
void setExpertInfo(String toChatUsername, IMExpertBuild expert);
class DocInfo {
public String toUid;
public String doctorId;
public String listenerId;
public String name = "";
public String title;
public int is_online;//专家状态 1.在线 2.离线 3通话中 4-继续拨打 ,
public int isChatOnline;////专家私聊在线状态 1.在线,2.离线,3.忙碌 4咨询中, 5倾述中 6咨询前准备
public int is_online; //专家状态 1.在线 2.离线 3通话中 4-继续拨打 ,
public int isChatOnline; //专家私聊在线状态 1.在线,2.离线,3.忙碌 4咨询中, 5倾述中 6咨询前准备
public String cover;
public String desc;
public String url_share;
public String price;
public String unitTxt;
public String url;
public int hasAvailableListenOrder;//是否还有未完成的倾诉订单 1、没有 2、有
public int listenOrderCommentStatus;//倾诉订单评论状态 1:未评价 9:已评价 ,
public String listenOrderCommentUrl;//倾诉订单评价页url
public String listenOrderUrl;//订单详情页面url
public String listenOrderDesc;//倾诉订单状态描述
public String listenOrderRemainTime;//未完成倾诉订单剩余时间
public int hasAvailableListenOrder; //是否还有未完成的倾诉订单 1、没有 2、有
public int listenOrderCommentStatus; //倾诉订单评论状态 1:未评价 9:已评价 ,
public String listenOrderCommentUrl; //倾诉订单评价页url
public String listenOrderUrl; //订单详情页面url
public String listenOrderDesc; //倾诉订单状态描述
public String listenOrderRemainTime; //未完成倾诉订单剩余时间
public String urlTitle;
public String blackStatus;
public String orderid;
public int listenerIsOpen;////1 开启 2 关闭
public int is_first = 1;//是否是第一次私聊
public int listenerIsOpen; //1 开启 2 关闭
public int is_first = 1; //是否是第一次私聊
public int busyTotal = 0; //专家当前在与多少人聊天
public String tag1 = ""; //用与获取推荐专家列表接口的参数catName
......@@ -162,7 +174,9 @@ public interface IP2PCustomActionHandler {
public ArrayList<ImCommendDetailBean> commentList;
}
//消息中有11位数字,提示是否要隐藏中间5位 相关
/**
* 消息中有11位数字,提示是否要隐藏中间5位 相关
*/
public interface ReturnCallBack {
boolean RetCallback();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment