
function selectFileImage(val, fileObj) {
    var file = fileObj.files['0'];
    //图片方向角 added by lzk  
    var Orientation = null;

    if (file) {
        console.log("正在上传,请稍后...");
        var rFilter = /^(image\/jpeg|image\/png)$/i; // 检查图片格式  
        if (!rFilter.test(file.type)) {
            //showMyTips("请选择jpeg、png格式的图片", false);  
            return;
        }
        // var URL = URL || webkitURL;  
        //获取照片方向角属性，用户旋转控制  
        EXIF.getData(file, function () {
            // alert(EXIF.pretty(this));  
            EXIF.getAllTags(this);
            //alert(EXIF.getTag(this, 'Orientation'));   
            Orientation = EXIF.getTag(this, 'Orientation');
            //return;  
        });

        var oReader = new FileReader();
        oReader.onload = function (e) {
            //var blob = URL.createObjectURL(file);  
            //_compress(blob, file, basePath);  
            var image = new Image();
            image.src = e.target.result;
            image.onload = function () {
                var expectWidth = this.naturalWidth;
                var expectHeight = this.naturalHeight;

                if (this.naturalWidth > this.naturalHeight && this.naturalWidth > 800) {
                    expectWidth = 800;
                    expectHeight = expectWidth * this.naturalHeight / this.naturalWidth;
                } else if (this.naturalHeight > this.naturalWidth && this.naturalHeight > 1200) {
                    expectHeight = 1200;
                    expectWidth = expectHeight * this.naturalWidth / this.naturalHeight;
                }
                var canvas = document.createElement("canvas");
                var ctx = canvas.getContext("2d");
                canvas.width = expectWidth;
                canvas.height = expectHeight;
                ctx.drawImage(this, 0, 0, expectWidth, expectHeight);
                var base64 = null;
                var clearBase64 = null;
                var mpImg = new MegaPixImage(image);
                mpImg.render(canvas, {
                    maxWidth: 800,
                    maxHeight: 1200,
                    quality: 0.6,
                    orientation: Orientation
                });
                //修复ios  
                //                if (navigator.userAgent.match(/iphone/i)) {  
                //                    console.log('iphone');  
                //                    //alert(expectWidth + ',' + expectHeight);  
                //                    //如果方向角不为1，都需要进行旋转 added by lzk  
                //                    if(Orientation != "" && Orientation != 1){
                //                        switch(Orientation){  
                //                            case 6://需要顺时针（向左）90度旋转  
                //                                rotateImg(this,'left',canvas);  
                //                                break;  
                //                            case 8://需要逆时针（向右）90度旋转  
                //                                rotateImg(this,'right',canvas);  
                //                                break;  
                //                            case 3://需要180度旋转  
                //                            	//rotateImg(this,'right',canvas);//转两次  
                //                               // rotateImg(this,'right',canvas);
                //                                break;  
                //                        }         
                //                    }  
                //                      
                //                    /*var mpImg = new MegaPixImage(image); 
                //                    mpImg.render(canvas, { 
                //                        maxWidth: 800, 
                //                        maxHeight: 1200, 
                //                        quality: 0.8, 
                //                        orientation: 8 
                //                    });*/  
                //                    base64 = canvas.toDataURL("image/jpeg", 0.6);  
                //                }else if (navigator.userAgent.match(/Android/i)) {// 修复android  
                //                	if(Orientation != "" && Orientation != 1){  
                //                		 switch(Orientation){  
                //                         case 6://需要顺时针（向左）90度旋转  
                //                             rotateImg(this,'left',canvas);  
                //                             break;  
                //                         case 8://需要逆时针（向右）90度旋转  
                //                             rotateImg(this,'right',canvas);  
                //                             break;  
                //                         case 3://需要180度旋转  
                //                             rotateImg(this,'right',canvas);//转两次  
                //                             rotateImg(this,'right',canvas);  
                //                             break;  
                //                     }    
                //                	base64 = canvas.toDataURL("image/jpeg", 0.6);   
                //                    }else{
                //                    var encoder = new JPEGEncoder();
                //                    base64 = encoder.encode(ctx.getImageData(0, 0, expectWidth, expectHeight), 80); 
                //                    }
                //                }else{  
                //                    //alert(Orientation);  
                //                    if(Orientation != "" && Orientation != 1){  
                //                        //alert('旋转处理');  
                //                        switch(Orientation){  
                //                            case 6://需要顺时针（向左）90度旋转  
                //                                rotateImg(this,'left',canvas);  
                //                                break;  
                //                            case 8://需要逆时针（向右）90度旋转  
                //                                rotateImg(this,'right',canvas);  
                //                                break;  
                //                            case 3://需要180度旋转  
                //                                rotateImg(this,'right',canvas);//转两次  
                //                                rotateImg(this,'right',canvas);  
                //                                break;  
                //                        }         
                //                    }  

                // base64 = canvas.toDataURL("image/jpeg", 0.6);  
                //               }  
                base64 = canvas.toDataURL("image/jpeg", 0.6);
                //uploadImage(base64); 
                if (base64 != null) {
                    clearBase64 = base64.substr(base64.indexOf(',') + 1)
                }
                validateImage(val, base64, clearBase64);
            };
        };
        oReader.readAsDataURL(file);
    }
}

