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

3 years ago
// 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.78';
3 years ago
// 本机测试
// 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 mqttHost = '127.0.0.1';
// static const String host = mqttHost + ':8000';
// 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';
3 years ago
// static const String mqttHost = '192.168.0.102';
3 years ago
// 线上
static const bool isDebug = false; // false;
static const bool isSecure = true; // secure
static const bool isWebSocketWss = true;
static const String webSocketWssUrl = 'wss://flutter.bytedesk.com/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';
3 years ago
3 years ago
//
3 years ago
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';
3 years ago
static const String password = 'bytedesk_password';
3 years ago
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';
3 years ago
//
static const String MESSAGE_TYPE_ROBOT_V2 = 'robotv2';
//
static const String MESSAGE_TYPE_ROBOT_RESULT = 'robot_result';
3 years ago
// 问卷
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';
3 years ago
// 表单内嵌类型
static const String MESSAGE_TYPE_NOTIFICATION_FORM_REQUEST = "notification_form_request";
static const String MESSAGE_TYPE_NOTIFICATION_FORM_RESULT = "notification_form_result";
3 years ago
// 通知初始化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";
}