Bladeren bron

feature: 增加svg模块

xiongxt 1 jaar geleden
bovenliggende
commit
0e12beb896
7 gewijzigde bestanden met toevoegingen van 63 en 7 verwijderingen
  1. 3 1
      jsconfig.json
  2. 4 2
      sdk/thread.ts
  3. 0 1
      sdk/unitOfWork.ts
  4. 2 1
      src/components/navBar.vue
  5. 18 0
      src/router/index.js
  6. 34 0
      src/views/svg/index.vue
  7. 2 2
      tsconfig.json

+ 3 - 1
jsconfig.json

@@ -15,5 +15,7 @@
       "dom.iterable",
       "scripthost"
     ]
-  }
+  },
+  "include": ["src/**/*"],
+  "exclude": ["node_modules"]
 }

+ 4 - 2
sdk/thread.ts

@@ -26,7 +26,6 @@ function workLoop() {
     } else {
       thread.pause();
     }
-    thread.pause();
   });
   if (Thread.isAllEmpty()) {
     isLooping = false;
@@ -81,7 +80,7 @@ class Thread {
   options: ThreadOptions = {
     priority: 0,
   };
-  status: "normal" | "destroyed" = "normal";
+  status: "running" | "destroyed" | "paused" = "paused";
   samePriorityLength = 0;
   private startTime = 0;
 
@@ -92,6 +91,7 @@ class Thread {
   }
 
   start() {
+    this.status = "running";
     this.startTime = Date.now();
     if (!isLooping) {
       workLoop();
@@ -99,6 +99,7 @@ class Thread {
   }
 
   pause() {
+    this.status = "paused";
     this.startTime = 0;
   }
 
@@ -122,6 +123,7 @@ class Thread {
     this.runner = undefined;
     this.options = undefined;
     this.taskUnit = undefined;
+    this.status = "destroyed";
   }
 
   get shouldYield() {

+ 0 - 1
sdk/unitOfWork.ts

@@ -1 +0,0 @@
-function loop() {}

+ 2 - 1
src/components/navBar.vue

@@ -4,8 +4,9 @@
       <h1>Ludash</h1>
     </div>
     <div class="menu">
-      <RouterLink to="/sdk">SDK</RouterLink>
+      <RouterLink to="/svg">SVG</RouterLink>
       <RouterLink to="/install">安装</RouterLink>
+      <RouterLink to="/sdk">SDK</RouterLink>
     </div>
   </div>
 </template>

+ 18 - 0
src/router/index.js

@@ -30,6 +30,24 @@ const routes = [
       },
     ],
   },
+  {
+    path: "/svg",
+    name: "svg",
+    component: defineComponent({
+      name: "DynamicComponent",
+      render() {
+        return <router-view></router-view>;
+      },
+    }),
+    children: [
+      {
+        path: "",
+        name: "svg",
+        component: () =>
+          import(/* webpackChunkName: "svg" */ "../views/svg/index.vue"),
+      },
+    ],
+  },
   {
     path: "/sdk",
     name: "sdk",

+ 34 - 0
src/views/svg/index.vue

@@ -0,0 +1,34 @@
+<template>
+  <div>
+    <Block
+      title="Async"
+      desc="这里主要是异步遍历的函数集合,函数会等待上一次异步结束才会开始下一个"
+    >
+      <p class="demo">DEMO</p>
+      <Codemirror v-model="code" :disabled="true" />
+    </Block>
+  </div>
+</template>
+
+<script setup>
+import Block from "@/components/block.vue";
+import { ref } from "vue";
+import { Codemirror } from "vue-codemirror";
+
+const code = ref(`import { asyncWhile, asyncForEach, nextTick } from "ludash";
+
+asyncForEach([1, 2, 3, 4, 5], async (it, index) => {
+  await nextTick(1000);
+  console.log(it, index);
+  // return false 则会中断执行
+  return true;
+});
+
+asyncWhile(
+  // checker 这是判断函数
+  async (index) => index < 10,
+  async (index) => {
+    console.log(index);
+  }
+);`);
+</script>

+ 2 - 2
tsconfig.json

@@ -12,13 +12,13 @@
     "importHelpers": true,     
     "forceConsistentCasingInFileNames": true,
     "noUnusedLocals": true,
-
+    "allowJs": true,
     "paths": {
       "tslib" : ["node_modules/tslib/tslib.d.ts"],
       "@/*": ["src/*"]
     },
     "moduleResolution": "node"
   },
-  "include": ["sdk/**/*.ts"],
+  "include": ["sdk/**/*.ts", "src/**/*"],
   "exclude": ["node_modules"]
 }