大家好,我是 Java陈序员
。
今天,给大家介绍一套开源的物业社区管理系统,涵盖PC端、小程序!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。
项目介绍
ejyy
—— 「e家宜业」是一整套基于 AGPL
开源协议开源的智慧物业解决方案。实现了微信公众号、小程序、PC、H5、智能硬件多端打通,旨在提升物业公司效率、规范物业服务流程、提升物业服务满意度、加强小区智慧化建设、便捷业主服务。
技术栈:
- 后端:Node.js + Koa + Typescript + MySQL + Redis
- 前端:Vue + View Design
- 小程序:原生开发
项目截图
Web 后台
业主端小程序
员工端小程序
快速上手
前期准备
1、环境依赖
- Node.js
- MySQL
- Redis
2、拉取源代码
git clone https://github.com/chowa/ejyy.git
3、代码目录结构
ejyy
├─api-server ## 服务端
├─console-web ## Web 端
├─owner-mp ## 业主端小程序
├─property-mp ## 员工端小程序
└─resources ## 资源文件
4、初始化 MySQL 数据库
创建数据库:
CREATE DATABASE `ejyy` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
执行 resources/db.sql
脚本文件,初始化数据库数据。
服务端
1、进入 api-server
目录
cd api-server
2、安装依赖
npm install
3、在 api-server
目录下创建配置文件 .ejyyrc
,并修改 MySQL
、Redis
等相应的配置信息
---server:# 服务器端口port: 6688# 服务器名称name: 'e家宜业'# 参考 2.1.5 章节mysql:# 数据库地址host: '127.0.0.1'# 数据库端口port: 3306# 数据库用户名user: 'root'# 数据库密码password: ''# 数据库名database: 'ejyy'redis:# redis 地址host: '127.0.0.1'# redis 端口port: 6379# redis 密码password: 'root'# 参考 7.1 章节wechat:# 业主小程序ump:# 业主小程序 AppIDappid: ''# 业主小程序 AppSecretsecret: ''# 公众号 # 参考 8 章节oa:# 公众号 AppIDappid: ''# 公众号 AppSecretsecret: ''# 公众号 Tokentoken: ''# 公众号 EncodingAESKeykey: ''# 微信支付# 不需要支付功能可以不配置pay:# 商户idmch_id: ''# 生产环境通知地址,即 api域名prodHost: ''# 开发环境通知地址devHost: ''# 支付时效payExpire: 1800000# 退款时效refoundExpire: 1296000000# 商户支付keykey: ''# p12支付证书位置certPath: ''# 物业员工小程序pmp:# 物业员工小程序 AppIDappid: ''# 物业员工小程序 AppSecretsecret: ''# 腾讯地图# 参考 6 章节map:# 腾讯地图应用Keykey: ''session:# session 名称key: 'ejyy:session'# session 有效期maxAge: 1800000# session 是否签名signed: false# 小区community:# 小区认证二维有效期expire: 30000# 阿里云# 参考 4 章节aliyun:# 阿里云AccessKeyaccessKeyId: ''# 阿里云SecretaccessKeySecret: ''# 对象存储# 参考 5.4 章节oss:bucket: ''region: ''host: ''# 各类可以解密加密crypto:# aes-256-cbc秘钥,32位字符串key: ''# aes-256-cbc偏移常量,16位字符串iv: ''# 发信配置(主要接收生产环境异常报警)smtp:# 发信地址host: ''# 发现端口port: 465# 开启ssl加密secure: true# 发信账号user: ''# 发信密码password: ''# 收件人to: ''
4、启动项目
npm run dev
在 Windows 环境中,启动项目时如出现以下提示:
''NODE_ENV' 不是内部或外部命令,也不是可运行的程序或批处理文件。
这是因为 Windows 系统不支持 NODE_ENV=dev
,需要用 set
或者 cross-env
.
解决方法如下:
- 安装
cross-env
依赖:npm install --save-dev cross-env
- 在
package.json
中的'NODE_ENV=development ts-node'
前添加cross-env
"scripts": {"dev": "nodemon -e ts --exec cross-env 'NODE_ENV=development ts-node' src/app.ts","lint": "prettier --write src/*.ts src/**/*.ts src/**/**/*.ts src/**/**/**/*.ts","dist": "webpack --config webpack.config.js"
}
Web端
1、进入 console-web
目录
cd console-web
2、安装依赖
npm install
3、修改配置文件 src/config.js
// 本地存储token
export const TOKEN_ID = 'EJYY_PC_TOKEN';
// 本地存储 user_id
export const USER_ID = 'EJYY_PC_USER_ID';
// 站点名称
export const SITE_TITLE = 'e家宜业';
// 列表分页,默认每页数据
export const DEGAULT_PAGE_SIZE = 10;
// 表单响应布局宽度
export const FORM_ADAPT_WIDTH = 992;
// web端域名
export const HOST_NAME = '';
// 对象存储域名
export const ASSET_HOST = '';
// 腾讯地图Key
export const MAP_KEY = '';
4、启动项目
npm run dev
5、浏览器访问
http://localhost:8080/
业主小程序端、员工小程序端这里就不描述如何本地化启动,可自行体验。
在生产环境中,可以使用宝塔面板进行安装部署,项目官方提供了详细的部署指南,可参考官方文档~
项目地址:https://github.com/chowa/ejyy
文档地址:https://gj4h0z80f2.feishu.cn/docx/H62ndDuUhodT7dx0QIJc1sMFnfc
最后
推荐的开源项目已经收录到 GitHub
项目,欢迎 Star
:
https://github.com/chenyl8848/great-open-source-project
或者访问网站,进行在线浏览:
https://chencoding.top:8090/#/
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!