美文网首页
jqweui 加微信图片上传接口实现图片上传

jqweui 加微信图片上传接口实现图片上传

作者: 香瓜J | 来源:发表于2017-12-04 18:48 被阅读1071次

    jqweui 加微信图片上传接口实现图片上传

    jqweui简介

    jQuery WeUI 是专为微信公众账号开发而设计的一个简洁而强大的UI库,包含全部WeUI官方的CSS组件,并且额外提供了大量的拓展组件,丰富的组件库可以极大减少前端开发时间。
    下载地址 github

    首先在页面中需要引入一下js和css
    //jqweui css
    <link rel="stylesheet" href="lib/weui.min.css">
    <link rel="stylesheet" href="css/jquery-weui.css">
    <link rel="stylesheet" href="css/demos.css">
    <link rel="stylesheet" href="css/style.css">
    //jqweui 的js
    <script src="lib/jquery-2.1.4.js"></script>
    <script src="js/jquery-weui.js"></script>
    <script src="lib/fastclick.js"></script>
    //调用微信jsApi接口需要的js
    <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js">
    </script> 
    
    html代码
       <div class="weui-cells weui-cells_form">
              <div class="weui-cells__title">
                图片上传2
            </div>
            <div class="weui-cell">
                <div class="weui-cell__bd">
                    <div class="weui-uploader">
                        <div class="weui-uploader__bd">
                            <ul class="weui-uploader__files" id="uploaderFiles1">
    
                            </ul>
                            <div class="weui-uploader__input-box" id="chosse">
      
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
    初始化微信接口

    获取调用接口需要的东西请看另这篇文章

     //初始化配置
    wx.config({
        debug: false,
        appId: "{$sign['appId']}",
        timestamp: "{$sign['timestamp']}",
        nonceStr: "{$sign['nonceStr']}",
        signature: "{$sign['signature']}",
        jsApiList: [
          // 所有要调用的 API 都要加到这个列表中
        'chooseImage',    
        'previewImage',    
        'uploadImage',    
        'downloadImage', 
        ]
    });
    
    js代码
    $('#chosse').click( function() {
        // 用来判断是不是ios
        var ios = window.__wxjs_is_wkwebview;
    
        // 选择图片
        wx.chooseImage({
            count:4, //一次允许选择几张图片
            success: function (res) {
                var localIds = res.localIds;
                var i = 0;
                // 已选图片个数
                var length = localIds.length;
                // 执行图片上传
                upload();
                function upload() {
                    if(ios) {
                        wx.getLocalImgData({
                            localId: localIds[i], // 图片的localID
                            success: function (res) {
                                localData = res.localData; // localData是图片的base64数据,可以用img标签显示
                                // 展示预览图  
                                var $preview = $('<li class="weui-uploader__file weui-uploader__file_status" style="background-image:url('+localData+')" imgurl = "'+localData+'"><div class="weui-uploader__file-content">0%</div></li>');  
                                $('#uploaderFiles1').append($preview);
                                // 预览
                                $('.weui-uploader__file').click(function(){
                                    var imgurl = $(this).attr('imgurl');
                                    wx.previewImage({
                                        current: imgurl, // 当前显示图片的http链接
                                        urls: [imgurl] // 需要预览的图片http链接列表
                                    });
                                });
                                // 上传动画
                                var progress = 0;
                                function uploading() {  
                                    progress = progress + 3;
                                    $preview.find('.weui-uploader__file-content').text(progress + '%');  
                                    if (progress < 95 ) {  
                                        setTimeout(uploading, 10);  
                                    } 
                                }
                                uploading();//执行上传动画
                                wx.uploadImage({
                                    localId: localIds[i].toString(), // 需要上传的图片的本地ID,由chooseImage接口获得
                                    isShowProgressTips: 0, // 默认为1,显示进度提示
                                    success: function (res) {
                                        if (i == length) {
                                            $.toast("上传成功");
                                        }
                                        i++;
                                        $preview.removeClass('weui-uploader__file_status');
                                        // 上传成功
                                        var server_id = $("input[name='server_id']");
                                        if (server_id.val() == '') {
                                            server_id.val(res.serverId);
                                        }  else {
                                            var str = server_id.val() + ',' + res.serverId; 
                                            server_id.val(str);
                                        }
                                        // 多张图片先判断还有没有要上传的
                                        if (i < length) {
                                            upload();
                                        }
                                    }
                                });
                            }
                        });
                    } else {
                        localData = localIds[i];
                    
                        // 展示预览图  
                        var $preview = $('<li class="weui-uploader__file weui-uploader__file_status" style="background-image:url('+localData+')" imgurl = "'+localData+'"><div class="weui-uploader__file-content">0%</div></li>');  
                        $('#uploaderFiles1').append($preview);
                        $('.weui-uploader__file').click(function(){
                            var imgurl = $(this).attr('imgurl');
                                    wx.previewImage({
                                        current: imgurl, // 当前显示图片的http链接
                                        urls: [imgurl] // 需要预览的图片http链接列表
                                    });
                        });
                        // 上传动画
                        var progress = 0;
                        function uploading() {  
                            progress = progress + 3;
                            $preview.find('.weui-uploader__file-content').text(progress + '%');  
                            if (progress < 95 ) {  
                                setTimeout(uploading, 10);  
                            } 
                        }
                        uploading();//执行上传动画
                        wx.uploadImage({
                            localId: localData.toString(), // 需要上传的图片的本地ID,由chooseImage接口获得
                            isShowProgressTips: 0, // 默认为1,显示进度提示
                            success: function (res) {
                                i++;
                                $.toast("上传成功");
                                $preview.removeClass('weui-uploader__file_status');
                                // 上传成功把server_id拼接起来再控制器保存到本地
                                var server_id = $("input[name='server_id']");
                                if (server_id.val() == '') {
                                    server_id.val(res.serverId);
                                }  else {
                                    var str = server_id.val() + ',' + res.serverId; 
                                    server_id.val(str);
                                }
                                // 多张图片先判断还有没有要上传的
                                if (i < length) {
                                    upload();
                                }
                            }
                        });
                    }
                }
            }
        });
    });
    
    看效果
    微信图片_20171204184603.jpg
    微信图片_20171204184612.jpg

    未完待续---

    相关文章

      网友评论

          本文标题:jqweui 加微信图片上传接口实现图片上传

          本文链接:https://www.haomeiwen.com/subject/fetfixtx.html