oipage 1.7.0 → 1.8.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/.github/FUNDING.yml +11 -11
  2. package/AUTHORS.txt +6 -6
  3. package/CHANGELOG +9 -1
  4. package/LICENSE +20 -20
  5. package/README.md +1 -9
  6. package/bin/WebSocket/decodeWsFrame.js +43 -43
  7. package/bin/WebSocket/encodeWsFrame.js +28 -28
  8. package/bin/WebSocket/headersToJSON.js +26 -26
  9. package/bin/WebSocket/index.js +80 -80
  10. package/bin/data/mineTypes.json +104 -104
  11. package/bin/disk.js +42 -42
  12. package/bin/help.js +3 -0
  13. package/bin/intercept.js +15 -15
  14. package/bin/network.js +21 -21
  15. package/bin/run +5 -3
  16. package/bin/serve.d.ts +7 -0
  17. package/bin/serve.js +9 -1
  18. package/bin/template/404.html +186 -186
  19. package/bin/tools/deleteEmptyFolder.js +23 -23
  20. package/bin/tools/format.js +75 -75
  21. package/bin/tools/network.js +42 -42
  22. package/bin/tools/openBrowser.js +26 -0
  23. package/bin/tools/resolve404.js +83 -83
  24. package/bin/tools/resolveImport.js +88 -88
  25. package/bin/website-htmls/components/ui-select-file/index.html +7 -7
  26. package/bin/website-htmls/components/ui-select-file/index.js +37 -37
  27. package/bin/website-htmls/components/ui-select-file/index.scss +44 -44
  28. package/bin/website-htmls/dialogs/imageSize/index.html +54 -54
  29. package/bin/website-htmls/dialogs/imageSize/index.js +53 -53
  30. package/bin/website-htmls/dialogs/imageSize/index.scss +138 -138
  31. package/bin/website-htmls/dialogs/index.js +52 -52
  32. package/bin/website-htmls/images/addFile.svg +1 -1
  33. package/bin/website-htmls/images/img-to-pdf.svg +1 -1
  34. package/bin/website-htmls/index.html +17 -17
  35. package/bin/website-htmls/main.js +13 -13
  36. package/bin/website-htmls/pages/App/index.html +6 -6
  37. package/bin/website-htmls/pages/App/index.js +22 -22
  38. package/bin/website-htmls/pages/App/index.scss +43 -43
  39. package/bin/website-htmls/pages/appStore/index.html +5 -24
  40. package/bin/website-htmls/pages/appStore/index.js +19 -19
  41. package/bin/website-htmls/pages/appStore/index.scss +6 -4
  42. package/bin/website-htmls/pages/chart/index.html +8 -8
  43. package/bin/website-htmls/pages/chart/index.js +72 -72
  44. package/bin/website-htmls/pages/chart/index.scss +73 -72
  45. package/bin/website-htmls/pages/home/index.html +22 -0
  46. package/bin/website-htmls/pages/home/index.js +20 -0
  47. package/bin/website-htmls/pages/home/index.scss +29 -0
  48. package/bin/website-htmls/pages/image-editor/index.html +27 -27
  49. package/bin/website-htmls/pages/image-editor/index.js +106 -106
  50. package/bin/website-htmls/pages/image-editor/index.scss +47 -45
  51. package/bin/website-htmls/pages/img-to-pdf/index.html +3 -3
  52. package/bin/website-htmls/pages/img-to-pdf/index.js +44 -44
  53. package/bin/website-htmls/pages/img-to-pdf/index.scss +4 -4
  54. package/bin/website-htmls/router.config.js +26 -19
  55. package/bin/website-htmls/styles/normalize.css +94 -94
  56. package/bin/website-plugins/intercept/chart.js +33 -33
  57. package/bin/website-plugins/intercept/getPackage.js +17 -17
  58. package/bin/website-plugins/intercept/head.js +8 -8
  59. package/bin/website-plugins/intercept/index.js +8 -8
  60. package/bin/website-plugins/intercept/oipage-vislite-intercept.js +30 -30
  61. package/bin/website-plugins/intercept/oipage-zipaper-intercept.js +36 -36
  62. package/bin/website-plugins/loader/index.js +11 -11
  63. package/bin/website-plugins/loader/oipage-html-loader.js +7 -7
  64. package/bin/website-plugins/loader/oipage-scss-loader.js +149 -149
  65. package/nodejs/animation/index.d.ts +19 -19
  66. package/nodejs/animation/index.js +120 -112
  67. package/nodejs/cmdlog/index.d.ts +20 -20
  68. package/nodejs/cmdlog/index.js +75 -75
  69. package/nodejs/disk/index.d.ts +47 -47
  70. package/nodejs/disk/index.js +165 -165
  71. package/nodejs/format/index.d.ts +29 -29
  72. package/nodejs/format/index.js +107 -107
  73. package/nodejs/json/index.d.ts +9 -9
  74. package/nodejs/json/index.js +206 -206
  75. package/nodejs/logform/index.d.ts +18 -18
  76. package/nodejs/logform/index.js +94 -94
  77. package/nodejs/reader/index.d.ts +32 -32
  78. package/nodejs/reader/index.js +20 -20
  79. package/nodejs/throttle/index.d.ts +30 -30
  80. package/nodejs/throttle/index.js +50 -50
  81. package/package.json +1 -1
  82. package/web/XMLHttpRequest/index.d.ts +17 -17
  83. package/web/XMLHttpRequest/index.js +60 -60
  84. package/web/animation/index.d.ts +19 -19
  85. package/web/animation/index.js +120 -112
  86. package/web/format/index.d.ts +29 -29
  87. package/web/format/index.js +107 -107
  88. package/web/json/index.d.ts +9 -9
  89. package/web/json/index.js +206 -206
  90. package/web/onReady/index.d.ts +7 -7
  91. package/web/onReady/index.js +8 -8
  92. package/web/performChunk/index.d.ts +4 -4
  93. package/web/performChunk/index.js +19 -19
  94. package/web/reader/index.d.ts +32 -32
  95. package/web/reader/index.js +20 -20
  96. package/web/style/index.d.ts +21 -21
  97. package/web/style/index.js +19 -19
  98. package/web/throttle/index.d.ts +30 -30
  99. package/web/throttle/index.js +50 -50
  100. package/snipping/chart.png +0 -0
  101. package/snipping/image-editor.png +0 -0
