微相册记录
<%-- Created by IntelliJ IDEA. User: Administrator Date: 2017/11/15 Time: 17:15 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.util.HashMap" %> <%@ page import="com.binf.project.om201607.util.WxLocalUtil" %> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="css/bootstrap.min.css"> <title>上传图片</title> <% String fromopenid = (String) request.getSession().getAttribute("fromopenid"); if ("fromopenid".equals(fromopenid)) fromopenid = request.getParameter("fromopenid"); String fullPath = request.getRequestURL().toString(); String params = request.getQueryString()==null ? "" : "?" + request.getQueryString(); HashMap aMap = WxLocalUtil.getWxConfig(fullPath + params); %> <style> .buttonBox{ margin: 20px 0; } div.btn{ border:0; box-shadow: 5px 5px 4px #ccc; padding: 8px 16px; border-radius: 10px; color: #999;; } .picBox{ /*height: 150px;*/ margin-bottom: 20px; } .picBox img{ display: block; margin: 0 auto; max-width: 100%; max-height: 100%; } .thumbnail{ height: 100%; border-radius: 20px; padding: 0; margin: 0; overflow: hidden; border: 3px solid #fff; } /*上传loading动画*/ .uploading{ position: fixed; width: 100%; height: 100%; background-color: rgba(0,0,0,0.7); left: 0;top: 0; } .spinner { margin-top: 200px; width: 40px; height: 40px; position: absolute; left: 50%; margin-left: -20px; } .container1 > div, .container2 > div, .container3 > div { width: 8px; height: 8px; background-color: white; border-radius: 100%; position: absolute; -webkit-animation: bouncedelay 1.2s infinite ease-in-out; animation: bouncedelay 1.2s infinite ease-in-out; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .spinner .spinner-container { position: absolute; width: 100%; height: 100%; } .container2 { -webkit-transform: rotateZ(45deg); transform: rotateZ(45deg); } .container3 { -webkit-transform: rotateZ(90deg); transform: rotateZ(90deg); } .circle1 { top: 0; left: 0; } .circle2 { top: 0; right: 0; } .circle3 { right: 0; bottom: 0; } .circle4 { left: 0; bottom: 0; } .container2 .circle1 { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .container3 .circle1 { -webkit-animation-delay: -1.0s; animation-delay: -1.0s; } .container1 .circle2 { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .container2 .circle2 { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .container3 .circle2 { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .container1 .circle3 { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .container2 .circle3 { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .container3 .circle3 { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .container1 .circle4 { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .container2 .circle4 { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .container3 .circle4 { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes bouncedelay { 0%, 80%, 100% { -webkit-transform: scale(0.0) } 40% { -webkit-transform: scale(1.0) } } @keyframes bouncedelay { 0%, 80%, 100% { transform: scale(0.0); -webkit-transform: scale(0.0); } 40% { transform: scale(1.0); -webkit-transform: scale(1.0); } } .title{ font-size: 16px; text-align: center; line-height: 28px; margin: 20px 0 10px 0; color: #999; } div.selectCategory{ position: fixed; left: 50%;top: 150px;; width: 80%;margin-left: -40%; height: 200px; background-color: #fff; border-radius: 20px; box-shadow: 10px 10px 10px #ccc; } .selectBox{ margin-top: 20px; width: 80%;margin-left: 10%; padding-right: 10px; border-radius: 17px; overflow: hidden; height: 34px; background-color: #e4e4e4; } select#selectOptionBox{ border: 0; outline: none!important; background-color: #e4e4e4; box-shadow: none; } .selectBtn{ width: 40%;margin-left: 30%; position: absolute; bottom: 30px; background-color: #f2f2f2; box-shadow: none; } .delPic{ position: absolute; right: 12px;;top: -3px; background-color: #0080e8; color: #fff; width: 20px;height: 20px; border-radius: 50%; text-align: center; display: block; } </style> </head> <body> <div class="containet-fluid"> <div class="buttonBox row"> <div class="select btn btn-default col-xs-3 col-xs-offset-2" id="selectPic">添加图片</div> <div class="confirm btn btn-default col-xs-3 col-xs-offset-2" id="upload">上传</div> </div> <h1 class="title">所有从相册中添加的图片</h1> <div class="contentBox clearfix"></div> </div> <%--选择分类--%> <div class="selectCategory hidden"> <h1 class="title" style="color: white;padding-left: 10%;border-color: white;">选择分类</h1> <div class="selectBox"> <select class="form-control" id="selectOptionBox"> </select> </div> <div class="selectBtn btn btn-default" id="confirm">确认上传</div> </div> <%--上传加载中动画--%> <div class="uploading hidden"> <div class="spinner"> <div class="spinner-container container1"> <div class="circle1"></div> <div class="circle2"></div> <div class="circle3"></div> <div class="circle4"></div> </div> <div class="spinner-container container2"> <div class="circle1"></div> <div class="circle2"></div> <div class="circle3"></div> <div class="circle4"></div> </div> <div class="spinner-container container3"> <div class="circle1"></div> <div class="circle2"></div> <div class="circle3"></div> <div class="circle4"></div> </div> </div> <p style="text-align: center;position: absolute;color: white;width:100%;top: 280px;">上传中,请稍后...</p> </div> <script src="js/zepto.min.js"></script> <script src="js/config.js"></script> <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> <script> var userConfig = { openId: ‘<%=fromopenid%>‘, appId: ‘<%=aMap.get("appid")%>‘, timestamp: ‘<%=aMap.get("timestamp")%>‘, nonceStr: ‘<%=aMap.get("noncestr")%>‘, signature: ‘<%=aMap.get("signature")%>‘ } </script> <script> (function(){ var serverIds = []; wx.config({ //debug: true, appId: userConfig.appId, timestamp: userConfig.timestamp, nonceStr: userConfig.nonceStr, signature: userConfig.signature, jsApiList: [ ‘checkJsApi‘, ‘chooseImage‘, ‘previewImage‘, ‘uploadImage‘, ‘getLocalImgData‘] }); function displayPic(localId,id){ html = ‘<div class="picBox col-xs-4" imgid="‘+id+‘">‘+ ‘<span class="delPic">X</span>‘+ ‘<a href="##" class="thumbnail">‘+ ‘<img src="‘+localId+‘" >‘+ ‘</a>‘+ ‘</div>‘; $(‘.contentBox‘).append(html); } var id = 0; function uploadImg(localIds){ var localId = localIds.pop(); wx.uploadImage({ localId: localId, // 需要上传的图片的本地ID,由chooseImage接口获得 isShowProgressTips: 1, // 默认为1,显示进度提示 success: function (res) { serverIds.push(res.serverId); // 返回图片的服务器端ID // alert(serverIds.length+" ok"); displayPic(localId,id); id++; if(localIds.length){ uploadImg(localIds); }else { $(‘#selectPic‘).attr("disabled",false); } } }); } $(‘#selectPic‘).click(function(){ $(this).attr("disabled",true); wx.chooseImage({ count: 9, // 默认9 sizeType: [‘original‘, ‘compressed‘], // 可以指定是原图还是压缩图,默认二者都有 sourceType: [‘album‘, ‘camera‘], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片 //上传图片 uploadImg(localIds); } }); }); $(‘#upload‘).click(function(){ $(‘.selectCategory‘).removeClass(‘hidden‘); $.post(config.SERVER.HOSTNAME+config.INTERFACE.GETIMGCATEGORY,function(data){ var html = ‘‘; console.log(data.WeixiangceCategorys) for(var i=0;i<data.WeixiangceCategorys.length;i++){ html += ‘<option cid="‘+data.WeixiangceCategorys[i].cid+‘">‘+data.WeixiangceCategorys[i].title+‘</option>‘ } $(‘#selectOptionBox‘).html(html); },"json"); }); $(‘#confirm‘).click(function(){ $(‘.uploading‘).addClass(‘hidden‘); $(‘.uploading‘).removeClass(‘hidden‘); var serverIdsStr = serverIds.join(); var category = $(‘#selectOptionBox‘).find(‘option‘).not(function(){ return !this.selected }).attr(‘cid‘); // alert(serverIds.length); $.post(config.SERVER.HOSTNAME+config.INTERFACE.UPLOAD,{imgid:serverIdsStr,category:category},function(data){ $(‘.uploading‘).addClass(‘hidden‘); serverIds = []; $(‘.contentBox‘).html(); if(data.errorCode == ‘0‘){ alert(data.data); location.href = config.SERVER.HOSTNAME+ ‘/app/weixiangce/back.jsp‘; }else if(data.errorCode == ‘1‘){ alert(data.errorMsg); } },"json") }); $(‘.contentBox‘).delegate(‘.delPic‘,‘click‘,function(){ var imgid = $(this).parent().attr(‘imgid‘); $(this).parent().remove(); serverIds.splice(imgid,1); }); }()); </script> </body> </html>