封装消息

This commit is contained in:
xiaoxian521 2020-12-06 20:35:19 +08:00
parent 6089708a07
commit ff5b759722
6 changed files with 114 additions and 121 deletions

134
package-lock.json generated
View File

@ -145,8 +145,8 @@
},
"@popperjs/core": {
"version": "2.5.4",
"resolved": "http://192.168.250.101:4873/@popperjs%2fcore/-/core-2.5.4.tgz",
"integrity": "sha1-3iW12p9yeYWjdX/Vm10Cirp1hBo="
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.5.4.tgz",
"integrity": "sha512-ZpKr+WTb8zsajqgDkvCEWgp6d5eJT6Q63Ng2neTbzBO76Lbe91vX/iVIW9dikq+Fs3yEo+ls4cxeXABD2LtcbQ=="
},
"@rollup/plugin-commonjs": {
"version": "16.0.0",
@ -633,8 +633,8 @@
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "http://192.168.250.101:4873/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
@ -643,8 +643,8 @@
},
"chalk": {
"version": "4.1.0",
"resolved": "http://192.168.250.101:4873/chalk/-/chalk-4.1.0.tgz",
"integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"optional": true,
"requires": {
@ -654,8 +654,8 @@
},
"color-convert": {
"version": "2.0.1",
"resolved": "http://192.168.250.101:4873/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
@ -664,15 +664,15 @@
},
"color-name": {
"version": "1.1.4",
"resolved": "http://192.168.250.101:4873/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"fork-ts-checker-webpack-plugin-v5": {
"version": "npm:fork-ts-checker-webpack-plugin@5.2.1",
"resolved": "http://192.168.250.101:4873/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz",
"integrity": "sha1-eTJthpeXkG+osk4qvPlCH8gFRQ0=",
"resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz",
"integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==",
"dev": true,
"optional": true,
"requires": {
@ -689,50 +689,17 @@
"tapable": "^1.0.0"
}
},
"fs-extra": {
"version": "9.0.1",
"resolved": "http://192.168.250.101:4873/fs-extra/-/fs-extra-9.0.1.tgz",
"integrity": "sha1-kQ2gBiQ3ukw5/t2GPxZ1zP78ufw=",
"dev": true,
"optional": true,
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^1.0.0"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "http://192.168.250.101:4873/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"jsonfile": {
"version": "6.1.0",
"resolved": "http://192.168.250.101:4873/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4=",
"dev": true,
"optional": true,
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
},
"dependencies": {
"universalify": {
"version": "2.0.0",
"resolved": "http://192.168.250.101:4873/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc=",
"dev": true,
"optional": true
}
}
},
"lru-cache": {
"version": "6.0.0",
"resolved": "http://192.168.250.101:4873/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"optional": true,
"requires": {
@ -741,8 +708,8 @@
},
"schema-utils": {
"version": "2.7.0",
"resolved": "http://192.168.250.101:4873/schema-utils/-/schema-utils-2.7.0.tgz",
"integrity": "sha1-FxUfdtjq5n+793lgwzxnatn078c=",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
"integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
"dev": true,
"optional": true,
"requires": {
@ -753,8 +720,8 @@
},
"semver": {
"version": "7.3.4",
"resolved": "http://192.168.250.101:4873/semver/-/semver-7.3.4.tgz",
"integrity": "sha1-J6qn0uTKdkUvmNOt0JOnLJQ+3Jc=",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
"integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"optional": true,
"requires": {
@ -763,25 +730,18 @@
},
"supports-color": {
"version": "7.2.0",
"resolved": "http://192.168.250.101:4873/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"universalify": {
"version": "1.0.0",
"resolved": "http://192.168.250.101:4873/universalify/-/universalify-1.0.0.tgz",
"integrity": "sha1-thodoXPoQ1sv48Z9Kbmt+FlL0W0=",
"dev": true,
"optional": true
},
"yallist": {
"version": "4.0.0",
"resolved": "http://192.168.250.101:4873/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true,
"optional": true
}
@ -1388,8 +1348,8 @@
},
"async-validator": {
"version": "3.5.1",
"resolved": "http://192.168.250.101:4873/async-validator/-/async-validator-3.5.1.tgz",
"integrity": "sha1-zWK5aIskZfSEIOJ620d2CrG1VZ8="
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.1.tgz",
"integrity": "sha512-DDmKA7sdSAJtTVeNZHrnr2yojfFaoeW8MfQN8CeuXg8DDQHTqKk9Fdv38dSvnesHoO8MUwMI2HphOeSyIF+wmQ=="
},
"asynckit": {
"version": "0.4.0",
@ -2324,8 +2284,8 @@
},
"cosmiconfig": {
"version": "6.0.0",
"resolved": "http://192.168.250.101:4873/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
"integrity": "sha1-2k/uhTxS9rHmk19BwaL8UL1KmYI=",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
"integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
"dev": true,
"optional": true,
"requires": {
@ -2338,8 +2298,8 @@
"dependencies": {
"path-type": {
"version": "4.0.0",
"resolved": "http://192.168.250.101:4873/path-type/-/path-type-4.0.0.tgz",
"integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
"dev": true,
"optional": true
}
@ -2457,9 +2417,9 @@
}
},
"dayjs": {
"version": "1.9.6",
"resolved": "http://192.168.250.101:4873/dayjs/-/dayjs-1.9.6.tgz",
"integrity": "sha1-bwx312rB/2NyDdEZfly4e2eUPXA="
"version": "1.9.7",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.9.7.tgz",
"integrity": "sha512-IC877KBdMhBrCfBfJXHQlo0G8keZ0Opy7YIIq5QKtUbCuHMzim8S4PyiVK4YmihI3iOF9lhfUBW4AQWHTR5WHA=="
},
"debug": {
"version": "4.3.1",
@ -2689,9 +2649,9 @@
"dev": true
},
"element-plus": {
"version": "1.0.1-beta.3",
"resolved": "http://192.168.250.101:4873/element-plus/-/element-plus-1.0.1-beta.3.tgz",
"integrity": "sha1-lF1Xh4I+ikR1G5AbGxqUrS1If18=",
"version": "1.0.1-beta.4",
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-1.0.1-beta.4.tgz",
"integrity": "sha512-1Ce8+oJbATpPjpe7iwO4K1RB+rlBB1BfIK2LsHZSOwfjaGAfbKUnj0vWKa4zbRJF9x7hv1t2mEd8J7/ENte43Q==",
"requires": {
"@popperjs/core": "^2.4.4",
"async-validator": "^3.4.0",
@ -2704,8 +2664,8 @@
"dependencies": {
"lodash": {
"version": "4.17.20",
"resolved": "http://192.168.250.101:4873/lodash/-/lodash-4.17.20.tgz",
"integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI="
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
}
}
},
@ -3943,8 +3903,8 @@
},
"fs-monkey": {
"version": "1.0.1",
"resolved": "http://192.168.250.101:4873/fs-monkey/-/fs-monkey-1.0.1.tgz",
"integrity": "sha1-SoLzaUQ2XmGfRFTZ//EGVTBnt4E=",
"resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.1.tgz",
"integrity": "sha512-fcSa+wyTqZa46iWweI7/ZiUfegOZl0SG8+dltIwFXo7+zYU9J9kpS3NB6pZcSlJdhvIwp81Adx2XhZorncxiaA==",
"dev": true,
"optional": true
},
@ -5344,8 +5304,8 @@
},
"memfs": {
"version": "3.2.0",
"resolved": "http://192.168.250.101:4873/memfs/-/memfs-3.2.0.tgz",
"integrity": "sha1-+UOOYitazR2qikrhYMSW/dEyWyY=",
"resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.0.tgz",
"integrity": "sha512-f/xxz2TpdKv6uDn6GtHee8ivFyxwxmPuXatBb1FBwxYNuVpbM3k/Y1Z+vC0mH/dIXXrukYfe3qe5J32Dfjg93A==",
"dev": true,
"optional": true,
"requires": {
@ -5504,8 +5464,8 @@
},
"mitt": {
"version": "2.1.0",
"resolved": "http://192.168.250.101:4873/mitt/-/mitt-2.1.0.tgz",
"integrity": "sha1-90BXfCMXbGIFsSGylzUU6t4bIjA="
"resolved": "https://registry.npmjs.org/mitt/-/mitt-2.1.0.tgz",
"integrity": "sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg=="
},
"mixin-deep": {
"version": "1.3.2",
@ -5705,7 +5665,7 @@
},
"normalize-wheel": {
"version": "1.0.1",
"resolved": "http://192.168.250.101:4873/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
"integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
},
"npm-run-path": {
@ -6608,8 +6568,8 @@
},
"resize-observer-polyfill": {
"version": "1.5.1",
"resolved": "http://192.168.250.101:4873/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
"integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
},
"resolve": {
"version": "1.19.0",

View File

@ -10,7 +10,7 @@
"dependencies": {
"await-to-js": "^2.1.1",
"axios": "^0.21.0",
"element-plus": "^1.0.1-beta.3",
"element-plus": "^1.0.1-beta.4",
"vue": "^3.0.4",
"vue-class-component": "^8.0.0-rc.1",
"vue-router": "^4.0.0-rc.6",

View File

@ -21,17 +21,11 @@
<el-form-item prop="verify">
<el-input
maxlength="2"
show-word-limit
onkeyup="this.value=this.value.replace(/[^\d.]/g,'');"
v-model.number="ruleForm.verify"
placeholder="请输入验证码"
></el-input>
<span
class="verify"
title="刷新"
v-html="ruleForm.svg"
@click.prevent="refreshVerify"
></span>
<span class="verify" title="刷新" v-html="ruleForm.svg" @click.prevent="refreshVerify"></span>
</el-form-item>
<el-form-item>
<el-button type="primary" @click.prevent="onLogin">登录</el-button>
@ -47,7 +41,7 @@ import {
defineComponent,
PropType,
onBeforeMount,
getCurrentInstance,
getCurrentInstance
} from "vue";
export interface ContextProps {
@ -63,8 +57,8 @@ export default defineComponent({
props: {
ruleForm: {
type: Object as PropType<ContextProps>,
require: true,
},
require: true
}
},
emits: ["onLogin", "refreshVerify"],
setup(props, ctx) {
@ -74,12 +68,12 @@ export default defineComponent({
userName: [{ required: true, message: "请输入用户名", trigger: "blur" }],
passWord: [
{ required: true, message: "请输入密码", trigger: "blur" },
{ min: 6, message: "密码长度必须不小于6位", trigger: "blur" },
{ min: 6, message: "密码长度必须不小于6位", trigger: "blur" }
],
verify: [
{ required: true, message: "请输入验证码", trigger: "blur" },
{ type: "number", message: "验证码必须是数字类型", trigger: "blur" },
],
{ type: "number", message: "验证码必须是数字类型", trigger: "blur" }
]
});
onBeforeMount(() => {
@ -108,7 +102,7 @@ export default defineComponent({
};
return { rules, resetForm, onLogin, refreshVerify };
},
}
});
</script>

View File

@ -0,0 +1,43 @@
import { ElMessage } from "element-plus"
// 消息
const Message = (message: string): any => {
return ElMessage({
showClose: true,
message
})
}
// 成功
const successMessage = (message: string): any => {
return ElMessage({
showClose: true,
message,
type: "success"
})
}
// 警告
const warnMessage = (message: string): any => {
return ElMessage({
showClose: true,
message,
type: "warning"
})
}
// 失败
const errorMessage = (message: string): any => {
return ElMessage({
showClose: true,
message,
type: "error"
})
}
export {
Message,
successMessage,
warnMessage,
errorMessage
}

View File

@ -0,0 +1,5 @@
import { getCurrentInstance } from 'vue'
export const useConfig = (): any => {
return getCurrentInstance()?.appContext.config.globalProperties
}

View File

@ -1,10 +1,6 @@
<template>
<div class="login">
<info
:ruleForm="contextInfo"
@on-login="onLogin"
@refreshVerify="refreshVerify"
/>
<info :ruleForm="contextInfo" @on-login="onLogin" @refreshVerify="refreshVerify" />
</div>
</template>
@ -14,20 +10,18 @@ import {
reactive,
onMounted,
onBeforeMount,
getCurrentInstance,
getCurrentInstance
} from "vue";
import info, { ContextProps } from "../components/info.vue";
import { getVerify, getLogin } from "../api/login";
import { useRouter } from "vue-router";
import { storageSession } from "../utils/storage";
import { warnMessage, successMessage } from "../utils/message";
export default {
components: {
info,
info
},
setup() {
const message = getCurrentInstance()?.appContext.config.globalProperties
.$message;
const router = useRouter();
//
@ -40,7 +34,7 @@ export default {
userName: "",
passWord: "",
verify: null,
svg: null,
svg: null
});
const toPage = (token: string): void => {
@ -54,14 +48,11 @@ export default {
let { code, info, accessToken } = await getLogin({
username: userName,
password: passWord,
verify: verify,
verify: verify
});
code === 0
? message({
message: info,
type: "success",
}) && toPage(accessToken)
: message(info);
? successMessage(info) && toPage(accessToken)
: warnMessage(info);
};
const refreshVerify = (): void => {
@ -77,8 +68,8 @@ export default {
onLogin,
router,
toPage,
refreshVerify,
refreshVerify
};
},
}
};
</script>