Browse Source

1.修改IM聊天页面UI

王鹏鹏 2 years ago
parent
commit
ee4a58be38

+ 5 - 2
.idea/misc.xml

@@ -286,6 +286,9 @@
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/drawable/action_more_selector.xml" value="0.155" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/drawable/chat_bubble_other_cavity_bg.xml" value="0.1565" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/drawable/chat_bubble_self_cavity_bg.xml" value="0.1565" />
+        <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/drawable/chat_pop_menu_divider.xml" value="0.1565" />
+        <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/drawable/chat_time_border.xml" value="0.1565" />
+        <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/drawable/group_msg_receipt_line_bg.xml" value="0.1565" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/drawable/ic_self_video_call.xml" value="0.158" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/drawable/layer_live_rating_bar.xml" value="0.1615" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/drawable/message_send_border.xml" value="0.155" />
@@ -307,8 +310,8 @@
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/chat_pop_menu_layout.xml" value="0.264" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/chat_reply_quote_merge_layout.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/chat_reply_quote_text_layout.xml" value="0.23697916666666666" />
-        <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/chat_start_consultation.xml" value="0.23697916666666666" />
-        <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/custom_evaluation_message_layout.xml" value="0.23697916666666666" />
+        <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/chat_start_consultation.xml" value="0.8800000000000001" />
+        <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/custom_evaluation_message_layout.xml" value="0.264" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/custom_order_message_layout.xml" value="0.4" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/message_adapter_content_text.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/tuichat/src/main/res/layout/notice_layout.xml" value="0.536" />

+ 13 - 2
tuichat/src/main/java/com/tencent/qcloud/tuikit/tuichat/bean/CustomStartConsultationBean.java