@@ -1,28 +1,28 @@
1
- <div class="image-editor-view">
2
- <ul class="menu">
3
- <li>
4
- <label for="openImage">打开</label>
5
- </li>
6
- <li>
7
- <label z-on:click="changeSize">画布大小</label>
8
- </li>
9
- <li>
10
- <label z-on:click="changeSize">图像大小</label>
11
- </li>
12
- <li>
13
- <label z-on:click="download" type="jpeg">下载JPEG</label>
14
- </li>
15
- <li>
16
- <label z-on:click="download" type="png">下载PNG</label>
17
- </li>
18
- </ul>
19
- <div class="content">
20
- <div id="drawId"></div>
21
- </div>
22
- <div class="no-view">
23
-
24
- <!-- 选择图片 -->
25
- <input type="file" id="openImage" z-on:change="openImage" accept="image/*" />
26
-
27
- </div>
1
+ <div class="image-editor-view">
2
+ <ul class="menu">
3
+ <li>
4
+ <label for="openImage">打开</label>
5
+ </li>
6
+ <li>
7
+ <label z-on:click="changeSize">画布大小</label>
8
+ </li>
9
+ <li>
10
+ <label z-on:click="changeSize">图像大小</label>
11
+ </li>
12
+ <li>
13
+ <label z-on:click="download" type="jpeg">下载JPEG</label>
14
+ </li>
15
+ <li>
16
+ <label z-on:click="download" type="png">下载PNG</label>
17
+ </li>
18
+ </ul>
19
+ <div class="content">
20
+ <div id="drawId"></div>
21
+ </div>
22
+ <div class="no-view">
23
+
24
+ <!-- 选择图片 -->
25
+ <input type="file" id="openImage" z-on:change="openImage" accept="image/*" />
26
+
27
+ </div>
28
28
  </div>
