融云发送不显示缩略图解决方法

部分安卓手机在使用融云打包正式版后,发送图片不显示缩略图,解决方法如下:

1. 发送本地图片,rong.sendImageMessage的prepare,此时使用本地默认图片
2. 发送中,显示图片发送百分比,利用监听
3. 发送成功后,rong.getHistoryMessages 获取历史记录,参数:oldestMessageId : -1,count : 1
4. 根据返回值替换之前的默认图片src

/**
* 发送图片消息
* 周枫
* 2015.08.11
* @param {Object} sendMsg
*/
function sendPicture(p_c, target_id, img_url, extra, conversationType, callback) {
        //        $api.rmStorage(‘send_img_attrs‘);
        //        api.alert({
        //                msg : JSON.stringify(img_attrs)
        //        }, function(ret, err) {
        //                //coding...
        //        });
        rong.sendImageMessage({
                conversationType : conversationType,
                targetId : target_id,
                imagePath : img_url,
                extra : extra
        }, function(ret, err) {
                if (ret.status == ‘prepare‘) {

var img_cache = ret.result.message.content.imageUrl;
//                        imageCache(img_cache, ‘‘, function(native_path) {
                                //单聊准备发送,向会话页面发送正在发送消息事件
                                api.sendEvent({
                                        name : ‘insertSendMessage‘,
                                        extra : {
                                                data : ret.result,
                                                img_url : img_cache
                                        }
                                })
                                //清除未读信息
                                //                                cleanMsg(ret.result.message.targetId, conversationType);
                                ret.result.message.content.nativePath = img_cache;
                                //存入会话数据库
                                sendMessageToDb(ret.result.message);
                               
//                        });
                } else if (ret.status == ‘progress‘) {
                        //                        console.log(‘jindu:‘+ret.result.progress);
                                                var msg_id = ret.result.message.messageId;
                                                var msg_pro = ret.result.progress;
                        //                        api.execScript({
                        //                                name : ‘hh_chat_window‘,
                        //                                frameName : ‘hh_chat_frame‘,
                        //                    script: ‘setSendProgress(‘+msg_id+‘,‘+msg_pro+‘);‘
                        //          });
                                                api.sendEvent({
                                                                name : ‘sednImgPropress‘,
                                                                extra : {
                                                                        msg_id : msg_id,
                                                                        msg_pro : msg_pro
                                                                }
                                                        })
                        //
                } else if (ret.status == ‘success‘) {
                        var msg_id = ret.result.message.messageId;
                        getPicHttpPathByRongHis(msg_id, conversationType, target_id, function(is_true, data){
                                if(is_true) {
                                       
                                        var native_path = data[0].content.imageUrl;

api.execScript({
                                                name : ‘hh_chat_window‘,
                                                frameName : ‘hh_chat_frame‘,
                                                script : ‘removeload(‘ + msg_id + ‘,\‘‘+ native_path +‘\‘);‘
                                        });
                                        setTimeout(function(){
                                                //                        修改会话发送状态
                                                updateMsgsentImgStatusToDb(msg_id, target_id, ‘SENT‘, native_path);
                                        }, 300);
//                                       
                                        callback(true);
                                } else {
                                        api.toast({
                            msg:data
                    });
                    callback(false);
                                }
                        });
                       
                       
                       
                } else if (ret.status == ‘error‘) {
                        var err_code = err.code;
                        switch(err_code) {
                                case 30014:
                                        //                                        openNoticeLogout(‘服务器不可用,请检查网络状况后重新登录‘);
                                        api.toast({
                                                msg : ‘对不起,信息发送失败,请重新连接网络后再次发送‘
                                        });
                                        //                                        api.alert({
                                        //                                                msg : ‘对不起,图片发送失败‘
                                        //                                        });
                                        break;
                                case 30003:
                                        api.toast({
                                                msg : ‘对不起,信息发送失败,请重新连接网络后再次发送‘
                                        });
                                        //                                        api.alert({
                                        //                                                msg : ‘对不起,图片发送失败,服务器超时‘
                                        //                                        });
                                        break;
                                case 31009:
                                        api.toast({
                                                msg : ‘对不起,图片发送失败,您在对方黑名单中‘
                                        });
                                        //                                        api.alert({
                                        //                                                msg : ‘对不起,图片发送失败,您在对方黑名单中‘
                                        //                                        });
                                        break;
                                case -10000:
                                        api.toast({
                                                msg : ‘对不起,信息发送失败,请重新连接网络后再次发送‘
                                        });
                                        //                                        api.alert({
                                        //                                                msg : ‘对不起,图片发送失败,未调用 init 方法进行初始化‘
                                        //                                        });
                                        break;
                                case -10001:
                                        api.toast({
                                                msg : ‘对不起,信息发送失败,请重新连接网络后再次发送‘
                                        });
                                        //                                        api.alert({
                                        //                                                msg : ‘对不起,图片发送失败,未调用 connect 方法进行连接‘
                                        //                                        });
                                        break;
                                case -10002:
                                        api.toast({
                                                msg : ‘对不起,信息发送失败,请重新连接网络后再次发送‘
                                        });
                                        //                                        api.alert({
                                        //                                                msg : ‘对不起,图片发送失败,输入参数错误‘
                                        //                                        });
                                        break;
                                case 22406:
                                        api.alert({
                                                msg : ‘对不起,当前群组已经解散‘
                                        }, function(ret, err) {
                                                api.execScript({
                                                        name : ‘hh_chat_window‘,
                                                        frameName : ‘hh_chat_frame‘,
                                                        script : ‘closeUiChatBox();‘
                                                });
                                        });

break;
                                default :
                                        api.toast({
                                                msg : ‘对不起,信息发送失败,请重新连接网络后再次发送‘
                                        });
                                        break;
                        }
                        var msg_id = ret.result.message.messageId;
                        //修改会话发送状态
                        setTimeout(function() {
                                updateMsgsentStatusToDb(msg_id, targetId, ‘FAILED‘);
                        }, 300);
                }
        });
}

