From 654e3bde2f5088279c881c7e32d4b1cdea88aa86 Mon Sep 17 00:00:00 2001 From: sankeyangshu <1260323835@qq.com> Date: Mon, 18 Nov 2024 11:00:55 +0800 Subject: [PATCH] =?UTF-8?q?ci:=20=E6=9B=B4=E6=8D=A2Git=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 16 + .eslintignore | 14 + .eslintrc.js | 70 + .gitignore | 24 + .husky/commit-msg | 4 + .husky/pre-commit | 4 + .prettierrc | 9 + .stylelintignore | 3 + .stylelintrc.js | 41 + .vscode/extensions.json | 8 + LICENSE | 21 + README.md | 3 + commitlint.config.ts | 15 + index.html | 13 + package.json | 91 + pnpm-lock.yaml | 6277 ++++++++++++++++++ postcss.config.js | 5 + public/vite.svg | 1 + src/App.vue | 5 + src/assets/icons/API.svg | 6 + src/assets/icons/BoatInfo.svg | 6 + src/assets/icons/Help.svg | 6 + src/assets/icons/History.svg | 6 + src/assets/icons/Home.svg | 6 + src/assets/icons/Logout.svg | 6 + src/assets/icons/ManifestInfo.svg | 6 + src/assets/icons/Moon.svg | 1 + src/assets/icons/Notify.svg | 6 + src/assets/icons/SendInfo.svg | 6 + src/assets/icons/Setting.svg | 6 + src/assets/icons/SubscribeInfo.svg | 6 + src/assets/icons/Sunny.svg | 1 + src/assets/imgs/logo.png | Bin 0 -> 1655 bytes src/assets/vue.svg | 1 + src/components/Pagination/index.vue | 34 + src/components/SvgIcon/index.vue | 49 + src/components/SwitchDark/index.vue | 35 + src/hooks/useTheme.ts | 26 + src/layouts/Footer/index.vue | 7 + src/layouts/Header/index.vue | 81 + src/layouts/Main/index.vue | 21 + src/layouts/Sidebar/components/SubMenu.vue | 45 + src/layouts/Sidebar/index.vue | 54 + src/layouts/index.vue | 47 + src/main.ts | 29 + src/plugins/element.ts | 16 + src/plugins/icons.ts | 6 + src/router/index.ts | 53 + src/router/modules/boat.ts | 52 + src/router/modules/history.ts | 42 + src/router/modules/manifest.ts | 53 + src/router/modules/send.ts | 23 + src/router/modules/subscribe.ts | 42 + src/router/permission.ts | 76 + src/store/index.ts | 12 + src/store/modules/setting.ts | 23 + src/styles/index.scss | 32 + src/styles/reset.scss | 126 + src/styles/transition.scss | 38 + src/utils/routers.ts | 86 + src/views/Boat/Info/components/InfoTable.vue | 117 + src/views/Boat/Info/index.vue | 16 + src/views/Boat/Query/index.vue | 12 + src/views/Boat/Track/index.vue | 12 + src/views/History/Mine/index.vue | 12 + src/views/History/Receive/index.vue | 12 + src/views/Home/components/Card.vue | 52 + src/views/Home/components/HomeChart.vue | 30 + src/views/Home/index.vue | 162 + src/views/Manifest/Detail/index.vue | 12 + src/views/Manifest/Manage/index.vue | 12 + src/views/Manifest/Stowage/index.vue | 12 + src/views/Notify/index.vue | 91 + src/views/Resource/index.vue | 12 + src/views/Send/index.vue | 12 + src/views/Subscribe/Mine/index.vue | 12 + src/views/Subscribe/Receive/index.vue | 12 + src/vite-env.d.ts | 7 + tsconfig.json | 21 + tsconfig.node.json | 9 + vite.config.ts | 28 + 81 files changed, 8466 insertions(+) create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100755 .husky/commit-msg create mode 100755 .husky/pre-commit create mode 100644 .prettierrc create mode 100644 .stylelintignore create mode 100644 .stylelintrc.js create mode 100644 .vscode/extensions.json create mode 100644 LICENSE create mode 100644 README.md create mode 100644 commitlint.config.ts create mode 100644 index.html create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 postcss.config.js create mode 100644 public/vite.svg create mode 100644 src/App.vue create mode 100644 src/assets/icons/API.svg create mode 100644 src/assets/icons/BoatInfo.svg create mode 100644 src/assets/icons/Help.svg create mode 100644 src/assets/icons/History.svg create mode 100644 src/assets/icons/Home.svg create mode 100644 src/assets/icons/Logout.svg create mode 100644 src/assets/icons/ManifestInfo.svg create mode 100644 src/assets/icons/Moon.svg create mode 100644 src/assets/icons/Notify.svg create mode 100644 src/assets/icons/SendInfo.svg create mode 100644 src/assets/icons/Setting.svg create mode 100644 src/assets/icons/SubscribeInfo.svg create mode 100644 src/assets/icons/Sunny.svg create mode 100644 src/assets/imgs/logo.png create mode 100644 src/assets/vue.svg create mode 100644 src/components/Pagination/index.vue create mode 100644 src/components/SvgIcon/index.vue create mode 100644 src/components/SwitchDark/index.vue create mode 100644 src/hooks/useTheme.ts create mode 100644 src/layouts/Footer/index.vue create mode 100644 src/layouts/Header/index.vue create mode 100644 src/layouts/Main/index.vue create mode 100644 src/layouts/Sidebar/components/SubMenu.vue create mode 100644 src/layouts/Sidebar/index.vue create mode 100644 src/layouts/index.vue create mode 100644 src/main.ts create mode 100644 src/plugins/element.ts create mode 100644 src/plugins/icons.ts create mode 100644 src/router/index.ts create mode 100644 src/router/modules/boat.ts create mode 100644 src/router/modules/history.ts create mode 100644 src/router/modules/manifest.ts create mode 100644 src/router/modules/send.ts create mode 100644 src/router/modules/subscribe.ts create mode 100644 src/router/permission.ts create mode 100644 src/store/index.ts create mode 100644 src/store/modules/setting.ts create mode 100644 src/styles/index.scss create mode 100644 src/styles/reset.scss create mode 100644 src/styles/transition.scss create mode 100644 src/utils/routers.ts create mode 100644 src/views/Boat/Info/components/InfoTable.vue create mode 100644 src/views/Boat/Info/index.vue create mode 100644 src/views/Boat/Query/index.vue create mode 100644 src/views/Boat/Track/index.vue create mode 100644 src/views/History/Mine/index.vue create mode 100644 src/views/History/Receive/index.vue create mode 100644 src/views/Home/components/Card.vue create mode 100644 src/views/Home/components/HomeChart.vue create mode 100644 src/views/Home/index.vue create mode 100644 src/views/Manifest/Detail/index.vue create mode 100644 src/views/Manifest/Manage/index.vue create mode 100644 src/views/Manifest/Stowage/index.vue create mode 100644 src/views/Notify/index.vue create mode 100644 src/views/Resource/index.vue create mode 100644 src/views/Send/index.vue create mode 100644 src/views/Subscribe/Mine/index.vue create mode 100644 src/views/Subscribe/Receive/index.vue create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..ddcefeb --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see http://editorconfig.org + +# 表示是最顶层的 EditorConfig 配置文件 +root = true + +[*] # 表示所有文件适用 +charset = utf-8 # 设置文件字符集为 utf-8 +indent_style = space # 缩进风格(tab | space) +indent_size = 2 # 缩进大小 +end_of_line = lf # 控制换行类型(lf | cr | crlf) +trim_trailing_whitespace = true # 去除行首的任意空白字符 +insert_final_newline = true # 始终在文件末尾插入一个新行 + +[*.md] # 表示仅 md 文件适用以下规则 +max_line_length = off +trim_trailing_whitespace = false diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..396ac41 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,14 @@ +*.sh +node_modules +*.md +*.woff +*.ttf +.vscode +.idea +dist +/public +/docs +.husky +.local +/bin +Dockerfile diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..09e62f2 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,70 @@ +module.exports = { + root: true, + env: { + browser: true, + es2021: true, + node: true, + }, + // 指定如何解析语法 + parser: 'vue-eslint-parser', + // 优先级低于 parse 的语法解析配置 + parserOptions: { + parser: '@typescript-eslint/parser', + ecmaVersion: 'latest', + sourceType: 'module', + }, + // 继承某些已有的规则 + extends: [ + 'plugin:vue/vue3-essential', + 'plugin:@typescript-eslint/recommended', + 'plugin:prettier/recommended', // 添加 prettier 插件 + ], + plugins: ['vue', '@typescript-eslint', 'import', 'prettier', 'simple-import-sort'], + overrides: [ + { + files: ['*.ts', '*.tsx'], + parser: '@typescript-eslint/parser', + }, + ], + rules: { + '@typescript-eslint/ban-types': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/promise-function-async': 'off', + 'vue/multi-word-component-names': 'off', + 'simple-import-sort/imports': [ + 'error', + { + groups: [ + [ + // 以字母(或数字或下划线)或“@”后面跟着字母开头的东西,通常为内置模块引入 + '^@?\\w', + // 内部导入 "@/" + '^@(/.*|$)', + `^@/assets$`, + `^@/components$`, + `^@/config$`, + `^@/hooks$`, + `^@/plugins$`, + `^@/router$`, + `^@/store$`, + `^@/styles$`, + `^@/utils$`, + // 父级导入. 把 `..` 放在最后. + '^\\.\\.(?!/?$)', + '^\\.\\./?$', + // 同级导入. 把同一个文件夹.放在最后 + '^\\./(?=.*/)(?!/?$)', + '^\\.(?!/?$)', + '^\\./?$', + // 样式导入. + '^.+\\.?(css|less|scss)$', + // 带有副作用导入,比如import 'a.css'这种. + '^\\u0000', + ], + ], + }, + ], + 'simple-import-sort/exports': 'error', // 导出 + 'import/order': 'off', + }, +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100755 index 0000000..1a089f4 --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx --no-install commitlint --edit $1 diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..d24fdfc --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx lint-staged diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..3660c26 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,9 @@ +{ + "useTabs": false, + "tabWidth": 2, + "printWidth": 100, + "singleQuote": true, + "trailingComma": "es5", + "bracketSpacing": true, + "semi": true +} diff --git a/.stylelintignore b/.stylelintignore new file mode 100644 index 0000000..0517076 --- /dev/null +++ b/.stylelintignore @@ -0,0 +1,3 @@ +/dist/* +/public/* +public/* diff --git a/.stylelintrc.js b/.stylelintrc.js new file mode 100644 index 0000000..8819814 --- /dev/null +++ b/.stylelintrc.js @@ -0,0 +1,41 @@ +// @see: https://stylelint.io + +module.exports = { + root: true, + // 继承某些已有的规则 + extends: [ + 'stylelint-config-html/vue', // 配置 vue 中 template 样式格式化 + 'stylelint-config-standard-scss', // 配置 stylelint scss 插件 + 'stylelint-config-recommended-vue/scss', // 配置 vue 中 scss 样式格式化 + 'stylelint-config-recess-order', // 配置 stylelint css 属性书写顺序插件, + ], + overrides: [ + // 扫描 .vue/html 文件中的 diff --git a/src/assets/icons/API.svg b/src/assets/icons/API.svg new file mode 100644 index 0000000..508f94b --- /dev/null +++ b/src/assets/icons/API.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/BoatInfo.svg b/src/assets/icons/BoatInfo.svg new file mode 100644 index 0000000..c61e020 --- /dev/null +++ b/src/assets/icons/BoatInfo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/Help.svg b/src/assets/icons/Help.svg new file mode 100644 index 0000000..a42d47c --- /dev/null +++ b/src/assets/icons/Help.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/History.svg b/src/assets/icons/History.svg new file mode 100644 index 0000000..59e6fb1 --- /dev/null +++ b/src/assets/icons/History.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/Home.svg b/src/assets/icons/Home.svg new file mode 100644 index 0000000..cb0faf5 --- /dev/null +++ b/src/assets/icons/Home.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/Logout.svg b/src/assets/icons/Logout.svg new file mode 100644 index 0000000..c51813c --- /dev/null +++ b/src/assets/icons/Logout.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/ManifestInfo.svg b/src/assets/icons/ManifestInfo.svg new file mode 100644 index 0000000..673bd61 --- /dev/null +++ b/src/assets/icons/ManifestInfo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/Moon.svg b/src/assets/icons/Moon.svg new file mode 100644 index 0000000..55116e6 --- /dev/null +++ b/src/assets/icons/Moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/Notify.svg b/src/assets/icons/Notify.svg new file mode 100644 index 0000000..2a3ad58 --- /dev/null +++ b/src/assets/icons/Notify.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/SendInfo.svg b/src/assets/icons/SendInfo.svg new file mode 100644 index 0000000..b9e0af0 --- /dev/null +++ b/src/assets/icons/SendInfo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/Setting.svg b/src/assets/icons/Setting.svg new file mode 100644 index 0000000..de266bd --- /dev/null +++ b/src/assets/icons/Setting.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/SubscribeInfo.svg b/src/assets/icons/SubscribeInfo.svg new file mode 100644 index 0000000..f359e27 --- /dev/null +++ b/src/assets/icons/SubscribeInfo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/icons/Sunny.svg b/src/assets/icons/Sunny.svg new file mode 100644 index 0000000..21959d5 --- /dev/null +++ b/src/assets/icons/Sunny.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/imgs/logo.png b/src/assets/imgs/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6a3a7668312addb77439387dec41a8942f355695 GIT binary patch literal 1655 zcmbVNdrT8|9KS1d6o#|nTQ|8K&ba~YUE%tImcF$>D`}g-bZ$M{6DqVh_0m$u7D3y*{7M_xa0h z%r`Ea7(Y860Dy`5MH&+`)-tc1^9=I^k7sUShFP?>kT#PmXdg}yfYMGbCm_8OFCt6? zZm%f2L}UR#jNM@=qzessQXA>y;Smha?{qV40LaSryK!3yK|{-lB8N)`51wv@A%|TC z7hnd&;8qjGjzyIeVXibQIB!$|0iR7#u&nzBa9m2)j z7mB$U-X`780Kht^*C;LiuKpg>I7d14y)xlRP0su0CS3c1+V-l+#od?;mBn=(%{X{% z-`-20SWyR`%E^6q-8rzh;BtM_Ekb**A~`ttaofqI!Ttk{Md7edl<*D6Js)cZSk(aq z`|$opI}JY5+%?-n4V$;DI;ncA%`j_5?7d%g10nj`QkAd=uLv(~+Yw)|Dz(>qYVz>P z;lyyq-5im%uWqyX*c7(}#U!s~g7}OCE|<;ba9Auh8w43`01O#BkJ)zndTnR6*M#DRj#<_Fbdj~g(!Z`!p z*4!)Ye`XJ~JqYPrXXb{EY)-npKl{+`z~yb$Dw2|X@W#A`9^Op0=FPsCLp|~0o^q?&n@gYMlP?MoMi}Q~k(>Jr@=a zfj=cxhL0}E%Q5uD99RDm+Uefg&rWLYoRB<~1yAL-c6M6itCu|A{5m+fGOSZvj7?C< zZy7gzeld1e&7|TPS!%hpz3X-i6UtZH6!O|CMIf-Kx=K+9zC04PW`OF@J6G8W=O^i= za3P4pVd~MHG6cSul>e}Svmj})+zOP91e|wziSHIBOh-JKpHyj1Te%E2h{?dl?ycAR zJ`8;NL!KNOO7w