跳到主要内容

邮轮穿舱件管理系统-小程序端文件结构文档

项目概述

邮轮穿舱件管理系统是一个基于微信小程序平台开发的管理系统,主要用于邮轮穿舱件的任务管理、用户管理和信息展示。项目采用UniApp框架开发,支持微信小程序环境运行。

参考文件:

目录结构分析

1. 根目录结构

├── LICENSE                    # 开源许可证文件
├── README.md # 项目说明文档
├── api/ # API接口模块
├── app.js # 小程序入口文件
├── app.json # 小程序配置文件
├── app.less # 全局样式文件
├── behaviors/ # 行为模块
├── codebases/ # 代码库文件
├── components/ # 组件库
├── config/ # 配置模块
├── config.js # 配置文件
├── custom-tab-bar/ # 自定义底部导航栏
├── docs/ # 文档目录
├── errors.log # 错误日志文件
├── git_docs/ # Git文档
├── package-lock.json # 包锁定文件
├── package.json # 项目依赖配置
├── pages/ # 页面目录
├── project.config.json # 项目配置文件
├── project.private.config.json # 私有项目配置
├── sitemap.json # 站点地图
├── static/ # 静态资源
└── utils/ # 工具函数库

2. 核心模块详细分析

2.1 应用入口模块 (app.js)

职责: 小程序全局应用实例,负责应用生命周期管理和全局状态管理。

核心功能:

  • 应用启动初始化
  • 全局事件总线管理
  • WebSocket连接管理
  • 未读消息数量管理

依赖关系:

  • 导入 ./utils/eventBus 事件总线模块
  • 依赖微信小程序API:wx.getUpdateManager(), wx.showModal()

关键代码片段:

App({
onLaunch() {
// 应用启动逻辑
this.connect();
},
globalData: {
userInfo: null,
unreadNum: 0,
socket: null,
},
eventBus: createBus(),
});

参考文件:

2.2 应用配置模块 (app.json)

职责: 定义小程序页面结构、导航配置、权限设置等。

核心配置:

  • 主包页面配置(首页、任务页、搜索页、个人中心)
  • 分包配置(支持模块、工件详情、绑定用户等)
  • 自定义底部导航栏
  • 网络超时设置
  • 位置权限配置

分包结构:

"subpackages": [
{
"root": "pages/support",
"name": "support",
"pages": ["index"]
},
// ... 其他分包配置
]

参考文件:

2.3 API接口模块 (api/)

文件结构:

api/
├── bindUser.js # 用户绑定接口
└── request.js # 网络请求封装

request.js 核心功能:

  • 统一的HTTP请求封装
  • Token自动管理
  • Mock数据支持
  • 错误处理机制

依赖关系:

  • 导入 ~/config 配置模块
  • 依赖微信小程序API:wx.request(), wx.getStorageSync()

关键代码:

function request(url, method = 'GET', data = {}) {
const header = {
'content-type': 'application/json',
};
const tokenString = wx.getStorageSync('access_token');
if (tokenString) {
header.Authorization = `Bearer ${tokenString}`;
}
// ... 请求逻辑
}

参考文件:

2.4 工具函数库 (utils/)

文件结构:

utils/
├── crypto.js # 加密工具
├── eventBus.js # 事件总线
└── util.js # 通用工具函数

eventBus.js 核心功能:

  • 发布-订阅模式实现
  • 事件监听和管理
  • 内存泄漏防护

关键代码:

export default function createBus() {
return {
events: {},
on(event, callback) {
if (!this.events[event]) this.events[event] = [];
this.events[event].push(callback);
},
// ... 其他方法
};
}

参考文件:

2.5 组件库 (components/)

文件结构:

components/
├── card/ # 卡片组件
│ ├── index.js
│ ├── index.json
│ ├── index.less
│ └── index.wxml
└── nav/ # 导航组件
├── index.js
├── index.json
├── index.less
└── index.wxml

nav组件功能:

  • 侧边栏导航管理
  • 页面路由跳转
  • 状态栏高度适配

参考文件:

2.6 页面模块 (pages/)

主要页面结构:

pages/
├── home/ # 首页
├── taskPage/ # 任务页面
├── searchPage/ # 搜索页面
├── my/ # 个人中心
├── login/ # 登录页面
├── message/ # 消息页面
└── ... 其他功能页面

首页 (home/index.js) 核心功能:

  • 统计数据展示
  • 文章列表管理
  • 用户登录状态判断
  • 导航功能集成

参考文件:

依赖关系图

1. 模块依赖关系图

flowchart TD
A[app.js] --> B[utils/eventBus.js]
A --> C[api/request.js]
C --> D[config/index.js]
E[pages/home/index.js] --> C
E --> F[tdesign-miniprogram]
G[components/nav/index.js] --> H[微信小程序API]

subgraph 核心模块
A
C
B
end

subgraph 页面模块
E
I[其他页面]
end

subgraph 第三方依赖
F
H
end

B --> E
C --> E

2. 数据流关系图

sequenceDiagram
participant U as 用户
participant P as 页面组件
participant A as app.js
participant API as API模块
participant WX as 微信平台

U->>P: 用户操作
P->>A: 触发全局事件
A->>API: 发起网络请求
API->>WX: 调用微信API
WX->>API: 返回数据
API->>A: 处理响应
A->>P: 更新页面状态
P->>U: 更新界面显示

3. 组件调用关系图

flowchart LR
A[首页] --> B[导航组件]
A --> C[卡片组件]
B --> D[任务页面]
B --> E[搜索页面]
B --> F[个人中心]
C --> G[文章详情]

style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#e8f5e8

架构设计模式

1. 事件驱动架构

系统采用事件总线模式实现组件间通信,通过 eventBus 模块实现松耦合的组件交互。

事件类型:

  • unread-num-change: 未读消息数量变化
  • 其他自定义业务事件

2. 分层架构设计

表示层 (UI层)
├── 页面组件 (pages/)
├── 通用组件 (components/)

业务逻辑层
├── API服务 (api/)
├── 工具函数 (utils/)

数据层
├── 本地存储
├── 网络请求

基础设施层
├── 微信小程序平台
├── 第三方组件库

3. 分包加载策略

采用微信小程序分包机制,将功能模块按业务维度拆分,优化首屏加载性能。

分包策略:

  • 主包:核心功能(首页、导航)
  • 分包:业务功能(支持、详情、设置等)

关键技术特性

1. 网络请求优化

  • 统一的请求拦截器
  • 自动Token管理
  • Mock数据支持
  • 错误重试机制

2. 状态管理

  • 全局状态 (globalData)
  • 事件驱动的状态更新
  • 本地存储同步

3. 组件化开发

  • 可复用的UI组件
  • 样式隔离配置
  • 自定义组件生命周期

索引

邮轮穿舱件管理系统小程序端采用了模块化、组件化的架构设计,具有良好的可维护性和扩展性。通过事件总线和分层架构实现了松耦合的组件通信,分包策略优化了应用性能。系统集成了完整的用户管理、任务管理和信息展示功能,为邮轮穿舱件管理提供了便捷的移动端解决方案。

主要技术栈:

  • 开发框架:UniApp
  • UI组件库:TDesign MiniProgram
  • 构建工具:HBuilderX
  • 目标平台:微信小程序

该架构设计充分考虑了小程序平台的特性和限制,在保证功能完整性的同时,优化了用户体验和开发效率。