簡介
中國目前大概有5000個表白牆,累計用戶近3000萬,是一個龐大的群體,但現在大都以微信朋友圈為基礎進行信息中轉,但是這種模式經營者和用戶都不友好,尤其是經營者無法變現,用戶無法公開評論,這些種種問題就造就了行星萬象的誕生。這是一個信息發布類型的微信小程序,可以發布例如吐槽、找對象等信息。甚至能輕易改造為論壇小程序,廢話不說,掃碼查看小程序演示:
好項目應該被頂起來,可以的話給個Star鼓勵下:
Gitee:
Github:
小程序的后台,正式地址,不提供體驗賬號密碼:

很遺憾行星萬象的后台沒有辦法讓你體驗,但是JeecgBoot提供了一個體驗地址,大體一樣可以借鑒:
JeecgBoot演示
賬戶/密碼:jeecg/123456
在此說一下,行星萬象項目陸陸續續開發了一年時間,到現在為止基本功能已經開發完畢,有時間的話把即時聊天功能集成進去,同時也保證會維護下去,繼續豐滿功能。只是精力有限,所以進展可能會比較慢,但放心絕不會爛尾,有下圖為證:

為了讓新人快速上手,我會在開發文檔這邊花比較多的精力,保證拿到代碼先能跑起來。
行星萬象開源版任何人都可以拿去修改部署,免費使用,但是你必須在明確注明:
如果只是需要使用本小程序可以聯系我,我幫你開通一個區域和后台,你自行去運營,但是硬件和資源成本還是希望能分擔一下,我不憑借這個系統賺錢,但是也不想成為我的經濟負擔,具體聯系:18700871300(同微信),也可商業合作。
最后,如果你沒有任何基礎又或者僅准備用一兩天時間來摸透這個系統,建議還是立刻關閉這個標簽頁,當你有了心理准備,那就可以往下看了。
需要具備的知識
- 微信小程序基本常識,例如怎樣新建一個小程序、輸出Hello、發送HTTP請求。
- 對JeecgBoot等快速開發平台有一定了解,因為本平台后台基於JeecgBoot搭建,在項目使用過程中大部分問題都可以在JeecgBoot開發文檔中找到答案,各位也可以去給點個Star,吃水不忘挖井人。
基礎開發環境
- JDK: 1.8 Maven: 3.5+
- MySql: 5.7+
- Redis: 3.2 +
- Node Js: 10.0 +
- Npm: 5.6.0+
超級起步
環境搭建
環境搭建參考JeecgBoot官方文檔:
准備工作
請先確保瀏覽過JeecgBoot。
- 下載源碼,開源不易,務必Star。
Gitee:
Github:
- 初始化數據庫
初始化數據庫,要求mysql5.7+,新建數據庫wised,手工執行Sql腳本初始化數據。
WISE-OS\數據庫腳本(在mysql中執行即可)\wised.sql
- 項目結構
WISE-Mini(小程序)
WISE-Fork(后台管理系統和后台服務)
ant-design-vue-jeecg(后台管理系統)
jeecg-boot-parent(父POM: 項目依賴、modules組織)
│ ├─jeecg-boot-base(共通模塊: 工具類、config、權限、查詢過濾器、注解、接口等)
│ ├─jeecg-boot-module-bbs 微信小程序代碼包
│ ├─jeecg-boot-module-demo 示例代碼
│ ├─jeecg-boot-module-system (系統管理權限等功能) -- 默認作為啟動項目
│ ├─jeecg-boot-starter(微服務starter模塊,不需要微服務可以刪掉)
│ ├─jeecg-cloud-module(微服務生態模塊,不需要微服務可以刪掉)
- 打開項目
微信開發者工具打開:WISE-OS\WISE-Mini
后台服務:WISE-OS\WISE-Fork\jeecg-boot
后台管理系統:WISE-OS\WISE-Fork\ant-design-vue-jeecg
- 修改項目配置文件(數據庫配置、redis配置)
配置文件(本地): jeecg-boot-module-system/src/main/resources/application-dev.yml
配置文件(線上): jeecg-boot-module-system/src/main/resources/application-dev.yml
- 數據庫配置(連接和賬號密碼)

