Commit b88f7457 by 霍志良

reactor:初始化README文件,将客服小壹id 14 提取到常量中,方便后续修改

parent 9632959d
# 壹点灵 v4.1.55
# AS 规范
尽量使用同一版本的 IDE 进行开发
编码格式统一为 UTF-8
编辑完 .kt .java、.xml 等文件后一定要 格式化,格式化,格式化(使用 AS 默认模板即可)
代码格式化:Command + Option + L | Control + Alt + L
删除多余的 import,减少警告出现,可利用 AS 的 Optimize Imports(Settings -> Keymap -> Optimize Imports)
无用import清理:Control + Option + O | Control + Alt + O
# commit 风格
使用中文表达,尽量控制在 20 个字以内(如果你发觉 20 个字描述不了,那很可能是因为这一次 commit 不够纯粹,可以考虑将之分成两部分内容或更多内容分次提交)
保持 commit 是纯粹的、详细的 (有利于我们发现问题时进行细粒化到具体内容 revert commit,而不是遇到问题需要 revert 结果把一些好的、没问题的内容也捆绑 revert 掉了)
格式:(一般情况下使用下面 7 种标识已经足够了)
feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动
# yidianling
# yidianling
...@@ -274,7 +274,7 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler { ...@@ -274,7 +274,7 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
@Override @Override
public boolean isBindPhone(final Activity activity, String toUid) { public boolean isBindPhone(final Activity activity, String toUid) {
//小壹特殊处理,没有绑定也可以和小壹聊天 //小壹特殊处理,没有绑定也可以和小壹聊天
if (toUid.equals("14")) { if (toUid.equals(ImConstants.KEFUXIAOYI)) {
return true; return true;
} }
...@@ -585,7 +585,7 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler { ...@@ -585,7 +585,7 @@ public class P2PCustomActionHandlerImpl implements IP2PCustomActionHandler {
if (mActivity == null || mActivity.isFinishing()) return; if (mActivity == null || mActivity.isFinishing()) return;
list.clear(); list.clear();
if ("14".equals(toChatUsername) || "4108805".equals(toChatUsername)) { if (ImConstants.KEFUXIAOYI.equals(toChatUsername) || "4108805".equals(toChatUsername)) {
list.add("历史聊天记录"); list.add("历史聊天记录");
// list.add("返回首页"); // list.add("返回首页");
list.add("客服热线"); list.add("客服热线");
......
...@@ -43,6 +43,7 @@ class ImConstants { ...@@ -43,6 +43,7 @@ class ImConstants {
//连接倾听未绑定手机提示 //连接倾听未绑定手机提示
const val TEL_BINDPHONE = "电话连接需要绑定手机哦~" const val TEL_BINDPHONE = "电话连接需要绑定手机哦~"
const val KEFUXIAOYI="14"
} }
......
...@@ -2,6 +2,7 @@ package com.yidianling.im.helper ...@@ -2,6 +2,7 @@ package com.yidianling.im.helper
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.support.v4.content.ContextCompat
import android.support.v7.app.AppCompatActivity import android.support.v7.app.AppCompatActivity
import android.text.TextUtils import android.text.TextUtils
import android.view.View import android.view.View
...@@ -64,7 +65,13 @@ object IMChatUtil { ...@@ -64,7 +65,13 @@ object IMChatUtil {
* 客服专用 * 客服专用
*/ */
fun startKefuChat(context: AppCompatActivity?) { fun startKefuChat(context: AppCompatActivity?) {
SessionHelper.startP2PSession(context, -1, "14", null, P2PCustomActionHandlerImpl("14", "客服小壹", "14")) SessionHelper.startP2PSession(
context,
-1,
ImConstants.KEFUXIAOYI,
null,
P2PCustomActionHandlerImpl(ImConstants.KEFUXIAOYI, "客服小壹", ImConstants.KEFUXIAOYI)
)
} }
/** /**
...@@ -74,7 +81,8 @@ object IMChatUtil { ...@@ -74,7 +81,8 @@ object IMChatUtil {
* @param chatItemBean * @param chatItemBean
*/ */
fun startChat(context: AppCompatActivity?, chatItemBean: ChatItemBean) { fun startChat(context: AppCompatActivity?, chatItemBean: ChatItemBean) {
SessionHelper.startP2PSession(context, SessionHelper.startP2PSession(
context,
chatItemBean.utype, chatItemBean.utype,
chatItemBean.toUid.toString(), chatItemBean.toUid.toString(),
null, null,
...@@ -157,7 +165,7 @@ object IMChatUtil { ...@@ -157,7 +165,7 @@ object IMChatUtil {
} }
fun startChatCloseReplaceChat(context: AppCompatActivity, toUid: String){ fun startChatCloseReplaceChat(context: AppCompatActivity, toUid: String) {
if (!isLogin(context, true)) { if (!isLogin(context, true)) {
return return
} }
...@@ -178,17 +186,32 @@ object IMChatUtil { ...@@ -178,17 +186,32 @@ object IMChatUtil {
/** /**
* 开启聊天会话 * 开启聊天会话
*/ */
private fun startChatSession(toUid: String, expertInfo: IMExpertBuild, isFromQingShu: Int, context: AppCompatActivity) { private fun startChatSession(
toUid: String,
expertInfo: IMExpertBuild,
isFromQingShu: Int,
context: AppCompatActivity
) {
val p2PCustomActionHandlerImpl = P2PCustomActionHandlerImpl(toUid, expertInfo) val p2PCustomActionHandlerImpl = P2PCustomActionHandlerImpl(toUid, expertInfo)
p2PCustomActionHandlerImpl.isFromQingShu = isFromQingShu p2PCustomActionHandlerImpl.isFromQingShu = isFromQingShu
SessionHelper.startP2PSession(context, expertInfo.shareData.user_type, toUid, null, p2PCustomActionHandlerImpl) SessionHelper.startP2PSession(
context,
expertInfo.shareData.user_type,
toUid,
null,
p2PCustomActionHandlerImpl
)
} }
//====================准备私聊数据==================== //====================准备私聊数据====================
/** /**
* 初始化聊天数据 * 初始化聊天数据
*/ */
fun prepareChatData(context: AppCompatActivity, toUid: String, listener: ChatDataRequestListener) { fun prepareChatData(
context: AppCompatActivity,
toUid: String,
listener: ChatDataRequestListener
) {
if (!isLogin(context, true)) { if (!isLogin(context, true)) {
return return
} }
...@@ -201,7 +224,10 @@ object IMChatUtil { ...@@ -201,7 +224,10 @@ object IMChatUtil {
ChatStatusCacheHelper.setStatusCache("chatEvent", res.data!!.chatEvent) ChatStatusCacheHelper.setStatusCache("chatEvent", res.data!!.chatEvent)
} }
if (res.data!!.collectEvent) { //和助理私聊需要打开信息采集弹窗 if (res.data!!.collectEvent) { //和助理私聊需要打开信息采集弹窗
ChatStatusCacheHelper.setStatusCache("collectEvent", res.data!!.collectEvent) ChatStatusCacheHelper.setStatusCache(
"collectEvent",
res.data!!.collectEvent
)
} }
if (TextUtils.equals(res.data!!.userType, "2")) { if (TextUtils.equals(res.data!!.userType, "2")) {
//接口返回值是专家,java接口 //接口返回值是专家,java接口
...@@ -227,7 +253,11 @@ object IMChatUtil { ...@@ -227,7 +253,11 @@ object IMChatUtil {
/** /**
* 专家私聊数据请求 * 专家私聊数据请求
*/ */
fun prepareExpertChatData(context: AppCompatActivity, toUid: String?, listener: ChatDataRequestListener) { fun prepareExpertChatData(
context: AppCompatActivity,
toUid: String?,
listener: ChatDataRequestListener
) {
val disposable = getImJavaApi().getPersonalChat(toUid!!) val disposable = getImJavaApi().getPersonalChat(toUid!!)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
...@@ -237,7 +267,11 @@ object IMChatUtil { ...@@ -237,7 +267,11 @@ object IMChatUtil {
} }
if (resp.code == 200) { if (resp.code == 200) {
val expert = resp.data val expert = resp.data
UserInfoCache.getInstance().saveYDLUser(expert.shareData.toUid,expert.shareData.doctorName,expert.shareData.cover) UserInfoCache.getInstance().saveYDLUser(
expert.shareData.toUid,
expert.shareData.doctorName,
expert.shareData.cover
)
listener.onSuccess(expert) listener.onSuccess(expert)
} else { } else {
upLoadLog("consult/get-expert", resp.code, resp.msg) upLoadLog("consult/get-expert", resp.code, resp.msg)
...@@ -245,7 +279,7 @@ object IMChatUtil { ...@@ -245,7 +279,7 @@ object IMChatUtil {
context.startActivity(loginWayIntent(context)) context.startActivity(loginWayIntent(context))
ToastUtil.toastShort(resp.msg) ToastUtil.toastShort(resp.msg)
} else if (resp.code == ImConstants.SILENCED_CODE) { //禁言 } else if (resp.code == ImConstants.SILENCED_CODE) { //禁言
showSilencedDialog(context,resp.data.tips,resp.data.url) showSilencedDialog(context, resp.data.tips, resp.data.url)
} else { } else {
ToastUtil.toastShort(resp.msg) ToastUtil.toastShort(resp.msg)
} }
...@@ -257,7 +291,7 @@ object IMChatUtil { ...@@ -257,7 +291,7 @@ object IMChatUtil {
} }
handleError(context, throwable) handleError(context, throwable)
if (throwable is HttpException) { if (throwable is HttpException) {
upLoadLog("consult/get-expert",throwable.code(),throwable.message!!) upLoadLog("consult/get-expert", throwable.code(), throwable.message!!)
} }
} }
} }
...@@ -265,7 +299,11 @@ object IMChatUtil { ...@@ -265,7 +299,11 @@ object IMChatUtil {
/** /**
* 助理私聊数据请求 * 助理私聊数据请求
*/ */
fun prepareAssistantChatData(context: AppCompatActivity, toUid: String, listener: ChatDataRequestListener) { fun prepareAssistantChatData(
context: AppCompatActivity,
toUid: String,
listener: ChatDataRequestListener
) {
val cmd = GetExpert(toUid.toInt(), 0) val cmd = GetExpert(toUid.toInt(), 0)
val disposable = val disposable =
getImRetrofitApi().getExpert(NetworkParamsUtils.getMaps(cmd)) getImRetrofitApi().getExpert(NetworkParamsUtils.getMaps(cmd))
...@@ -277,7 +315,11 @@ object IMChatUtil { ...@@ -277,7 +315,11 @@ object IMChatUtil {
} }
if (resp.code == 0) { if (resp.code == 0) {
val expert = resp.data val expert = resp.data
UserInfoCache.getInstance().saveYDLUser(expert.shareData.toUid,expert.shareData.doctorName,expert.shareData.cover) UserInfoCache.getInstance().saveYDLUser(
expert.shareData.toUid,
expert.shareData.doctorName,
expert.shareData.cover
)
listener?.onSuccess(expert) listener?.onSuccess(expert)
} else { } else {
upLoadLog("consult/get-expert", resp.code, resp.msg) upLoadLog("consult/get-expert", resp.code, resp.msg)
...@@ -285,7 +327,7 @@ object IMChatUtil { ...@@ -285,7 +327,7 @@ object IMChatUtil {
context.startActivity(loginWayIntent(context)) context.startActivity(loginWayIntent(context))
ToastUtil.toastShort(resp.msg) ToastUtil.toastShort(resp.msg)
} else if (resp.code == ImConstants.SILENCED_CODE) { //禁言 } else if (resp.code == ImConstants.SILENCED_CODE) { //禁言
showSilencedDialog(context,resp.data.tips,resp.data.url) showSilencedDialog(context, resp.data.tips, resp.data.url)
} else { } else {
ToastUtil.toastShort(resp.msg) ToastUtil.toastShort(resp.msg)
} }
...@@ -297,7 +339,7 @@ object IMChatUtil { ...@@ -297,7 +339,7 @@ object IMChatUtil {
} }
handleError(context, throwable) handleError(context, throwable)
if (throwable is HttpException) { if (throwable is HttpException) {
upLoadLog("consult/get-expert",throwable.code(),throwable.message!!) upLoadLog("consult/get-expert", throwable.code(), throwable.message!!)
} }
} }
} }
...@@ -305,22 +347,33 @@ object IMChatUtil { ...@@ -305,22 +347,33 @@ object IMChatUtil {
//====================私聊页面 初始化操作==================== //====================私聊页面 初始化操作====================
/** /**
* 初始化在线状态接口 * 初始化在线状态接口
*
* 只有专家显示在线、离线标识,其他用户Type隐藏在线、离线标识
*/ */
fun initChatOnlineState(tb: TitleBarBottom, context: Context, toUid: String, messageFragment: YDLMessageFragment) { fun initChatOnlineState(
tb: TitleBarBottom,
context: Context,
toUid: String,
messageFragment: YDLMessageFragment
) {
val actionHandler = ActionHandlerStorage.getL(toUid) val actionHandler = ActionHandlerStorage.getL(toUid)
//获取私聊对方在线状态 //获取私聊对方在线状态
if (null != actionHandler) { if (null != actionHandler) {
val docInfo = actionHandler.info val docInfo = actionHandler.info
if (null != docInfo && ("14" == docInfo.toUid || "4108805" == docInfo.toUid)) { //小壹客服 不显示是否在线 docInfo.doctorBriefInfoFeedbackRate
if (null != docInfo && (ImConstants.KEFUXIAOYI == docInfo.toUid || "4108805" == docInfo.toUid)) { //小壹客服 不显示是否在线
tb.setmMinTitleVisiable(View.GONE) tb.setmMinTitleVisiable(View.GONE)
} else { } else {
//对方是用户,自己是助理 //对方是用户,自己是助理
if (actionHandler.userType == 1 && ModularServiceManager.provide(IUserService::class.java).getUserInfo()?.user_type == 3) { if (actionHandler.userType == 1 && ModularServiceManager.provide(IUserService::class.java)
.getUserInfo()?.user_type == 3
) {
tb.setTitleTextRightIcon(R.drawable.user_info_icon) { tb.setTitleTextRightIcon(R.drawable.user_info_icon) {
messageFragment.showUserInfoDialog() messageFragment.showUserInfoDialog()
} }
} }
if (actionHandler.userType == 2) { // 专家 if (actionHandler.userType == 2) { // 专家
tb.setmMinTitleVisiable(View.VISIBLE)
// 调取接口获取专家状态 // 调取接口获取专家状态
val dis = instance val dis = instance
.getDoctorChatStatus(actionHandler.info.toUid.toLong()) .getDoctorChatStatus(actionHandler.info.toUid.toLong())
...@@ -334,24 +387,60 @@ object IMChatUtil { ...@@ -334,24 +387,60 @@ object IMChatUtil {
//1.在线,2.离线,3.忙碌 4咨询中, 5倾述中 6咨询前准备 //1.在线,2.离线,3.忙碌 4咨询中, 5倾述中 6咨询前准备
if (status == 2) { //离线 if (status == 2) { //离线
tb.setMinTitleText("离线") tb.setMinTitleText("离线")
tb.setMinTitleColor(context.getResources().getColor(R.color.platform_color_666666)) tb.setMinTitleColor(
tb.setMinTitleDrawable(context.getResources().getDrawable(R.drawable.im_background_chat_top_status_off_line)) ContextCompat.getColor(
context,
R.color.platform_color_666666
)
)
tb.setMinTitleDrawable(
ContextCompat.getDrawable(
context,
R.drawable.im_background_chat_top_status_off_line
)
)
} else if (status == 4 || status == 5) { //服务中 } else if (status == 4 || status == 5) { //服务中
tb.setMinTitleText("服务中") tb.setMinTitleText("服务中")
tb.setMinTitleColor(context.getResources().getColor(R.color.platform_color_666666)) tb.setMinTitleColor(
tb.setMinTitleDrawable(context.getResources().getDrawable(R.drawable.im_background_chat_top_status_online_server)) ContextCompat.getColor(
context,
R.color.platform_color_666666
)
)
tb.setMinTitleDrawable(
ContextCompat.getDrawable(
context,
R.drawable.im_background_chat_top_status_online_server
)
)
} else { //在线 1,3,6.. } else { //在线 1,3,6..
tb.setMinTitleText("在线") tb.setMinTitleText("在线")
tb.setMinTitleColor(context.getResources().getColor(R.color.platform_color_666666)) tb.setMinTitleColor(
tb.setMinTitleDrawable(context.getResources().getDrawable(R.drawable.im_background_chat_top_status_online)) ContextCompat.getColor(
context,
R.color.platform_color_666666
)
)
tb.setMinTitleDrawable(
ContextCompat.getDrawable(
context,
R.drawable.im_background_chat_top_status_online
)
)
} }
initSystemMessage(chatStatusBean.data.promptRule,status,toUid,actionHandler) initSystemMessage(
chatStatusBean.data.promptRule,
status,
toUid,
actionHandler
)
} }
} }
) { throwable: Throwable -> ) { throwable: Throwable ->
LogUtil.i("getDoctorChatStatus throwable:$throwable") LogUtil.i("getDoctorChatStatus throwable:$throwable")
} }
} else if (actionHandler.userType == 3) { // 助理 } else if (actionHandler.userType == 3) { // 助理
tb.setmMinTitleVisiable(View.GONE)
// 调取接口获取助理状态 // 调取接口获取助理状态
instance.getAssistantChatStatus( instance.getAssistantChatStatus(
actionHandler.info.toUid.toLong() actionHandler.info.toUid.toLong()
...@@ -361,13 +450,13 @@ object IMChatUtil { ...@@ -361,13 +450,13 @@ object IMChatUtil {
.subscribe({ res: BaseAPIResponse<Int> -> .subscribe({ res: BaseAPIResponse<Int> ->
if (actionHandler != null) { if (actionHandler != null) {
if (res.data == 1) { //在线 if (res.data == 1) { //在线
tb.setMinTitleText("在线") /*tb.setMinTitleText("在线")
tb.setMinTitleColor(context.getResources().getColor(R.color.platform_color_666666)) tb.setMinTitleColor(context.resources.getColor(R.color.platform_color_666666))
tb.setMinTitleDrawable(context.getResources().getDrawable(R.drawable.im_background_chat_top_status_online)) tb.setMinTitleDrawable(context.resources.getDrawable(R.drawable.im_background_chat_top_status_online))*/
} else { //离线 } else { //离线
tb.setMinTitleText("离线") /* tb.setMinTitleText("离线")
tb.setMinTitleColor(context.getResources().getColor(R.color.platform_color_666666)) tb.setMinTitleColor(context.resources.getColor(R.color.platform_color_666666))
tb.setMinTitleDrawable(context.getResources().getDrawable(R.drawable.im_background_chat_top_status_off_line)) tb.setMinTitleDrawable(context.resources.getDrawable(R.drawable.im_background_chat_top_status_off_line))*/
} }
} }
} }
...@@ -381,7 +470,12 @@ object IMChatUtil { ...@@ -381,7 +470,12 @@ object IMChatUtil {
// promptRule 判断是否推荐专家 4,5直接不走文本提示和推荐逻辑,1,3不走推荐逻辑 // promptRule 判断是否推荐专家 4,5直接不走文本提示和推荐逻辑,1,3不走推荐逻辑
//初始化 根据专家在线状态来发送提示消息或者推荐消息 //初始化 根据专家在线状态来发送提示消息或者推荐消息
private fun initSystemMessage(promptRule: Int, status: Int, toUid: String, actionHandler: IP2PCustomActionHandler) { private fun initSystemMessage(
promptRule: Int,
status: Int,
toUid: String,
actionHandler: IP2PCustomActionHandler
) {
if (!(promptRule == 4 || promptRule == 5)) { if (!(promptRule == 4 || promptRule == 5)) {
val showExpertList = !(promptRule == 1 || promptRule == 3) val showExpertList = !(promptRule == 1 || promptRule == 3)
if (actionHandler.userType == 2 && status == 2) { //当该专家离线时 if (actionHandler.userType == 2 && status == 2) { //当该专家离线时
...@@ -396,8 +490,17 @@ object IMChatUtil { ...@@ -396,8 +490,17 @@ object IMChatUtil {
* 发送推荐专家列表 * 发送推荐专家列表
*/ */
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
fun sendRecommendExpertListMessage(type: Int, showExpertList: Boolean, toUid: String, actionHandler: IP2PCustomActionHandler) { // 调取接口获取推荐专家列表 fun sendRecommendExpertListMessage(
instance.getRecommendExpertList(actionHandler.info.toUid.toLong(), URLEncoder.encode(actionHandler.info.tag1), 3) type: Int,
showExpertList: Boolean,
toUid: String,
actionHandler: IP2PCustomActionHandler
) { // 调取接口获取推荐专家列表
instance.getRecommendExpertList(
actionHandler.info.toUid.toLong(),
URLEncoder.encode(actionHandler.info.tag1),
3
)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe({ res: BaseAPIResponse<ArrayList<RecommendExpertBean>> -> .subscribe({ res: BaseAPIResponse<ArrayList<RecommendExpertBean>> ->
......
...@@ -31,6 +31,7 @@ import com.yidianling.im.api.bean.IMSendCustomNotificationResultCallBack ...@@ -31,6 +31,7 @@ import com.yidianling.im.api.bean.IMSendCustomNotificationResultCallBack
import com.yidianling.im.api.service.IImService import com.yidianling.im.api.service.IImService
import com.yidianling.im.bridge.P2PCustomActionHandlerImpl import com.yidianling.im.bridge.P2PCustomActionHandlerImpl
import com.yidianling.im.config.NimApplication import com.yidianling.im.config.NimApplication
import com.yidianling.im.config.constants.ImConstants
import com.yidianling.im.helper.IMChatUtil import com.yidianling.im.helper.IMChatUtil
import com.yidianling.im.helper.LogoutHelper import com.yidianling.im.helper.LogoutHelper
import com.yidianling.im.helper.ImObserversHelper import com.yidianling.im.helper.ImObserversHelper
...@@ -73,7 +74,7 @@ class IMServiceImpl : IImService { ...@@ -73,7 +74,7 @@ class IMServiceImpl : IImService {
context.startActivity(ImIn.loginWayIntent(context)) context.startActivity(ImIn.loginWayIntent(context))
return return
} }
SessionHelper.startP2PSession(context, -1, "14", null, P2PCustomActionHandlerImpl("14", "客服小壹", "https://static.ydlcdn.com/mobile/images/avatar_girl_app.png")) SessionHelper.startP2PSession(context, -1, ImConstants.KEFUXIAOYI, null, P2PCustomActionHandlerImpl("14", "客服小壹", "https://static.ydlcdn.com/mobile/images/avatar_girl_app.png"))
} }
override fun imLogin(info: IMLoginInfo) { override fun imLogin(info: IMLoginInfo) {
......
...@@ -20,6 +20,7 @@ import com.yidianling.im.R ...@@ -20,6 +20,7 @@ import com.yidianling.im.R
import com.yidianling.im.api.event.ImLogoutEvent import com.yidianling.im.api.event.ImLogoutEvent
import com.yidianling.im.api.event.UpdateBottomBarUnreadNumEvent import com.yidianling.im.api.event.UpdateBottomBarUnreadNumEvent
import com.yidianling.im.bridge.P2PCustomActionHandlerImpl import com.yidianling.im.bridge.P2PCustomActionHandlerImpl
import com.yidianling.im.config.constants.ImConstants
import com.yidianling.im.event.MessageListRefreshEvent import com.yidianling.im.event.MessageListRefreshEvent
import com.yidianling.im.event.ReQureyUnreadNum import com.yidianling.im.event.ReQureyUnreadNum
import com.yidianling.im.event.UpdateTabUnreadNumEvent import com.yidianling.im.event.UpdateTabUnreadNumEvent
...@@ -295,8 +296,8 @@ class NewMultiMessageFragment : BaseFragment() { ...@@ -295,8 +296,8 @@ class NewMultiMessageFragment : BaseFragment() {
private fun initKefu() { private fun initKefu() {
ll_kefu.setOnClickListener { ll_kefu.setOnClickListener {
if (ImIn.isLogin()) { if (ImIn.isLogin()) {
SessionHelper.startP2PSession(context, -1, "14", null, SessionHelper.startP2PSession(context, -1, ImConstants.KEFUXIAOYI, null,
P2PCustomActionHandlerImpl("14", "客服小壹", "14")) P2PCustomActionHandlerImpl(ImConstants.KEFUXIAOYI, "客服小壹", ImConstants.KEFUXIAOYI))
} else { } else {
ToastUtil.toastShort("请登录后再试") ToastUtil.toastShort("请登录后再试")
} }
......
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