From 4c2836116a7ea09ec7f237b02fb0410832794240 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 21 五月 2026 11:06:35 +0800
Subject: [PATCH] 登录问题修改
---
src/pages/login.vue | 60 +++++++++++++-
src/api/login.js | 71 +++++++++--------
src/store/modules/user.ts | 85 ++++++++++++---------
3 files changed, 138 insertions(+), 78 deletions(-)
diff --git a/src/api/login.js b/src/api/login.js
index 29a149d..561b98c 100644
--- a/src/api/login.js
+++ b/src/api/login.js
@@ -1,81 +1,82 @@
-import request from '@/utils/request'
+import request from "@/utils/request";
// 鐧诲綍鏂规硶
-export function loginCheckFactory(username, password) {
+export function loginCheckFactory(username, password, factoryId) {
const data = {
username,
password,
- }
+ factoryId,
+ };
return request({
- url: '/loginCheckFactory',
+ url: "/loginCheckFactory",
headers: {
- isToken: false
+ isToken: false,
+ repeatSubmit: false,
},
- method: 'post',
- data: data
- })
+ method: "post",
+ data: data,
+ });
}
// 鑾峰彇鐢ㄦ埛璇︾粏淇℃伅
export function getInfo() {
return request({
- url: '/getInfo',
- method: 'get'
- })
+ url: "/getInfo",
+ method: "get",
+ });
}
// 閫�鍑烘柟娉�
export function logout() {
return request({
- url: '/logout',
- method: 'post'
- })
+ url: "/logout",
+ method: "post",
+ });
}
// 鑾峰彇鍏徃鍒楄〃
export function userLoginFacotryList(params) {
return request({
- url: '/userLoginFacotryList',
- method: 'get',
- params: params
- })
+ url: "/userLoginFacotryList",
+ method: "get",
+ params: params,
+ });
}
// 鑾峰彇鏈繃鏈熷叕鍛婃暟閲�
export function noticesList(params) {
return request({
- url: '/collaborativeApproval/notice/page',
- method: 'get',
- params: params
- })
+ url: "/collaborativeApproval/notice/page",
+ method: "get",
+ params: params,
+ });
}
// 鍙戦�佸鎴风鎺ㄩ�佹爣璇嗗埌鏈嶅姟鍣�
export function updateClientId(data) {
return request({
- url: '/system/client/addOrUpdateClientId',
- method: 'post',
- data: data
- })
+ url: "/system/client/addOrUpdateClientId",
+ method: "post",
+ data: data,
+ });
}
-
// 鏌ヨ鍏憡鍒楄〃
export function listNotice(query) {
return request({
- url: '/system/notice/list',
- method: 'get',
- params: query
- })
+ url: "/system/notice/list",
+ method: "get",
+ params: query,
+ });
}
// 鑾峰彇鏈娑堟伅鏁伴噺
export function getNoticeCount(consigneeId) {
return request({
- url: '/system/notice/getCount',
- method: 'get',
- params: { consigneeId }
- })
+ url: "/system/notice/getCount",
+ method: "get",
+ params: { consigneeId },
+ });
}
// 鏍囪娑堟伅涓哄凡璇�
diff --git a/src/pages/login.vue b/src/pages/login.vue
index ee49113..2d96046 100644
--- a/src/pages/login.vue
+++ b/src/pages/login.vue
@@ -22,6 +22,21 @@
clearable
type="password"></up-input>
</view>
+ <!-- <view class="input-item flex align-center"
+ v-if="factoryList.length > 0">
+ <up-input prefixIcon="home"
+ placeholder="璇烽�夋嫨宸ュ巶"
+ border="bottom"
+ readonly
+ @click="showFactorySelect = true"
+ v-model="selectedFactoryName"
+ clearable></up-input>
+ <up-action-sheet :show="showFactorySelect"
+ :actions="factoryList"
+ title="璇烽�夋嫨宸ュ巶"
+ @close="showFactorySelect = false"
+ @select="handleFactorySelect"></up-action-sheet>
+ </view> -->
<view>
<button @click="handleLogin"
class="login-btn cu-btn block bg-blue lg round">鐧诲綍</button>
@@ -70,9 +85,17 @@
const loginForm = ref({
userName: "",
password: "",
- currentFatoryName: "",
+ factoryId: "",
});
const factoryList = ref([]); // 鍏徃鍒楄〃
+ const showFactorySelect = ref(false);
+ const selectedFactoryName = ref("");
+
+ const handleFactorySelect = e => {
+ loginForm.value.factoryId = e.id;
+ selectedFactoryName.value = e.name;
+ showFactorySelect.value = false;
+ };
// 淇濆瓨瀵嗙爜鍒版湰鍦板瓨鍌�
function savePassword() {
@@ -127,17 +150,28 @@
id: item.deptId,
name: item.deptName,
}));
+ // 濡傛灉鍙湁涓�涓伐鍘傦紝榛樿閫変腑
+ if (factoryList.value.length === 1) {
+ loginForm.value.factoryId = factoryList.value[0].id;
+ selectedFactoryName.value = factoryList.value[0].name;
+ }
} else {
// 濡傛灉res.data涓嶆槸鏁扮粍锛岃缃负绌烘暟缁�
factoryList.value = [];
+ loginForm.value.factoryId = "";
+ selectedFactoryName.value = "";
}
})
.catch(error => {
showToast("鑾峰彇鍏徃鍒楄〃澶辫触:", error);
factoryList.value = [];
+ loginForm.value.factoryId = "";
+ selectedFactoryName.value = "";
});
} else {
factoryList.value = [];
+ loginForm.value.factoryId = "";
+ selectedFactoryName.value = "";
}
}
@@ -146,6 +180,8 @@
showToast("璇疯緭鍏ユ偍鐨勮处鍙�");
} else if (loginForm.value.password === "") {
showToast("璇疯緭鍏ユ偍鐨勫瘑鐮�");
+ } else if (factoryList.value.length > 0 && loginForm.value.factoryId === "") {
+ showToast("璇烽�夋嫨宸ュ巶");
} else {
showToast("鐧诲綍涓紝璇疯�愬績绛夊緟...");
pwdLogin();
@@ -254,7 +290,10 @@
const accountInfo = uni.getAccountInfoSync();
if (accountInfo?.miniProgram?.version) {
versionName.value = accountInfo.miniProgram.version;
- console.log("[login-version] 褰撳墠鐜=MP-WEIXIN锛岀増鏈�=", versionName.value);
+ console.log(
+ "[login-version] 褰撳墠鐜=MP-WEIXIN锛岀増鏈�=",
+ versionName.value
+ );
}
} catch (e) {
// 鑾峰彇澶辫触鏃朵娇鐢ㄩ粯璁ゅ��
@@ -270,18 +309,27 @@
// @ts-ignore
const appid = plus.runtime.appid;
// @ts-ignore
- plus.runtime.getProperty(appid, (info) => {
+ plus.runtime.getProperty(appid, info => {
const v = info?.version || info?.versionName || "";
if (v) {
versionName.value = String(v);
- console.log("[login-version] 褰撳墠鐜=APP-PLUS锛岀増鏈�=", versionName.value);
+ console.log(
+ "[login-version] 褰撳墠鐜=APP-PLUS锛岀増鏈�=",
+ versionName.value
+ );
} else {
- console.log("[login-version] APP-PLUS 鑾峰彇鍒扮殑鐗堟湰瀛楁涓虹┖锛屼娇鐢ㄩ粯璁ゅ��:", versionName.value);
+ console.log(
+ "[login-version] APP-PLUS 鑾峰彇鍒扮殑鐗堟湰瀛楁涓虹┖锛屼娇鐢ㄩ粯璁ゅ��:",
+ versionName.value
+ );
}
console.log("[login-version] 鏈�缁堢増鏈彿:", versionName.value);
});
} else {
- console.log("[login-version] APP-PLUS 鐜涓嬬己灏� getProperty锛屼娇鐢ㄩ粯璁ゅ��:", versionName.value);
+ console.log(
+ "[login-version] APP-PLUS 鐜涓嬬己灏� getProperty锛屼娇鐢ㄩ粯璁ゅ��:",
+ versionName.value
+ );
console.log("[login-version] 鏈�缁堢増鏈彿:", versionName.value);
}
// #endif
diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts
index 140e0a3..07b0f1c 100644
--- a/src/store/modules/user.ts
+++ b/src/store/modules/user.ts
@@ -1,9 +1,9 @@
-import {logout, getInfo, loginCheckFactory} from "@/api/login";
+import { logout, getInfo, loginCheckFactory } from "@/api/login";
import { getRouters as getRoutersApi } from "@/api/menu";
import { getToken, setToken, removeToken } from "@/utils/auth";
import defAva from "@/static/images/profile.jpg";
import { defineStore } from "pinia";
-import config from '@/config.js'
+import config from "@/config.js";
export interface LoginForm {
userName: string;
@@ -28,43 +28,54 @@
actions: {
// 閮ㄩ棬鐧诲綍
loginCheckFactory(userInfo: any) {
- const userName = userInfo.userName
- const password = userInfo.password
+ const userName = userInfo.userName.trim();
+ const password = userInfo.password;
+ const factoryId = userInfo.factoryId;
return new Promise((resolve, reject) => {
- loginCheckFactory(userName, password).then((res: any) => {
- setToken(res.token)
- this.token = res.token
- resolve(null)
- }).catch((error: any) => {
- reject(error)
- })
- })
+ loginCheckFactory(userName, password, factoryId)
+ .then((res: any) => {
+ const token = res.token || res.data?.token;
+ if (token) {
+ setToken(token);
+ this.token = token;
+ resolve(null);
+ } else {
+ reject("鏈幏鍙栧埌鐧诲綍浠ょ墝");
+ }
+ })
+ .catch((error: any) => {
+ reject(error);
+ });
+ });
},
// 鑾峰彇鐢ㄦ埛淇℃伅
getInfo() {
return new Promise((resolve, reject) => {
getInfo()
.then((res: any) => {
- const user = res.user
- let avatar = user.avatar || ""
- avatar = config.baseUrl + '/profile/' + avatar
- if (res.roles && res.roles.length > 0) { // 楠岃瘉杩斿洖鐨剅oles鏄惁鏄竴涓潪绌烘暟缁�
- this.roles = res.roles
- this.permissions = res.permissions
+ // 鍏煎 res.data 缁撴瀯
+ const data = res.data || res;
+ const user = data.user || {};
+ let avatar = user.avatar || "";
+ avatar = config.baseUrl + "/profile/" + avatar;
+ if (data.roles && data.roles.length > 0) {
+ // 楠岃瘉杩斿洖鐨剅oles鏄惁鏄竴涓潪绌烘暟缁�
+ this.roles = data.roles;
+ this.permissions = data.permissions;
} else {
- this.roles = ['ROLE_DEFAULT']
+ this.roles = ["ROLE_DEFAULT"];
}
- this.id = user.userId
- this.name = user.userName
- this.avatar = avatar
- this.currentFactoryName = user.currentFactoryName
- this.nickName = user.nickName
- this.roleName = user.roles[0].roleName
- this.currentDeptId = user.tenantId
- this.currentLoginTime = this.getCurrentTime()
- resolve(res);
+ this.id = user.userId || "";
+ this.name = user.userName || "";
+ this.avatar = avatar;
+ this.currentFactoryName = user.currentFactoryName || "";
+ this.nickName = user.nickName || "";
+ this.roleName = Array.isArray(user.roles) && user.roles.length > 0 ? user.roles[0].roleName || "" : "";
+ this.currentDeptId = user.tenantId || "";
+ this.currentLoginTime = this.getCurrentTime();
+ resolve(data);
})
- .catch((error) => {
+ .catch(error => {
reject(error);
});
});
@@ -83,19 +94,19 @@
removeToken();
resolve(null);
})
- .catch((error) => {
+ .catch(error => {
reject(error);
});
});
},
getCurrentTime() {
const now = new Date();
- const year = now.getFullYear(); // 鑾峰彇骞翠唤
- const month = String(now.getMonth() + 1).padStart(2, '0'); // 鏈堜唤浠�0寮�濮嬶紝瑕�+1锛屽苟琛ラ浂
- const day = String(now.getDate()).padStart(2, '0'); // 鏃ユ湡琛ラ浂
- const hours = String(now.getHours()).padStart(2, '0'); // 灏忔椂琛ラ浂
- const minutes = String(now.getMinutes()).padStart(2, '0'); // 鍒嗛挓琛ラ浂
- const seconds = String(now.getSeconds()).padStart(2, '0'); // 绉掓暟琛ラ浂
+ const year = now.getFullYear(); // 鑾峰彇骞翠唤
+ const month = String(now.getMonth() + 1).padStart(2, "0"); // 鏈堜唤浠�0寮�濮嬶紝瑕�+1锛屽苟琛ラ浂
+ const day = String(now.getDate()).padStart(2, "0"); // 鏃ユ湡琛ラ浂
+ const hours = String(now.getHours()).padStart(2, "0"); // 灏忔椂琛ラ浂
+ const minutes = String(now.getMinutes()).padStart(2, "0"); // 鍒嗛挓琛ラ浂
+ const seconds = String(now.getSeconds()).padStart(2, "0"); // 绉掓暟琛ラ浂
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
},
// 鑾峰彇璺敱鏉冮檺
@@ -107,7 +118,7 @@
this.routers = res.data || [];
resolve(res);
})
- .catch((error) => {
+ .catch(error => {
reject(error);
});
});
--
Gitblit v1.9.3