logo
0
0
WeChat Login
zhouhao<zhouhao3207@qq.com>
添加代码

数字社区 App

HarmonyOS 5.0+ 数字社区综合服务应用,前端基于 ArkTS + ArkUI Stage 模型开发,后端为纯 Node.js 内置模块实现的轻量级 HTTP 服务。


目录


项目简介

本项目为参赛作品「数字社区 App」,面向住宅小区居民提供物业公告、邻里动态、个人信息管理等综合服务,致力于"以数字生活提升社区品质"。


功能列表

模块页面说明
引导页SplashPage5 秒倒计时,自动跳转;检测本地 token 决定进首页或登录页
登录注册LoginPage / RegisterPage手机号+密码登录;注册含验证码、协议等完整表单
首页HomePage用户信息卡片、快捷服务宫格、物业服务宫格、物业公告预览(前5条)
物业公告AnnouncementPage完整公告列表,含图标、标题、内容摘要、日期
社区动态CommunityPage / DynamicDetailPage邻里动态卡片流、动态详情与评论列表
集市MarketPage占位页面
个人中心MinePage用户信息展示、菜单入口(我的信息、房屋/车辆/缴费/密码管理)
我的信息MyInfoPage修改头像(相册选图 → 上传至服务端)、姓名、手机号等,提交后实时刷新首页/个人中心

目录结构

Community/ ├── entry/src/main/ets/ │ ├── common/ │ │ ├── api/ Api.ets # 所有接口封装 │ │ ├── components/ AnnouncementItem.ets # 公共组件 │ │ ├── constants/ AppConstants.ets # 颜色、字号等常量 │ │ ├── models/ DataModels.ets # 数据类型定义 │ │ └── utils/ PreferencesUtil.ets # token / 用户信息本地存储 │ ├── entryability/ EntryAbility.ets │ └── pages/ *.ets # 各功能页面 ├── server/ │ ├── server.js # Node.js 后端(纯内置模块,无需 npm install) │ ├── API.md # 接口文档 │ └── uploads/ # 用户头像上传目录(运行时自动创建) ├── prd.md # 产品需求文档 └── README.md # 本文件

环境依赖

前端(客户端)

依赖版本要求
DevEco Studio5.0.5+
HarmonyOS SDKAPI 12 (HarmonyOS 5.0)+
真机 / 模拟器HarmonyOS 5.0+

后端(服务端)

依赖版本要求
Node.js16+
npm 包(仅使用 Node.js 内置模块)

启动方式

1. 启动后端服务

cd server node server.js

启动成功后控制台输出:

Server running at http://<本机IP>:8080

服务端会自动获取本机局域网 IP 并打印,记录该 IP,用于下一步配置客户端。

2. 启动前端应用

  1. 用 DevEco Studio 打开项目根目录 Community/
  2. 确认 客户端代码中服务器的 IP 配置 已修改为正确的服务器 IP
  3. 连接真机或启动模拟器
  4. 点击 Run 即可

运行前必读:关键配置项

1. 客户端服务端 IP

文件:entry/src/main/ets/common/api/Api.ets,第 81 行

static readonly BASE_URL: string = 'http://192.168.101.6:8080' // ^^^^^^^^^^^ // 改为运行 server.js 的电脑的局域网 IP

⚠️ 手机和电脑必须连接同一局域网(同一 Wi-Fi),否则无法访问服务端。


2. 启动页调试开关:强制跳转登录页

文件:entry/src/main/ets/pages/SplashPage.ets

/** 调试开关:true = 永远跳转到登录页(忽略本地 token),false = 正常逻辑 */ private readonly DEBUG_FORCE_LOGIN: boolean = false
行为
false(默认)有本地 token 则直接进首页,否则进登录页
true每次启动都强制跳转登录页,便于调试登录/注册流程

数据说明

⚠️ 服务端数据未做持久化

所有用户数据(注册账号、修改的头像/昵称等)均保存在 Node.js 进程内存中。服务端重启后,除预置账号外,所有数据将丢失。

预置测试账号:

手机号密码
13800138000123456

⚠️ 服务端下发的图片链接可能无法访问

公告图标、动态图片、用户头像等均使用外部 CDN 链接(如 img.icons8.comimg.zcool.cn)。在网络受限环境下这些图片可能无法加载,属正常现象,不影响功能逻辑。


相关文档