- Redis配置(配置redis的host和port)

- 七牛OSS配置

- 小程序配置

- 管理系統正式版本配置文件修改

- 微信小程序配置文件修改


啟動項目
后端服務啟動
確認好配置修改完成后可直接右鍵啟動
jeecg-boot-module-system/src/main/java/org/jeecg/JeecgSystemApplication.java
右鍵執行啟動,通過 http://localhost:8080/jeecg-boot/doc.html 訪問后台,默認進入swagger文檔首頁
管理系統啟動
在ant-design-jeecg-vue目錄下執行命令下載依賴,執行命令
yarn install
找到項目目錄下文件package.json文件,鼠標右鍵選擇Show npm Scripts,點擊命令 serve 啟動項目,看到如下日志則啟動成功。

點擊鏈接自動打開瀏覽器,默認賬號密碼: admin/123456。
小程序啟動
在WISE-MINI根目錄下
npm install
打開微信開發者工具:工具->構建npm,完成。
優勢
- 小程序界面精美,從我開始開發一直遵循的宗旨,大可拿去和市面上的同類產品去對比。
- 后台管理系統完善,界面精美。
- 小程序運行穩定,可以快速上線,與微信結合緊密,在開發階段已經考慮到內容分享,管理員可以將小程序內容分享至個人朋友圈,打通生態。
- 變現能力,懂得自然懂。
- 開源。
- 長期維護。
你能得到什么
這里我不談意義,只談得失,熟悉此項目你會獲得以下好處。
-
項目
如果你是一名在校生,你可以拿着這套代碼去部署、去創業、去參加大創、挑戰杯各類比賽申請經費都沒有問題,甚至畢業面試也是一份不錯的履歷。 -
金錢
微信小程序集成外賣優惠券模塊和微信小商店,開發者自行替換成自己的Url,用戶使用即可實現盈利,同時體量大起來后發布信息也可以進行收費。 -
技術
從我的角度這是一個對學生以及畢業生非常好的練手項目,因為在開始做這個項目的時候我還是一名西安文理學院的在校生,從架構從邏輯都是我一步步走過來的,用這個項目練手一是有我做的基礎在不會無聊,二是各方面技術都有涉獵,三是系統可上線。
常見問題
一般大部分問題都可以在微信官網文檔和JeecgBoot開發文檔中找到答案,請確保吃透官方文檔,如果仍舊無法解決或無從下手可以進QQ群:
贊賞支持
附錄
表設計規范
表編碼規范
所有id類型字段編碼為UTF-8,其他類型字段編碼為utf8mb4
表關系
在基於Jeecg Boot數據庫規范要求的基礎上,額外添加以下約束:
所有表添加外鍵關聯
| 字段名 | 含義 | 編碼 |
|---|---|---|
| create_by | 用戶username | utf-8 |
| updata_by | 用戶username | utf-8 |
| sys_org_code | 所屬部門 | utf-8 |
數據字典
數據字典編號為表明+字段名,描述必填
| 表名 | 表描述 | 字段 | 字段描述 | 含義 | 默認值 |
|---|---|---|---|---|---|
| all | 通用 | status | 用戶發布內容狀態 | 0:審核中 1:已審核 2:凍結 |
1 |
| all | 通用 | delete_flag | 邏輯刪除標志 | 0:未刪除 1:已刪除 |
0 |
| bbs_inform | 舉報列表 | type | 舉報類型 | 1:舉報貼子 2:舉報評論 3:舉報留言 |
|
| result_type | 處理類型 | 0:待處理 1:恢復正常 2:刪除此條信息 5:禁言1天 6:禁言3天6 7:永久禁言 8:凍結賬號1天 3:凍結賬號3天 4:永久凍結 |
|||
| bbs_reply | 評論 | status | 狀態 | 1:正常 2:凍結 |
|
| bbs_user_message | 互動消息 | status | 0:已讀 1:未讀 |
||
| message_type | 1:留言被點贊 2:貼子點贊 3:貼子被評論 4:評論被點贊 |
||||
| bbs_user_message | 互動消息 | status | 0:已讀 1:未讀 |
||
| message_type | 1:留言被點贊 2:貼子被點贊 3:貼子被評論 4:評論被點贊 |
||||
| bbs_sys_message | 系統推送消息 | type | 推送類型 | 0:全平台推送 1:區域推送 2:首頁壓窗屏 |
|
| status | 推送狀態 | 0:正在推送 1:推送完成 2:推送失敗 3:已撤回 |
|||
| bbs_user_sys_message | 推送消息子表 | type | 推送類型 | 0:全平台推送 1:區域推送 |
|
| status | 閱讀狀態 | 0:已讀 1:未讀 |
|||
| bbs_topic | 帖子 | type | 類型 | 0:普通 1:置頂 2:精華 5:通用 |
|
| anon | 是否匿名 | 0:是 1:否 |
|||
| bbs_topic_link | type | 跳轉類型 | 0:鏈接帖子 1:鏈接功能頁 |
||
| bbs_waimai | 外賣 | type | 外賣類型 | 0:美團外賣 1:美團超市 2:餓了么 3:餓了么超市 |
|
| bbs_user_waimai | 用戶點擊外賣 | type | 進入類型 | 0:首屏彈框 1:好吃與好物 2:置頂帖 |
|
| use_status | 使用狀態 | 0:未跳轉 1:已跳轉 2:已使用 3:已過期 4:其他 |
|||
| bbs_region | 區域 | region_status | 區域狀態 | 1:未上線 2:已上線 3:凍結 |
1 |
| region_type | 區域類型 | 1:城市 2:學校 3:其他 |
|||
| bbs_activity | push_type | 活動推送類型 | 0:全平台推送 1:區域推送 |
||
| activity_type | 活動類型 | 0:宣傳展示 1:展示收集 |
|||
| bbs_activity_user | apply_status | 報名狀態 | 0:已報名 1:取消報名 |
Docker
docker設置自動啟動
啟動時加--restart=always
no 不自動重啟容器. (默認value)
on-failure 容器發生error而退出(容器退出狀態不為0)重啟容器
unless-stopped 在容器已經stop掉或Docker stoped/restarted的時候才重啟容器
always 在容器已經stop掉或Docker stoped/restarted的時候才重啟容器
如果已經過運行的項目
如果已經啟動的項目,則使用update更新:
docker update --restart=always isaler_v0.0.11
常用鏡像及shell腳本
列出所有容器 ID
docker ps -aq
停止所有容器
docker stop $(docker ps -aq)
停止單個容器
docker stop 要停止的容器名
刪除所有容器
docker rm $(docker ps -aq)
刪除單個容器
docker rm 要刪除的容器名
刪除所有的鏡像
docker rmi $(docker images -q)
查看日志
docker logs wise-nginx
查看啟動參數
yum install npm -y
npm i -g rekcod
rekcod 容器名
添加參數
docker container update --lower_case_table_names=1 wise-mysql
備份和恢復
目錄掛載
宿主機的/test目錄掛載到容器的/soft目錄,可通過以下方式指定:
docker run -it -v /test:/soft centos /bin/bash
冒號":"前面的目錄是宿主機目錄,后面的目錄是容器內目錄。
Mysql
安裝及運行
docker pull mysql:5.7 && docker run -p 3306:3306 --name wise-mysql -v ~/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --restart=always -d mysql:5.7 --lower-case-table-names=1
常用命令
docker exec -it wise-mysql /bin/bash
mysql -h127.0.0.1 -p3306 -uroot -p123456
Nginx
docker stop wise-nginx
docker rm wise-nginx
docker pull nginx:stable-alpine
//docker run -p 80:80 --name wise-nginx -v /root/nginx/dist:/usr/share/nginx/html -d nginx:stable-alpine
配置目錄映射(正確)
安裝及運行
docker pull nginx:stable-alpine && docker run -p 443:443 -p 80:80 -p 10003:10003 --name wise-nginx -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx:/etc/nginx/conf.d -v /root/nginx/wise-admin:/usr/share/nginx/html -d nginx:stable-alpine
docker exec -it wise-nginx /bin/sh
配置文件路徑:/etc/nginx/conf.d/default.conf
靜態頁面路徑:/usr/share/nginx/html
docker exec -ti CONTAINER ID/NAMES /bin/bash 會啟用一個bash環境
1. 有時用exec會報錯:stat /bin/nash: no such file or directory;這說明鏡像不包含適合bash的風格操作,沒有這樣的文件或目錄,這種情況下用nsenter可以解決
2. nsenter
docker inspect -f "{{ .State.Pid }}" CONTAINER ID/NAMES #查看容器PID
nsenter -t PID -m -u -i -n -p #進入容器
-t:指定PID
–u:參數是進入到uts namespace中
–i:參數是進入到System V IPC namaspace中
–n:參數是進入到network namespace中
–p:參數是進入到pid namespace中
最常用的就是這兩種,還有其他的方法:attach
發布
cd nginx/ && unzip dist.zip && rm -rf wise-admin/ && mv dist/ wise-admin/ && docker restart wise-nginx
Java
docker pull java:8
docker run -p 10001:10001 --name wise-java -di primetoninc/jdk
安裝及運行
掛載目錄
docker pull java:8 && docker run -p 10001:10001 --name wise-java -v /root/wise-java:/root/wise-java -di java:8
//重啟
docker restart wise-java
//進入容器
docker exec -it wise-java /bin/bash
//運行
cd /root/wise-java/ && java -Dloader.path=lib -jar jeecg-boot-module-system-2.4.0.jar --spring.profiles.active=prod
//重新發布
cd wise-java/ && rm -rf lib && unzip lib.zip &&
docker restart wise-java && docker exec -it wise-java /bin/bash
cd /root/wise-java/ && java -Dloader.path=lib -jar jeecg-boot-module-system-2.4.3.jar --spring.profiles.active=prod > /root/wise-java/wise-java.log &
開發版:
docker pull java:8 && docker run -p 10002:10002 --name wise-java-dev -v /root/wise-java-dev:/root/wise-java-dev -di java:8
docker restart wise-java-dev && docker exec -it wise-java-dev /bin/bash
cd /root/wise-java-dev/ && java -Dloader.path=lib -jar jeecg-boot-module-system-2.4.3.jar --spring.profiles.active=dev /root/wise-java/wise-java-dev.log &
node
docker pull node
docker run -p 10000:10000 --name wise-node -v /root/wise-admin:/root/wise-admin -di node
docker exec -it wise-node /bin/bash
yarn install
yarn servw
報錯:error Command failed with exit code 137.
https://blog.csdn.net/weixin_46016926/article/details/111352647
tomcat
docker pull tomcat
docker run -d --name wise-tomcat -p 10000:8080 tomcat
docker exec -it wise-tomcat /bin/bash
備份及遷移
docker容器的遷移
運行一段時間后的容器,其中包含了新的內容,如果想把這些內容數據一並遷移到新的主機上,可以按照以下步驟進行(以遷移wordpress為例)
1. 提交容器快照生成新的鏡像 wordpress-backup
docker commit -p docker-wordpress wordpress-backup
2. 將鏡像保存成一個tar壓縮包
docker save -o wordpress-backup.tar wordpress-backup
3.將tar壓縮包復制到另一台主機
spc wordpress-backup.tar root@49.xxx.xxx.xx:/root/docker/
4.在另一台主機上加載鏡像的tar壓縮包
docker load -i wordpress-backup.tar
5.使用這個加載的鏡像運行容器
docker run -d -p 80:80 wordpress-backup
如果有docker倉庫的權限,則可以直接將第1步生成的快照鏡像push到docker倉庫,然后在另一台主機上pull鏡像並運行為容器即可。
mysql
提交容器快照生成新的鏡像
docker commit -p wise-mysql wise-mysql-image
將鏡像保存成一個tar壓縮包
docker save -o wise-mysql-image.tar wise-mysql-image
將tar壓縮包復制到另一台主機
scp wise-mysql-image.tar root@47.108.201.102:/root/docker/
在另一台主機上加載鏡像的tar壓縮包
docker load -i wise-mysql-image.tar
使用這個加載的鏡像運行容器
docker run -p 3306:3306 --name wise-mysql -v ~/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d wise-mysql-image
如果有docker倉庫的權限,則可以直接將第1步生成的快照鏡像push到docker倉庫,然后在另一台主機上pull鏡像並運行為容器即可。
