This commit is contained in:
2025-11-28 11:04:10 +08:00
commit 83ee120f09
83 changed files with 6436 additions and 0 deletions

204
check-pages.js Normal file
View File

@@ -0,0 +1,204 @@
const fs = require('fs');
const path = require('path');
// 定义需要检查的页面列表
const pages = [
{
name: '首页(武术赛事通)',
path: 'pages/home/home.vue',
description: '包含轮播图、精品赛事列表'
},
{
name: '个人中心',
path: 'pages/profile/profile.vue',
description: '用户信息、我的报名、常用信息等功能入口'
},
{
name: '常用信息',
path: 'pages/common-info/common-info.vue',
description: '选手/集体/联系人信息管理含Tab切换'
},
{
name: '新增选手',
path: 'pages/add-player/add-player.vue',
description: '表单页面,包含证件类型、姓名、证件号码、队伍'
},
{
name: '编辑选手',
path: 'pages/edit-player/edit-player.vue',
description: '编辑选手信息'
},
{
name: '新增联系人',
path: 'pages/add-contact/add-contact.vue',
description: '包含手机号码、邮箱、地址、设置为默认联系人'
},
{
name: '我的报名',
path: 'pages/my-registration/my-registration.vue',
description: '全部/待开始/进行中/已结束四个Tab显示报名的赛事'
},
{
name: '全部赛事列表',
path: 'pages/event-list/event-list.vue',
description: '搜索框、日期和地区筛选'
},
{
name: '赛事详情',
path: 'pages/event-detail/event-detail.vue',
description: '赛事信息、信息发布、赛事规程等功能入口'
},
{
name: '选择报名类型',
path: 'pages/register-type/register-type.vue',
description: '单人赛/集体赛选择'
},
{
name: '选择报名项目',
path: 'pages/select-event/select-event.vue',
description: '列表形式选择报名项目'
},
{
name: '赛事报名流程',
path: 'pages/event-register/event-register.vue',
description: '三步骤:选择选手信息、订单支付、报名成功'
}
];
// 定义需要检查的组件列表
const components = [
{
name: '自定义导航栏',
path: 'components/custom-navbar/custom-navbar.vue'
},
{
name: 'Tab切换组件',
path: 'components/custom-tabs/custom-tabs.vue'
},
{
name: '确认弹窗组件',
path: 'components/confirm-modal/confirm-modal.vue'
}
];
// 定义需要检查的配置文件
const configs = [
{
name: 'pages.json',
path: 'pages.json'
},
{
name: 'manifest.json',
path: 'manifest.json'
},
{
name: 'App.vue',
path: 'App.vue'
},
{
name: 'main.js',
path: 'main.js'
},
{
name: 'uni.scss',
path: 'uni.scss'
},
{
name: 'index.html',
path: 'index.html'
},
{
name: 'package.json',
path: 'package.json'
}
];
function checkFile(filePath) {
const fullPath = path.join(__dirname, filePath);
return fs.existsSync(fullPath);
}
function generateReport() {
console.log('========================================');
console.log(' 武术赛事报名系统 - 页面完成度检查报告');
console.log('========================================\n');
let totalItems = 0;
let completedItems = 0;
// 检查配置文件
console.log('【配置文件检查】');
configs.forEach(config => {
totalItems++;
const exists = checkFile(config.path);
if (exists) {
completedItems++;
console.log(`${config.name}`);
} else {
console.log(`${config.name} [缺失]`);
}
});
console.log('\n【公共组件检查】');
components.forEach(component => {
totalItems++;
const exists = checkFile(component.path);
if (exists) {
completedItems++;
console.log(`${component.name}`);
} else {
console.log(`${component.name} [缺失]`);
}
});
console.log('\n【页面检查】');
pages.forEach((page, index) => {
totalItems++;
const exists = checkFile(page.path);
if (exists) {
completedItems++;
console.log(`${index + 1}. ${page.name}`);
console.log(` 描述: ${page.description}`);
console.log(` 路径: ${page.path}\n`);
} else {
console.log(`${index + 1}. ${page.name} [缺失]`);
console.log(` 描述: ${page.description}`);
console.log(` 路径: ${page.path}\n`);
}
});
const completionRate = ((completedItems / totalItems) * 100).toFixed(2);
console.log('========================================');
console.log('【统计信息】');
console.log(`总计项目: ${totalItems}`);
console.log(`已完成: ${completedItems}`);
console.log(`未完成: ${totalItems - completedItems}`);
console.log(`完成度: ${completionRate}%`);
console.log('========================================\n');
if (completedItems === totalItems) {
console.log('🎉 恭喜!所有页面和组件都已完成!');
console.log('\n【后续步骤】');
console.log('1. 运行 npm install 安装依赖');
console.log('2. 运行 npm run dev:h5 启动H5开发环境');
console.log('3. 运行 npm run dev:mp-weixin 启动微信小程序开发环境');
} else {
console.log('⚠️ 还有未完成的项目,请继续完善。');
}
console.log('\n【项目特点】');
console.log('✓ 支持H5和微信小程序');
console.log('✓ 基于uniapp框架开发');
console.log('✓ 完整的赛事报名流程');
console.log('✓ 选手和联系人信息管理');
console.log('✓ 响应式设计,一比一还原设计稿');
console.log('✓ 使用rpx单位自适应不同屏幕尺寸');
}
// 执行检查
try {
generateReport();
} catch (error) {
console.error('检查过程中出现错误:', error);
}