diff --git a/components.d.ts b/components.d.ts
index 0f8c824..172664f 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -18,6 +18,7 @@ declare module 'vue' {
QiunDataCharts: typeof import('./src/components/qiun-data-charts/qiun-data-charts.vue')['default']
QiunError: typeof import('./src/components/qiun-error/qiun-error.vue')['default']
QiunLoading: typeof import('./src/components/qiun-loading/qiun-loading.vue')['default']
+ WdActionSheet: typeof import('wot-design-uni/components/wd-action-sheet/wd-action-sheet.vue')['default']
WdBadge: typeof import('wot-design-uni/components/wd-badge/wd-badge.vue')['default']
WdButton: typeof import('wot-design-uni/components/wd-button/wd-button.vue')['default']
WdCalendar: typeof import('wot-design-uni/components/wd-calendar/wd-calendar.vue')['default']
@@ -32,12 +33,11 @@ declare module 'vue' {
WdDivider: typeof import('wot-design-uni/components/wd-divider/wd-divider.vue')['default']
WdDropMenu: typeof import('wot-design-uni/components/wd-drop-menu/wd-drop-menu.vue')['default']
WdDropMenuItem: typeof import('wot-design-uni/components/wd-drop-menu-item/wd-drop-menu-item.vue')['default']
+ WdFab: typeof import('wot-design-uni/components/wd-fab/wd-fab.vue')['default']
WdForm: typeof import('wot-design-uni/components/wd-form/wd-form.vue')['default']
- WdFormItem: typeof import('wot-design-uni/components/wd-form-item/wd-form-item.vue')['default']
WdGrid: typeof import('wot-design-uni/components/wd-grid/wd-grid.vue')['default']
WdGridItem: typeof import('wot-design-uni/components/wd-grid-item/wd-grid-item.vue')['default']
WdIcon: typeof import('wot-design-uni/components/wd-icon/wd-icon.vue')['default']
- WdImg: typeof import('wot-design-uni/components/wd-img/wd-img.vue')['default']
WdImgCropper: typeof import('wot-design-uni/components/wd-img-cropper/wd-img-cropper.vue')['default']
WdInput: typeof import('wot-design-uni/components/wd-input/wd-input.vue')['default']
WdInputNumber: typeof import('wot-design-uni/components/wd-input-number/wd-input-number.vue')['default']
@@ -46,7 +46,6 @@ declare module 'vue' {
WdMessageBox: typeof import('wot-design-uni/components/wd-message-box/wd-message-box.vue')['default']
WdNotify: typeof import('wot-design-uni/components/wd-notify/wd-notify.vue')['default']
WdPopup: typeof import('wot-design-uni/components/wd-popup/wd-popup.vue')['default']
- WdProgress: typeof import('wot-design-uni/components/wd-progress/wd-progress.vue')['default']
WdRadio: typeof import('wot-design-uni/components/wd-radio/wd-radio.vue')['default']
WdRadioGroup: typeof import('wot-design-uni/components/wd-radio-group/wd-radio-group.vue')['default']
WdSearch: typeof import('wot-design-uni/components/wd-search/wd-search.vue')['default']
@@ -59,9 +58,7 @@ declare module 'vue' {
WdTabbarItem: typeof import('wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.vue')['default']
WdTabs: typeof import('wot-design-uni/components/wd-tabs/wd-tabs.vue')['default']
WdTag: typeof import('wot-design-uni/components/wd-tag/wd-tag.vue')['default']
- WdText: typeof import('wot-design-uni/components/wd-text/wd-text.vue')['default']
WdTextarea: typeof import('wot-design-uni/components/wd-textarea/wd-textarea.vue')['default']
WdToast: typeof import('wot-design-uni/components/wd-toast/wd-toast.vue')['default']
- WdUpload: typeof import('wot-design-uni/components/wd-upload/wd-upload.vue')['default']
}
}
diff --git a/src/App.vue b/src/App.vue
index 35c1b3c..de40390 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,3 @@
diff --git a/src/api/auth.ts b/src/api/auth.ts
index cf2fa64..d17d113 100644
--- a/src/api/auth.ts
+++ b/src/api/auth.ts
@@ -1,7 +1,7 @@
-import request, { publicRequest } from "@/utils/request";
+import request from "@/utils/request";
const AUTH_BASE_URL = "/api/v1/auth";
-const WECHAT_MINIAPP_AUTH_BASE_URL = "/api/v1/wechat/miniapp/auth";
+const WXMA_AUTH_BASE_URL = "/api/v1/wxma/auth";
export interface LoginData {
username: string;
@@ -20,7 +20,7 @@ export interface LoginResult {
openid?: string;
}
-export interface CaptchaVO {
+export interface Captcha {
captchaId: string;
captchaBase64: string;
}
@@ -30,7 +30,7 @@ export interface SmsLoginData {
code: string;
}
-export interface WechatMiniappLoginResult {
+export interface WxMaLoginResp {
accessToken?: string;
refreshToken?: string;
tokenType?: string;
@@ -40,12 +40,12 @@ export interface WechatMiniappLoginResult {
openid?: string;
}
-export interface WechatMiniappPhoneLoginData {
+export interface WxMaPhoneLoginData {
loginCode: string;
phoneCode: string;
}
-export interface WechatMiniappBindMobileData {
+export interface WxMaBindMobileData {
openid: string;
mobile: string;
smsCode: string;
@@ -55,8 +55,8 @@ const AuthAPI = {
/**
* 获取图形验证码
*/
- getCaptcha(): Promise {
- return publicRequest({
+ getCaptcha(): Promise {
+ return request({
url: `${AUTH_BASE_URL}/captcha`,
method: "GET",
});
@@ -66,7 +66,7 @@ const AuthAPI = {
* 账号密码登录
*/
login(data: LoginData): Promise {
- return publicRequest({
+ return request({
url: `${AUTH_BASE_URL}/login`,
method: "POST",
data: data,
@@ -80,7 +80,7 @@ const AuthAPI = {
*/
sendSmsLoginCode(mobile: string): Promise {
const mobileSafe = encodeURIComponent(mobile);
- return publicRequest({
+ return request({
url: `${AUTH_BASE_URL}/sms/code?mobile=${mobileSafe}`,
method: "POST",
});
@@ -92,7 +92,7 @@ const AuthAPI = {
loginBySms(data: SmsLoginData): Promise {
const mobileSafe = encodeURIComponent(data.mobile);
const codeSafe = encodeURIComponent(data.code);
- return publicRequest({
+ return request({
url: `${AUTH_BASE_URL}/login/sms?mobile=${mobileSafe}&code=${codeSafe}`,
method: "POST",
});
@@ -105,9 +105,9 @@ const AuthAPI = {
* - 已绑定手机号的用户:直接返回 token,登录成功
* - 未绑定手机号的用户:返回 openid,需调用绑定手机号接口
*/
- wechatMiniappSilentLogin(code: string): Promise {
- return publicRequest({
- url: `${WECHAT_MINIAPP_AUTH_BASE_URL}/silent-login?code=${encodeURIComponent(code)}`,
+ wxMaSilentLogin(code: string): Promise {
+ return request({
+ url: `${WXMA_AUTH_BASE_URL}/silent-login?code=${encodeURIComponent(code)}`,
method: "POST",
});
},
@@ -118,12 +118,11 @@ const AuthAPI = {
* 适用场景:企业认证小程序(已开通手机号快捷登录权限)
* 一步完成登录,无需绑定流程,自动创建新用户
*/
- wechatMiniappPhoneLogin(data: WechatMiniappPhoneLoginData): Promise {
- const loginCodeSafe = encodeURIComponent(data.loginCode);
- const phoneCodeSafe = encodeURIComponent(data.phoneCode);
- return publicRequest({
- url: `${WECHAT_MINIAPP_AUTH_BASE_URL}/phone-login?loginCode=${loginCodeSafe}&phoneCode=${phoneCodeSafe}`,
+ wxMaPhoneLogin(data: WxMaPhoneLoginData): Promise {
+ return request({
+ url: `${WXMA_AUTH_BASE_URL}/phone-login`,
method: "POST",
+ data: data,
});
},
@@ -132,13 +131,11 @@ const AuthAPI = {
*
* 演示环境说明:短信服务未配置,验证码固定为 123456
*/
- wechatMiniappBindMobile(data: WechatMiniappBindMobileData): Promise {
- const openidSafe = encodeURIComponent(data.openid);
- const mobileSafe = encodeURIComponent(data.mobile);
- const smsCodeSafe = encodeURIComponent(data.smsCode);
- return publicRequest({
- url: `${WECHAT_MINIAPP_AUTH_BASE_URL}/bind-mobile?openid=${openidSafe}&mobile=${mobileSafe}&smsCode=${smsCodeSafe}`,
+ wxMaBindMobile(data: WxMaBindMobileData): Promise {
+ return request({
+ url: `${WXMA_AUTH_BASE_URL}/bind-mobile`,
method: "POST",
+ data: data,
});
},
@@ -155,8 +152,8 @@ const AuthAPI = {
/**
* 登出
*/
- logout(): Promise {
- return request({
+ logout() {
+ return request({
url: `${AUTH_BASE_URL}/logout`,
method: "DELETE",
});
@@ -166,7 +163,7 @@ const AuthAPI = {
* 刷新令牌
*/
refreshToken(refreshToken: string): Promise<{ accessToken: string; expiresIn: number }> {
- return publicRequest<{ accessToken: string; expiresIn: number }>({
+ return request<{ accessToken: string; expiresIn: number }>({
url: `${AUTH_BASE_URL}/refresh-token`,
method: "POST",
data: { refreshToken },
diff --git a/src/api/config.ts b/src/api/config.ts
index d1c97a9..75d3c2a 100644
--- a/src/api/config.ts
+++ b/src/api/config.ts
@@ -5,7 +5,7 @@ const CONFIG_BASE_URL = "/api/v1/configs";
const ConfigAPI = {
/** 获取系统配置分页数据 */
getPage(queryParams: ConfigPageQuery) {
- return request({
+ return request>({
url: `${CONFIG_BASE_URL}`,
method: "GET",
data: queryParams,
@@ -90,7 +90,7 @@ export interface ConfigForm {
}
/** 系统配置分页对象 */
-export interface ConfigPageVO {
+export interface ConfigItem {
/** 主键 */
id?: number;
/** 配置名称 */
diff --git a/src/api/dept.ts b/src/api/dept.ts
index 7fccee6..bc54d2c 100644
--- a/src/api/dept.ts
+++ b/src/api/dept.ts
@@ -10,7 +10,7 @@ const DeptAPI = {
* @returns 部门树形表格数据
*/
getList(queryParams?: DeptQuery) {
- return request({
+ return request({
url: `${DEPT_BASE_URL}`,
method: "GET",
data: queryParams,
@@ -92,9 +92,9 @@ export interface DeptQuery {
}
/** 部门类型 */
-export interface DeptVO {
+export interface DeptItem {
/** 子部门 */
- children?: DeptVO[];
+ children?: DeptItem[];
/** 创建时间 */
createTime?: Date;
/** 部门ID */
diff --git a/src/api/dict.ts b/src/api/dict.ts
index bade754..91f4efb 100644
--- a/src/api/dict.ts
+++ b/src/api/dict.ts
@@ -4,7 +4,7 @@ const DICT_BASE_URL = "/api/v1/dicts";
const DictAPI = {
getPage(queryParams: DictTypePageQuery) {
- return request({
+ return request>({
url: `${DICT_BASE_URL}`,
method: "GET",
data: queryParams,
@@ -42,7 +42,7 @@ const DictAPI = {
},
getItemPage(dictCode: string, queryParams: DictItemPageQuery) {
- return request({
+ return request>({
url: `${DICT_BASE_URL}/${dictCode}/items`,
method: "GET",
data: queryParams,
@@ -95,7 +95,7 @@ export interface DictTypeForm {
remark?: string;
}
-export interface DictTypePageVO {
+export interface DictTypeItem {
id?: string;
name?: string;
dictCode?: string;
@@ -116,7 +116,7 @@ export interface DictItemForm {
status?: number;
}
-export interface DictItemPageVO {
+export interface DictDataItem {
id?: string;
dictCode?: string;
label?: string;
diff --git a/src/api/log.ts b/src/api/log.ts
index 5e17546..3fe7f03 100644
--- a/src/api/log.ts
+++ b/src/api/log.ts
@@ -1,7 +1,6 @@
import request from "@/utils/request";
const LOG_BASE_URL = "/api/v1/logs";
-const STATISTICS_BASE_URL = "/api/v1/statistics";
const LogAPI = {
/**
@@ -10,7 +9,7 @@ const LogAPI = {
* @param queryParams 查询参数
*/
getPage(queryParams?: LogPageQuery) {
- return request({
+ return request>({
url: `${LOG_BASE_URL}`,
method: "GET",
data: queryParams,
@@ -24,8 +23,8 @@ const LogAPI = {
* @returns 访问趋势数据
*/
getVisitTrend(queryParams: VisitTrendQuery) {
- return request({
- url: `${STATISTICS_BASE_URL}/visits/trend`,
+ return request({
+ url: `${LOG_BASE_URL}/views/trend`,
method: "GET",
data: queryParams,
});
@@ -37,8 +36,8 @@ const LogAPI = {
* @returns 访问概览数据
*/
getVisitStats() {
- return request({
- url: `${STATISTICS_BASE_URL}/visits/overview`,
+ return request({
+ url: `${LOG_BASE_URL}/views`,
method: "GET",
});
},
@@ -57,19 +56,27 @@ export interface LogPageQuery extends PageQuery {
}
/**
- * 系统日志分页VO
+ * 系统日志分页对象
*/
-export interface LogVO {
+export interface LogItem {
/** 主键 */
id?: number;
- /** 日志模块 */
- module?: string;
- /** 日志内容 */
+ /** 模块 */
+ module?: number;
+ /** 操作类型 */
+ actionType?: number;
+ /** 操作标题 */
+ title?: string;
+ /** 自定义日志内容 */
content?: string;
+ /** 操作人ID */
+ operatorId?: number;
+ /** 操作人名称 */
+ operatorName?: string;
/** 请求路径 */
requestUri?: string;
/** 请求方法 */
- method?: string;
+ requestMethod?: string;
/** IP 地址 */
ip?: string;
/** 地区 */
@@ -78,16 +85,18 @@ export interface LogVO {
browser?: string;
/** 终端系统 */
os?: string;
+ /** 状态:0失败 1成功 */
+ status?: number;
+ /** 错误信息 */
+ errorMsg?: string;
/** 执行时间(毫秒) */
executionTime?: number;
- /** 操作人 */
- operator?: string;
/** 操作时间 */
createTime?: string;
}
-/** 访问趋势视图对象 */
-export interface VisitTrendVO {
+/** 访问趋势 */
+export interface VisitTrend {
/** 日期列表 */
dates: string[];
/** 浏览量(PV) */
@@ -107,7 +116,7 @@ export interface VisitTrendQuery {
}
/** 访问统计 */
-export interface VisitStatsVO {
+export interface VisitStats {
/** 今日访客数(UV) */
todayUvCount: number;
/** 总访客数 */
diff --git a/src/api/menu.ts b/src/api/menu.ts
index 8293a95..2ace207 100644
--- a/src/api/menu.ts
+++ b/src/api/menu.ts
@@ -5,7 +5,7 @@ const MENU_BASE_URL = "/api/v1/menus";
const MenuAPI = {
/** 获取菜单列表 */
getList(queryParams?: MenuQuery) {
- return request({
+ return request