You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

441 lines
19 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// 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.104';
// 线上
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";
}