//对图片旋转处理 added by lzk  
function rotateImg(img, direction, canvas) {
    //alert(img);  
    //最小与最大旋转方向，图片旋转4次后回到原方向    
    var min_step = 0;
    var max_step = 3;
    var imageDate;
    //var img = document.getElementById(pid);    
    if (img == null) return;
    //img的高度和宽度不能在img元素隐藏后获取，否则会出错    
    var height = img.height;
    var width = img.width;
    //var step = img.getAttribute('step');    
    var step = 2;
    if (step == null) {
        step = min_step;
    }
    if (direction == 'right') {
        step++;
        //旋转到原位置，即超过最大值    
        step > max_step && (step = min_step);
    } else {
        step--;
        step < min_step && (step = max_step);
    }
    //img.setAttribute('step', step);    
    /*var canvas = document.getElementById('pic_' + pid);   
    if (canvas == null) {   
        img.style.display = 'none';   
        canvas = document.createElement('canvas');   
        canvas.setAttribute('id', 'pic_' + pid);   
        img.parentNode.appendChild(canvas);   
    }  */
    //旋转角度以弧度值为参数    
    var degree = step * 90 * Math.PI / 180;
    var ctx = canvas.getContext('2d');
    switch (step) {
        case 0:
            canvas.width = width;
            canvas.height = height;
            ctx.drawImage(img, 0, 0);
            break;
        case 1:
            canvas.width = height;
            canvas.height = width;
            ctx.rotate(degree);
            ctx.drawImage(img, 0, -height);
            break;
        case 2:
            canvas.width = width;
            canvas.height = height;
            ctx.rotate(degree);
            ctx.drawImage(img, -width, -height);
            break;
        case 3:
            canvas.width = height;
            canvas.height = width;
            ctx.rotate(degree);
            ctx.drawImage(img, -width, 0);
            break;
    }
}
// face++上传
// function validateImage(val, Base64, clearBase64) {
//     $.ajax({
//         url: $("#ctx").val() + "/wechat/visitor/validateImage",
//         type: "POST",
//         dataType: "json",
//         data: { imageUrl: clearBase64, openId: $("#openId").val() },
//         timeout: 100000,
//         beforeSend: function (xhr) {
//             layer.open({
//                 type: 2
//                 , content: '上传图片中'
//             });
//         },
//         success: function (data) {
//             layer.closeAll();
//             if (data.flag) {
//                 $("#userHead" + val + "").html("<img src=" + data.url + " alt=''><img src='../../images/visitor/circle.png' onclick='delImage(" + val + ")' style='width: 2rem;height: 2rem;' class='delimage'/>");
//                 $("#imageUrl" + val + "").val(data.imageUrl);
//                 $("#showimageUrl" + val + "").val(data.url);
//                 $("#imageFacePlusId" + val + "").val(data.id);
//                 $("#userHead" + val).css("border", "1px dashed #e5e5e5");
//             } else {
//                 layer.open({
//                     content: data.desc,
//                     skin: 'msg',
//                     time: 2 //2秒后自动关闭
//                 });
//                 var html = "<input type='file' id='fileinput" + val + "' onchange='selectFileImage(" + val + ",this)' pictype='30010003' data-role='none' accept='image/*'  />" +
//                     "<input type='hidden' name='imageUrl" + val + "' id='imageUrl" + val + "' />";
//                 $("#imageUrl" + val + "").val("");
//                 $("#showimageUrl" + val + "").val("");
//                 $("#imageFacePlusId" + val + "").val("");
//                 $("#userHead" + val + "").html(html);
//             }
//         }, error: function (xhr, textStatus) {
//             $(".visitorcon p").html("请求超时！");
//             $(".visitormask").show();
//             $("#tcc").hide();
//         }
//     });
// }
// kaola上传图片
function validateImage(val, Base64, clearBase64) {
    let orgid = sessionStorage.getItem('orgId')?  sessionStorage.getItem('orgId') : localStorage.getItem('localforage/orgId');
    console.log(orgid,'orgid')
    if(!orgid){
        orgid = getUrlParam('orgId')
    }
    $.ajax({
        url: $("#ctx").val() + "/wechat/appUser/uploadKoalaPhoto",
        type: "POST",
        dataType: "json",
        data: { imageBase64: clearBase64, orgId:orgid },
        timeout: 100000,
        beforeSend: function (xhr) {
            layer.open({
                type: 2
                , content: '上传图片中'
            });
        },
        success: function (data) {
            layer.closeAll();
            if (data.flag) {
                $("#userHead" + val + "").html("<img src=" + data.url + " alt=''><img src='../../images/visitor/circle.png' onclick='delImage(" + val + ")' style='width: 2rem;height: 2rem;' class='delimage'/>");
                $("#imageUrl" + val + "").val(data.imageUrl);
                $("#showimageUrl" + val + "").val(data.url);
                $("#imageFacePlusId" + val + "").val(data.id);
                $("#userHead" + val).css("border", "1px dashed #e5e5e5");
            } else {
                layer.open({
                    content: data.desc,
                    skin: 'msg',
                    time: 2 //2秒后自动关闭
                });
                var html = "<input type='file' id='fileinput" + val + "' onchange='selectFileImage(" + val + ",this)' pictype='30010003' data-role='none' accept='image/*'  />" +
                    "<input type='hidden' name='imageUrl" + val + "' id='imageUrl" + val + "' />";
                $("#imageUrl" + val + "").val("");
                $("#showimageUrl" + val + "").val("");
                $("#imageFacePlusId" + val + "").val("");
                $("#userHead" + val + "").html(html);
            }
        }, error: function (xhr, textStatus) {
            $(".visitorcon p").html("请求超时！");
            $(".visitormask").show();
            $("#tcc").hide();
        }
    });
}
function getUrlParam(name){
    var reg     = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
    var result  = window.location.search.substr(1).match(reg);
    return result ? decodeURIComponent(result[2]) : null;
}