123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- (function($, feedback, window, document) {
- /*************** 环信配置开始 ****************/
- //以后信息更改后,需卸载 “调试 app” 重新调用运行
- var APP_KEY = 'dcloudio#mui';
- var CUSTOM_ID = 'customer';
- /*************** 环信配置结束 ****************/
- //一组 “常量”
- var PASSWORD = 'pass01!';
- var LOCAL_STORE_KEY = 'mui://user';
- var USER_PREFIX = 'mui-user-';
- /**
- * 生成一个 IM 用户名
- **/
- var createUsername = function() {
- return USER_PREFIX + (new Date()).getTime();
- };
- /**
- * 获取用户,如果在本地存储中已有用户则直接返回。
- * 否则,注册新的用户
- **/
- feedback.getUser = function(callback) {
- var storeUserText = localStorage.getItem(LOCAL_STORE_KEY);
- if (storeUserText) {
- if (callback) callback(JSON.parse(storeUserText));
- return;
- }
- var newUsername = createUsername();
- Easemob.im.Helper.registerUser({
- username: newUsername,
- password: PASSWORD,
- appKey: APP_KEY,
- success: function(result) {
- var userInfo = {
- username: newUsername,
- password: PASSWORD
- };
- localStorage.setItem(LOCAL_STORE_KEY, JSON.stringify(userInfo));
- if (callback) callback(userInfo);
- },
- error: function(e) {
- plus.nativeUI.toast(e.message);
- }
- });
- };
- /**
- * 登录环信息服务器
- **/
- feedback.login = function(callback) {
- feedback.getUser(function(user) {
- var conn = new Easemob.im.Connection();
- conn.init({
- onOpened: function() {
- //alert("成功登录");
- conn.setPresence();
- if (callback) callback(user, conn);
- }
- });
- conn.open({
- user: user.username,
- pwd: user.password,
- appKey: APP_KEY
- });
- });
- };
- /**
- * 发送反馈信息
- **/
- feedback.send = function(content, callback) {
- feedback.login(function(user, conn) {
- //发送文本消息
- var msgText = '问题:' + content.question;
- if (content.contact) {
- msgText += '; 联系方式:' + content.contact + ';'
- }
- conn.sendTextMessage({
- to: CUSTOM_ID,
- msg: msgText,
- type: "chat"
- });
- //如果没有截图
- if (!content.images || content.images.length < 1) {
- if (callback) callback();
- return;
- }
- //如果有截图
- var sendImageCount = 0;
- var hasError = false;
- content.images.forEach(function(fileInputId) {
- //alert(fileInputId)
- conn.sendPicture({
- fileInputId: fileInputId,
- to: CUSTOM_ID,
- onFileUploadError: function(error) {
- //处理图片上传失败
- alert(JSON.stringify(error));
- hasError = true;
- },
- onFileUploadComplete: function(data) {
- //处理图片上传成功,如本地消息显示
- sendImageCount++;
- if (!hasError && sendImageCount >= content.images.length) {
- if (callback) callback();
- }
- }
- });
- });
- //--
- });
- };
- })(mui, window.feedback = {}, window, document);
|