function getPicHttpPathByRongHis(msg_id, conver_type, target_id, callback) {
        rong.getHistoryMessages({
                conversationType : conver_type,
                targetId : target_id,
                oldestMessageId : -1,
                count : 1
        }, function(ret, err) {
                if(ret.status == ‘success‘) {
                        callback(true, ret.result);
                } else {
                        callback(false, ‘发送图片信息失败,请重新发送‘);
                }
        })
}

/**
* 清除正在发送图标
* 周枫
* 2015.12.10
* @param {Object} msg_id
*/
function removeload(msg_id, native_path) {
        var load = $api.byId(‘status_‘ + msg_id);
        $api.remove(load);
        if(native_path != ‘‘) {
                var img_pic = document.getElementById(‘send_img_‘ + msg_id);
                img_pic.src = native_path;
        }

}

时间: 2024-10-11 10:14:38

融云发送不显示缩略图解决方法的相关文章

python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法?

python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法: 原因:因为jenkins是用windows installer 安装成 windows的服务了,那么jenkins是计算机服务理的一个后台服务,所以跑cases 的时候不显示浏览器 解决办法:1.我们需要关掉jenkins后台服务,让他从cmd(dos窗口)启动,类似于tomcat的手动启动下面的方法适合不用tomcat的同学(注意,用也可以配置好Tomcat放在webapp下启

thinkphp内置截取字符串函数无法显示省略号解决方法

thinkphp内置截取字符串函数无法显示省略号解决方法 functions.php function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){ if(function_exists("mb_substr")) {      if($suffix)    {         if($str==mb_substr($str, $start, $length, $charset))

采集百度搜寻结果,图片不显示的解决方法

1.根据关键字采集百度搜寻结果 根据关键字采集百度搜寻结果,可以使用curl实现,代码如下: <?php function doCurl($url, $data=array(), $header=array(), $timeout=30){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_R

c#写入Mysql中文显示乱码 解决方法 z

mysql字符集utf8,c#写入中文后,全部显示成?,一个汉字对应一个? 解决方法:在数据库连接字符串中增加字符集的说明,Charset=utf8,如 MySQLConnection con = new MySQLConnection("server=127.0.0.1;uid=root;pwd=;database=test;Charset=utf8"); 搞定 c#写入Mysql中文显示乱码 解决方法 z,布布扣,bubuko.com

【cocos2dx】rapidjson使用方法以及中文显示的解决方法【续】

上一个博客讲了怎么用rapidjson读取中文字符串,但是有一个很明显的缺陷 就是不能直接读取数据编辑器导出的数据.下面我们来修复这个bug并且将代码精简到不到原来的一半大小. 上一博客的地址是:[cocos2dx]rapidjson使用方法以及中文显示的解决方法 不多说 直接上源码吧: 首先,数据编辑器导出的格式是: [{"id":1,"content":"再次按下返回键退出游戏"},{"id":2,"conten

QTP录制后弹出框一个或多个ActiveX控件无法显示的解决方法

制一段脚本代码,在专家视图窗口中编辑录制的脚本代码时,会碰到弹出一个对话窗口,提示为"当前安全设置禁止运行该页中的ActiveX 控件,因此,该页可能无法正常显示"类似的东西,而在人工操作时却没有这样的现象.(如图) 问题主要出在于QTP设置本身,之所以在编辑录制好的脚本时,QTP出现关于Active的对话提示窗口,问题在于QTP的设置,要消除该提示窗口.应对QTP作如下设置:toos–options–Active Screen–Advanced–点选Load ActiveX cont

div css每行文字显示一半 同时文字字体重叠显示不全解决方法

CSS DIV布局中出现单行或多行文字的每行文字内容不能显示全,上下行文字有一点点重叠现象,文字字体只显示一半解决方法,在低版本IE特别明显文字字体显示不全,在谷歌浏览器等高版本IE浏览器测试还好些. 新手布局时候特别爱出现DIV盒子里文字字体显示不完整,音乐沙发甚至上下行文字有一点重叠现象. css字体文字重叠显示不完整重叠字体字体文字重叠显示不完整同时有重叠重合效果截图 在DIV+CSS布局中造成这种字体显示不全,音乐沙发显示一半同时多行文字有一点点重叠情况原因:css行高小于CSS字体大小

dedecms织梦系统后台验证码图片不显示的解决方法

网站迁移后,dedecms织梦系统后台验证码图片不显示的解决方法通用解决方案-取消后台验证码功能因为没有验证码,不能进后台,所以修改php文件源代码:方法一:打开dede/login.php 找到如下代码    if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){        ResetVdValue();        ShowMsg('验证码不正确!','logi

ASP页面显示乱码解决方法/ASP设置编码

ASP页面显示乱码解决方法/ASP设置编码(转) 如果你发现浏览页面的时候出现乱码.你可以尝试一下步骤: 确保你页面本身编码格式正确:例如test.asp中使用charset=utf-8,那么请先确保这个文件本身就是Utf-8编码的.你可以利用记事本 进行转换.同样如果使用charset=GBK,请先确保这个文件本身就是GBK编码的. 确认你得到的原数据(例如从数据库中得到的数据)编码方式与页面编码方式一至. 尝试指定IIS按什么编码读取. <%@ codepage=65001%>UTF-8