From cc8c7e34c9921df051489f86db2c16a29ee97e9f Mon Sep 17 00:00:00 2001 From: sangchengzhi <2305486879@qq.com> Date: Tue, 6 Jan 2026 17:01:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A6=96=E9=A1=B5=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 106 ++++++++++++++++++++++++++++++----------- analyze-png.js | 39 --------------- optimize-png.js | 49 ------------------- src/views/Home.vue | 7 ++- verify-optimization.js | 51 -------------------- 5 files changed, 82 insertions(+), 170 deletions(-) delete mode 100644 analyze-png.js delete mode 100644 optimize-png.js delete mode 100644 verify-optimization.js diff --git a/README.md b/README.md index b05b9f5..aabfd6f 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,85 @@ -# 九聚-h5挂号-前端 +# 九聚-宁夏武警公众号前端页面 -#### 介绍 -九聚-h5挂号-前端 +## 项目介绍 +本项目是九聚-宁夏武警公众号的前端页面,基于Vue.js框架开发,提供了面向用户的医疗服务功能,包括预约挂号、缴费、报告查询、健康管理等多种功能模块。 -#### 软件架构 -软件架构说明 +## 技术栈 +- **前端框架**: Vue.js 2.6.11 +- **UI组件库**: Vant 2.12.48 +- **路由管理**: Vue Router 3.2.0 +- **状态管理**: Vuex 3.4.0 +- **HTTP请求**: Vue Resource 1.5.1 +- **图表库**: ECharts 6.0.0 +- **地图服务**: Vue AMAP 0.5.10 +- **文档处理**: pdfh5 1.4.7, vue-pdf 4.3.0 +- **富文本编辑器**: Quill 1.3.6 +- **二维码生成**: vue-qr 2.5.0 +- **构建工具**: Vue CLI 4.4.0 + +## 功能模块 + +### 核心功能 +- **预约挂号**: 提供科室选择、医生预约、挂号记录查询等功能 +- **门诊缴费**: 支持在线缴费、缴费记录查询 +- **报告查询**: 检验报告、检查报告的在线查询 +- **住院管理**: 住院费用查询、日清单查看 +- **健康体检**: 体检预约、体检报告查询 +- **个人中心**: 用户信息管理、家庭成员管理、就诊记录查询 + +### 辅助功能 +- **医院导航**: 医院信息、科室介绍、医生信息查询 +- **智能导诊**: 症状自查、疾病查询 +- **消息中心**: 系统通知、就诊提醒 +- **意见反馈**: 用户建议与反馈 + +## 项目结构 +``` +src/ +├── assets/ # 静态资源文件(图片等) +├── components/ # 公共组件 +├── css/ # 全局样式 +├── request/ # API请求配置 +├── router/ # 路由配置 +├── store/ # Vuex状态管理 +├── utils/ # 工具函数 +├── views/ # 页面组件 +├── App.vue # 根组件 +└── main.js # 入口文件 +``` + +## 安装与运行 + +### 环境要求 +- Node.js 14.x 或更高版本 +- Yarn 或 npm + +### 安装依赖 +```bash +yarn install +npm install +``` -#### 安装教程 +### 生产环境构建 +```bash +npm run build +``` -1. xxxx -2. xxxx -3. xxxx +## 注意事项 +1. 项目基于微信公众号开发,需要在微信环境中测试部分功能 +2. 图片资源已进行优化处理,提高页面加载速度 +3. 部分功能需要后端API支持,请确保API服务正常运行 +4. 构建时会自动进行资源压缩和代码分割,优化前端性能 -#### 使用说明 +## API接口 +项目使用以下API接口(示例): +```javascript +// API基础地址 +Vue.prototype.httpurl = "https://nxwj.btlsoln.com/nxgzh"; +``` -1. xxxx -2. xxxx -3. xxxx +## 开发 +九聚科技开发团队-桑 -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +## 许可证 +MIT License diff --git a/analyze-png.js b/analyze-png.js deleted file mode 100644 index c7d303c..0000000 --- a/analyze-png.js +++ /dev/null @@ -1,39 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -// 读取src/assets目录 -const assetsDir = path.join(__dirname, 'src', 'assets'); - -fs.readdir(assetsDir, (err, files) => { - if (err) { - console.error('读取目录失败:', err); - return; - } - - // 过滤出PNG图片 - const pngFiles = files.filter(file => file.endsWith('.png')); - - // 获取每个文件的大小 - const fileInfo = pngFiles.map(file => { - const filePath = path.join(assetsDir, file); - const stats = fs.statSync(filePath); - return { - name: file, - size: stats.size, - sizeKB: (stats.size / 1024).toFixed(2) - }; - }); - - // 按大小排序(从大到小) - fileInfo.sort((a, b) => b.size - a.size); - - // 输出结果 - console.log('src/assets目录下PNG图片大小分析(从大到小):'); - console.log('文件名'.padEnd(25), '大小(字节)'.padEnd(15), '大小(KB)'); - console.log('-' .repeat(60)); - fileInfo.forEach(file => { - console.log(file.name.padEnd(25), file.size.toString().padEnd(15), file.sizeKB); - }); - console.log('-' .repeat(60)); - console.log(`总计: ${pngFiles.length} 个PNG图片`); -}); diff --git a/optimize-png.js b/optimize-png.js deleted file mode 100644 index dd58fc1..0000000 --- a/optimize-png.js +++ /dev/null @@ -1,49 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const imagemin = require('imagemin'); -const imageminPngquant = require('imagemin-pngquant'); - -// 源目录和目标目录 -const srcDir = path.join(__dirname, 'src', 'assets'); -const destDir = path.join(__dirname, 'src', 'assets'); // 直接覆盖原文件 - -// 优化PNG图片的函数 -async function optimizePng() { - try { - console.log('开始优化PNG图片...'); - - // 读取源目录下的所有PNG图片 - const files = await imagemin([`${srcDir}/*.png`], { - destination: destDir, - plugins: [ - imageminPngquant({ - quality: [0.6, 0.8] // 质量范围 - }) - ] - }); - - console.log('PNG图片优化完成!'); - console.log('优化的文件:'); - - // 计算并显示优化前后的文件大小对比 - for (const file of files) { - const srcPath = path.join(srcDir, path.basename(file.sourcePath)); - const destPath = file.destinationPath; - - const srcStats = fs.statSync(srcPath); - const destStats = fs.statSync(destPath); - - const srcSize = srcStats.size; - const destSize = destStats.size; - const reduction = ((srcSize - destSize) / srcSize * 100).toFixed(2); - - console.log(`${path.basename(file.sourcePath)}: ${(srcSize / 1024).toFixed(2)}KB → ${(destSize / 1024).toFixed(2)}KB (减少${reduction}%)`); - } - - } catch (error) { - console.error('优化PNG图片时出错:', error); - } -} - -// 执行优化 -optimizePng(); diff --git a/src/views/Home.vue b/src/views/Home.vue index 8585527..cfe248c 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -9,7 +9,7 @@ -
+