@@ -1,107 +1,107 @@
1
- import { defineElement } from "zipaper";
2
- import template from "./index.html";
3
- import style from "./index.scss";
4
- import { Canvas } from "vislite";
5
-
6
- export default defineElement({
7
- template,
8
- data() {
9
- return {
10
- painter: null,
11
- drawEl: null
12
- }
13
- },
14
- created() {
15
- this.drawEl = document.getElementById("drawId");
16
- this.painter = new Canvas(this.drawEl, {
17
- scale: 1
18
- }, 700, 400);
19
- },
20
- methods: {
21
- openImage(event, target) {
22
- let file = target.files[0];
23
- if (file) {
24
- let reader = new FileReader();
25
-
26
- reader.onload = () => {
27
- let image = new Image();
28
-
29
- image.onload = () => {
30
-
31
- // 调整画布大小
32
- this.painter = new Canvas(this.drawEl, {
33
- scale: 1
34
- }, image.width, image.height);
35
-
36
- // 绘制图片
37
- this.painter.clearRect(0, 0, image.width, image.height).drawImage(image, 0, 0, image.width, image.height);
38
- }
39
-
40
- image.src = reader.result;
41
- }
42
- reader.readAsDataURL(file);
43
- }
44
- },
45
- download(event, target) {
46
- let btn = document.createElement('a');
47
- btn.href = this.painter.__canvas.toDataURL("image/" + target.getAttribute("type"));
48
- btn.download = "图片." + target.getAttribute("type");
49
- btn.click();
50
- },
51
- changeSize(event, target) {
52
- let canvasInfo = this.painter.getInfo();
53
- this.$openDialog("imageSize", {
54
- title: target.innerText.trim(),
55
- width: canvasInfo.width,
56
- height: canvasInfo.height
57
- }).then(data => {
58
- if (data) {
59
- let base64 = this.painter.__canvas.toDataURL();
60
-
61
- // 调整画布大小
62
- this.painter = new Canvas(this.drawEl, {
63
- scale: 1
64
- }, data.width, data.height).clearRect(0, 0, data.width, data.height);
65
-
66
- if (target.innerText.trim() === "画布大小") {
67
-
68
- // 计算图片的对齐方式
69
-
70
- let _left, _top;
71
- let changeType = data.changeType.split('-');
72
-
73
- // 水平方向
74
- if (changeType[0] == 'left') {
75
- _left = 0;
76
- } else if (changeType[0] == 'right') {
77
- _left = data.width - canvasInfo.width;
78
- } else {
79
- _left = (data.width - canvasInfo.width) * 0.5;
80
- }
81
-
82
- // 垂直方向
83
- if (changeType[1] == 'top') {
84
- _top = 0;
85
- } else if (changeType[1] == 'bottom') {
86
- _top = data.height - canvasInfo.height;
87
- } else {
88
- _top = (data.height - canvasInfo.height) * 0.5;
89
- }
90
-
91
- const img = new Image();
92
- img.onload = () => {
93
- this.painter.getContext().drawImage(img, 0, 0, canvasInfo.width, canvasInfo.height, _left, _top, canvasInfo.width, canvasInfo.height);
94
- };
95
- img.src = base64;
96
-
97
- } else {
98
- this.painter.drawImage(base64, 0, 0, data.width, data.height);
99
- }
100
- }
101
- });
102
- }
103
- },
104
- style: {
105
- content: style
106
- }
1
+ import { defineElement } from "zipaper";
2
+ import template from "./index.html";
3
+ import style from "./index.scss";
4
+ import { Canvas } from "vislite";
5
+
6
+ export default defineElement({
7
+ template,
8
+ data() {
9
+ return {
10
+ painter: null,
11
+ drawEl: null
12
+ }
13
+ },
14
+ created() {
15
+ this.drawEl = document.getElementById("drawId");
16
+ this.painter = new Canvas(this.drawEl, {
17
+ scale: 1
18
+ }, 700, 400);
19
+ },
20
+ methods: {
21
+ openImage(event, target) {
22
+ let file = target.files[0];
23
+ if (file) {
24
+ let reader = new FileReader();
25
+
26
+ reader.onload = () => {
27
+ let image = new Image();
28
+
29
+ image.onload = () => {
30
+
31
+ // 调整画布大小
32
+ this.painter = new Canvas(this.drawEl, {
33
+ scale: 1
34
+ }, image.width, image.height);
35
+
36
+ // 绘制图片
37
+ this.painter.clearRect(0, 0, image.width, image.height).drawImage(image, 0, 0, image.width, image.height);
38
+ }
39
+
40
+ image.src = reader.result;
41
+ }
42
+ reader.readAsDataURL(file);
43
+ }
44
+ },
45
+ download(event, target) {
46
+ let btn = document.createElement('a');
47
+ btn.href = this.painter.__canvas.toDataURL("image/" + target.getAttribute("type"));
48
+ btn.download = "图片." + target.getAttribute("type");
49
+ btn.click();
50
+ },
51
+ changeSize(event, target) {
52
+ let canvasInfo = this.painter.getInfo();
53
+ this.$openDialog("imageSize", {
54
+ title: target.innerText.trim(),
55
+ width: canvasInfo.width,
56
+ height: canvasInfo.height
57
+ }).then(data => {
58
+ if (data) {
59
+ let base64 = this.painter.__canvas.toDataURL();
60
+
61
+ // 调整画布大小
62
+ this.painter = new Canvas(this.drawEl, {
63
+ scale: 1
64
+ }, data.width, data.height).clearRect(0, 0, data.width, data.height);
65
+
66
+ if (target.innerText.trim() === "画布大小") {
67
+
68
+ // 计算图片的对齐方式
69
+
70
+ let _left, _top;
71
+ let changeType = data.changeType.split('-');
72
+
73
+ // 水平方向
74
+ if (changeType[0] == 'left') {
75
+ _left = 0;
76
+ } else if (changeType[0] == 'right') {
77
+ _left = data.width - canvasInfo.width;
78
+ } else {
79
+ _left = (data.width - canvasInfo.width) * 0.5;
80
+ }
81
+
82
+ // 垂直方向
83
+ if (changeType[1] == 'top') {
84
+ _top = 0;
85
+ } else if (changeType[1] == 'bottom') {
86
+ _top = data.height - canvasInfo.height;
87
+ } else {
88
+ _top = (data.height - canvasInfo.height) * 0.5;
89
+ }
90
+
91
+ const img = new Image();
92
+ img.onload = () => {
93
+ this.painter.getContext().drawImage(img, 0, 0, canvasInfo.width, canvasInfo.height, _left, _top, canvasInfo.width, canvasInfo.height);
94
+ };
95
+ img.src = base64;
96
+
97
+ } else {
98
+ this.painter.drawImage(base64, 0, 0, data.width, data.height);
99
+ }
100
+ }
101
+ });
102
+ }
103
+ },
104
+ style: {
105
+ content: style
106
+ }
107
107
  })
@@ -1,46 +1,48 @@
1
- .image-editor-view {
2
- &>.menu {
3
- position: fixed;
4
- left: 50%;
5
- top: 5px;
6
- transform: translateX(-50%);
7
- white-space: nowrap;
8
-
9
- &>li {
10
- display: inline-block;
11
- background-color: #FF5722;
12
- color: white;
13
- margin: 0 5px;
14
- border-radius: 5px;
15
-
16
- &>label {
17
- line-height: 30px;
18
- padding: 0 5px;
19
- display: inline-block;
20
- cursor: pointer;
21
- }
22
-
23
- &:hover {
24
- text-decoration: underline;
25
- }
26
- }
27
- }
28
-
29
- &>.content {
30
- text-align: center;
31
- margin-top: 100px;
32
-
33
- #drawId {
34
- display: inline-block;
35
-
36
- &>canvas {
37
- background-image: url("./images/mosaic.png");
38
- outline: 2px solid #CDDC39;
39
- }
40
- }
41
- }
42
-
43
- &>.no-view {
44
- display: none;
45
- }
1
+ .image-editor-view {
2
+ position: relative;
3
+ padding-top: 100px;
4
+
5
+ &>.menu {
6
+ position: absolute;
7
+ left: 50%;
8
+ top: 5px;
9
+ transform: translateX(-50%);
10
+ white-space: nowrap;
11
+
12
+ &>li {
13
+ display: inline-block;
14
+ background-color: #FF5722;
15
+ color: white;
16
+ margin: 0 5px;
17
+ border-radius: 5px;
18
+
19
+ &>label {
20
+ line-height: 30px;
21
+ padding: 0 5px;
22
+ display: inline-block;
23
+ cursor: pointer;
24
+ }
25
+
26
+ &:hover {
27
+ text-decoration: underline;
28
+ }
29
+ }
30
+ }
31
+
32
+ &>.content {
33
+ text-align: center;
34
+
35
+ #drawId {
36
+ display: inline-block;
37
+
38
+ &>canvas {
39
+ background-image: url("./images/mosaic.png");
40
+ outline: 2px solid #CDDC39;
41
+ }
42
+ }
43
+ }
44
+
45
+ &>.no-view {
46
+ display: none;
47
+ }
46
48
  }
@@ -1,4 +1,4 @@
1
- <div class="img-to-pdf-view">
2
- <ui-select-file z-on:change="doChange" title="图片转PDF" tips="选择一张或多张图片后,可以把这些图片拼接成一个PDF文件" type="image"></ui-select-file>
3
- <iframe id="iframe"></iframe>
1
+ <div class="img-to-pdf-view">
2
+ <ui-select-file z-on:change="doChange" title="图片转PDF" tips="选择一张或多张图片后,可以把这些图片拼接成一个PDF文件" type="image"></ui-select-file>
3
+ <iframe id="iframe"></iframe>
4
4
  </div>
@@ -1,45 +1,45 @@
1
- import { defineElement, ref } from "zipaper"
2
- import template from "./index.html"
3
- import style from "./index.scss"
4
-
5
- export default defineElement({
6
- template,
7
- methods: {
8
- doChange(event) {
9
- let files = event.data, promises = [], iframeEl = document.getElementById("iframe");
10
-
11
- let template = "";
12
- for (let index = 0; index < files.length; index++) {
13
- let file = files[index];
14
-
15
- promises.push(new Promise(function (resolve) {
16
-
17
- let reader = new FileReader();
18
-
19
- reader.onload = function () {
20
-
21
- template += '<div style="display: flex;justify-content: center;align-items: center;height: 100vh;width: 100vw;"><img src="' + reader.result + '" style="max-width: 100vw;max-height: 100vh;"></img></div>';
22
- resolve("");
23
- }
24
- reader.readAsDataURL(file);
25
- }));
26
- }
27
-
28
- Promise.all(promises).then(function () {
29
- let iframeWindow = iframeEl.contentWindow;
30
- let iframeDocument = iframeEl.contentWindow?.document;
31
-
32
- iframeDocument.open();
33
- iframeDocument.write(`<style>body{margin:0px;}</style>` + template);
34
- iframeDocument.close();
35
-
36
- setTimeout(function () {
37
- iframeWindow.print();
38
- }, 500);
39
- });
40
- }
41
- },
42
- style: {
43
- content: style
44
- }
1
+ import { defineElement, ref } from "zipaper"
2
+ import template from "./index.html"
3
+ import style from "./index.scss"
4
+
5
+ export default defineElement({
6
+ template,
7
+ methods: {
8
+ doChange(event) {
9
+ let files = event.data, promises = [], iframeEl = document.getElementById("iframe");
10
+
11
+ let template = "";
12
+ for (let index = 0; index < files.length; index++) {
13
+ let file = files[index];
14
+
15
+ promises.push(new Promise(function (resolve) {
16
+
17
+ let reader = new FileReader();
18
+
19
+ reader.onload = function () {
20
+
21
+ template += '<div style="display: flex;justify-content: center;align-items: center;height: 100vh;width: 100vw;"><img src="' + reader.result + '" style="max-width: 100vw;max-height: 100vh;"></img></div>';
22
+ resolve("");
23
+ }
24
+ reader.readAsDataURL(file);
25
+ }));
26
+ }
27
+
28
+ Promise.all(promises).then(function () {
29
+ let iframeWindow = iframeEl.contentWindow;
30
+ let iframeDocument = iframeEl.contentWindow?.document;
31
+
32
+ iframeDocument.open();
33
+ iframeDocument.write(`<style>body{margin:0px;}</style>` + template);
34
+ iframeDocument.close();
35
+
36
+ setTimeout(function () {
37
+ iframeWindow.print();
38
+ }, 500);
39
+ });
40
+ }
41
+ },
42
+ style: {
43
+ content: style
44
+ }
45
45
  })
@@ -1,5 +1,5 @@
1
- .img-to-pdf-view {
2
- iframe {
3
- display: none;
4
- }
1
+ .img-to-pdf-view {
2
+ iframe {
3
+ display: none;
4
+ }
5
5
  }
@@ -1,20 +1,27 @@
1
- import { defineRouter } from "zipaper"
2
-
3
- export default defineRouter({
4
- routers: [{
5
- path: "/",
6
- redirect: "/appStore"
7
- }, {
8
- path: "/appStore",
9
- component: () => import("./pages/appStore/index.js"),
10
- }, {
11
- path: "/chart",
12
- component: () => import("./pages/chart/index.js"),
13
- }, {
14
- path: "/image-editor",
15
- component: () => import("./pages/image-editor/index.js"),
16
- }, {
17
- path: "/img-to-pdf",
18
- component: () => import("./pages/img-to-pdf/index.js"),
19
- }]
1
+ import { defineRouter } from "zipaper"
2
+
3
+ export default defineRouter({
4
+ routers: [{
5
+ path: "/",
6
+ redirect: "/appStore"
7
+ }, {
8
+ path: "/appStore",
9
+ component: () => import("./pages/appStore/index.js"),
10
+ children: [{
11
+ path: "/",
12
+ redirect: "/home"
13
+ }, {
14
+ path: "/home",
15
+ component: () => import("./pages/home/index.js"),
16
+ }, {
17
+ path: "/chart",
18
+ component: () => import("./pages/chart/index.js"),
19
+ }, {
20
+ path: "/image-editor",
21
+ component: () => import("./pages/image-editor/index.js"),
22
+ }, {
23
+ path: "/img-to-pdf",
24
+ component: () => import("./pages/img-to-pdf/index.js"),
25
+ }]
26
+ }]
20
27
  })