用户管理接口完成

This commit is contained in:
2026-08-27 16:14:12 +08:00
parent d4be566459
commit f850774d65
6 changed files with 574 additions and 262 deletions
+46 -1
View File
@@ -95,4 +95,49 @@ export function formatTimestamp(timestamp: number | string,format: string = 'yyy
return `${year}-${month}-${day} ${hours}:${minutes}`;
}
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
}
// 辅助函数:Fisher-Yates 洗牌算法
function shuffle(arr:any) {
for (let i = arr.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[arr[i], arr[j]] = [arr[j], arr[i]];
}
return arr;
}
// 辅助函数:从字符串中随机获取字符
function getRandomChar(str:any) {
return str[Math.floor(Math.random() * str.length)];
}
// 生成至少12位,包含四类字符中的至少三种的随机密码
export function generateSecurePassword(passwordLength:number) {
// 定义字符池
const charSets:any = {
uppercase: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
lowercase: 'abcdefghijklmnopqrstuvwxyz',
numbers: '0123456789',
symbols: '!@#$%^&*()_+-=[]{}|;:,.<>?'
};
// 随机选择三种字符类型(保证至少三类)
const requiredTypes = shuffle(Object.keys(charSets)).slice(0, 3);
// 生成必选字符(每类至少1个)
let password = requiredTypes
.map((type:any) => getRandomChar(charSets[type]))
.join('');
// 生成剩余字符(允许包含所有四类)
const remainingLength = passwordLength - password.length;
const allChars = Object.values(charSets).join('');
for (let i = 0; i < remainingLength; i++) {
password += getRandomChar(allChars);
}
// 打乱字符顺序
return shuffle(password.split('')).join('');
}
// 获取 token
export const getToken = () => {
return localStorage.getItem('token');
};
+4 -1
View File
@@ -5,6 +5,7 @@ import json5 from 'json5';
*
* @param env The current env
*/
let url = 'http://192.168.0.230:8086';
export function createServiceConfig(env: Env.ImportMeta) {
const { VITE_SERVICE_BASE_URL, VITE_OTHER_SERVICE_BASE_URL } = env;
@@ -15,7 +16,6 @@ export function createServiceConfig(env: Env.ImportMeta) {
// eslint-disable-next-line no-console
console.error('VITE_OTHER_SERVICE_BASE_URL is not a valid json5 string');
}
let url = 'http://192.168.0.230:8086';
if(env.DEV){
url = 'http://192.168.0.230:8086';
}else{
@@ -44,6 +44,9 @@ export function createServiceConfig(env: Env.ImportMeta) {
return config;
}
export function getBaseUrl() {
return url;
}
/**
* get backend service base url