Bläddra i källkod

update types and create store

Michael Wang 3 år sedan
förälder
incheckning
76d6b11c3e
8 ändrade filer med 43 tillägg och 21 borttagningar
  1. 2 2
      package.json
  2. 10 3
      src/main.ts
  3. 16 0
      src/store/store.ts
  4. 0 0
      src/types/3rd.d.ts
  5. 8 0
      src/types/env.d.ts
  6. 6 7
      src/types/global.d.ts
  7. 1 1
      src/types/student-client.d.ts
  8. 0 8
      types/env.d.ts

+ 2 - 2
package.json

@@ -18,10 +18,10 @@
     "axios-progress-bar": "^1.2.0",
     "axios-retry": "^3.2.4",
     "lodash-es": "^4.17.21",
-    "tailwindcss": "^3.0.23",
-    "ua-parser-js": "^1.0.2",
     "moment": "^2.29.1",
     "pinia": "^2.0.11",
+    "tailwindcss": "^3.0.23",
+    "ua-parser-js": "^1.0.2",
     "vue": "^3.2.31",
     "vue-router": "^4.0.12"
   },

+ 10 - 3
src/main.ts

@@ -1,4 +1,11 @@
-import { createApp } from 'vue'
-import App from './App.vue'
+import { createApp } from "vue";
+import App from "./App.vue";
+// import router from "@/router";
+import { createPinia } from "pinia";
 
-createApp(App).mount('#app')
+createApp(App).mount("#app");
+
+const app = createApp(App);
+// app.use(router);
+app.use(createPinia());
+app.mount("#app");

+ 16 - 0
src/store/store.ts

@@ -0,0 +1,16 @@
+import { defineStore } from "pinia";
+import { Store } from "@/types/student-client";
+
+export const useStore = defineStore("ecs", {
+  state: () => {
+    return {} as Store;
+  },
+  getters: {},
+  actions: {},
+});
+
+export let store = null as unknown as ReturnType<typeof useStore>;
+
+setTimeout(() => {
+  store = useStore();
+});

+ 0 - 0
types/3rd.d.ts → src/types/3rd.d.ts


+ 8 - 0
src/types/env.d.ts

@@ -0,0 +1,8 @@
+/// <reference types="vite/client" />
+
+declare module "*.vue" {
+  import type { DefineComponent } from "vue";
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
+  const component: DefineComponent<{}, {}, any>;
+  export default component;
+}

+ 6 - 7
types/global.d.ts → src/types/global.d.ts

@@ -1,13 +1,12 @@
 // import filters from "@/filters";
 // import { default as message } from "ant-design-vue/lib/message";
 
-declare module "@vue/runtime-core" {
-  interface ComponentCustomProperties {
-    // $filters: typeof filters;
-
-    // $message: typeof message;
-  }
-}
+// declare module "@vue/runtime-core" {
+// interface ComponentCustomProperties {
+// $filters: typeof filters;
+// $message: typeof message;
+// }
+// }
 
 declare module "axios/index" {
   interface AxiosRequestConfig {

+ 1 - 1
types/student-client.d.ts → src/types/student-client.d.ts

@@ -1,4 +1,4 @@
-type Store = {
+export type Store = {
   /** 当前用户 */
   user: {
     id: number;

+ 0 - 8
types/env.d.ts

@@ -1,8 +0,0 @@
-/// <reference types="vite/client" />
-
-declare module '*.vue' {
-  import type { DefineComponent } from 'vue'
-  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
-  const component: DefineComponent<{}, {}, any>
-  export default component
-}