From 3929c639e595b3f3e09089ae2f7fcad1d35567f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A4=9A=E5=95=A6C=E6=A2=A6?= <15709267061@163.com>
Date: Fri, 13 Jun 2025 11:25:24 +0800
Subject: [PATCH] update
---
src/components/OpenTypeFun.js | 1 +
src/pages/forgotPassword/index.vue | 22 +++++++++++++++++++++-
src/pages/login/AccountLogin.vue | 16 +++++++++++++++-
src/pages/login/PhoneLogin.vue | 17 ++++++++++++++++-
src/pages/login/index.vue | 6 ++++++
src/pages/register/index.vue | 27 +++++++++++++++++++++++----
src/pages/userInfo/index.vue | 15 +++++++++++++--
src/utils/uils.js | 29 +++++++++++++++++++++--------
vite.config.js | 8 +++++---
9 files changed, 121 insertions(+), 20 deletions(-)
diff --git a/src/components/OpenTypeFun.js b/src/components/OpenTypeFun.js
index 264668d..ab0a025 100644
--- a/src/components/OpenTypeFun.js
+++ b/src/components/OpenTypeFun.js
@@ -17,6 +17,7 @@ const OpenTypeFun = async (options) => {
break;
}
case 3: { // 微信连接
+ window.open(url);
break;
}
case 4: { // 外部连接
diff --git a/src/pages/forgotPassword/index.vue b/src/pages/forgotPassword/index.vue
index 9d59eff..32002cf 100644
--- a/src/pages/forgotPassword/index.vue
+++ b/src/pages/forgotPassword/index.vue
@@ -4,7 +4,7 @@ import XNav from "../../components/XNav.vue";
import XLink from "../../components/XLink.vue";
import XInput from "../../components/XInput.vue";
import Api from "../../api/index.js";
-import {backPage, showToast} from "../../utils/uils.js";
+import {backPage, showToast, verifyForm} from "../../utils/uils.js";
import SendMsg from "../../components/SendMsg.vue";
const form = reactive({
@@ -12,8 +12,28 @@ const form = reactive({
captcha: null,
password: null,
});
+const rules = {
+ mobile: {
+ reg: /^1[3-9]\d{9}$/,
+ title: '手机号',
+ msg: '手机号错误',
+ required: true,
+ },
+ captcha: {
+ reg: /^\d{6}$/,
+ title: '验证码',
+ msg: '验证码错误',
+ required: true,
+ },
+ password: {
+ title: '密码',
+ msg: '密码错误',
+ required: true,
+ }
+}
const success = async () => {
+ verifyForm(form, rules);
const {msg} = await Api.system.editPassword(form);
showToast(msg);
backPage();
diff --git a/src/pages/login/AccountLogin.vue b/src/pages/login/AccountLogin.vue
index 3adaf7d..1ec76d4 100644
--- a/src/pages/login/AccountLogin.vue
+++ b/src/pages/login/AccountLogin.vue
@@ -2,7 +2,7 @@
import {reactive} from "vue";
import XInput from "../../components/XInput.vue";
import XLink from "../../components/XLink.vue";
-import {showToast, toPage} from "../../utils/uils.js";
+import {showToast, toPage, verifyForm} from "../../utils/uils.js";
import Api from "../../api/index.js";
import {useUserStore} from "../../pinia/UserStore/index.js";
@@ -12,8 +12,22 @@ const form = reactive({
mobile: '17502997128',
password: '123456',
});
+const rules = {
+ mobile: {
+ reg: /^1[3-9]\d{9}$/,
+ title: '手机号',
+ msg: '手机号错误',
+ required: true,
+ },
+ password: {
+ title: '密码',
+ msg: '密码错误',
+ required: true,
+ }
+};
const success = async () => {
+ verifyForm(form, rules);
const {msg, data} = await Api.system.accountLogin(form);
showToast(msg);
UserStore.isLogin = true;
diff --git a/src/pages/login/PhoneLogin.vue b/src/pages/login/PhoneLogin.vue
index 6646625..d826f18 100644
--- a/src/pages/login/PhoneLogin.vue
+++ b/src/pages/login/PhoneLogin.vue
@@ -1,7 +1,7 @@
diff --git a/src/pages/register/index.vue b/src/pages/register/index.vue
index 1104aa9..fa38f6b 100644
--- a/src/pages/register/index.vue
+++ b/src/pages/register/index.vue
@@ -5,28 +5,47 @@ import BulletChat from "../login/BulletChat.vue";
import XInput from "../../components/XInput.vue";
import SendMsg from "../../components/SendMsg.vue";
import Api from "../../api/index.js";
-import {showToast, verifyForm} from "../../utils/uils.js";
+import {showToast, toPage, verifyForm} from "../../utils/uils.js";
const form = reactive({
- mobile: null,
wechat: null,
+ mobile: null,
captcha: null,
password: null,
invite: null,
});
const rules = {
+ wechat: {
+ reg: /^[a-zA-Z0-9_-]{1,19}$/,
+ msg: '微信号错误',
+ title: '微信号',
+ required: true,
+ },
mobile: {
reg: /^1[3-9]\d{9}$/,
- msg: '手机号错误'
+ title: '手机号',
+ msg: '手机号错误',
+ required: true,
},
- wechat: {}
+ captcha: {
+ reg: /^\d{6}$/,
+ title: '验证码',
+ msg: '验证码错误',
+ required: true,
+ },
+ password: {
+ title: '密码',
+ msg: '密码错误',
+ required: true,
+ }
};
const success = async () => {
verifyForm(form, rules);
const {msg} = await Api.system.register(form);
showToast(msg);
+ await toPage(`/pages/login/index?showWX=1`);
}
diff --git a/src/pages/userInfo/index.vue b/src/pages/userInfo/index.vue
index e595ab8..f05a692 100644
--- a/src/pages/userInfo/index.vue
+++ b/src/pages/userInfo/index.vue
@@ -5,6 +5,8 @@ import Avatar from "../../static/images/Avatar.png";
import XNav from "../../components/XNav.vue";
import {useUserStore} from "../../pinia/UserStore/index.js";
import {onShow} from "@dcloudio/uni-app";
+import {showToast, uploadFile} from "../../utils/uils.js";
+import Api from "../../api/index.js";
// #ifdef APP-PLUS
import EditNickName from './components/EditNickName.vue';
@@ -51,6 +53,14 @@ const openTools = (key) => {
onShow(() => {
UserStore.getUserInfo();
})
+
+const updateAvatar = async () => {
+ const [res] = await uploadFile({count: 1});
+ const {data} = res;
+ const {msg} = await Api.system.saveInfo({avatar: data});
+ showToast(msg);
+ await UserStore.getUserInfo();
+}
@@ -58,9 +68,10 @@ onShow(() => {
-
+
头像
-
+
diff --git a/src/utils/uils.js b/src/utils/uils.js
index 7f8b192..2e16012 100644
--- a/src/utils/uils.js
+++ b/src/utils/uils.js
@@ -175,15 +175,28 @@ export const uploadFile = ({count}) => {
}
export const verifyForm = (model, rules) => {
+ console.log('进来了')
Object.entries(model).forEach(([key, value]) => {
- console.log(rules[key], key)
- if (rules[key] && !rules[key].reg.test(value)) {
- showToast({
- icon: 'error',
- mask: true,
- title: rules[key].msg,
- });
- throw new Error(rules[key].msg);
+ console.log(rules[key], key, value)
+ if (rules[key]) {
+ if (rules[key].required && !value) {
+ showToast({
+ icon: 'error',
+ mask: true,
+ title: `${rules[key].title}不能为空`,
+ });
+ throw new Error(rules[key].msg);
+ }
+ if (rules[key].reg) {
+ if (!rules[key].reg.test(value)) {
+ showToast({
+ icon: 'error',
+ mask: true,
+ title: rules[key].msg,
+ });
+ throw new Error(rules[key].msg);
+ }
+ }
}
});
}
diff --git a/vite.config.js b/vite.config.js
index 8982362..bb35f1e 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -10,9 +10,11 @@ export default defineConfig({
defineModel: true,
}
}),
- // UnifiedViteWeappTailwindcssPlugin({
- // rem2rpx: true,
- // })
+ // #ifdef MP-WEIXIN
+ UnifiedViteWeappTailwindcssPlugin({
+ rem2rpx: true,
+ })
+ // #endif
],
css: {
postcss: {