# 汇率系统 **Repository Path**: starry123/ExchangeRate ## Basic Information - **Project Name**: 汇率系统 - **Description**: 汇率系统是一个基于.NET Core 8.0的专业汇率管理工具,提供实时汇率查询、历史数据管理、用户权限控制和多语言支持等功能。系统主要用于跟踪中国银行汇率和港元汇率,为企业和个人提供准确、及时的汇率信息服务。 - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-11-19 - **Last Updated**: 2025-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 汇率系统 #### 介绍 汇率系统是一个基于.NET Core 8.0的专业汇率管理工具,提供实时汇率查询、历史数据管理、用户权限控制和多语言支持等功能。系统主要用于跟踪中国银行汇率和港元汇率,为企业和个人提供准确、及时的汇率信息服务。 ## 🛠️ 软件架构 ### 技术栈 - **后端框架**:ASP.NET Core 8.0 MVC - **ORM框架**:SQLSugar - **数据库**:SQLite - **前端技术**:Vue.js + Element UI + Avue - **日志组件**:log4net - **国际化**:ResX资源文件 - **部署方式**:IIS、Docker ### 项目结构 ``` ├── ExchangeRate.Server/ # 核心业务逻辑层 │ ├── Dto/ # 数据传输对象 │ ├── Language/ # 国际化资源 │ ├── Models/ # 数据模型 │ └── Service/ # 业务服务层 ├── ExchangeRate.Web/ # Web应用层 │ ├── Config/ # 配置文件 │ ├── Controllers/ # MVC控制器 │ ├── Filters/ # 过滤器 │ ├── Views/ # 视图文件 │ └── wwwroot/ # 静态资源 └── Doc/ # 文档和图片资源 ``` ### **架构优势** - **分层架构**:清晰的分层设计,便于维护和扩展 - **跨平台支持**:基于.NET Core,可在Windows、Linux、macOS上运行 - **高性能**:优化的数据库查询和缓存策略 - **安全性**:JWT认证、权限控制、数据加密 - **可扩展性**:模块化设计,支持插件式开发 - **多语言支持**:内置国际化功能,支持多种语言切换 - **容器化部署**:提供Docker镜像,简化部署流程 ## 📥 安装教程 ### **详细步骤** 1. **下载软件**:从官方网站下载最新版本的ExchangeRate安装包。 2. **安装IIS**:确保您的服务器已安装IIS,并配置好相关设置。 3. **部署应用**:将安装包解压到指定目录,并在IIS中创建新的网站。 4. **配置数据库**:按照指南配置数据库连接,确保软件能够正常访问数据。 5. **启动服务**:启动IIS中的ExchangeRate服务,并通过浏览器访问以验证安装是否成功。 ### Docker部署 #### 方式1:直接运行Docker命令 ```bash docker run --name ExchangeRate-container ^ -p YOU_PORT:8080 ^ -e "ConnectionConfigs:0:DbType=Sqlite" ^ -e "ConnectionConfigs:0:ConnectionString=DataSource=./ExchangeRate.db" ^ -e "ConnectionConfigs:0:EnableUnderLine=false" ^ -e TZ=UTC ^ -e TZ=Asia/Shanghai ^ --restart=always ^ crpi-ued86xnwae548w9p.cn-shenzhen.personal.cr.aliyuncs.com/ruovea/ExchangeRate-img:latest pause ``` #### 方式2:docker-compose 部署 ```yaml version: '3.9' services: ExchangeRate-img: image: 'crpi-ued86xnwae548w9p.cn-shenzhen.personal.cr.aliyuncs.com/ruovea/ExchangeRate-img:latest' restart: always environment: - TZ=Asia/Shanghai - TZ=UTC - 'ConnectionConfigs:0:EnableUnderLine=false' - 'ConnectionConfigs:0:ConnectionString=DataSource=./ExchangeRate.db' - 'ConnectionConfigs:0:DbType=Sqlite' ports: - 'YOU_PORT:8080' container_name: ExchangeRate-container ``` 启动运行: ```bash docker-compose up -d ``` ## 📋 功能模块 ### 1. 中国银行汇率管理 该模块用于查询和管理中国银行发布的各种货币汇率信息。 **主要功能**: - 实时汇率查询 - 历史汇率数据存储 - 汇率数据解析(支持API和网页抓取) - 汇率波动趋势分析 ### 2. 港元汇率管理 专门用于跟踪和管理港元兑其他货币的汇率信息。 **主要功能**: - 港元对多种货币汇率查询 - 按日期筛选历史汇率 - 最新汇率快速查看 - 汇率数据导入/导出 ### 3. 仪表板 提供系统概览和关键指标展示,包括汇率统计、系统状态等信息。 ### 4. 用户管理 管理系统用户和权限,支持角色分配和权限控制。 **主要功能**: - 用户增删改查 - 密码重置 - 角色分配 - 权限管理 ### 5. 系统设置 配置系统参数和运行环境。 **主要功能**: - 数据库连接配置 - 日志设置 - 邮件服务器配置 - 系统参数调整 ### 6. 日志管理 记录系统操作和事件,便于审计和故障排查。 **日志类型**: - 访问日志:记录用户登录和页面访问 - 操作日志:记录系统操作行为 - 异常日志:记录系统错误和异常 - 差异日志:记录数据变更历史 ## 📖 使用说明 ### **默认管理员** - **账号**:admin - **密码**:123456 默认用户 - **账号**:ruovea - **密码**:123456 初始化密码可在项目配置文件中配置,初始化后,数据库中的用户密码将是默认密码加密后的数据,提高安全性。 **提示**:首次登录后,建议立即修改默认密码,以确保账户安全。 ### **登录界面** 输入正确的账号和密码,点击“登录”按钮进入系统。如果忘记密码,可以点击“找回密码”进行重置。 ### **用户管理** 在用户管理界面,可以查看所有用户的基本信息,包括用户名、注册日期、最后登录时间等。支持用户搜索、筛选和批量操作。 ### **用户添加** 点击“添加用户”按钮,填写用户的基本信息,如用户名、密码、邮箱等,然后点击“创建”完成新用户添加。 ### **系统设置** 系统设置界面允许管理员配置软件的各项参数,如数据备份路径、邮件服务器设置、通知模板等。 ### **系统设置-编辑** 选择需要修改的设置项,点击“编辑”按钮,修改参数后点击“保存”应用更改。 ## 🔌 API接口 ### 中国银行汇率接口 | 接口路径 | 方法 | 功能描述 | |---------|------|---------| | /bocrate/sync | POST | 同步最新汇率数据 | | /bocrate/pages | POST | 分页查询银行汇率 | | /bocrate/latest | POST | 获取最新的银行汇率 | ### 港元汇率接口 | 接口路径 | 方法 | 功能描述 | |---------|------|---------| | /hkdrates/pages | POST | 分页查询港元汇率 | | /hkdrates/latest | POST | 获取最新的港元汇率 | | /hkdrates/bydate | POST | 根据日期获取港元汇率 | | /hkdrates/historical | POST | 根据货币代码获取历史汇率 | **接口返回格式**: ```json { "Code": 200, "Message": "操作成功", "Data": { /* 返回数据 */ }, "Success": true } ``` ## 📄 许可证 本项目使用 MIT 许可证,请查看 LICENSE 文件获取更多详情。 ## 🤝 贡献指南 欢迎提交Issue和Pull Request,共同改进和完善项目。 ### 贡献流程 1. Fork仓库 2. 创建特性分支 3. 提交更改 4. 发起Pull Request ## 📞 联系方式 如有问题或建议,请通过以下方式联系: - 项目仓库:[GitHub链接] - 文档地址:[文档链接] --- **感谢使用汇率系统!** 🎉