// import 'dart:io'; class BytedeskConstants { // // 默认工作组: 201807171659201 // 机器人: 201809061716221 // 良师官方客服:201808101819291 // aid = 201808221551193 // // TODO: 增加自定义服务器地址接口 // 公司debug // static const bool isDebug = true; // static const bool isSecure = false; // static const bool isWebSocketWss = false; // static const String webSocketWssUrl = 'wss://www.bytedesk.com/websocket'; // static const String httpBaseUrl = 'http://' + mqttHost + ':8000'; // static const String httpBaseUrlAndroid = 'http://' + mqttHost + ':8000'; // static const String httpBaseUrliOS = 'http://' + mqttHost + ':8000'; // static const String httpUploadUrl = 'http://' + mqttHost + ':8000'; // static const String host = mqttHost + ':8000'; // static const int mqttPort = 3883; // not secure // static const String mqttHost = '172.16.0.3'; // 本机测试 // static const bool isDebug = true; // static const bool isSecure = false; // static const bool isWebSocketWss = false; // static const String webSocketWssUrl = 'wss://www.bytedesk.com/websocket'; // static const int mqttPort = 3883; // not secure // static const String httpBaseUrl = 'http://' + mqttHost + ':8000'; // static const String httpBaseUrlAndroid = 'http://' + mqttHost + ':8000'; // static const String httpBaseUrliOS = 'http://' + mqttHost + ':8000'; // static const String httpUploadUrl = 'http://' + mqttHost + ':8000'; // static const String host = mqttHost + ':8000'; // static const String mqttHost = '127.0.0.1'; // static const String mqttHost = '10.0.2.2'; // 安卓模拟器 // 家 // static const bool isDebug = true; // static const bool isSecure = false; // static const bool isWebSocketWss = false; // static const String webSocketWssUrl = 'wss://flutter.bytedesk.com/websocket'; // static const int mqttPort = 3883; // not secure // static const String httpBaseUrl = 'http://' + mqttHost + ':8000'; // static const String httpBaseUrlAndroid = 'http://' + mqttHost + ':8000'; // static const String httpBaseUrliOS = 'http://' + mqttHost + ':8000'; // static const String httpUploadUrl = 'http://' + mqttHost + ':8000'; // static const String host = mqttHost + ':8000'; // static const String mqttHost = '192.168.0.102'; // 线上 static const bool isDebug = false; // false; static const bool isSecure = true; // secure static const bool isWebSocketWss = true; static const String webSocketWssUrl = 'wss://' + mqttHost + '/websocket'; static const int mqttPort = 13883; // secure static const String httpBaseUrl = 'https://' + mqttHost; static const String httpBaseUrlAndroid = 'https://' + mqttHost; static const String httpBaseUrliOS = 'https://' + mqttHost; static const String httpUploadUrl = 'https://upload.bytedesk.com'; static const String host = mqttHost; static const String mqttHost = 'flutter.bytedesk.com'; // static const String WORKGROUP_WID_LIANGSHIBAO = '201808101819291'; static const String CHAT_TYPE_WORKGROUP = 'workGroup'; static const String CHAT_TYPE_APPOINTED = 'appointed'; static const String exist = 'bytedesk_exist'; static const String code = 'bytedesk_code'; // 含是否匿名登录 static const String isLogin = 'bytedesk_isLogin'; // 此用户是否绑定手机号 static const String isAuthenticated = 'bytedesk_isAuthenticated'; static const String isCurrentChatKfPage = 'bytedesk_isCurrentChatKfPage'; static const String isExitLogin = 'bytedesk_isExitLogin'; // static const String accessToken = 'bytedesk_accessToken'; static const String refreshToken = 'bytedesk_refreshToken'; // static const String user = 'bytedesk_user'; static const String uid = 'bytedesk_uid'; static const String username = 'bytedesk_username'; static const String password = 'bytedesk_password'; static const String nickname = 'bytedesk_nickname'; static const String avatar = 'bytedesk_avatar'; static const String description = 'bytedesk_description'; static const String sex = 'bytedesk_sex'; static const String location = 'bytedesk_location'; static const String birthday = 'bytedesk_birthday'; static const String subDomain = 'bytedesk_subDomain'; static const String role = 'bytedesk_role'; static const String mobile = 'bytedesk_mobile'; static const String unionid = 'bytedesk_unionid'; static const String openid = 'bytedesk_openid'; // rest client // static const String client = 'flutter'; // static const String clientSchool = 'flutter_school'; // static const String latitude = 'latitude'; static const String longtitude = 'longtitude'; // static const String build = 'release'; // static const String PLAY_AUDIO_ON_SEND_MESSAGE = 'playAudioOnSendMessage'; static const String PLAY_AUDIO_ON_RECEIVE_MESSAGE = 'playAudioOnReceiveMessage'; static const String VIBRATE_ON_RECEIVE_MESSAGE = 'vibrateOnReceiveMessage'; // static const String DEFAULT_AVATA = "https://chainsnow.oss-cn-shenzhen.aliyuncs.com/avatars/admin_default_avatar.png"; static const String VIDEO_PLAY = "https://bytedesk.oss-cn-shenzhen.aliyuncs.com/images/video_play.png"; // 连接中 static const String USER_STATUS_CONNECTING = "connecting"; // 跟服务器建立长连接 static const String USER_STATUS_CONNECTED = "connected"; // 断开长连接 static const String USER_STATUS_DISCONNECTED = "disconnected"; // // 访客 static const String ROLE_VISITOR = "ROLE_VISITOR"; // 注册管理员:注册用户默认角色 static const String ROLE_ADMIN = "ROLE_ADMIN"; // // 文本消息类型 static const String MESSAGE_TYPE_TEXT = 'text'; // 图片消息类型 static const String MESSAGE_TYPE_IMAGE = 'image'; // 文件消息类型 static const String MESSAGE_TYPE_FILE = 'file'; // 语音消息类型 static const String MESSAGE_TYPE_VOICE = 'voice'; // 视频消息类型 static const String MESSAGE_TYPE_VIDEO = 'video'; // 自定义消息类型 static const String MESSAGE_TYPE_CUSTOM = 'custom'; // 红包 static const String MESSAGE_TYPE_RED_PACKET = 'red_packet'; // 商品 static const String MESSAGE_TYPE_COMMODITY = 'commodity'; // 短视频消息类型 static const String MESSAGE_TYPE_SHORT_VIDEO = 'shortvideo'; // 位置消息类型 static const String MESSAGE_TYPE_LOCATION = 'location'; // 链接消息类型 static const String MESSAGE_TYPE_LINK = 'link'; // 事件消息类型 static const String MESSAGE_TYPE_EVENT = 'event'; // 机器人 自动回复 static const String MESSAGE_TYPE_ROBOT = 'robot'; // static const String MESSAGE_TYPE_ROBOT_V2 = 'robotv2'; // static const String MESSAGE_TYPE_ROBOT_RESULT = 'robot_result'; // 问卷 static const String MESSAGE_TYPE_QUESTIONNAIRE = 'questionnaire'; // 分公司,方便提取分公司所包含的国家,金吉列大学长 static const String MESSAGE_TYPE_COMPANY = 'company'; // 选择工作组 static const String MESSAGE_TYPE_WORK_GROUP = 'workGroup'; // 通知消息类型 static const String MESSAGE_TYPE_NOTIFICATION = 'notification'; // 非工作时间 static const String MESSAGE_TYPE_NOTIFICATION_NON_WORKING_TIME = 'notification_non_working_time'; // 客服离线,当前无客服在线 static const String MESSAGE_TYPE_NOTIFICATION_OFFLINE = 'notification_offline'; // 访客开始网页浏览 static const String MESSAGE_TYPE_NOTIFICATION_BROWSE_START = 'notification_browse_start'; // 访客关闭网页 static const String MESSAGE_TYPE_NOTIFICATION_BROWSE_END = 'notification_browse_end'; // 邀请访客 static const String MESSAGE_TYPE_NOTIFICATION_BROWSE_INVITE = 'notification_browse_invite'; // 访客接受邀请 static const String MESSAGE_TYPE_NOTIFICATION_BROWSE_INVITE_ACCEPT = 'notification_browse_invite_accept'; // 访客拒绝邀请 static const String MESSAGE_TYPE_NOTIFICATION_BROWSE_INVITE_REJECT = 'notification_browse_invite_reject'; // 新会话thread static const String MESSAGE_TYPE_NOTIFICATION_THREAD = 'notification_thread'; // 重新进入会话 static const String MESSAGE_TYPE_NOTIFICATION_THREAD_REENTRY = 'notification_thread_reentry'; // 新建工单 static const String MESSAGE_TYPE_NOTIFICATION_TICKET = 'notification_ticket'; // 意见反馈 static const String MESSAGE_TYPE_NOTIFICATION_FEEDBACK = 'notification_feedback'; // 排队通知类型 static const String MESSAGE_TYPE_NOTIFICATION_QUEUE = 'notification_queue'; // 排队中离开 static const String MESSAGE_TYPE_NOTIFICATION_QUEUE_LEAVE = 'notification_queue_leave'; // 接入队列访客 static const String MESSAGE_TYPE_NOTIFICATION_QUEUE_ACCEPT = 'notification_queue_accept'; // 忽略队列访客 static const String MESSAGE_TYPE_NOTIFICATION_QUEUE_IGNORE = "notification_queue_ignore"; // 超时队列访客 static const String MESSAGE_TYPE_NOTIFICATION_QUEUE_TIMEOUT = "notification_queue_timeout"; // 自动接入会话 static const String MESSAGE_TYPE_NOTIFICATION_ACCEPT_AUTO = 'notification_accept_auto'; // 手动接入 static const String MESSAGE_TYPE_NOTIFICATION_ACCEPT_MANUAL = 'notification_accept_manual'; // 上线 static const String MESSAGE_TYPE_NOTIFICATION_CONNECT = 'notification_connect'; // 离线 static const String MESSAGE_TYPE_NOTIFICATION_DISCONNECT = 'notification_disconnect'; // 离开会话页面 static const String MESSAGE_TYPE_NOTIFICATION_LEAVE = 'notification_leave'; // 客服关闭会话 static const String MESSAGE_TYPE_NOTIFICATION_AGENT_CLOSE = 'notification_agent_close'; // 访客关闭会话 static const String MESSAGE_TYPE_NOTIFICATION_VISITOR_CLOSE = 'notification_visitor_close'; // 自动关闭会话 static const String MESSAGE_TYPE_NOTIFICATION_AUTO_CLOSE = 'notification_auto_close'; // 邀请评价 static const String MESSAGE_TYPE_NOTIFICATION_INVITE_RATE = 'notification_invite_rate'; // 评价结果 static const String MESSAGE_TYPE_NOTIFICATION_RATE_RESULT = 'notification_rate_result'; // 邀请会话 static const String MESSAGE_TYPE_NOTIFICATION_INVITE = 'notification_invite'; // 接受邀请 static const String MESSAGE_TYPE_NOTIFICATION_INVITE_ACCEPT = 'notification_invite_accept'; // 拒绝邀请 static const String MESSAGE_TYPE_NOTIFICATION_INVITE_REJECT = 'notification_invite_reject'; // 转接会话 static const String MESSAGE_TYPE_NOTIFICATION_TRANSFER = 'notification_transfer'; // 接受转接 static const String MESSAGE_TYPE_NOTIFICATION_TRANSFER_ACCEPT = 'notification_transfer_accept'; // 拒绝转接 static const String MESSAGE_TYPE_NOTIFICATION_TRANSFER_REJECT = 'notification_transfer_reject'; // 满意度请求 static const String MESSAGE_TYPE_NOTIFICATION_RATE_REQUEST = 'notification_rate_request'; // 评价 static const String MESSAGE_TYPE_NOTIFICATION_RATE = 'notification_rate'; // 连接状态 static const String MESSAGE_TYPE_NOTIFICATION_CONNECTION_STATUS = 'notification_connection_status'; // 接待状态 static const String MESSAGE_TYPE_NOTIFICATION_ACCEPT_STATUS = 'notification_accept_status'; // 消息预知 static const String MESSAGE_TYPE_NOTIFICATION_PREVIEW = 'notification_preview'; // 消息撤回 static const String MESSAGE_TYPE_NOTIFICATION_RECALL = 'notification_recall'; // 浏览 static const String MESSAGE_TYPE_NOTIFICATION_BROWSE = 'notification_browse'; // 非会话类消息通知 static const String MESSAGE_TYPE_NOTIFICATION_NOTICE = 'notification_notice'; // 频道通知 static const String MESSAGE_TYPE_NOTIFICATION_CHANNEL = 'notification_channel'; // 消息回执 static const String MESSAGE_TYPE_NOTIFICATION_RECEIPT = 'notification_receipt'; // 踢掉其他客户端 static const String MESSAGE_TYPE_NOTIFICATION_KICKOFF = 'notification_kickoff'; // 发送表单请求 static const String MESSAGE_TYPE_NOTIFICATION_FORM = 'notification_form'; // 表单内嵌类型 static const String MESSAGE_TYPE_NOTIFICATION_FORM_REQUEST = "notification_form_request"; static const String MESSAGE_TYPE_NOTIFICATION_FORM_RESULT = "notification_form_result"; // 通知初始化localStream // static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_INVITE = 'notification_webrtc_invite' static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_INVITE_VIDEO = 'notification_webrtc_invite_video'; static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_INVITE_AUDIO = 'notification_webrtc_invite_audio'; // webrtc取消邀请 static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_CANCEL = 'notification_webrtc_cancel'; // webrtc邀请视频会话 static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_OFFER_VIDEO = 'notification_webrtc_offer_video'; // webrtc邀请音频会话 static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_OFFER_AUDIO = 'notification_webrtc_offer_audio'; // 接受webrtc邀请 static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_ANSWER = 'notification_webrtc_answer'; // webrtccandidate信息 static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_CANDIDATE = 'notification_webrtc_candidate'; // 接受webrtc邀请 static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_ACCEPT = 'notification_webrtc_accept'; // 拒绝webrtc邀请 static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_REJECT = 'notification_webrtc_reject'; // 被邀请方视频设备 + peeConnection已经就绪 static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_READY = 'notification_webrtc_ready'; // webrtc忙线 static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_BUSY = 'notification_webrtc_busy'; // 结束webrtc会话 static const String MESSAGE_TYPE_NOTIFICATION_WEBRTC_CLOSE = 'notification_webrtc_close'; // 创建群组 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_CREATE = 'notification_group_create'; // 更新群名称、简介等 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_UPDATE = 'notification_group_update'; // 群公告 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_ANNOUNCEMENT = 'notification_group_announcement'; // 邀请多人加入群 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_INVITE = 'notification_group_invite'; // 受邀请:同意 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_INVITE_ACCEPT = 'notification_group_invite_accept'; // 受邀请:拒绝 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_INVITE_REJECT = 'notification_group_invite_reject'; // 不需要审核加入群组 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_JOIN = 'notification_group_join'; // 主动申请加入群组 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_APPLY = 'notification_group_apply'; // 同意:主动申请加群 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_APPLY_APPROVE = 'notification_group_apply_approve'; // 拒绝:主动申请加群 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_APPLY_DENY = 'notification_group_apply_deny'; // 踢人 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_KICK = 'notification_group_kick'; // 禁言 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_MUTE = 'notification_group_mute'; // 移交群组 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_TRANSFER = 'notification_group_transfer'; // 移交群组:同意、接受 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_TRANSFER_ACCEPT = 'notification_group_transfer_accept'; // 移交群组:拒绝 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_TRANSFER_REJECT = 'notification_group_transfer_reject'; // 退出群组 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_WITHDRAW = 'notification_group_withdraw'; // 解散群组 static const String MESSAGE_TYPE_NOTIFICATION_GROUP_DISMISS = 'notification_group_dismiss'; // 消息发送状态: // 1. 发送中 static const String MESSAGE_STATUS_SENDING = "sending"; // 2. 已经存储到服务器 static const String MESSAGE_STATUS_STORED = "stored"; // 3. 对方已收到 static const String MESSAGE_STATUS_RECEIVED = "received"; // 4. 对方已读 static const String MESSAGE_STATUS_READ = "read"; // 5. 发送错误 static const String MESSAGE_STATUS_ERROR = "error"; // 6. 阅后即焚已销毁 static const String MESSAGE_STATUS_DESTROYED = "destroyed"; // 7. 消息撤回 static const String MESSAGE_STATUS_RECALL = "recall"; // 工作组请求会话 static const String THREAD_REQUEST_TYPE_WORK_GROUP = "workGroup"; // 指定客服会话 static const String THREAD_REQUEST_TYPE_APPOINTED = "appointed"; // 会话类型: 工作组会话、访客跟客服一对一 // THREAD_TYPE_THREAD 修改为 workGroup,并同步修改 安卓+iOS+web static const String THREAD_TYPE_WORKGROUP = "workgroup"; static const String THREAD_TYPE_APPOINTED = "appointed"; static const String THREAD_TYPE_CONTACT = "contact"; static const String THREAD_TYPE_GROUP = "group"; static const String THREAD_TYPE_ROBOT = "robot"; static const String THREAD_TYPE_LEAVEMSG = "leavemsg"; static const String THREAD_TYPE_FEEDBACK = "feedback"; // 渠道会话 static const String THREAD_TYPE_CHANNEL = "channel"; // 机器人转人工 static const String THREAD_TYPE_ROBOT_TO_AGENT = "robot_to_agent"; // 工单 static const String THREAD_TYPE_TICKET_WORKGROUP = "ticket_workgroup"; static const String THREAD_TYPE_TICKET_APPOINTED = "ticket_appointed"; // 访客会话、同事一对一、群组会话 static const String MESSAGE_SESSION_TYPE_WORKGROUP = THREAD_TYPE_WORKGROUP; static const String MESSAGE_SESSION_TYPE_APPOINTED = THREAD_TYPE_APPOINTED; static const String MESSAGE_SESSION_TYPE_CONTACT = THREAD_TYPE_CONTACT; static const String MESSAGE_SESSION_TYPE_GROUP = THREAD_TYPE_GROUP; static const String MESSAGE_SESSION_TYPE_ROBOT = THREAD_TYPE_ROBOT; static const String MESSAGE_SESSION_TYPE_LEAVEMSG = THREAD_TYPE_LEAVEMSG; static const String MESSAGE_SESSION_TYPE_FEEDBACK = THREAD_TYPE_FEEDBACK; static const String MESSAGE_SESSION_TYPE_ROBOT_TO_AGENT = THREAD_TYPE_ROBOT_TO_AGENT; // static const String MESSAGE_SESSION_TYPE_TICKET_WORKGROUP = THREAD_TYPE_TICKET_WORKGROUP; static const String MESSAGE_SESSION_TYPE_TICKET_APPOINTED = THREAD_TYPE_TICKET_APPOINTED; // 会话关闭类型:客服关闭、访客关闭、超时自动关闭、非工作时间关闭、客服离线无效会话关闭 static const String THREAD_CLOSE_TYPE_AGENT = "agent"; static const String THREAD_CLOSE_TYPE_VISITOR = "visitor"; static const String THREAD_CLOSE_TYPE_TIMEOUT = "timeout"; static const String THREAD_CLOSE_TYPE_NON_WORKING_TIME = "non_working_time"; static const String THREAD_CLOSE_TYPE_OFFLINE = "offline"; static const String THREAD_CLOSE_TYPE_ROBOT_TO_AGENT = "robot_to_agent"; static const String THREAD_CLOSE_TYPE_TICKET_IGNORE = "ticket_ignore"; static const String THREAD_CLOSE_TYPE_TICKET_DONE = "ticket_done"; }