@@ -11,10 +11,13 @@ import com.tencent.qcloud.tuikit.tuichat.util.TUIChatLog;
 
 /**
  * 开始问诊消息
+ *
+ * @author 王鹏鹏
  */
 public class CustomStartConsultationBean extends TUIMessageBean {
 
     private StartConsultationBean startConsultationBean;
+    private PatientInfoBean patientInfoBean;
 
     @Override
     public String onGetDisplayString() {
@@ -24,6 +27,7 @@ public class CustomStartConsultationBean extends TUIMessageBean {
     @Override
     public void onProcessMessage(V2TIMMessage v2TIMMessage) {
         String data = new String(v2TIMMessage.getCustomElem().getData());
+        String description = v2TIMMessage.getCustomElem().getDescription();
         if (!TextUtils.isEmpty(data)) {
             try {
                 startConsultationBean = new Gson().fromJson(data, StartConsultationBean.class);
@@ -31,8 +35,15 @@ public class CustomStartConsultationBean extends TUIMessageBean {
                 TUIChatLog.e("EndConsultationBean", "exception e = " + e);
             }
         }
+        if (!TextUtils.isEmpty(description)) {
+            try {
+                patientInfoBean = new Gson().fromJson(description, PatientInfoBean.class);
+            } catch (Exception e) {
+                TUIChatLog.e("EndConsultationBean", "exception e = " + e);
+            }
+        }
         if (startConsultationBean != null) {
-            setExtra(startConsultationBean.getText());
+            setExtra(startConsultationBean.getDescription());
         } else {
             String text = TUIChatService.getAppContext().getString(R.string.no_support_msg);
             setExtra(text);
@@ -41,7 +52,7 @@ public class CustomStartConsultationBean extends TUIMessageBean {
 
     public String getText() {
         if (startConsultationBean != null) {
-            return startConsultationBean.getText();
+            return startConsultationBean.getDescription();
         }
         return getExtra();
     }

+ 63 - 0
tuichat/src/main/java/com/tencent/qcloud/tuikit/tuichat/bean/PatientInfoBean.java

@@ -0,0 +1,63 @@
+package com.tencent.qcloud.tuikit.tuichat.bean;
+
+/**
+ * 患者信息
+ * @author 王鹏鹏
+ */
+public class PatientInfoBean {
+
+    private String appUserName;
+    private String appUserSex;
+    private String appUserAge;
+    private String remark;
+    private String sickTime;
+    private String isConsultation;
+
+    public String getAppUserName() {
+        return appUserName;
+    }
+
+    public void setAppUserName(String appUserName) {
+        this.appUserName = appUserName;
+    }
+
+    public String getAppUserSex() {
+        return appUserSex;
+    }
+
+    public void setAppUserSex(String appUserSex) {
+        this.appUserSex = appUserSex;
+    }
+
+    public String getAppUserAge() {
+        return appUserAge;
+    }
+
+    public void setAppUserAge(String appUserAge) {
+        this.appUserAge = appUserAge;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getSickTime() {
+        return sickTime;
+    }
+
+    public void setSickTime(String sickTime) {
+        this.sickTime = sickTime;
+    }
+
+    public String getIsConsultation() {
+        return isConsultation;
+    }
+
+    public void setIsConsultation(String isConsultation) {
+        this.isConsultation = isConsultation;
+    }
+}

+ 5 - 10
tuichat/src/main/java/com/tencent/qcloud/tuikit/tuichat/bean/StartConsultationBean.java

@@ -1,7 +1,5 @@
 package com.tencent.qcloud.tuikit.tuichat.bean;
 
-import android.text.TextUtils;
-
 import com.tencent.qcloud.tuikit.tuichat.TUIChatConstants;
 
 /**
@@ -12,16 +10,13 @@ import com.tencent.qcloud.tuikit.tuichat.TUIChatConstants;
 public class StartConsultationBean {
 
     public String businessID = TUIChatConstants.BUSINESS_ID_CUSTOM_START_CONSULTATION;
-    private String text;
+    private String description;
 
-    public String getText() {
-        if (TextUtils.isEmpty(text)) {
-            return "开始问诊";
-        }
-        return text;
+    public String getDescription() {
+        return description;
     }
 
-    public void setText(String text) {
-        this.text = text;
+    public void setDescription(String description) {
+        this.description = description;
     }
 }

+ 8 - 1
tuichat/src/main/java/com/tencent/qcloud/tuikit/tuichat/classicui/widget/message/viewholder/StartConsultationMessageHolder.java

@@ -1,10 +1,12 @@
 package com.tencent.qcloud.tuikit.tuichat.classicui.widget.message.viewholder;
 
 import android.view.View;
+import android.widget.TextView;
 
 import com.tencent.qcloud.tuikit.timcommon.bean.TUIMessageBean;
 import com.tencent.qcloud.tuikit.timcommon.classicui.widget.message.MessageContentHolder;
 import com.tencent.qcloud.tuikit.tuichat.R;
+import com.tencent.qcloud.tuikit.tuichat.bean.CustomStartConsultationBean;
 
 /**
  * 开始问诊消息
@@ -13,8 +15,11 @@ import com.tencent.qcloud.tuikit.tuichat.R;
  */
 public class StartConsultationMessageHolder extends MessageContentHolder {
 
+    private TextView tvContent;
+
     public StartConsultationMessageHolder(View itemView) {
         super(itemView);
+        tvContent = itemView.findViewById(R.id.tvContent);
     }
 
     @Override
@@ -24,6 +29,8 @@ public class StartConsultationMessageHolder extends MessageContentHolder {
 
     @Override
     public void layoutVariableViews(TUIMessageBean msg, int position) {
-
+        if (msg instanceof CustomStartConsultationBean) {
+            tvContent.setText(((CustomStartConsultationBean) msg).getText());
+        }
     }
 }

+ 15 - 6
tuichat/src/main/java/com/tencent/qcloud/tuikit/tuichat/presenter/C2CChatPresenter.java

@@ -1,8 +1,10 @@
 package com.tencent.qcloud.tuikit.tuichat.presenter;
 
 import android.text.TextUtils;
+import android.util.Log;
 import android.util.Pair;
 
+import com.google.gson.Gson;
 import com.tencent.qcloud.tuikit.timcommon.bean.MessageFeature;
 import com.tencent.qcloud.tuikit.timcommon.bean.MessageReceiptInfo;
 import com.tencent.qcloud.tuikit.timcommon.bean.TUIMessageBean;
@@ -10,6 +12,7 @@ import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
 import com.tencent.qcloud.tuikit.tuichat.TUIChatConstants;
 import com.tencent.qcloud.tuikit.tuichat.TUIChatService;
 import com.tencent.qcloud.tuikit.tuichat.bean.ChatInfo;
+import com.tencent.qcloud.tuikit.tuichat.bean.CustomStartConsultationBean;
 import com.tencent.qcloud.tuikit.tuichat.bean.message.MessageTypingBean;
 import com.tencent.qcloud.tuikit.tuichat.interfaces.C2CChatEventListener;
 import com.tencent.qcloud.tuikit.tuichat.util.TUIChatLog;
@@ -20,6 +23,7 @@ import java.util.Collections;
 import java.util.List;
 
 public class C2CChatPresenter extends ChatPresenter {
+
     private static final String TAG = C2CChatPresenter.class.getSimpleName();
 
     private ChatInfo chatInfo;
@@ -52,12 +56,15 @@ public class C2CChatPresenter extends ChatPresenter {
 
             @Override
             public void onRecvNewMessage(TUIMessageBean message) {
+                Log.e("wpp", new Gson().toJson(message));
                 if (chatInfo == null || !TextUtils.equals(message.getUserId(), chatInfo.getId())) {
                     TUIChatLog.i(TAG, "receive a new message , not belong to current chat.");
                 } else {
                     if (message instanceof MessageTypingBean) {
                         parseTypingMessage((MessageTypingBean) message);
                         return;
+                    } else if (message instanceof CustomStartConsultationBean) {
+
                     }
                     C2CChatPresenter.this.onRecvNewMessage(message);
                 }
@@ -109,12 +116,13 @@ public class C2CChatPresenter extends ChatPresenter {
 
     /**
      * 拉取消息
-     * @param type 向前,向后或者前后同时拉取
-     * @param lastMessageInfo 拉取消息的起始点
-     *
      *
-     * pull message
-     * @param type Pull forward, backward, or both
+     * @param type            向前,向后或者前后同时拉取
+     * @param lastMessageInfo 拉取消息的起始点
+     *                        <p>
+     *                        <p>
+     *                        pull message
+     * @param type            Pull forward, backward, or both
      * @param lastMessageInfo The starting point for pulling messages
      */
     @Override
@@ -226,7 +234,8 @@ public class C2CChatPresenter extends ChatPresenter {
             }
 
             @Override
-            public void onError(String module, int errCode, String errMsg) {}
+            public void onError(String module, int errCode, String errMsg) {
+            }
         });
     }
 

+ 8 - 8
tuichat/src/main/res/drawable/chat_bubble_other_cavity_bg.xml

@@ -3,17 +3,17 @@
     android:shape="rectangle">
 
     <stroke
-        android:color="@color/chat_message_bubble_bg_stoke_color"
-        android:width="@dimen/chat_message_bg_stoke_width"/>
+        android:width="@dimen/divider_1px"
+        android:color="@color/color_FFAEA8A8" />
 
     <corners
-        android:radius="10.96dp"
-        android:topLeftRadius="2.19dp" />
+        android:radius="@dimen/divider_20px"
+        android:topLeftRadius="@dimen/divider_20px" />
 
     <padding
-        android:bottom="5.4dp"
-        android:top="5.4dp"
-        android:left="5.4dp"
-        android:right="5.4dp"/>
+        android:bottom="@dimen/divider_24px"
+        android:left="@dimen/divider_24px"
+        android:right="@dimen/divider_24px"
+        android:top="@dimen/divider_24px" />
 
 </shape>

+ 10 - 8
tuichat/src/main/res/drawable/chat_bubble_self_cavity_bg.xml

@@ -3,16 +3,18 @@
     android:shape="rectangle">
 
     <stroke
-        android:color="@color/chat_message_bubble_bg_stoke_color"
-        android:width="@dimen/chat_message_bg_stoke_width"/>
+        android:width="@dimen/chat_message_bg_stoke_width"
+        android:color="@color/color_FF4A76FF" />
+
+    <solid android:color="@color/color_FF4A76FF" />
 
     <corners
-        android:radius="10.96dp"
-        android:topRightRadius="2.19dp" />
+        android:radius="@dimen/divider_20px"
+        android:topRightRadius="@dimen/divider_20px" />
 
     <padding
-        android:bottom="5.4dp"
-        android:top="5.4dp"
-        android:left="5.4dp"
-        android:right="5.4dp"/>
+        android:bottom="@dimen/divider_24px"
+        android:left="@dimen/divider_24px"
+        android:right="@dimen/divider_24px"
+        android:top="@dimen/divider_24px" />
 </shape>

+ 8 - 2
tuichat/src/main/res/layout/chat_end_consultation.xml

@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:gravity="center_horizontal"
     android:orientation="vertical">
 
+
     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
@@ -13,5 +14,10 @@
         android:textSize="@dimen/divider_24px" />
 
 
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="请您对我的服务做出评价" />
+
 
-</LinearLayout>
+</RelativeLayout>

+ 6 - 5
tuichat/src/main/res/layout/chat_start_consultation.xml

@@ -2,16 +2,17 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:gravity="center_horizontal"
     android:orientation="vertical">
 
     <TextView
-        android:layout_width="wrap_content"
+        android:id="@+id/tvContent"
+        android:layout_width="@dimen/divider_360px"
         android:layout_height="wrap_content"
-        android:text="问诊结束"
+        android:layout_marginTop="@dimen/divider_24px"
+        android:text="图文问诊"
         android:textColor="@color/color_FF333333"
-        android:textSize="@dimen/divider_24px" />
-
+        android:textSize="@dimen/divider_24px"
+        android:textStyle="bold" />
 
 
 </LinearLayout>

+ 2 - 0
tuichat/src/main/res/values/colors.xml

@@ -54,4 +54,6 @@
     <color name="color_FFF2F2F2">#FFF2F2F2</color>
     <color name="color_FFE4E2E2" tools:ignore="MissingDefaultResource">#FFE4E2E2</color>
     <color name="color_FFECEFF5">#FFECEFF5</color>
+    <color name="color_FF4A76FF">#FF4A76FF</color>
+    <color name="color_FFAEA8A8" tools:ignore="MissingDefaultResource">#FFAEA8A8</color>
 </resources>

+ 1 - 0
tuichat/src/main/res/values/dimens.xml

@@ -11,6 +11,7 @@
     <dimen name="divider_413px" tools:ignore="ResourceName">413px</dimen>
     <dimen name="divider_409px" tools:ignore="ResourceName">409px</dimen>
     <dimen name="divider_377px" tools:ignore="ResourceName">377px</dimen>
+    <dimen name="divider_360px" tools:ignore="ResourceName">360px</dimen>
     <dimen name="divider_354px" tools:ignore="ResourceName">354px</dimen>
     <dimen name="divider_348px" tools:ignore="ResourceName">348px</dimen>
     <dimen name="divider_345px" tools:ignore="ResourceName">345px</dimen>