更新API服务地址前缀为'/admin-go',统一后端服务配置,优化请求模块,调整个人信息页面上传接口,提升代码一致性和可读性。
This commit is contained in:
@@ -1,10 +1,6 @@
|
||||
# 本地环境
|
||||
ENV = 'development'
|
||||
|
||||
# 统一后端服务地址配置(全部模块共用 8000 端口)
|
||||
# 切换环境时,仅需修改下面这一个地址的 IP
|
||||
# 当前环境: 192.168.3.38
|
||||
# 备用环境: 192.168.3.200
|
||||
# 备用环境: 116.204.74.41
|
||||
# 备用环境: 172.20.10.7
|
||||
VITE_API_URL = 'http://192.168.74.41:8000/'
|
||||
# 统一后端服务地址前缀(网关服务名:admin-go)
|
||||
# 开发环境走本地代理,避免 CORS
|
||||
VITE_API_URL = 'http://192.168.74.41:8000'
|
||||
|
||||
@@ -4,5 +4,5 @@ ENV = 'production'
|
||||
# public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可
|
||||
VITE_PUBLIC_PATH = '/sys/'
|
||||
|
||||
# 统一服务地址(端口8000)
|
||||
VITE_API_URL = '/'
|
||||
# 统一服务地址前缀(网关服务名:admin-go)
|
||||
VITE_API_URL = ''
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>服务开通 - 智能营销服务平台</title>
|
||||
<link rel="stylesheet" href="main.css">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="main.css" />
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&display=swap" rel="stylesheet" />
|
||||
<style>
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
@@ -134,7 +134,9 @@
|
||||
right: 8px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background: #10b981 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/12px no-repeat;
|
||||
background: #10b981
|
||||
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E")
|
||||
center/12px no-repeat;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
@@ -187,7 +189,9 @@
|
||||
right: 12px;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
background: #3b82f6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/14px no-repeat;
|
||||
background: #3b82f6
|
||||
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E")
|
||||
center/14px no-repeat;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
@@ -298,7 +302,9 @@
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
to { transform: rotate(360deg); }
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.empty-container {
|
||||
@@ -344,14 +350,15 @@
|
||||
color: #15803d;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="auth-body">
|
||||
|
||||
</head>
|
||||
<body class="auth-body">
|
||||
<!-- 导航 -->
|
||||
<nav class="auth-navbar">
|
||||
<div class="auth-navbar-container">
|
||||
<a href="/index.html#/home" class="auth-back-link">
|
||||
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"></path></svg>
|
||||
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"></path>
|
||||
</svg>
|
||||
返回首页
|
||||
</a>
|
||||
<span class="auth-title">服务开通</span>
|
||||
@@ -371,12 +378,14 @@
|
||||
</div>
|
||||
|
||||
<!-- 错误信息 -->
|
||||
<div id="error" class="error-message" style="display: none;"></div>
|
||||
<div id="error" class="error-message" style="display: none"></div>
|
||||
|
||||
<!-- 资产信息 -->
|
||||
<div id="asset-info" class="asset-info" style="display: none;">
|
||||
<div id="asset-info" class="asset-info" style="display: none">
|
||||
<div class="icon-wrapper">
|
||||
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path></svg>
|
||||
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="info-content">
|
||||
<h3 id="asset-name" class="asset-name"></h3>
|
||||
@@ -385,31 +394,38 @@
|
||||
</div>
|
||||
|
||||
<!-- 用户类型选择 -->
|
||||
<div id="type-section" style="display: none;">
|
||||
<div id="type-section" style="display: none">
|
||||
<div class="section-title">选择类型</div>
|
||||
<div id="type-list" class="type-grid"></div>
|
||||
</div>
|
||||
|
||||
<!-- SKU 列表 -->
|
||||
<div id="sku-section" style="display: none;">
|
||||
<div id="sku-section" style="display: none">
|
||||
<div class="section-title">选择套餐</div>
|
||||
<div id="sku-list" class="sku-grid"></div>
|
||||
</div>
|
||||
|
||||
<!-- 空状态 -->
|
||||
<div id="empty" class="empty-container" style="display: none;">
|
||||
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4"></path></svg>
|
||||
<div id="empty" class="empty-container" style="display: none">
|
||||
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4"
|
||||
></path>
|
||||
</svg>
|
||||
<p>暂无可用套餐</p>
|
||||
</div>
|
||||
|
||||
<!-- 成功信息 -->
|
||||
<div id="success" class="success-message" style="display: none;">
|
||||
<div id="success" class="success-message" style="display: none">
|
||||
<h3>🎉 开通成功!</h3>
|
||||
<p>正在返回...</p>
|
||||
</div>
|
||||
|
||||
<!-- 操作按钮 -->
|
||||
<div id="actions" class="subscribe-actions" style="display: none;">
|
||||
<div id="actions" class="subscribe-actions" style="display: none">
|
||||
<button class="btn-subscribe secondary" onclick="handleCancel()">取消</button>
|
||||
<button id="btn-submit" class="btn-subscribe primary" onclick="handleSubscribe()" disabled>立即开通</button>
|
||||
</div>
|
||||
@@ -455,14 +471,14 @@
|
||||
console.log('[subscribe] token:', token);
|
||||
|
||||
const headers = {
|
||||
'Content-Type': 'application/json'
|
||||
'Content-Type': 'application/json',
|
||||
};
|
||||
if (token) {
|
||||
headers['Authorization'] = `Bearer ${token}`;
|
||||
}
|
||||
|
||||
const response = await fetch(`${API_BASE_NEW}/assets/asset/getAssetAndSku?assetId=${assetId}`, {
|
||||
headers: headers
|
||||
headers: headers,
|
||||
});
|
||||
|
||||
// 先获取文本,检查是否为有效JSON
|
||||
@@ -485,7 +501,6 @@
|
||||
renderAssetInfo(assetData);
|
||||
renderTypeList(tenantModuleTypes);
|
||||
renderSkuList(assetData.skus || []);
|
||||
|
||||
} catch (error) {
|
||||
console.error('加载失败:', error);
|
||||
showError(error.message || '加载套餐信息失败,请稍后重试');
|
||||
@@ -511,11 +526,15 @@
|
||||
return;
|
||||
}
|
||||
|
||||
container.innerHTML = types.map(type => `
|
||||
container.innerHTML = types
|
||||
.map(
|
||||
(type) => `
|
||||
<div class="type-card" data-type-key="${type.key}" onclick="selectType('${type.key}')">
|
||||
<div class="type-name">${type.value}</div>
|
||||
</div>
|
||||
`).join('');
|
||||
`
|
||||
)
|
||||
.join('');
|
||||
|
||||
section.style.display = 'block';
|
||||
|
||||
@@ -528,7 +547,7 @@
|
||||
// 选择用户类型
|
||||
function selectType(typeKey) {
|
||||
// 移除之前的选中状态
|
||||
document.querySelectorAll('.type-card').forEach(card => {
|
||||
document.querySelectorAll('.type-card').forEach((card) => {
|
||||
card.classList.remove('selected');
|
||||
});
|
||||
|
||||
@@ -539,7 +558,7 @@
|
||||
}
|
||||
|
||||
// 保存选中的类型
|
||||
selectedType = tenantModuleTypes.find(t => t.key === typeKey) || null;
|
||||
selectedType = tenantModuleTypes.find((t) => t.key === typeKey) || null;
|
||||
|
||||
// 更新按钮状态
|
||||
updateSubmitButton();
|
||||
@@ -557,7 +576,9 @@
|
||||
return;
|
||||
}
|
||||
|
||||
container.innerHTML = skus.map(sku => `
|
||||
container.innerHTML = skus
|
||||
.map(
|
||||
(sku) => `
|
||||
<div class="sku-card" data-sku-id="${sku.id}" onclick="selectSku('${sku.id}')">
|
||||
<div class="sku-name">${sku.skuName}</div>
|
||||
<div class="sku-content">
|
||||
@@ -570,7 +591,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`).join('');
|
||||
`
|
||||
)
|
||||
.join('');
|
||||
|
||||
section.style.display = 'block';
|
||||
actions.style.display = 'flex';
|
||||
@@ -584,7 +607,7 @@
|
||||
// 选择SKU
|
||||
function selectSku(skuId) {
|
||||
// 移除之前的选中状态
|
||||
document.querySelectorAll('.sku-card').forEach(card => {
|
||||
document.querySelectorAll('.sku-card').forEach((card) => {
|
||||
card.classList.remove('selected');
|
||||
});
|
||||
|
||||
@@ -595,7 +618,7 @@
|
||||
}
|
||||
|
||||
// 保存选中的SKU
|
||||
selectedSku = assetData?.skus?.find(s => s.id === skuId) || null;
|
||||
selectedSku = assetData?.skus?.find((s) => s.id === skuId) || null;
|
||||
|
||||
// 更新按钮状态
|
||||
updateSubmitButton();
|
||||
@@ -634,7 +657,7 @@
|
||||
|
||||
// 构建请求参数
|
||||
const requestBody = {
|
||||
assetSkuId: selectedSku.id
|
||||
assetSkuId: selectedSku.id,
|
||||
};
|
||||
|
||||
// 如果选择了用户类型,添加到请求参数
|
||||
@@ -642,13 +665,13 @@
|
||||
requestBody.tenantModuleType = selectedType.key;
|
||||
}
|
||||
|
||||
const response = await fetch(`${API_BASE_MAIN}/api/v1/system/moduleTenant/add`, {
|
||||
const response = await fetch(`${API_BASE_MAIN}/admin-go/api/v1/system/moduleTenant/add`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Authorization': token ? `Bearer ${token}` : '',
|
||||
'Content-Type': 'application/json'
|
||||
Authorization: token ? `Bearer ${token}` : '',
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify(requestBody)
|
||||
body: JSON.stringify(requestBody),
|
||||
});
|
||||
|
||||
const result = await response.json();
|
||||
@@ -689,7 +712,6 @@
|
||||
window.location.reload(true);
|
||||
}, 100);
|
||||
}, 2000);
|
||||
|
||||
} catch (error) {
|
||||
console.error('开通失败:', error);
|
||||
alert(error.message || '开通失败,请稍后重试');
|
||||
@@ -740,5 +762,5 @@
|
||||
document.getElementById('loading').style.display = 'none';
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -4,9 +4,9 @@ import request from '/@/utils/request';
|
||||
* 登录api接口集合
|
||||
* @method signIn 用户登录
|
||||
*/
|
||||
export function login(params: object){
|
||||
export function login(params: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/login',
|
||||
url: '/admin-go/api/v1/system/login',
|
||||
method: 'post',
|
||||
data: params,
|
||||
});
|
||||
@@ -15,19 +15,19 @@ export function login(params: object){
|
||||
/**
|
||||
* 获取验证码
|
||||
*/
|
||||
export function captcha(){
|
||||
export function captcha() {
|
||||
return request({
|
||||
url:"/api/v1/pub/captcha/get",
|
||||
method:"get"
|
||||
})
|
||||
url: '/admin-go/api/v1/pub/captcha/get',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 退出登录
|
||||
*/
|
||||
export function logout(){
|
||||
export function logout() {
|
||||
return request({
|
||||
url: '/api/v1/system/logout',
|
||||
url: '/admin-go/api/v1/system/logout',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
6
src/api/system/cache/index.ts
vendored
6
src/api/system/cache/index.ts
vendored
@@ -3,7 +3,7 @@ import request from '/@/utils/request';
|
||||
// 清除缓存
|
||||
export function removeCache() {
|
||||
return request({
|
||||
url: '/api/v1/system/cache/remove',
|
||||
method: 'delete'
|
||||
})
|
||||
url: '/admin-go/api/v1/system/cache/remove',
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,42 +1,41 @@
|
||||
import request from '/@/utils/request';
|
||||
|
||||
|
||||
export function getConfigList(query:Object) {
|
||||
export function getConfigList(query: Object) {
|
||||
return request({
|
||||
url: '/api/v1/system/config/list',
|
||||
url: '/admin-go/api/v1/system/config/list',
|
||||
method: 'get',
|
||||
params:query
|
||||
})
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
export function getConfig(id:string) {
|
||||
export function getConfig(id: string) {
|
||||
return request({
|
||||
url: '/api/v1/system/config/get',
|
||||
url: '/admin-go/api/v1/system/config/get',
|
||||
method: 'get',
|
||||
params:{id}
|
||||
})
|
||||
params: { id },
|
||||
});
|
||||
}
|
||||
|
||||
export function addConfig(data:any) {
|
||||
export function addConfig(data: any) {
|
||||
return request({
|
||||
url: '/api/v1/system/config/add',
|
||||
url: '/admin-go/api/v1/system/config/add',
|
||||
method: 'post',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function editConfig(data:any) {
|
||||
export function editConfig(data: any) {
|
||||
return request({
|
||||
url: '/api/v1/system/config/edit',
|
||||
url: '/admin-go/api/v1/system/config/edit',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function deleteConfig(ids:string[]) {
|
||||
export function deleteConfig(ids: string[]) {
|
||||
return request({
|
||||
url: '/api/v1/system/config/delete',
|
||||
url: '/admin-go/api/v1/system/config/delete',
|
||||
method: 'delete',
|
||||
data:{ids}
|
||||
})
|
||||
data: { ids },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,36 +1,33 @@
|
||||
import request from '/@/utils/request';
|
||||
|
||||
export function getDeptList(query?:Object) {
|
||||
export function getDeptList(query?: Object) {
|
||||
return request({
|
||||
url: '/api/v1/system/dept/list',
|
||||
url: '/admin-go/api/v1/system/dept/list',
|
||||
method: 'get',
|
||||
params:query
|
||||
})
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function addDept(data:object) {
|
||||
export function addDept(data: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/dept/add',
|
||||
url: '/admin-go/api/v1/system/dept/add',
|
||||
method: 'post',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function editDept(data:object) {
|
||||
export function editDept(data: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/dept/edit',
|
||||
url: '/admin-go/api/v1/system/dept/edit',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function deleteDept(id:number) {
|
||||
export function deleteDept(id: number) {
|
||||
return request({
|
||||
url: '/api/v1/system/dept/delete',
|
||||
url: '/admin-go/api/v1/system/dept/delete',
|
||||
method: 'delete',
|
||||
data:{id}
|
||||
})
|
||||
data: { id },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,85 +1,83 @@
|
||||
import request from '/@/utils/request';
|
||||
import {ref ,toRefs,ToRefs} from 'vue'
|
||||
import { ref, toRefs, ToRefs } from 'vue';
|
||||
// 根据字典类型查询字典数据信息
|
||||
export function getDict(dictType :string,defaultValue?:string):Promise<any> {
|
||||
let dv = defaultValue??''
|
||||
let params ={
|
||||
dictType:dictType,
|
||||
defaultValue:dv
|
||||
}
|
||||
export function getDict(dictType: string, defaultValue?: string): Promise<any> {
|
||||
let dv = defaultValue ?? '';
|
||||
let params = {
|
||||
dictType: dictType,
|
||||
defaultValue: dv,
|
||||
};
|
||||
return request({
|
||||
url: '/api/v1/system/dict/data/getDictData',
|
||||
url: '/admin-go/api/v1/system/dict/data/getDictData',
|
||||
method: 'get',
|
||||
params:params
|
||||
})
|
||||
params: params,
|
||||
});
|
||||
}
|
||||
|
||||
// 根据字典类型查询字典数据信息(新方案)
|
||||
export function getDicts(dictType :string,defaultValue?:string):Promise<any> {
|
||||
let dv = defaultValue??''
|
||||
let params ={
|
||||
dictType:dictType,
|
||||
defaultValue:dv
|
||||
}
|
||||
export function getDicts(dictType: string, defaultValue?: string): Promise<any> {
|
||||
let dv = defaultValue ?? '';
|
||||
let params = {
|
||||
dictType: dictType,
|
||||
defaultValue: dv,
|
||||
};
|
||||
return request({
|
||||
url: '/api/v1/system/dict/data/getDictDataTree',
|
||||
url: '/admin-go/api/v1/system/dict/data/getDictDataTree',
|
||||
method: 'get',
|
||||
params:params
|
||||
})
|
||||
params: params,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取字典数据
|
||||
*/
|
||||
export function useDict(...args:string[]):ToRefs<any>{
|
||||
const res:any = ref({});
|
||||
args.forEach((d:string) => {
|
||||
export function useDict(...args: string[]): ToRefs<any> {
|
||||
const res: any = ref({});
|
||||
args.forEach((d: string) => {
|
||||
res.value[d] = [];
|
||||
getDict(d).then(resp => {
|
||||
res.value[d] = resp.data.values.map((p:any) => ({ label: p.value, value: p.key, isDefault: p.isDefault }))
|
||||
})
|
||||
})
|
||||
getDict(d).then((resp) => {
|
||||
res.value[d] = resp.data.values.map((p: any) => ({ label: p.value, value: p.key, isDefault: p.isDefault }));
|
||||
});
|
||||
});
|
||||
return toRefs(res.value);
|
||||
}
|
||||
|
||||
|
||||
export function getDataList(query:Object) {
|
||||
export function getDataList(query: Object) {
|
||||
return request({
|
||||
url: '/api/v1/system/dict/data/list',
|
||||
url: '/admin-go/api/v1/system/dict/data/list',
|
||||
method: 'get',
|
||||
params:query
|
||||
})
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
export function getData(dictCode:number) {
|
||||
export function getData(dictCode: number) {
|
||||
return request({
|
||||
url: '/api/v1/system/dict/data/get',
|
||||
url: '/admin-go/api/v1/system/dict/data/get',
|
||||
method: 'get',
|
||||
params:{dictCode}
|
||||
})
|
||||
params: { dictCode },
|
||||
});
|
||||
}
|
||||
|
||||
export function addData(data:any) {
|
||||
export function addData(data: any) {
|
||||
return request({
|
||||
url: '/api/v1/system/dict/data/add',
|
||||
url: '/admin-go/api/v1/system/dict/data/add',
|
||||
method: 'post',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function editData(data:any) {
|
||||
export function editData(data: any) {
|
||||
return request({
|
||||
url: '/api/v1/system/dict/data/edit',
|
||||
url: '/admin-go/api/v1/system/dict/data/edit',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function deleteData(ids:number[]) {
|
||||
export function deleteData(ids: number[]) {
|
||||
return request({
|
||||
url: '/api/v1/system/dict/data/delete',
|
||||
url: '/admin-go/api/v1/system/dict/data/delete',
|
||||
method: 'delete',
|
||||
data:{ids}
|
||||
})
|
||||
data: { ids },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,52 +1,49 @@
|
||||
import request from '/@/utils/request';
|
||||
|
||||
export function getTypeList(query:Object) {
|
||||
export function getTypeList(query: Object) {
|
||||
return request({
|
||||
url: '/api/v1/system/dict/type/list',
|
||||
url: '/admin-go/api/v1/system/dict/type/list',
|
||||
method: 'get',
|
||||
params:query
|
||||
})
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
export function getType(dictId:number) {
|
||||
export function getType(dictId: number) {
|
||||
return request({
|
||||
url: '/api/v1/system/dict/type/get',
|
||||
url: '/admin-go/api/v1/system/dict/type/get',
|
||||
method: 'get',
|
||||
params:{dictId}
|
||||
})
|
||||
params: { dictId },
|
||||
});
|
||||
}
|
||||
|
||||
export function addType(data:any) {
|
||||
export function addType(data: any) {
|
||||
return request({
|
||||
url: '/api/v1/system/dict/type/add',
|
||||
url: '/admin-go/api/v1/system/dict/type/add',
|
||||
method: 'post',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function editType(data:any) {
|
||||
export function editType(data: any) {
|
||||
return request({
|
||||
url: '/api/v1/system/dict/type/edit',
|
||||
url: '/admin-go/api/v1/system/dict/type/edit',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function deleteType(dictIds:number[]) {
|
||||
export function deleteType(dictIds: number[]) {
|
||||
return request({
|
||||
url: '/api/v1/system/dict/type/delete',
|
||||
url: '/admin-go/api/v1/system/dict/type/delete',
|
||||
method: 'delete',
|
||||
data:{dictIds}
|
||||
})
|
||||
data: { dictIds },
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 获取字典选择框列表
|
||||
export function optionselect() {
|
||||
return request({
|
||||
url: '/api/v1/system/dict/type/optionSelect',
|
||||
method: 'get'
|
||||
})
|
||||
url: '/admin-go/api/v1/system/dict/type/optionSelect',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,57 +1,56 @@
|
||||
import request from '/@/utils/request';
|
||||
|
||||
export function getMenuList(query:Object) {
|
||||
export function getMenuList(query: Object) {
|
||||
return request({
|
||||
url: '/api/v1/system/menu/list',
|
||||
url: '/admin-go/api/v1/system/menu/list',
|
||||
method: 'get',
|
||||
params:query
|
||||
})
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
export function getUserMenus() {
|
||||
return request({
|
||||
url: '/api/v1/system/user/getUserMenus',
|
||||
method: 'get'
|
||||
})
|
||||
url: '/admin-go/api/v1/system/user/getUserMenus',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
export function getMenuParams() {
|
||||
return request({
|
||||
url: '/api/v1/system/menu/getParams',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function addMenu(data:Object) {
|
||||
return request({
|
||||
url: '/api/v1/system/menu/add',
|
||||
method: 'post',
|
||||
data:data
|
||||
})
|
||||
}
|
||||
|
||||
export function getMenuInfo(id:number) {
|
||||
return request({
|
||||
url: '/api/v1/system/menu/get',
|
||||
url: '/admin-go/api/v1/system/menu/getParams',
|
||||
method: 'get',
|
||||
params:{id}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
export function updateMenu(data:Object) {
|
||||
export function addMenu(data: Object) {
|
||||
return request({
|
||||
url: '/api/v1/system/menu/update',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
url: '/admin-go/api/v1/system/menu/add',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function getMenuInfo(id: number) {
|
||||
return request({
|
||||
url: '/admin-go/api/v1/system/menu/get',
|
||||
method: 'get',
|
||||
params: { id },
|
||||
});
|
||||
}
|
||||
|
||||
export function updateMenu(data: Object) {
|
||||
return request({
|
||||
url: '/admin-go/api/v1/system/menu/update',
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除菜单
|
||||
export function delMenu(menuId:number) {
|
||||
export function delMenu(menuId: number) {
|
||||
return request({
|
||||
url: '/api/v1/system/menu/delete',
|
||||
url: '/admin-go/api/v1/system/menu/delete',
|
||||
method: 'delete',
|
||||
data:{ids:[menuId]}
|
||||
})
|
||||
data: { ids: [menuId] },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,28 +1,24 @@
|
||||
import request from '/@/utils/request';
|
||||
|
||||
|
||||
export function logList(query:object) {
|
||||
export function logList(query: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/loginLog/list',
|
||||
url: '/admin-go/api/v1/system/loginLog/list',
|
||||
method: 'get',
|
||||
params:query
|
||||
})
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function deleteLog(ids:number[]) {
|
||||
export function deleteLog(ids: number[]) {
|
||||
return request({
|
||||
url: '/api/v1/system/loginLog/delete',
|
||||
url: '/admin-go/api/v1/system/loginLog/delete',
|
||||
method: 'delete',
|
||||
params:{ids}
|
||||
})
|
||||
params: { ids },
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
export function clearLog() {
|
||||
return request({
|
||||
url: '/api/v1/system/loginLog/clear',
|
||||
url: '/admin-go/api/v1/system/loginLog/clear',
|
||||
method: 'delete',
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,37 +1,36 @@
|
||||
import request from '/@/utils/request'
|
||||
import request from '/@/utils/request';
|
||||
// 查询操作日志列表
|
||||
export function listSysOperLog(query:object) {
|
||||
export function listSysOperLog(query: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/operLog/list',
|
||||
url: '/admin-go/api/v1/system/operLog/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
// 查询操作日志详细
|
||||
export function getSysOperLog(operId:number) {
|
||||
export function getSysOperLog(operId: number) {
|
||||
return request({
|
||||
url: '/api/v1/system/operLog/get',
|
||||
url: '/admin-go/api/v1/system/operLog/get',
|
||||
method: 'get',
|
||||
params: {
|
||||
operId: operId.toString()
|
||||
}
|
||||
})
|
||||
operId: operId.toString(),
|
||||
},
|
||||
});
|
||||
}
|
||||
// 删除操作日志
|
||||
export function delSysOperLog(operIds:number[]) {
|
||||
export function delSysOperLog(operIds: number[]) {
|
||||
return request({
|
||||
url: '/api/v1/system/operLog/delete',
|
||||
url: '/admin-go/api/v1/system/operLog/delete',
|
||||
method: 'delete',
|
||||
data:{
|
||||
operIds:operIds
|
||||
}
|
||||
})
|
||||
data: {
|
||||
operIds: operIds,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function clearOperLog() {
|
||||
return request({
|
||||
url: '/api/v1/system/operLog/clear',
|
||||
url: '/admin-go/api/v1/system/operLog/clear',
|
||||
method: 'delete',
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import request from '/@/utils/request';
|
||||
|
||||
|
||||
export function getSysInfo() {
|
||||
return request({
|
||||
url: '/api/v1/system/monitor/server',
|
||||
method: 'get'
|
||||
})
|
||||
url: '/admin-go/api/v1/system/monitor/server',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import request from '/@/utils/request';
|
||||
|
||||
// 查询列表
|
||||
export function listSysUserOnline(query:object) {
|
||||
export function listSysUserOnline(query: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/online/list',
|
||||
url: '/admin-go/api/v1/system/online/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
export function forceLogout(ids:string[]) {
|
||||
export function forceLogout(ids: string[]) {
|
||||
return request({
|
||||
url: '/api/v1/system/online/forceLogout',
|
||||
url: '/admin-go/api/v1/system/online/forceLogout',
|
||||
method: 'delete',
|
||||
data: {ids}
|
||||
})
|
||||
data: { ids },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2,27 +2,24 @@ import request from '/@/utils/request';
|
||||
|
||||
export function getPersonalInfo() {
|
||||
return request({
|
||||
url: '/api/v1/system/personal/getPersonalInfo',
|
||||
url: '/admin-go/api/v1/system/personal/getPersonalInfo',
|
||||
method: 'get',
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function editPersonal(data:object) {
|
||||
export function editPersonal(data: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/personal/edit',
|
||||
url: '/admin-go/api/v1/system/personal/edit',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
//重置個人密碼
|
||||
export function resetPwdPersonal(data:object) {
|
||||
export function resetPwdPersonal(data: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/personal/resetPwd',
|
||||
url: '/admin-go/api/v1/system/personal/resetPwd',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,35 +1,33 @@
|
||||
import request from '/@/utils/request';
|
||||
|
||||
export function getPostList(query:Object) {
|
||||
export function getPostList(query: Object) {
|
||||
return request({
|
||||
url: '/api/v1/system/post/list',
|
||||
url: '/admin-go/api/v1/system/post/list',
|
||||
method: 'get',
|
||||
params:query
|
||||
})
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
export function addPost(data:object) {
|
||||
export function addPost(data: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/post/add',
|
||||
url: '/admin-go/api/v1/system/post/add',
|
||||
method: 'post',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function editPost(data:object) {
|
||||
export function editPost(data: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/post/edit',
|
||||
url: '/admin-go/api/v1/system/post/edit',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function deletePost(ids:number[]) {
|
||||
export function deletePost(ids: number[]) {
|
||||
return request({
|
||||
url: '/api/v1/system/post/delete',
|
||||
url: '/admin-go/api/v1/system/post/delete',
|
||||
method: 'delete',
|
||||
data:{ids}
|
||||
})
|
||||
data: { ids },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,70 +1,65 @@
|
||||
import request from '/@/utils/request';
|
||||
|
||||
export function getRoleList(query:Object) {
|
||||
export function getRoleList(query: Object) {
|
||||
return request({
|
||||
url: '/api/v1/system/role/list',
|
||||
url: '/admin-go/api/v1/system/role/list',
|
||||
method: 'get',
|
||||
params:query
|
||||
})
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
export function getRoleParams() {
|
||||
return request({
|
||||
url: '/api/v1/system/role/getParamsInfo',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function addRole(data:object) {
|
||||
return request({
|
||||
url: '/api/v1/system/role/add',
|
||||
method: 'post',
|
||||
data:data
|
||||
})
|
||||
}
|
||||
|
||||
export function getRole(id:string) {
|
||||
return request({
|
||||
url: '/api/v1/system/role/get',
|
||||
url: '/admin-go/api/v1/system/role/getParamsInfo',
|
||||
method: 'get',
|
||||
params:{id}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function editRole(data:object) {
|
||||
export function addRole(data: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/role/edit',
|
||||
url: '/admin-go/api/v1/system/role/add',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function getRole(id: string) {
|
||||
return request({
|
||||
url: '/admin-go/api/v1/system/role/get',
|
||||
method: 'get',
|
||||
params: { id },
|
||||
});
|
||||
}
|
||||
|
||||
export function editRole(data: object) {
|
||||
return request({
|
||||
url: '/admin-go/api/v1/system/role/edit',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function deleteRole(id:string) {
|
||||
export function deleteRole(id: string) {
|
||||
return request({
|
||||
url: '/api/v1/system/role/delete',
|
||||
url: '/admin-go/api/v1/system/role/delete',
|
||||
method: 'delete',
|
||||
data:{ids:[id]}
|
||||
})
|
||||
data: { ids: [id] },
|
||||
});
|
||||
}
|
||||
|
||||
export function dataScope(data:any) {
|
||||
export function dataScope(data: any) {
|
||||
return request({
|
||||
url: '/api/v1/system/role/dataScope',
|
||||
url: '/admin-go/api/v1/system/role/dataScope',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 根据角色ID查询部门树结构
|
||||
export function roleDeptTreeSelect(roleId:string) {
|
||||
export function roleDeptTreeSelect(roleId: string) {
|
||||
return request({
|
||||
url: '/api/v1/system/role/deptTreeSelect',
|
||||
url: '/admin-go/api/v1/system/role/deptTreeSelect',
|
||||
method: 'get',
|
||||
params:{roleId}
|
||||
})
|
||||
params: { roleId },
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import request from '/@/utils/request';
|
||||
// 获取租户列表
|
||||
export function getTenantList(query: Object) {
|
||||
return request({
|
||||
url: '/api/v1/system/tenant/list',
|
||||
url: '/admin-go/api/v1/system/tenant/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
@@ -12,7 +12,7 @@ export function getTenantList(query: Object) {
|
||||
// 获取租户详情
|
||||
export function getTenant(id: number) {
|
||||
return request({
|
||||
url: '/api/v1/system/tenant/get',
|
||||
url: '/admin-go/api/v1/system/tenant/get',
|
||||
method: 'get',
|
||||
params: { id },
|
||||
});
|
||||
@@ -23,7 +23,7 @@ export function addTenant(data: object) {
|
||||
// 如果是 FormData,需要让浏览器自动设置 Content-Type(包含 boundary)
|
||||
const isFormData = data instanceof FormData;
|
||||
return request({
|
||||
url: '/api/v1/system/tenant/add',
|
||||
url: '/admin-go/api/v1/system/tenant/add',
|
||||
method: 'post',
|
||||
data: data,
|
||||
headers: isFormData ? { 'Content-Type': undefined } : undefined,
|
||||
@@ -35,7 +35,7 @@ export function editTenant(data: object) {
|
||||
// 如果是 FormData,需要让浏览器自动设置 Content-Type(包含 boundary)
|
||||
const isFormData = data instanceof FormData;
|
||||
return request({
|
||||
url: '/api/v1/system/tenant/edit',
|
||||
url: '/admin-go/api/v1/system/tenant/edit',
|
||||
method: 'put',
|
||||
data: data,
|
||||
headers: isFormData ? { 'Content-Type': undefined } : undefined,
|
||||
@@ -45,7 +45,7 @@ export function editTenant(data: object) {
|
||||
// 删除租户
|
||||
export function deleteTenant(ids: number[]) {
|
||||
return request({
|
||||
url: '/api/v1/system/tenant/delete',
|
||||
url: '/admin-go/api/v1/system/tenant/delete',
|
||||
method: 'delete',
|
||||
data: { ids },
|
||||
});
|
||||
|
||||
@@ -1,75 +1,71 @@
|
||||
import request from '/@/utils/request';
|
||||
|
||||
export function getUserList(query:Object) {
|
||||
export function getUserList(query: Object) {
|
||||
return request({
|
||||
url: '/api/v1/system/user/getList',
|
||||
url: '/admin-go/api/v1/system/user/getList',
|
||||
method: 'get',
|
||||
params:query
|
||||
})
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
export function getDeptTree() {
|
||||
return request({
|
||||
url: '/api/v1/system/dept/treeSelect',
|
||||
method: 'get'
|
||||
})
|
||||
url: '/admin-go/api/v1/system/dept/treeSelect',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
export function getParams() {
|
||||
return request({
|
||||
url: '/api/v1/system/user/paramsInfo',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function getEditUser(id:number) {
|
||||
return request({
|
||||
url: '/api/v1/system/user/getEdit',
|
||||
url: '/admin-go/api/v1/system/user/paramsInfo',
|
||||
method: 'get',
|
||||
params:{id}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
export function addUser(data:object) {
|
||||
export function getEditUser(id: number) {
|
||||
return request({
|
||||
url: '/api/v1/system/user/add',
|
||||
url: '/admin-go/api/v1/system/user/getEdit',
|
||||
method: 'get',
|
||||
params: { id },
|
||||
});
|
||||
}
|
||||
|
||||
export function addUser(data: object) {
|
||||
return request({
|
||||
url: '/admin-go/api/v1/system/user/add',
|
||||
method: 'post',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function editUser(data:object) {
|
||||
export function editUser(data: object) {
|
||||
return request({
|
||||
url: '/api/v1/system/user/edit',
|
||||
url: '/admin-go/api/v1/system/user/edit',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function resetUserPwd(userId:number, password:string) {
|
||||
export function resetUserPwd(userId: number, password: string) {
|
||||
return request({
|
||||
url: '/api/v1/system/user/resetPwd',
|
||||
url: '/admin-go/api/v1/system/user/resetPwd',
|
||||
method: 'put',
|
||||
data:{userId,password}
|
||||
})
|
||||
data: { userId, password },
|
||||
});
|
||||
}
|
||||
|
||||
export function changeUserStatus(userId:number, status:number) {
|
||||
export function changeUserStatus(userId: number, status: number) {
|
||||
return request({
|
||||
url: '/api/v1/system/user/setStatus',
|
||||
url: '/admin-go/api/v1/system/user/setStatus',
|
||||
method: 'put',
|
||||
data:{userId,status}
|
||||
})
|
||||
data: { userId, status },
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function deleteUser(ids:number[]) {
|
||||
export function deleteUser(ids: number[]) {
|
||||
return request({
|
||||
url: '/api/v1/system/user/delete',
|
||||
url: '/admin-go/api/v1/system/user/delete',
|
||||
method: 'delete',
|
||||
data:{ids}
|
||||
})
|
||||
data: { ids },
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -7,15 +7,14 @@
|
||||
<div class="personal-user">
|
||||
<div class="personal-user-left">
|
||||
<el-upload
|
||||
class=" h100 personal-user-left-upload avatar-uploader"
|
||||
:action="baseURL+'/api/v1/system/upload/singleImg'"
|
||||
class="h100 personal-user-left-upload avatar-uploader"
|
||||
:action="baseURL + '/admin-go/api/v1/system/upload/singleImg'"
|
||||
:show-file-list="false"
|
||||
:on-success="handleAvatarSuccess"
|
||||
:data="dataParam"
|
||||
>
|
||||
<img v-if="imageUrl" :src="proxy.getUpFileUrl(imageUrl)" class="avatar" />
|
||||
<el-icon v-else class="avatar-uploader-icon"><ele-Plus /></el-icon>
|
||||
|
||||
</el-upload>
|
||||
</div>
|
||||
<div class="personal-user-right">
|
||||
@@ -25,7 +24,7 @@
|
||||
<el-row>
|
||||
<el-col :xs="24" :sm="8" class="personal-item mb6">
|
||||
<div class="personal-item-label">昵称:</div>
|
||||
<div class="personal-item-value"> {{ personalForm.nickname }}</div>
|
||||
<div class="personal-item-value">{{ personalForm.nickname }}</div>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="16" class="personal-item mb6">
|
||||
<div class="personal-item-label">联系电话:</div>
|
||||
@@ -37,11 +36,11 @@
|
||||
<el-row>
|
||||
<el-col :xs="24" :sm="8" class="personal-item mb6">
|
||||
<div class="personal-item-label">登录IP:</div>
|
||||
<div class="personal-item-value">{{personalForm.lastLoginIp}}</div>
|
||||
<div class="personal-item-value">{{ personalForm.lastLoginIp }}</div>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="16" class="personal-item mb6">
|
||||
<div class="personal-item-label">登录时间:</div>
|
||||
<div class="personal-item-value">{{personalForm.lastLoginTime}}</div>
|
||||
<div class="personal-item-value">{{ personalForm.lastLoginTime }}</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
@@ -204,20 +203,20 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { toRefs, reactive, computed, defineComponent,getCurrentInstance,onMounted } from 'vue';
|
||||
import { toRefs, reactive, computed, defineComponent, getCurrentInstance, onMounted } from 'vue';
|
||||
import { formatAxis } from '/@/utils/formatTime';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useUserInfo } from '/@/stores/userInfo';
|
||||
import {getPersonalInfo, editPersonal, resetPwdPersonal} from "/@/api/system/personal";
|
||||
import type { UploadProps } from 'element-plus'
|
||||
import {ElMessage} from "element-plus";
|
||||
import {ElMessageBox} from 'element-plus'
|
||||
import {getToken} from "/@/utils/gfast"
|
||||
import { getPersonalInfo, editPersonal, resetPwdPersonal } from '/@/api/system/personal';
|
||||
import type { UploadProps } from 'element-plus';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import { ElMessageBox } from 'element-plus';
|
||||
import { getToken } from '/@/utils/gfast';
|
||||
import { newsInfoList, recommendList } from './mock';
|
||||
import {Session} from "/@/utils/storage";
|
||||
import { Session } from '/@/utils/storage';
|
||||
// 定义接口来定义对象的类型
|
||||
interface PersonalState {
|
||||
imageUrl:'',
|
||||
imageUrl: '';
|
||||
deptName: '';
|
||||
roles: [];
|
||||
personalForm: any;
|
||||
@@ -228,38 +227,38 @@ interface PersonalState {
|
||||
export default defineComponent({
|
||||
name: 'personals',
|
||||
setup() {
|
||||
const baseURL:string|undefined|boolean = import.meta.env.VITE_API_URL
|
||||
const {proxy} = <any>getCurrentInstance();
|
||||
const baseURL: string | undefined | boolean = import.meta.env.VITE_API_URL;
|
||||
const { proxy } = <any>getCurrentInstance();
|
||||
const stores = useUserInfo();
|
||||
const { userInfos } = storeToRefs(stores);
|
||||
const dataParam = reactive({
|
||||
token:getToken(),
|
||||
})
|
||||
token: getToken(),
|
||||
});
|
||||
const state = reactive<PersonalState>({
|
||||
newsInfoList,
|
||||
recommendList,
|
||||
imageUrl:'',
|
||||
deptName:'',
|
||||
roles:[],
|
||||
imageUrl: '',
|
||||
deptName: '',
|
||||
roles: [],
|
||||
personalForm: {
|
||||
nickname: '',
|
||||
userEmail: '',
|
||||
describe: '',
|
||||
mobile: '',
|
||||
sex: '',
|
||||
remark:'',
|
||||
avatar:'',
|
||||
lastLoginIp:'',
|
||||
lastLoginTime:''
|
||||
remark: '',
|
||||
avatar: '',
|
||||
lastLoginIp: '',
|
||||
lastLoginTime: '',
|
||||
},
|
||||
});
|
||||
|
||||
// const handleUpload =
|
||||
const handleUpload = () => {
|
||||
// console.log(state.personalForm)
|
||||
editPersonal(state.personalForm).then((res:any)=>{
|
||||
const userInfo = res.data.userInfo
|
||||
userInfo.avatar = proxy.getUpFileUrl(userInfo.avatar)
|
||||
editPersonal(state.personalForm).then((res: any) => {
|
||||
const userInfo = res.data.userInfo;
|
||||
userInfo.avatar = proxy.getUpFileUrl(userInfo.avatar);
|
||||
// 存储 token 到浏览器缓存
|
||||
Session.set('token', res.data.token);
|
||||
// 存储用户信息到浏览器缓存
|
||||
@@ -270,56 +269,52 @@ export default defineComponent({
|
||||
};
|
||||
// 当前时间提示语
|
||||
const currentTime = computed(() => {
|
||||
|
||||
return formatAxis(new Date());
|
||||
});
|
||||
const handleAvatarSuccess: UploadProps['onSuccess'] = (
|
||||
response,
|
||||
uploadFile
|
||||
) => {
|
||||
if(response.code == 0){
|
||||
const handleAvatarSuccess: UploadProps['onSuccess'] = (response, uploadFile) => {
|
||||
if (response.code == 0) {
|
||||
state.imageUrl = response.data.path;
|
||||
state.personalForm.avatar = response.data.path;
|
||||
handleUpload();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/** 重置密码按钮操作 */
|
||||
const handleEditPass = ()=> {
|
||||
ElMessageBox.prompt('请输入"' + state.personalForm.nickname + '"的新密码', "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消"
|
||||
}).then(({ value }) => {
|
||||
if(!value || value==''){
|
||||
const handleEditPass = () => {
|
||||
ElMessageBox.prompt('请输入"' + state.personalForm.nickname + '"的新密码', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
})
|
||||
.then(({ value }) => {
|
||||
if (!value || value == '') {
|
||||
ElMessage.success('密码不能为空');
|
||||
return
|
||||
return;
|
||||
}
|
||||
resetPwdPersonal({password:value}).then(() => {
|
||||
ElMessage.success("修改成功,新密码是:" + value);
|
||||
resetPwdPersonal({ password: value }).then(() => {
|
||||
ElMessage.success('修改成功,新密码是:' + value);
|
||||
});
|
||||
}).catch(() => {});
|
||||
})
|
||||
.catch(() => {});
|
||||
};
|
||||
// 初始化用户数据
|
||||
const initUserInfo = () => {
|
||||
getPersonalInfo().then((res:any)=>{
|
||||
getPersonalInfo().then((res: any) => {
|
||||
const user = res.data.user;
|
||||
state.imageUrl = user.avatar;
|
||||
state.personalForm = {
|
||||
nickname:user.userNickname,
|
||||
userEmail:user.userEmail,
|
||||
nickname: user.userNickname,
|
||||
userEmail: user.userEmail,
|
||||
describe: user.describe,
|
||||
mobile: user.mobile,
|
||||
sex: String(user.sex),
|
||||
remark:user.remark,
|
||||
avatar:user.avatar,
|
||||
lastLoginIp:user.lastLoginIp,
|
||||
lastLoginTime:user.lastLoginTime
|
||||
}
|
||||
remark: user.remark,
|
||||
avatar: user.avatar,
|
||||
lastLoginIp: user.lastLoginIp,
|
||||
lastLoginTime: user.lastLoginTime,
|
||||
};
|
||||
state.deptName = res.data.deptName;
|
||||
state.roles = res.data.roles;
|
||||
})
|
||||
|
||||
});
|
||||
};
|
||||
// 页面加载时
|
||||
onMounted(() => {
|
||||
@@ -354,7 +349,7 @@ export default defineComponent({
|
||||
:deep(.el-upload) {
|
||||
height: 100%;
|
||||
}
|
||||
.avatar-uploader{
|
||||
.avatar-uploader {
|
||||
border: 1px dashed var(--el-border-color);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
|
||||
@@ -44,21 +44,7 @@ const viteConfig = defineConfig((mode: ConfigEnv) => {
|
||||
port: env.VITE_PORT as unknown as number,
|
||||
open: false,
|
||||
hmr: true,
|
||||
// proxy: {
|
||||
// '/gitee': {
|
||||
// target: 'https://gitee.com',
|
||||
// ws: true,
|
||||
// changeOrigin: true,
|
||||
// rewrite: (path) => path.replace(/^\/gitee/, ''),
|
||||
// },
|
||||
// },
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://localhost:8808',
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => path.replace(/^\/api/, '/api'),
|
||||
},
|
||||
},
|
||||
// 无代理模式:前端直连后端,由后端处理 CORS
|
||||
},
|
||||
build: {
|
||||
outDir: 'dist',
|
||||
|
||||
Reference in New Issue
Block a user