大家好,我是 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:
# 業主小程式 AppID
appid: ''
# 業主小程式 AppSecret
secret: ''
# 公眾號
# 參考 8 章節
oa:
# 公眾號 AppID
appid: ''
# 公眾號 AppSecret
secret: ''
# 公眾號 Token
token: ''
# 公眾號 EncodingAESKey
key: ''
# 微信支付
# 不需要支付功能可以不配置
pay:
# 商戶id
mch_id: ''
# 生產環境通知地址,即 api域名
prodHost: ''
# 開發環境通知地址
devHost: ''
# 支付時效
payExpire: 1800000
# 退款時效
refoundExpire: 1296000000
# 商戶支付key
key: ''
# p12支付證書位置
certPath: ''
# 物業員工小程式
pmp:
# 物業員工小程式 AppID
appid: ''
# 物業員工小程式 AppSecret
secret: ''
# 騰訊地圖
# 參考 6 章節
map:
# 騰訊地圖應用Key
key: ''
session:
# session 名稱
key: 'ejyy:session'
# session 有效期
maxAge: 1800000
# session 是否簽名
signed: false
# 小區
community:
# 小區認證二維有效期
expire: 30000
# 阿里雲
# 參考 4 章節
aliyun:
# 阿里雲AccessKey
accessKeyId: ''
# 阿里雲Secret
accessKeySecret: ''
# 物件儲存
# 參考 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/#/
大家的點贊、收藏和評論都是對作者的支援,如文章對你有幫助還請點贊轉發支援下,謝謝!