From e49f4426f3d45a18419d65445c94472f7a147f02 Mon Sep 17 00:00:00 2001 From: Kane Wang Date: Tue, 28 Feb 2023 18:48:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/web/task_schedule/.eslintrc.js | 36 ++++++++-- code/web/task_schedule/package-lock.json | 57 ++++++++++++++-- code/web/task_schedule/package.json | 1 + code/web/task_schedule/src/App.vue | 32 ++------- .../src/components/login/Login.vue | 50 +++++++++++++- .../src/data/cpicxim/StuffInfo.ts | 66 +++++++++++++++++++ .../src/utils/api/localStorage.ts | 43 ++++++++++++ .../task_schedule/src/utils/api/request.ts | 37 +++++++++++ .../src/utils/localStorage/localStorage.ts | 13 ---- code/web/task_schedule/yarn.lock | 44 ++++++++++++- 10 files changed, 323 insertions(+), 56 deletions(-) create mode 100644 code/web/task_schedule/src/data/cpicxim/StuffInfo.ts create mode 100644 code/web/task_schedule/src/utils/api/localStorage.ts create mode 100644 code/web/task_schedule/src/utils/api/request.ts delete mode 100644 code/web/task_schedule/src/utils/localStorage/localStorage.ts diff --git a/code/web/task_schedule/.eslintrc.js b/code/web/task_schedule/.eslintrc.js index e4b860c..1efba53 100644 --- a/code/web/task_schedule/.eslintrc.js +++ b/code/web/task_schedule/.eslintrc.js @@ -2,7 +2,7 @@ * @Author: Kane * @Date: 2022-12-14 15:12:46 * @LastEditors: Kane - * @LastEditTime: 2023-02-28 09:14:16 + * @LastEditTime: 2023-02-28 15:26:13 * @FilePath: /deskop_task_schedule/code/web/task_schedule/.eslintrc.js * @Description: * @@ -12,18 +12,20 @@ module.exports = { root: true, env: { node: true, + browser: true, + es2021: true, }, - 'extends': [ - 'plugin:vue/vue3-essential', - 'eslint:recommended', + "extends": [ + "plugin:vue/vue3-essential", + "eslint:recommended", ], parserOptions: { - parser: '@babel/eslint-parser', + parser: "@babel/eslint-parser", requireConfigFile: false, }, rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', + "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", + "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", "no-unused-vars": "warn", "semi": ["error", "always",],//控制行尾部分号 "comma-dangle": ["error", { @@ -41,5 +43,25 @@ module.exports = { "no-shadow-restricted-names": "error", //禁止对一些关键字或者保留字进行赋值操作,比如NaN、Infinity、undefined、eval、arguments等 // "comma-spacing": ["error", { "before": false, "after": true, },], "brace-style": ["error", "allman", { "allowSingleLine": true, },], + "prefer-const": "warn", }, + overrides: [ + { + files: ["*.ts",], + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint",], + extends: [ + // "standard-with-typescript", + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", + ], + rules: { + "@typescript-eslint/no-extra-semi": "off", + "@typescript-eslint/no-inferrable-types": "off", + "@typescript-eslint/no-unused-vars": "warn", + "@typescript-eslint/ban-ts-comment": "warn", + }, + }, + ], }; diff --git a/code/web/task_schedule/package-lock.json b/code/web/task_schedule/package-lock.json index e8142e2..30f8208 100644 --- a/code/web/task_schedule/package-lock.json +++ b/code/web/task_schedule/package-lock.json @@ -12,6 +12,7 @@ "@element-plus/icons-vue": "^2.0.10", "@typescript-eslint/eslint-plugin": "^5.54.0", "@typescript-eslint/parser": "^5.54.0", + "axios": "^1.3.4", "babel": "^6.23.0", "element-plus": "^2.2.30", "moment": "^2.29.4", @@ -2302,6 +2303,11 @@ "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", @@ -2345,6 +2351,16 @@ "node": ">= 0.4" } }, + "node_modules/axios": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.3.4.tgz", + "integrity": "sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/babel": { "version": "6.23.0", "resolved": "https://registry.npmmirror.com/babel/-/babel-6.23.0.tgz", @@ -2920,6 +2936,17 @@ "dev": true, "peer": true }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", @@ -3553,6 +3580,14 @@ "node": ">= 0.4" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", @@ -6448,8 +6483,6 @@ "version": "1.15.2", "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz", "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "dev": true, - "peer": true, "engines": { "node": ">=4.0" }, @@ -6468,6 +6501,19 @@ "is-callable": "^1.1.3" } }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", @@ -8265,7 +8311,6 @@ "version": "1.52.0", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -8274,7 +8319,6 @@ "version": "2.1.35", "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -9842,6 +9886,11 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz", diff --git a/code/web/task_schedule/package.json b/code/web/task_schedule/package.json index 3872b6b..875652d 100644 --- a/code/web/task_schedule/package.json +++ b/code/web/task_schedule/package.json @@ -12,6 +12,7 @@ "@element-plus/icons-vue": "^2.0.10", "@typescript-eslint/eslint-plugin": "^5.54.0", "@typescript-eslint/parser": "^5.54.0", + "axios": "^1.3.4", "babel": "^6.23.0", "element-plus": "^2.2.30", "moment": "^2.29.4", diff --git a/code/web/task_schedule/src/App.vue b/code/web/task_schedule/src/App.vue index 91b9849..c259dc2 100644 --- a/code/web/task_schedule/src/App.vue +++ b/code/web/task_schedule/src/App.vue @@ -2,8 +2,8 @@ * @Author: Kane * @Date: 2023-02-15 09:25:52 * @LastEditors: Kane - * @LastEditTime: 2023-02-28 01:15:01 - * @FilePath: /task_schedule/src/App.vue + * @LastEditTime: 2023-02-28 18:45:57 + * @FilePath: /deskop_task_schedule/code/web/task_schedule/src/App.vue * @Description: * * Copyright (c) ${2022} by Kane, All Rights Reserved. @@ -15,38 +15,16 @@ diff --git a/code/web/task_schedule/src/components/login/Login.vue b/code/web/task_schedule/src/components/login/Login.vue index 994d9ae..301b412 100644 --- a/code/web/task_schedule/src/components/login/Login.vue +++ b/code/web/task_schedule/src/components/login/Login.vue @@ -8,13 +8,20 @@ * Copyright (c) ${2022} by Kane, All Rights Reserved. --> diff --git a/code/web/task_schedule/src/data/cpicxim/StuffInfo.ts b/code/web/task_schedule/src/data/cpicxim/StuffInfo.ts new file mode 100644 index 0000000..c9dda9c --- /dev/null +++ b/code/web/task_schedule/src/data/cpicxim/StuffInfo.ts @@ -0,0 +1,66 @@ +/* + * @Author: Kane + * @Date: 2023-02-28 14:48:30 + * @LastEditors: Kane + * @FilePath: /deskop_task_schedule/code/web/task_schedule/src/data/cpicxim/StuffInfo.ts + * @Description: + * + * Copyright (c) ${2022} by Kane, All Rights Reserved. + */ + +class StuffInfo +{ + StuffInfo( + stuff_code: string = "", + stuff_name: string = "", + p13uid: string = "", + department_code: string = "", + department_name: string = "" + ) + { + this._stuffCode = stuff_code; + this._stuffName = stuff_name; + this._p13uid = p13uid; + this._department_code = department_code; + this._department_name = department_name; + } + + public get StuffCode(): string + { + return this._stuffCode; + } + + public set StuffCode(stuff_code: string) + { + this._stuffCode = stuff_code; + } + + public get StuffName(): string + { + return this._stuffName; + } + + public set StuffName(stuff_name: string) + { + this._stuffName = stuff_name; + } + + public get P13UID(): string + { + return this._p13uid; + } + + public set P13UID(p13uid: string) + { + this._p13uid = p13uid; + } + + private _stuffCode: string; + private _stuffName: string; + private _p13uid: string; + private _department_code: string; + private _department_name: string; +} + +export { StuffInfo }; + diff --git a/code/web/task_schedule/src/utils/api/localStorage.ts b/code/web/task_schedule/src/utils/api/localStorage.ts new file mode 100644 index 0000000..10a4bf1 --- /dev/null +++ b/code/web/task_schedule/src/utils/api/localStorage.ts @@ -0,0 +1,43 @@ +/* + * @Author: Kane + * @Date: 2023-02-28 09:26:45 + * @LastEditors: Kane + * @FilePath: /deskop_task_schedule/code/web/task_schedule/src/utils/localStorage/localStorage.ts + * @Description: + * + * Copyright (c) ${2022} by Kane, All Rights Reserved. + */ +import { StuffInfo } from "@/data/cpicxim/StuffInfo"; + +const STUFF_ITEM = "STUFF_INFO"; + +function loadStaffInfo(): StuffInfo +{ + const stuff = new StuffInfo(); + + let obj = null; + + try + { + obj = JSON.parse(window.localStorage.getItem(STUFF_ITEM)); + } + catch (error) + { + obj = {}; + } + + stuff.StuffCode = obj._stuffCode || ""; + stuff.StuffName = obj._stuffName || ""; + stuff.P13UID = obj._p13uid || ""; + + return stuff; +} + +function saveStuffInfo(stuff: StuffInfo) +{ + const json = JSON.stringify(stuff); + + window.localStorage.setItem(STUFF_ITEM, json); +}; + +export { loadStaffInfo, saveStuffInfo }; \ No newline at end of file diff --git a/code/web/task_schedule/src/utils/api/request.ts b/code/web/task_schedule/src/utils/api/request.ts new file mode 100644 index 0000000..9df01d6 --- /dev/null +++ b/code/web/task_schedule/src/utils/api/request.ts @@ -0,0 +1,37 @@ + +import axios from "axios"; + +const service = axios.create( + { + baseURL: "", + timeout: 10000, + } +); + +//请求拦截 +service.interceptors.request.use( + (config) => + { + return config; + }, + (error) => + { + console.log(error); + + return Promise.reject(error); + } +); + +//响应拦截 +service.interceptors.response.use( + (response) => + { + return response; + }, + (error) => + { + return Promise.reject(error); + } +); + +export { service }; \ No newline at end of file diff --git a/code/web/task_schedule/src/utils/localStorage/localStorage.ts b/code/web/task_schedule/src/utils/localStorage/localStorage.ts deleted file mode 100644 index a097166..0000000 --- a/code/web/task_schedule/src/utils/localStorage/localStorage.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* - * @Author: Kane - * @Date: 2023-02-28 09:26:45 - * @LastEditors: Kane - * @FilePath: /deskop_task_schedule/code/web/task_schedule/src/utils/localStorage/localStorage.js - * @Description: - * - * Copyright (c) ${2022} by Kane, All Rights Reserved. - */ -function loadStaffInfo() -{ - // const staffInfo:string = ""; -} \ No newline at end of file diff --git a/code/web/task_schedule/yarn.lock b/code/web/task_schedule/yarn.lock index eefe535..1dc1a25 100644 --- a/code/web/task_schedule/yarn.lock +++ b/code/web/task_schedule/yarn.lock @@ -1344,6 +1344,11 @@ async@^2.6.4: dependencies: lodash "^4.17.14" +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz" @@ -1366,6 +1371,15 @@ available-typed-arrays@^1.0.5: resolved "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +axios@^1.3.4: + version "1.3.4" + resolved "https://registry.npmmirror.com/axios/-/axios-1.3.4.tgz" + integrity sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + babel-eslint@^10.0.1: version "10.1.0" resolved "https://registry.npmmirror.com/babel-eslint/-/babel-eslint-10.1.0.tgz" @@ -1724,6 +1738,13 @@ colorette@^2.0.10: resolved "https://registry.npmmirror.com/colorette/-/colorette-2.0.19.tgz" integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + commander@^2.20.0: version "2.20.3" resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz" @@ -2055,6 +2076,11 @@ define-properties@^1.1.3, define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + depd@~1.1.2: version "1.1.2" resolved "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz" @@ -2954,7 +2980,7 @@ flatted@^3.1.0: resolved "https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -follow-redirects@^1.0.0: +follow-redirects@^1.0.0, follow-redirects@^1.15.0: version "1.15.2" resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== @@ -2966,6 +2992,15 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + forwarded@0.2.0: version "0.2.0" resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz" @@ -4061,7 +4096,7 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -4928,6 +4963,11 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz"