From e22b485ec29dd6bf3c6f2309e79b0eccff507fee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=86=8A=E7=8C=AB?= <13581431+xiongmao1988@user.noreply.gitee.com> Date: Mon, 19 Feb 2024 15:15:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=81=E8=A3=85axios+=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=97=A9=E4=B8=8A=E5=A5=BD=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/{axios => api}/ws.ts | 0 src/components/user-info.vue | 29 ++++++++-- src/static-data/core.ts | 2 +- src/stores/index.ts | 6 ++ src/{axios/index.ts => utils/request.ts} | 12 ++-- src/utils/time.ts | 17 ++++++ src/utils/token.ts | 13 +++++ src/views/index.vue | 2 +- src/views/login/login.vue | 55 ++++++++++++++++--- src/views/remote-manage/remote-control.vue | 2 +- .../system-manage/chart/city-map-chart.vue | 2 +- 11 files changed, 116 insertions(+), 24 deletions(-) rename src/{axios => api}/ws.ts (100%) create mode 100644 src/stores/index.ts rename src/{axios/index.ts => utils/request.ts} (85%) create mode 100644 src/utils/time.ts create mode 100644 src/utils/token.ts diff --git a/src/axios/ws.ts b/src/api/ws.ts similarity index 100% rename from src/axios/ws.ts rename to src/api/ws.ts diff --git a/src/components/user-info.vue b/src/components/user-info.vue index 3d15bc6..4e182ab 100644 --- a/src/components/user-info.vue +++ b/src/components/user-info.vue @@ -68,25 +68,42 @@ const validatePassword = (rule: any, value: any, callback: any) => { } } +//自定义校验规则函数 +const validatorPassword = (rule: any, value: any, callback: any) => { + if (value.length >= 6) { + callback(); + } else { + callback(new Error('密码长度至少6位')); + } +} + +const validatorPhone = (rule: any, value: any, callback: any) => { + if (value.length == 11) { + callback(); + } else { + callback(new Error('手机号码长度为11位')); + } +} + const rules = reactive({ phone: [ - { required: true, message: '请输入手机号', trigger: 'blur' }, + { required: true, validator:validatorPhone, trigger: 'change' }, ], name: [ - { required: true, message: '请输入用户名', trigger: 'blur' }, + { required: true, message: '请输入姓名', trigger: 'blur' }, ], mailbox: [ { type: 'email', message: '邮箱格式不正确', trigger: ['blur', 'change'] }, ], password: [ - { required: true, message: '请输入密码', trigger: 'blur' }, + { required: true, validator: validatorPassword, trigger: 'change' }, ], newPassword: [ - { required: true, message: '请选择新密码', trigger: 'blur' }, - { validator: validatePassword, trigger: 'blur' } + { required: true, validator: validatorPassword, trigger: 'change' }, + //{ validator: validatePassword, trigger: 'blur' } ], confirmPassword: [ - { required: true, message: '请选择新密码', trigger: 'blur' }, + { required: true, message: '请输入密码', trigger: 'change' }, { validator: validatePassword, trigger: 'blur' } ] }) diff --git a/src/static-data/core.ts b/src/static-data/core.ts index 2af4174..6146871 100644 --- a/src/static-data/core.ts +++ b/src/static-data/core.ts @@ -1,4 +1,4 @@ -import { getData, postData } from '@/axios/index' +import { getData, postData } from '@/utils/request' export const getHospitalsData = () => { const hospitals = [] as any diff --git a/src/stores/index.ts b/src/stores/index.ts new file mode 100644 index 0000000..f984eea --- /dev/null +++ b/src/stores/index.ts @@ -0,0 +1,6 @@ +//仓库大仓库 +import { createPinia } from 'pinia' +//创建大仓库 +const pinia = createPinia() +//对外暴露:入口文件需要安装仓库 +export default pinia diff --git a/src/axios/index.ts b/src/utils/request.ts similarity index 85% rename from src/axios/index.ts rename to src/utils/request.ts index fd0aa81..983fab6 100644 --- a/src/axios/index.ts +++ b/src/utils/request.ts @@ -5,12 +5,12 @@ const BASE_URL = import.meta.env.BASE_URL export const get = (url: any, params: any, success: any) => { axios.get(HOST + url, params) - .then(res => { - success(res); - }) - .catch(err => { - success(err); - }); + .then(res => { + success(res); + }) + .catch(err => { + success(err); + }); }; export const post = (url: any, params: any, success: any) => { axios.post(HOST + url, params) diff --git a/src/utils/time.ts b/src/utils/time.ts new file mode 100644 index 0000000..f29506f --- /dev/null +++ b/src/utils/time.ts @@ -0,0 +1,17 @@ +//封装一个函数:获取一个结果:当前早上|上午|下午|晚上 +export const getTime = () => { + let message = '' + //通过内置构造函数Date + const hours = new Date().getHours() + //情况的判断 + if (hours <= 9) { + message = '早上' + } else if (hours <= 12) { + message = '上午' + } else if (hours <= 18) { + message = '下午' + } else { + message = '晚上' + } + return message +} diff --git a/src/utils/token.ts b/src/utils/token.ts new file mode 100644 index 0000000..cd6b6c0 --- /dev/null +++ b/src/utils/token.ts @@ -0,0 +1,13 @@ +//封装本地存储存储数据与读取数据方法 +//存储数据 +export const SET_TOKEN = (token: string) => { + localStorage.setItem('TOKEN', token) +} +//本地存储获取数据 +export const GET_TOKEN = () => { + return localStorage.getItem('TOKEN') +} +//本地存储删除数据方法 +export const REMOVE_TOKEN = () => { + localStorage.removeItem('TOKEN') +} diff --git a/src/views/index.vue b/src/views/index.vue index ad13498..17af06f 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -65,7 +65,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import { useLoginStore } from '@/stores/user-info-store' import { getHospitalsData } from '@/static-data/core' import userInfoForm from '@/components/user-info.vue' -import {wsApi} from "@/axios/ws"; +import {wsApi} from "@/api/ws"; const router = useRouter() const route = useRoute() diff --git a/src/views/login/login.vue b/src/views/login/login.vue index 8f818ff..5347df2 100644 --- a/src/views/login/login.vue +++ b/src/views/login/login.vue @@ -34,7 +34,7 @@ - 登录 + 登录 注册账号
@@ -124,13 +124,19 @@