feat: 移动端开发规范重大更新

- 🔥 完全重写 .cursor/cursorrules-mobile.md (940行)
  * 基于实际mobile工程Vue 3.4.21+uniapp+uview-plus架构
  * 移除所有JeeSite相关内容,精准匹配实际项目
  * 新增11个完整章节:技术栈、项目结构、页面开发、组件规范等

- 📚 创建完整规范文档 docs/开发文档/移动端开发规范总结.md (800+行)
  * 涵盖从项目架构到部署的全流程指导
  * 提供可直接使用的页面和组件模板
  * 包含现代CSS变量设计系统和用户体验优化

- 🔄 同步更新主配置文件 .cursorrules
  * 更新移动端技术栈描述
  * 调整为Vue 3.4.21+uniapp+uview-plus 3.4.45架构

- 📝 完善变更记录
  * 详细记录规范更新背景和技术价值
  * 为后续维护提供完整历史记录

核心价值:解决规范与实际项目不匹配问题,为Cursor AI提供准确的移动端开发上下文,确保生成代码完全符合实际项目架构。
This commit is contained in:
zlwu committed 2025-07-04 15:51:33 +08:00
1 parent e8ece1b612
commit 28232d5d46
131 files changed
+17170 -5479

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
export * from './types';
export * from './info';
export * from './reservation';
+77
View File
@@ -0,0 +1,77 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { VenueInfoVO, VenueInfoForm, VenueInfoQuery } from './types';
/**
* 查询场地信息列表
*/
export const listVenueInfo = (query?: VenueInfoQuery): AxiosPromise<VenueInfoVO[]> => {
return request({
url: '/venue/info/list',
method: 'get',
params: query
});
};
/**
* 查询场地信息详细
*/
export const getVenueInfo = (id: string | number): AxiosPromise<VenueInfoVO> => {
return request({
url: `/venue/info/${id}`,
method: 'get'
});
};
/**
* 新增场地信息
*/
export const addVenueInfo = (data: VenueInfoForm) => {
return request({
url: '/venue/info',
method: 'post',
data: data
});
};
/**
* 修改场地信息
*/
export const updateVenueInfo = (data: VenueInfoForm) => {
return request({
url: '/venue/info',
method: 'put',
data: data
});
};
/**
* 删除场地信息
*/
export const delVenueInfo = (id: string | number | Array<string | number>) => {
return request({
url: `/venue/info/${id}`,
method: 'delete'
});
};
/**
* 获取可用场地列表
*/
export const getAvailableVenues = (): AxiosPromise<VenueInfoVO[]> => {
return request({
url: '/venue/info/available',
method: 'get'
});
};
/**
* 导出场地信息
*/
export const exportVenueInfo = (query: VenueInfoQuery) => {
return request({
url: '/venue/info/export',
method: 'post',
data: query
});
};
+118
View File
@@ -0,0 +1,118 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import {
VenueReservationVO,
VenueReservationForm,
VenueReservationQuery,
ReservationApproveForm,
ConflictCheckQuery,
ConflictReservationVO
} from './types';
/**
* 查询场地预约列表
*/
export const listVenueReservation = (query?: VenueReservationQuery) => {
return request({
url: '/venue/reservation/list',
method: 'get',
params: query
});
};
/**
* 查询我的预约列表
*/
export const listMyReservations = (query?: VenueReservationQuery) => {
return request({
url: '/venue/reservation/my',
method: 'get',
params: query
});
};
/**
* 查询待审批预约列表
*/
export const listPendingReservations = (query?: VenueReservationQuery) => {
return request({
url: '/venue/reservation/pending',
method: 'get',
params: query
});
};
/**
* 查询场地预约详细
*/
export const getVenueReservation = (id: string | number): AxiosPromise<VenueReservationVO> => {
return request({
url: `/venue/reservation/${id}`,
method: 'get'
});
};
/**
* 新增场地预约
*/
export const addVenueReservation = (data: VenueReservationForm) => {
return request({
url: '/venue/reservation',
method: 'post',
data: data
});
};
/**
* 修改场地预约
*/
export const updateVenueReservation = (data: VenueReservationForm) => {
return request({
url: '/venue/reservation',
method: 'put',
data: data
});
};
/**
* 删除场地预约
*/
export const delVenueReservation = (id: string | number | Array<string | number>) => {
return request({
url: `/venue/reservation/${id}`,
method: 'delete'
});
};
/**
* 检查时间冲突
*/
export const checkTimeConflict = (query: ConflictCheckQuery): AxiosPromise<ConflictReservationVO[]> => {
return request({
url: '/venue/reservation/conflict',
method: 'get',
params: query
});
};
/**
* 审批场地预约
*/
export const approveReservation = (data: ReservationApproveForm) => {
return request({
url: '/venue/reservation/approve',
method: 'post',
data: data
});
};
/**
* 导出场地预约
*/
export const exportVenueReservation = (query: VenueReservationQuery) => {
return request({
url: '/venue/reservation/export',
method: 'post',
data: query
});
};
+209
View File
@@ -0,0 +1,209 @@
/**
* 场地信息查询对象类型
*/
export interface VenueInfoQuery extends PageQuery {
/** 场地名称 */
venueName?: string;
/** 场地编码 */
venueCode?: string;
/** 场地位置 */
venueLocation?: string;
/** 场地类型 */
venueType?: string;
/** 场地状态 */
venueStatus?: string;
/** 管理员姓名 */
venueManagerName?: string;
}
/**
* 场地信息视图对象
*/
export interface VenueInfoVO {
/** 主键ID */
id?: string | number;
/** 场地名称 */
venueName?: string;
/** 场地编码 */
venueCode?: string;
/** 场地位置 */
venueLocation?: string;
/** 场地容量 */
venueCapacity?: number;
/** 场地类型 */
venueType?: string;
/** 场地状态 */
venueStatus?: string;
/** 场地描述 */
venueDescription?: string;
/** 场地图片 */
venueImages?: string;
/** 管理员ID */
venueManagerId?: string | number;
/** 管理员姓名 */
venueManagerName?: string;
/** 创建时间 */
createTime?: string;
/** 更新时间 */
updateTime?: string;
}
/**
* 场地信息表单类型
*/
export interface VenueInfoForm {
/** 主键ID */
id?: string | number;
/** 场地名称 */
venueName?: string;
/** 场地编码 */
venueCode?: string;
/** 场地位置 */
venueLocation?: string;
/** 场地容量 */
venueCapacity?: number;
/** 场地类型 */
venueType?: string;
/** 场地状态 */
venueStatus?: string;
/** 场地描述 */
venueDescription?: string;
/** 场地图片 */
venueImages?: string;
/** 管理员ID */
venueManagerId?: string | number;
/** 管理员姓名 */
venueManagerName?: string;
}
/**
* 场地预约查询对象类型
*/
export interface VenueReservationQuery extends PageQuery {
/** 场地ID */
venueId?: string | number;
/** 场地名称 */
venueName?: string;
/** 申请人姓名 */
applicantName?: string;
/** 预约日期 */
reservationDate?: string;
/** 预约状态 */
reservationStatus?: string;
}
/**
* 场地预约视图对象
*/
export interface VenueReservationVO {
/** 主键ID */
id?: string | number;
/** 场地ID */
venueId?: string | number;
/** 场地名称 */
venueName?: string;
/** 申请人ID */
applicantId?: string | number;
/** 申请人姓名 */
applicantName?: string;
/** 申请人电话 */
applicantPhone?: string;
/** 预约日期 */
reservationDate?: string;
/** 开始时间 */
startTime?: string;
/** 结束时间 */
endTime?: string;
/** 预约目的 */
reservationPurpose?: string;
/** 参与人数 */
participantCount?: number;
/** 特殊要求 */
specialRequirements?: string;
/** 预约状态 */
reservationStatus?: string;
/** 审批备注 */
approveRemark?: string;
/** 审批人ID */
approverId?: string | number;
/** 审批人姓名 */
approverName?: string;
/** 审批时间 */
approveTime?: string;
/** 创建时间 */
createTime?: string;
/** 更新时间 */
updateTime?: string;
}
/**
* 场地预约表单类型
*/
export interface VenueReservationForm {
/** 主键ID */
id?: string | number;
/** 场地ID */
venueId?: string | number;
/** 申请人电话 */
applicantPhone?: string;
/** 预约日期 */
reservationDate?: string;
/** 开始时间 */
startTime?: string;
/** 结束时间 */
endTime?: string;
/** 预约目的 */
reservationPurpose?: string;
/** 参与人数 */
participantCount?: number;
/** 特殊要求 */
specialRequirements?: string;
}
/**
* 预约审批表单类型
*/
export interface ReservationApproveForm {
/** 预约ID */
id?: string | number;
/** 预约状态 */
reservationStatus?: string;
/** 审批备注 */
approveRemark?: string;
}
/**
* 时间冲突检查参数
*/
export interface ConflictCheckQuery {
/** 场地ID */
venueId?: string | number;
/** 预约日期 */
reservationDate?: string;
/** 开始时间 */
startTime?: string;
/** 结束时间 */
endTime?: string;
/** 排除的预约ID */
excludeId?: string | number;
}
/**
* 冲突预约信息
*/
export interface ConflictReservationVO {
/** 预约ID */
id?: string | number;
/** 场地名称 */
venueName?: string;
/** 申请人姓名 */
applicantName?: string;
/** 开始时间 */
startTime?: string;
/** 结束时间 */
endTime?: string;
/** 预约目的 */
reservationPurpose?: string;
/** 预约状态 */
reservationStatus?: string;
}