Bladeren bron

数组排序

liyongli 4 jaren geleden
bovenliggende
commit
17b2d90c5a
1 gewijzigde bestanden met toevoegingen van 48 en 5 verwijderingen
  1. 48 5
      js/entry.js

+ 48 - 5
js/entry.js

@@ -31,7 +31,7 @@ const render = global => {
     const _ = db.command;
     let database = db.collection("data_asset");
     let ori = await database.get();
-    data.Administration = ori.data || [];
+    data.Administration = sort(ori.data || []);
     //执行渲染.
     laypage.render({
       elem: "page",
@@ -143,10 +143,12 @@ const render = global => {
           // 当 FileReader 读取文件时候,读取的结果会放在 FileReader.result 属性中
           // document.querySelector("#img").src = this.result;
           file.base64 = this.result;
+          compressImg(file.file,file.base64, 2000).then(minifile=>{
+            file.file = minifile;
+          })
           selectFiles.push(file);
           $(".upImg").append($("<img src='" + this.result + "' />"));
         };
-        // 设置以什么方式读取文件,这里以base64方式
       }
       err && layer.msg(err);
     });
@@ -157,7 +159,7 @@ const render = global => {
       if (!selectFiles.length) return layer.msg("未选择文件");
       for (let i = 0; i < selectFiles.length; i++) {
         const v = selectFiles[i];
-        console.log('---------->',v)
+        console.log("---------->", v);
         let f = await app.uploadFile({
           cloudPath: v.name,
           filePath: v.file,
@@ -172,14 +174,55 @@ const render = global => {
       }
       $(".close").click();
       let list = await database.get();
-      data.Administration = list.data || [];
-      render_table()
+      data.Administration = sort(list.data || []);
+      render_table();
     });
     $(".close").click(function () {
       $(".m").hide();
       $(".upImg").html("");
       document.getElementById("up").value = "";
     });
+
+    /**
+     *
+     * @param {*} file 原始文件
+     * @param {*} width 压缩宽度
+     */
+    function compressImg(file, result, width) {
+      return new Promise((resolve, reject) => {
+        let img = new Image();
+        img.src = result;
+        img.onload = () => {
+          let oriWidth = img.width;
+          let resultNum = width / oriWidth;
+          let resultHeight = resultNum * img.height;
+          if (oriWidth <= width) return resolve(file);
+          // 需要压缩的图片:resultHeight是压缩后的高度
+          let canvas = document.createElement("canvas");
+          if (!canvas || !canvas.getContext)
+            return reject({
+              msg: "浏览器不支持canvas",
+            });
+          canvas.width = width;
+          canvas.height = resultHeight;
+          let context = canvas.getContext("2d");
+          context.drawImage(img, 0, 0, width, resultHeight);
+          canvas.toBlob(
+            function (blob) {
+              resolve(blob);
+            },
+            file.type,
+            0.8
+          );
+        };
+      });
+    }
+
+    function sort(list){
+      return list.sort((a,b)=>{
+        return b.create_time - a.create_time
+      })
+    }
   });
 
   return Promise.resolve();