first commit

This commit is contained in:
2025-08-11 23:49:58 +08:00
commit 0b8fb61130
38 changed files with 20122 additions and 0 deletions

61
src/base64.js Normal file
View File

@@ -0,0 +1,61 @@
"use strict";
var OSSBase64 = {
// private property
_keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
// public method for encoding
encode: function (input) {
var output = "";
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;
input = OSSBase64._utf8_encode(input);
while (i < input.length) {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
}
return output;
},
// private method for UTF-8 encoding
_utf8_encode: function (string) {
string = string.replace(/\r\n/g, "\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
} else if (c > 127 && c < 2048) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
} else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
},
};
module.exports = OSSBase64;

7
src/crypto/crypto/crypto-min.js vendored Normal file
View File

@@ -0,0 +1,7 @@
/*
* Crypto-JS v1.1.0
* http://code.google.com/p/crypto-js/
* Copyright (c) 2009, Jeff Mott. All rights reserved.
* http://code.google.com/p/crypto-js/wiki/License
*/
(function(){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";window.Crypto={};var a=Crypto.util={rotl:function(d,c){return(d<<c)|(d>>>(32-c))},rotr:function(d,c){return(d<<(32-c))|(d>>>c)},endian:function(d){if(d.constructor==Number){return a.rotl(d,8)&16711935|a.rotl(d,24)&4278255360}for(var c=0;c<d.length;c++){d[c]=a.endian(d[c])}return d},randomBytes:function(d){for(var c=[];d>0;d--){c.push(Math.floor(Math.random()*256))}return c},stringToBytes:function(e){var c=[];for(var d=0;d<e.length;d++){c.push(e.charCodeAt(d))}return c},bytesToString:function(c){var e=[];for(var d=0;d<c.length;d++){e.push(String.fromCharCode(c[d]))}return e.join("")},stringToWords:function(f){var e=[];for(var g=0,d=0;g<f.length;g++,d+=8){e[d>>>5]|=f.charCodeAt(g)<<(24-d%32)}return e},bytesToWords:function(d){var f=[];for(var e=0,c=0;e<d.length;e++,c+=8){f[c>>>5]|=d[e]<<(24-c%32)}return f},wordsToBytes:function(e){var d=[];for(var c=0;c<e.length*32;c+=8){d.push((e[c>>>5]>>>(24-c%32))&255)}return d},bytesToHex:function(c){var e=[];for(var d=0;d<c.length;d++){e.push((c[d]>>>4).toString(16));e.push((c[d]&15).toString(16))}return e.join("")},hexToBytes:function(e){var d=[];for(var f=0;f<e.length;f+=2){d.push(parseInt(e.substr(f,2),16))}return d},bytesToBase64:function(d){if(typeof btoa=="function"){return btoa(a.bytesToString(d))}var c=[],f;for(var e=0;e<d.length;e++){switch(e%3){case 0:c.push(b.charAt(d[e]>>>2));f=(d[e]&3)<<4;break;case 1:c.push(b.charAt(f|(d[e]>>>4)));f=(d[e]&15)<<2;break;case 2:c.push(b.charAt(f|(d[e]>>>6)));c.push(b.charAt(d[e]&63));f=-1}}if(f!=undefined&&f!=-1){c.push(b.charAt(f))}while(c.length%4!=0){c.push("=")}return c.join("")},base64ToBytes:function(d){if(typeof atob=="function"){return a.stringToBytes(atob(d))}d=d.replace(/[^A-Z0-9+\/]/ig,"");var c=[];for(var e=0;e<d.length;e++){switch(e%4){case 1:c.push((b.indexOf(d.charAt(e-1))<<2)|(b.indexOf(d.charAt(e))>>>4));break;case 2:c.push(((b.indexOf(d.charAt(e-1))&15)<<4)|(b.indexOf(d.charAt(e))>>>2));break;case 3:c.push(((b.indexOf(d.charAt(e-1))&3)<<6)|(b.indexOf(d.charAt(e))));break}}return c}};Crypto.mode={}})();

7
src/crypto/hmac/hmac-min.js vendored Normal file
View File

@@ -0,0 +1,7 @@
/*
* Crypto-JS v1.1.0
* http://code.google.com/p/crypto-js/
* Copyright (c) 2009, Jeff Mott. All rights reserved.
* http://code.google.com/p/crypto-js/wiki/License
*/
(function(){var a=Crypto.util;Crypto.HMAC=function(g,h,f,d){f=f.length>g._blocksize*4?g(f,{asBytes:true}):a.stringToBytes(f);var c=f,j=f.slice(0);for(var e=0;e<g._blocksize*4;e++){c[e]^=92;j[e]^=54}var b=g(a.bytesToString(c)+g(a.bytesToString(j)+h,{asString:true}),{asBytes:true});return d&&d.asBytes?b:d&&d.asString?a.bytesToString(b):a.bytesToHex(b)}})();

7
src/crypto/sha1/sha1-min.js vendored Normal file
View File

@@ -0,0 +1,7 @@
/*
* Crypto-JS v1.1.0
* http://code.google.com/p/crypto-js/
* Copyright (c) 2009, Jeff Mott. All rights reserved.
* http://code.google.com/p/crypto-js/wiki/License
*/
(function(){var a=Crypto.util;var b=Crypto.SHA1=function(e,c){var d=a.wordsToBytes(b._sha1(e));return c&&c.asBytes?d:c&&c.asString?a.bytesToString(d):a.bytesToHex(d)};b._sha1=function(k){var u=a.stringToWords(k),v=k.length*8,o=[],q=1732584193,p=-271733879,h=-1732584194,g=271733878,f=-1009589776;u[v>>5]|=128<<(24-v%32);u[((v+64>>>9)<<4)+15]=v;for(var y=0;y<u.length;y+=16){var D=q,C=p,B=h,A=g,z=f;for(var x=0;x<80;x++){if(x<16){o[x]=u[y+x]}else{var s=o[x-3]^o[x-8]^o[x-14]^o[x-16];o[x]=(s<<1)|(s>>>31)}var r=((q<<5)|(q>>>27))+f+(o[x]>>>0)+(x<20?(p&h|~p&g)+1518500249:x<40?(p^h^g)+1859775393:x<60?(p&h|p&g|h&g)-1894007588:(p^h^g)-899497514);f=g;g=h;h=(p<<30)|(p>>>2);p=q;q=r}q+=D;p+=C;h+=B;g+=A;f+=z}return[q,p,h,g,f]};b._blocksize=16})();

BIN
src/delete.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

1
src/delete.svg Normal file
View File

@@ -0,0 +1 @@
<svg t="1576350157338" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1884" width="200" height="200"><path d="M571.733333 512l226.133334-226.133333c17.066667-17.066667 17.066667-42.666667 0-59.733334s-42.666667-17.066667-59.733334 0L512 452.266667 285.866667 226.133333c-17.066667-17.066667-42.666667-17.066667-59.733334 0s-17.066667 42.666667 0 59.733334l226.133334 226.133333-226.133334 226.133333c-17.066667 17.066667-17.066667 42.666667 0 59.733334 8.533333 8.533333 17.066667 12.8 29.866667 12.8s21.333333-4.266667 29.866667-12.8l226.133333-226.133334 226.133333 226.133334c8.533333 8.533333 21.333333 12.8 29.866667 12.8s21.333333-4.266667 29.866667-12.8c17.066667-17.066667 17.066667-42.666667 0-59.733334L571.733333 512z" p-id="1885" fill="#2c2c2c"></path></svg>

After

Width:  |  Height:  |  Size: 815 B

6
src/icoConfig.json Normal file
View File

@@ -0,0 +1,6 @@
{
"load": "data:image/svg+xml;base64,PCEtLSBCeSBTYW0gSGVyYmVydCAoQHNoZXJiKSwgZm9yIGV2ZXJ5b25lLiBNb3JlIEAgaHR0cDovL2dvby5nbC83QUp6YkwgLS0+Cjxzdmcgd2lkdGg9IjM4IiBoZWlnaHQ9IjM4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGNpcmNsZSBzdHJva2Utb3BhY2l0eT0iLjUiIGN4PSIxOCIgY3k9IjE4IiByPSIxOCIvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMTgiPgogICAgICAgICAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0KICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iCiAgICAgICAgICAgICAgICAgICAgdHlwZT0icm90YXRlIgogICAgICAgICAgICAgICAgICAgIGZyb209IjAgMTggMTgiCiAgICAgICAgICAgICAgICAgICAgdG89IjM2MCAxOCAxOCIKICAgICAgICAgICAgICAgICAgICBkdXI9IjFzIgogICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICAgICAgICAgIDwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",
"resize": "data:image/svg+xml;base64,PHN2ZyB0PSIxNTc1NzM0NTI0MDExIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9Ijg3MiIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjxwYXRoIGQ9Ik00NDggNTU0LjY2NjY2NyAxNDkuMzMzMzMzIDU1NC42NjY2NjdjLTEyLjggMC0yMS4zMzMzMzMgOC41MzMzMzMtMjEuMzMzMzMzIDIxLjMzMzMzMyAwIDEyLjggOC41MzMzMzMgMjEuMzMzMzMzIDIxLjMzMzMzMyAyMS4zMzMzMzNsMjQ3LjQ2NjY2NyAwTDQ5LjA2NjY2NyA5NDUuMDY2NjY3QzQ0LjggOTQ5LjMzMzMzMyA0Mi42NjY2NjcgOTUzLjYgNDIuNjY2NjY3IDk2MGMwIDEyLjggOC41MzMzMzMgMjEuMzMzMzMzIDIxLjMzMzMzMyAyMS4zMzMzMzMgNi40IDAgMTAuNjY2NjY3LTIuMTMzMzMzIDE0LjkzMzMzMy02LjRMNDI2LjY2NjY2NyA2MjcuMiA0MjYuNjY2NjY3IDg3NC42NjY2NjdjMCAxMi44IDguNTMzMzMzIDIxLjMzMzMzMyAyMS4zMzMzMzMgMjEuMzMzMzMzczIxLjMzMzMzMy04LjUzMzMzMyAyMS4zMzMzMzMtMjEuMzMzMzMzTDQ2OS4zMzMzMzMgNTc2QzQ2OS4zMzMzMzMgNTYzLjIgNDYwLjggNTU0LjY2NjY2NyA0NDggNTU0LjY2NjY2N3pNOTgxLjMzMzMzMyA2NGMwLTEyLjgtOC41MzMzMzMtMjEuMzMzMzMzLTIxLjMzMzMzMy0yMS4zMzMzMzMtNi40IDAtMTAuNjY2NjY3IDIuMTMzMzMzLTE0LjkzMzMzMyA2LjRMNTk3LjMzMzMzMyAzOTYuOCA1OTcuMzMzMzMzIDE0OS4zMzMzMzNjMC0xMi44LTguNTMzMzMzLTIxLjMzMzMzMy0yMS4zMzMzMzMtMjEuMzMzMzMzcy0yMS4zMzMzMzMgOC41MzMzMzMtMjEuMzMzMzMzIDIxLjMzMzMzM2wwIDI5OC42NjY2NjdjMCAxMi44IDguNTMzMzMzIDIxLjMzMzMzMyAyMS4zMzMzMzMgMjEuMzMzMzMzbDI5OC42NjY2NjcgMGMxMi44IDAgMjEuMzMzMzMzLTguNTMzMzMzIDIxLjMzMzMzMy0yMS4zMzMzMzNzLTguNTMzMzMzLTIxLjMzMzMzMy0yMS4zMzMzMzMtMjEuMzMzMzMzTDYyNy4yIDQyNi42NjY2NjcgOTc0LjkzMzMzMyA3OC45MzMzMzNDOTc5LjIgNzQuNjY2NjY3IDk4MS4zMzMzMzMgNzAuNCA5ODEuMzMzMzMzIDY0eiIgcC1pZD0iODczIiBmaWxsPSIjMmMyYzJjIj48L3BhdGg+PC9zdmc+",
"delete": "data:image/svg+xml;base64,PHN2ZyB0PSIxNTc2MzUwMTU3MzM4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE4ODQiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNNTcxLjczMzMzMyA1MTJsMjI2LjEzMzMzNC0yMjYuMTMzMzMzYzE3LjA2NjY2Ny0xNy4wNjY2NjcgMTcuMDY2NjY3LTQyLjY2NjY2NyAwLTU5LjczMzMzNHMtNDIuNjY2NjY3LTE3LjA2NjY2Ny01OS43MzMzMzQgMEw1MTIgNDUyLjI2NjY2NyAyODUuODY2NjY3IDIyNi4xMzMzMzNjLTE3LjA2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY3LTE3LjA2NjY2Ny01OS43MzMzMzQgMHMtMTcuMDY2NjY3IDQyLjY2NjY2NyAwIDU5LjczMzMzNGwyMjYuMTMzMzM0IDIyNi4xMzMzMzMtMjI2LjEzMzMzNCAyMjYuMTMzMzMzYy0xNy4wNjY2NjcgMTcuMDY2NjY3LTE3LjA2NjY2NyA0Mi42NjY2NjcgMCA1OS43MzMzMzQgOC41MzMzMzMgOC41MzMzMzMgMTcuMDY2NjY3IDEyLjggMjkuODY2NjY3IDEyLjhzMjEuMzMzMzMzLTQuMjY2NjY3IDI5Ljg2NjY2Ny0xMi44bDIyNi4xMzMzMzMtMjI2LjEzMzMzNCAyMjYuMTMzMzMzIDIyNi4xMzMzMzRjOC41MzMzMzMgOC41MzMzMzMgMjEuMzMzMzMzIDEyLjggMjkuODY2NjY3IDEyLjhzMjEuMzMzMzMzLTQuMjY2NjY3IDI5Ljg2NjY2Ny0xMi44YzE3LjA2NjY2Ny0xNy4wNjY2NjcgMTcuMDY2NjY3LTQyLjY2NjY2NyAwLTU5LjczMzMzNEw1NzEuNzMzMzMzIDUxMnoiIHAtaWQ9IjE4ODUiIGZpbGw9IiMyYzJjMmMiPjwvcGF0aD48L3N2Zz4=",
"rotate": "data:image/svg+xml;base64,PHN2ZyB0PSIxNTc1NzM0NTgyNzcwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDExMTggMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE4MTgiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTY1LjIzODg5OSA1MDguMTc4NTA2QzE2NC40NTAzNjkgNDU2LjQ0MjY3NiAxNzEuNzY3Nzc5IDQwNC40ODU4NDIgMTg3LjI0NDU0MiAzNTMuODYzNjMxIDI2Ni4xMzg2MzIgOTUuODEyNjkyIDUzMy40MzYyMjUtNTEuMzUzMDI4IDc4NC4zODAyMjQgMjUuMzY4MjUxIDEwMzUuMzI0MjE5IDEwMi4wODk1MyAxMTc0LjYyOTk0IDM3My41NjYzNTkgMTA5NS43MzU4NTEgNjMxLjYxNzI5OCAxMDE2Ljg0MTc2IDg4OS42NjgyNCA3NDkuNTQ0MTY4IDEwMzYuODMzOTU5IDQ5OC42MDAxNzIgOTYwLjExMjY4IDQyNC4xMzQ3NDEgOTM3LjM0NjMxMyAzNTcuODM3ODMzIDg5Ni44NzA3ODggMzAzLjk3Mzg2OCA4NDIuMjc2NDM2IDI5MS4zMTAzMjggODI5LjQ0MTE3NiAyOTEuMzk2NTA2IDgwOC40OTU4MDIgMzA0LjE2NjM1NiA3OTUuNDkzNjI1IDMxNi45MzYyMDUgNzgyLjQ5MTQ1MiAzMzcuNTU0MDQyIDc4Mi4zNTYxMzYgMzUwLjIxNzU4MiA3OTUuMTkxMzk3IDM5Ni42NDA1ODcgODQyLjI0Mzg4OSA0NTMuNzMxMzcgODc3LjA5ODkwMSA1MTcuOTc1MDkxIDg5Ni43NDAxNzcgNzM0LjQzNjk2NiA5NjIuOTE5MjEzIDk2NS4zMjAzMzUgODM1LjgwMjAyOCAxMDMzLjU1NzczNyA2MTIuNjA3NTQxIDExMDEuNzk1MTM5IDM4OS40MTMwNTcgOTgxLjQ2NzE3OSAxNTQuOTE5NzkyIDc2NS4wMDUzMDUgODguNzQwNzU1IDU0OC41NDM0MjggMjIuNTYxNzE4IDMxNy42NjAwNTYgMTQ5LjY3ODkwNCAyNDkuNDIyNjU1IDM3Mi44NzMzODggMjM1LjU5NzE5OCA0MTguMDk0NDE4IDIyOS4yOTQ4NzEgNDY0LjQ2MTAzOSAyMzAuNDQwMyA1MTAuNTU5ODgxTDMxMS4yNDA5NzggNDI5Ljc1OTIwMkMzMjMuNTg0MDk0IDQxNy40MTYwODUgMzQzLjg5MjUxMyA0MTcuNzEyMzU3IDM1Ni42MDEwOTkgNDMwLjQyMDk0NiAzNjkuMzA5Njg2IDQ0My4xMjk1MzUgMzY5LjYwNTk1OSA0NjMuNDM3OTUyIDM1Ny4yNjI4NDIgNDc1Ljc4MTA2OEwyMzAuNzc4NzgyIDYwMi4yNjUxMjhDMjI5LjI3MzgyNiA2MDUuNzY5Njc5IDIyNy4wOTg4NzcgNjA5LjA0MTM5NiAyMjQuMjUxMTQ1IDYxMS44ODkxMjggMjExLjkwODAyOSA2MjQuMjMyMjQ1IDE5MS41OTk2MSA2MjMuOTM1OTc0IDE3OC44OTEwMjQgNjExLjIyNzM4NUw0MC44MjU0MjggNDczLjE2MTc5QzI4LjExNjg0IDQ2MC40NTMyMDYgMjcuODIwNTY5IDQ0MC4xNDQ3ODQgNDAuMTYzNjg1IDQyNy44MDE2NjggNTIuNTA2ODAxIDQxNS40NTg1NTEgNzIuODE1MjE4IDQxNS43NTQ4MjcgODUuNTIzODA2IDQyOC40NjM0MTFMMTY1LjIzODg5OSA1MDguMTc4NTA2WiIgcC1pZD0iMTgxOSIgZmlsbD0iIzJjMmMyYyI+PC9wYXRoPjwvc3ZnPg=="
}

17
src/loader.svg Normal file
View File

@@ -0,0 +1,17 @@
<!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
<svg width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg" stroke="#fff">
<g fill="none" fill-rule="evenodd">
<g transform="translate(1 1)" stroke-width="2">
<circle stroke-opacity=".5" cx="18" cy="18" r="18"/>
<path d="M36 18c0-9.94-8.06-18-18-18">
<animateTransform
attributeName="transform"
type="rotate"
from="0 18 18"
to="360 18 18"
dur="1s"
repeatCount="indefinite"/>
</path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 694 B

BIN
src/resize.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

1
src/resize.svg Normal file
View File

@@ -0,0 +1 @@
<svg t="1575734524011" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="872" width="200" height="200"><path d="M448 554.666667 149.333333 554.666667c-12.8 0-21.333333 8.533333-21.333333 21.333333 0 12.8 8.533333 21.333333 21.333333 21.333333l247.466667 0L49.066667 945.066667C44.8 949.333333 42.666667 953.6 42.666667 960c0 12.8 8.533333 21.333333 21.333333 21.333333 6.4 0 10.666667-2.133333 14.933333-6.4L426.666667 627.2 426.666667 874.666667c0 12.8 8.533333 21.333333 21.333333 21.333333s21.333333-8.533333 21.333333-21.333333L469.333333 576C469.333333 563.2 460.8 554.666667 448 554.666667zM981.333333 64c0-12.8-8.533333-21.333333-21.333333-21.333333-6.4 0-10.666667 2.133333-14.933333 6.4L597.333333 396.8 597.333333 149.333333c0-12.8-8.533333-21.333333-21.333333-21.333333s-21.333333 8.533333-21.333333 21.333333l0 298.666667c0 12.8 8.533333 21.333333 21.333333 21.333333l298.666667 0c12.8 0 21.333333-8.533333 21.333333-21.333333s-8.533333-21.333333-21.333333-21.333333L627.2 426.666667 974.933333 78.933333C979.2 74.666667 981.333333 70.4 981.333333 64z" p-id="873" fill="#2c2c2c"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/rotate.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

1
src/rotate.svg Normal file
View File

@@ -0,0 +1 @@
<svg t="1575734582770" class="icon" viewBox="0 0 1118 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1818" width="200" height="200"><path d="M165.238899 508.178506C164.450369 456.442676 171.767779 404.485842 187.244542 353.863631 266.138632 95.812692 533.436225-51.353028 784.380224 25.368251 1035.324219 102.08953 1174.62994 373.566359 1095.735851 631.617298 1016.84176 889.66824 749.544168 1036.833959 498.600172 960.11268 424.134741 937.346313 357.837833 896.870788 303.973868 842.276436 291.310328 829.441176 291.396506 808.495802 304.166356 795.493625 316.936205 782.491452 337.554042 782.356136 350.217582 795.191397 396.640587 842.243889 453.73137 877.098901 517.975091 896.740177 734.436966 962.919213 965.320335 835.802028 1033.557737 612.607541 1101.795139 389.413057 981.467179 154.919792 765.005305 88.740755 548.543428 22.561718 317.660056 149.678904 249.422655 372.873388 235.597198 418.094418 229.294871 464.461039 230.4403 510.559881L311.240978 429.759202C323.584094 417.416085 343.892513 417.712357 356.601099 430.420946 369.309686 443.129535 369.605959 463.437952 357.262842 475.781068L230.778782 602.265128C229.273826 605.769679 227.098877 609.041396 224.251145 611.889128 211.908029 624.232245 191.59961 623.935974 178.891024 611.227385L40.825428 473.16179C28.11684 460.453206 27.820569 440.144784 40.163685 427.801668 52.506801 415.458551 72.815218 415.754827 85.523806 428.463411L165.238899 508.178506Z" p-id="1819" fill="#2c2c2c"></path></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

10
src/web.config Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="Content-Disposition" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>