功能齊全!一套基於AGPL3開源協議開源的智慧物業社群系統!!

Java陈序员發表於2024-07-04

大家好,我是 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,並修改 MySQLRedis 等相應的配置資訊

---
    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.

解決方法如下:

  1. 安裝 cross-env 依賴:npm install --save-dev cross-env
  2. 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/#/

大家的點贊、收藏和評論都是對作者的支援,如文章對你有幫助還請點贊轉發支援下,謝謝!

相關文章