欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

开源微信小程序告白墙、万能墙、社交小程序已上线,界面美观,告白墙后台采用Java,打通多地域运营。

最编程 2024-03-22 07:41:29
...

简介

开源微信小程序表白墙、万能墙、社交小程序,打通多区域运营,界面精美已上线,表白墙后台使用Java,可结合微信朋友圈做表白墙、万能墙生态。

全部文档请在Wiki查看:Go Wiki

废话不说,扫码查看小程序演示:

好项目应该被顶起来,可以的话给个Star鼓励下:

Gitee:

gitee.com/vtep/WISE-O…

Github:

github.com/geneedyou/W…

行星万象后台管理系统,第一次加载会比较慢,正式地址,不提供体验账号密码:

行星万象后台管理系统:https://www.vtep.cn

在这里插入图片描述

很遗憾虽然行星万象的后台没有办法让你体验,但是JeecgBoot提供了一个体验地址,大体一样可以借鉴:

JeecgBoot演示 账户/密码:jeecg/123456

在此说一下,行星万象项目陆陆续续开发了一年时间,到现在为止基本功能已经开发完毕,有时间的话把即时聊天功能集成进去,同时也保证会维护下去,继续丰满功能。只是我有工作,一个人精力有限不能对不起自己的老板,所以进展可能会比较慢,但请放心绝不会烂尾,有下图为证:

在这里插入图片描述

为了让新人快速上手,我会在开发文档这边花比较多的精力,保证拿到代码先能跑起来。

行星万象开源版任何人都可以拿去修改部署,免费使用,但是你必须在明显位置注明:

本项目基于微信小程序【行星万象】搭建

如果只是需要使用本小程序可以联系我,我帮你开通一个区域和后台,你自行去运营,但是硬件和资源成本还是希望能分担一下,我不凭借这个系统赚钱,但是也不想成为我的经济负担,具体联系:18700871300(同微信),也可商业合作。

最后,如果你没有任何基础又或者仅准备用一两天时间来摸透这个系统,建议还是立刻关闭这个标签页,当你有了心理准备,那就可以往下看了。

需要具备的知识

  1. 微信小程序基本常识,例如怎样新建一个小程序、输出Hello、发送HTTP请求。
  2. 对JeecgBoot等快速开发平台有一定了解,因为本平台后台基于JeecgBoot搭建,在项目使用过程中大部分问题都可以在JeecgBoot开发文档中找到答案,各位也可以去给点个Star,吃水不忘挖井人。

基础开发环境

  1. JDK: 1.8 Maven: 3.5+
  2. MySql: 5.7+
  3. Redis: 3.2 +
  4. Node Js: 10.0 +
  5. Npm: 5.6.0+

超级起步

环境搭建

环境搭建参考JeecgBoot官方文档:

doc.jeecg.com/2043873

准备工作

请先确保浏览过JeecgBoot

  1. 下载源码,开源不易,务必Star。

Gitee:

Gitee:https://gitee.com/vtep/WISE-OS.git

Github:

github.com/geneedyou/W…

  1. 初始化数据库

初始化数据库,要求mysql5.7+,新建数据库wised,手工执行Sql脚本初始化数据。

WISE-OS\数据库脚本(在mysql中执行即可)\wised.sql

  1. 项目结构

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(微服务生态模块,不需要微服务可以删掉)

  1. 打开项目

微信开发者工具打开:WISE-OS\WISE-Mini 后台服务:WISE-OS\WISE-Fork\jeecg-boot 后台管理系统:WISE-OS\WISE-Fork\ant-design-vue-jeecg

  1. 修改项目配置文件(数据库配置、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,完成。

优势

  1. 小程序界面精美,从我开始开发一直遵循的宗旨,大可拿去和市面上的同类产品去对比。
  2. 后台管理系统完善,界面精美。
  3. 小程序运行稳定,可以快速上线,与微信结合紧密,在开发阶段已经考虑到内容分享,管理员可以将小程序内容分享至个人朋友圈,打通生态。
  4. 变现能力,懂得自然懂。
  5. 开源
  6. 长期维护

你能得到什么

这里我不谈意义,只谈得失,熟悉此项目你会获得以下好处。

  1. 项目 如果你是一名在校生,你可以拿着这套代码去部署、去创业、去参加大创、挑战杯各类比赛申请经费都没有问题,甚至毕业面试也是一份不错的履历。

  2. 金钱 微信小程序集成外卖优惠券模块和微信小商店,开发者自行替换成自己的Url,用户使用即可实现盈利,同时体量大起来后发布信息也可以进行收费。

  3. 技术 从我的角度这是一个对学生以及毕业生非常好的练手项目,因为在开始做这个项目的时候我还是一名西安文理学院的在校生,从架构从逻辑都是我一步步走过来的,用这个项目练手一是有我做的基础在不会无聊,二是各方面技术都有涉猎,三是系统可上线。

常见问题

一般大部分问题都可以在微信官网文档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

备份和恢复

blog.****.net/qq_41574648…

目录挂载

宿主机的/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.****.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镜像并运行为容器即可。