添加到桌面

CRMEB开源商城新零售社交电商系统单商户Java版+uniapp前端

CRMEB Java版商城系统是一款基于Java + Uni-app 开发的新零售社交电商系统,能够真正帮助企业基于微信公众号、小程序、移动端等,实现会员管理、数据分析,精准营销的电子商务管理系统。Java环境大家平时用的不多感觉下搭建还是挺麻烦,系统未测试,下载后参照帮助文档自行研究安装 。

帮助文档:https://doc.crmeb.com/java/

环境要求:Mysql 5.7+Redis 5-6+Nginx

系统代码全开源无加密,独立部署、二开方便,适用于企业新零售、分销、拼团、砍价,秒杀等各种业务需求。

系统亮点:

1:有详细的代码注释,有完整系统手册。
2:基于 SpringBoot 框架开发业界主流。
3:【前端】Web PC 管理端 vue + element UI。
4:【前端】移动端使用 UniApp 框架,前后端分离开发。
5:标准RESTful 接口、标准数据传输,逻辑层次更明确,更多的提高api复用。
6:支持Redis队列,降低流量高峰,解除耦合,高可用。
7:无缝事件机制,行为扩展更方便,方便二次开发。
8:数据导出,方便个性化分析。
9:数据统计分析,使用ECharts图表统计,实现用户、产品、订单、资金等统计分析。
10:权限管理,后台多种角色,多重身份权限管理,权限可以控制到按钮级别的操作。
11:Vue表单生成控件,拖拽配置表单,减少前端重复表单工作量,提高前端开发效率。

运行环境及框架:

1.移动端uniapp开发框架 可生成H5 公众号 微信小程序
2.WEB Pc 管理后台使用Vue + Element UI 开发 兼容主流浏览器 ie11+
3.后台服务 Java SpringBoot + Mybatis-plus + Mysql + redis
4.运行环境 linux和windows等都支持,只要有Java环境和对应的数据库 redis
5.运行条件 Java 1.8 Mysql5.7

Java项目框架 和 WEB PC 项目运行环境:
1.SpringBoot 2.2.6.RELEASE
2.Maven 3.6.1
3.swagger-bootstrap-ui 1.0
4.Mybatis Plus 3.3.1
5.npm 6
6.node 14
7.vue 2.x
8.element ui 2.13
移动端 uniapp 开发 使用 HbuilderX 开发

打包Jar包并启动
Crmeb Java 项目打包可运行jar文件
本地已经运行过的同学直接配置prod环境的yml文件后直接mvn install 打包即可。

⏬下载的源码,并导入开发工具
解压后的代码包内容
2024-04-13T13:04:12.png
解压后导入idea开发工具,初次导入会自动根据pom文件下载对应的jar包。
2024-04-13T13:04:24.png
?正确导入java项目并配置mysql和redis链接
2024-04-13T13:04:37.png
配置数据库连接和
2024-04-13T13:04:45.png
打包之前修改环境配置文件,分别在crmeb-admin 和 crmeb-front包下的 yml,每个环境中的端口都不一样,这里默认admin为20000front为20001 上传到服务端口转发会用到,也可以根据自己要求调整,不要不冲突即可。

crmeb-admin Admin服务 打包后产出Crmeb-admin.jar

crmeb-comm 公共服务 会打包到admin和front中

crmeb-front 商城服务 打包后产出Crmeb-front.jar

crmeb-service 公共业务 会打包到admin和front中

crmebiamge 素材包 线上部署时需要上传到服务器,将路径配置到java 配置文件中

✅打包成功
2024-04-13T13:04:53.png
打包后在对应目录获取到Crmeb-admin.jar 和 Crmeb-front.jar 并发布到宝塔创建的两个api.xxx的域名下。

上传代码到服务端可以使用自己趁手的工具,ftp或者ssh 这里为了统一,都是用宝塔面板操作。
2024-04-13T13:05:05.png
上传打包好的两个jar文件到创建好的站点根目录
2024-04-13T13:05:18.png
如下图,以admin服务为例 上传Crmeb-admin.jar ,启动jar的shell,和初始化素材包 shell文件和素材包都在压缩包中。
2024-04-13T13:05:27.png

注意: shell脚本在执行时可能会出现格式不正确的问题,可以在本地修改好在bt面板中创建.sh文件直接粘贴进去就好。

⚠️素材说明:上图中crmebimage目录需要在admin 对应环境的 yml中提前配置好,目录层级到crmebimage的第一层目录。

点击start.sh文件修改路径,stop.sh 一般不需要重启直接执行start.sh文件,停止时一般手动kill,如果需要stop.sh脚本同样配置目录即可。

2024-04-13T13:05:54.png
同样front也上传jar和脚本到对应目录即可,素材自在admin端配置。

万事俱备,开始启动jar程序。

链接SSH客户端
2024-04-13T13:06:05.png
执行启动命令
2024-04-13T13:06:12.png
☕️admin.jar 启动成功,这里不再列举front的上传和启动,和admin一样的操作即可,front不用配置素材的差异其他一致。
2024-04-13T13:06:21.png

设置代理 对外提供api服务

在没有设置代理之前的api站点访问是这样的,如果不是,需要确认域名解析和宝塔中创建站点哪个环节出了问题。
2024-04-13T13:06:38.png
2024-04-13T13:06:45.png
设置Admin服务代理端口
2024-04-13T13:06:55.png
访问admin swagger文档:访问方式 | http://域名/doc.html
2024-04-13T13:07:04.png
同样访问front api 需要和admin jar 一样正确部署并且启动后,设置代理端口 默认20001 如果有修改以自己修改的端口为准。
2024-04-13T13:07:13.png
以上步骤已经将java全部服务启动成功!

宝塔单机nginx负载均衡集群部署 如果需要
添加站点(此处不做详述)
站点设置—网站目录,关闭防跨转攻击
2024-04-13T13:07:23.png
站点设置—添加反向代理
2024-04-13T13:08:11.png
站点设置—配置文件
此处因为是本地测试,使用IP+端口,需要在之前的项目同级目录下创建front2目录,再起一个移动端项目,下图的端口就是原front1,与front2的启动端口,启动端口可以在项目中application-*.yml文件中的server:port:端口,这里修改
2024-04-13T13:08:21.png
配置文件确认(确认upstream 后的区块名称是否一致)

<span class="lit">1.</span> <span class="pun">/</span><span class="pln">www</span><span class="pun">/</span><span class="pln">server</span><span class="pun">/</span><span class="pln">panel</span><span class="pun">/</span><span class="pln">vhost</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">/站点域名.</span><span class="pln">conf</span><span class="pun">文件,点击编辑</span>

2024-04-13T13:08:41.png

<span class="lit">2.</span> <span class="pun">/</span><span class="pln">www</span><span class="pun">/</span><span class="pln">server</span><span class="pun">/</span><span class="pln">panel</span><span class="pun">/</span><span class="pln">vhost</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">/</span><span class="pln">proxy</span><span class="pun">/站点域名文件夹/文件,点击编辑</span>

2024-04-13T13:09:03.png
配置完成,为确保生效可以重启nginx
解决nginx负载均衡后,font的Swagger文档访问问题
在/www/server/panel/vhost/nginx/proxy/站点域名文件夹/文件,点击编辑,加入如下代码
2024-04-13T13:09:13.png
例:

<span class="pln">location </span><span class="pun">~*</span> <span class="pun">^(</span><span class="str">/v2|/</span><span class="pln">webjars</span><span class="pun">|</span><span class="str">/swagger-resources|/</span><span class="pln">doc</span><span class="pun">.</span><span class="pln">html</span><span class="pun">)</span> <span class="pun">{</span><span class="pln">   proxy_set_header </span><span class="typ">Host</span><span class="pln"> $host</span><span class="pun">;</span><span class="pln">   proxy_set_header  X</span><span class="pun">-</span><span class="typ">Real</span><span class="pun">-</span><span class="pln">IP  $remote_addr</span><span class="pun">;</span><span class="pln">   proxy_set_header X</span><span class="pun">-</span><span class="typ">Forwarded</span><span class="pun">-</span><span class="typ">For</span><span class="pln"> $remote_addr</span><span class="pun">;</span>   <span class="com">#proxy_set_header Host $host:$server_port;   proxy_set_header X-Forwarded-Proto $scheme;   proxy_set_header X-Forwarded-Port $server_port;   proxy_pass http://000.00.111.22:8081; # 后端服务地址}</span>

附录:
扩展nginx的五种负载算法及扩展

轮询(默认),每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器死机,故障系统被自动剔除,使用户访问不受影响。
Weight,指定轮询权值,Weight值越大,负载的权重就越大。分配到的访问机率越高,主要用于后端每个服务器性能不均的情况下。
例:

<span class="pln">upstream my_server </span><span class="pun">{</span><span class="pln">   server </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">0.14</span><span class="pln"> weight</span><span class="pun">=</span><span class="lit">10</span><span class="pun">;</span><span class="pln">   server </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">0.15</span><span class="pln"> weight</span><span class="pun">=</span><span class="lit">10</span><span class="pun">;}</span>

ip_hash,每个请求按访问IP的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,有效解决了动态网页存在的session共享问题。
例:

<span class="pln">upstream my_server </span><span class="pun">{</span><span class="pln">ip_hash</span><span class="pun">;</span><span class="pln">server </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">0.14</span><span class="pun">:</span><span class="lit">88</span><span class="pun">;</span><span class="pln">server </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">0.15</span><span class="pun">:</span><span class="lit">80</span><span class="pun">;}</span>

fair(第三方)
比上面两个更加智能的负载均衡算法。根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持fair的,如果需要使用这种调度算法,必须下载Nginx的upstream_fair模块。
例:

<span class="pln">upstream my_server </span><span class="pun">{</span><span class="pln">  server </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">0.14</span><span class="pun">;</span><span class="pln">  server </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">0.15</span><span class="pun">;}</span>

url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。Nginx本身是不支持url_hash的,如果需要使用这种调度算法,必须安装Nginx 的hash软件包。
在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法
例:

<span class="pln">upstream my_server </span><span class="pun">{</span><span class="pln">  server </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">0.14</span><span class="pun">:</span><span class="lit">80</span><span class="pun">;</span><span class="pln">  server </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">0.15</span><span class="pun">:</span><span class="lit">80</span><span class="pun">;</span><span class="pln">  hash $request_uri</span><span class="pun">;</span><span class="pln">  hash_method crc32</span><span class="pun">;}</span>

Tips:

<span class="pln">upstream bakend</span><span class="pun">{</span>  <span class="com">#定义负载均衡设备的Ip及设备状态  ip_hash;  server 1192.168.0.14:80 down;  server 192.168.0.15:80 weight=2;  server 127.0.0.1:8081;  server 127.0.0.1:7070 backup;}</span>

WEB PC 管理端打包
?WEB PC 管理端打包
下载的源码,并导入开发工具
2024-04-13T13:11:38.png
设置prod 环境api地址为java admin对应的域名,Vue代码没有install 的需要先intsall之后再打包。
2024-04-13T13:11:46.png
打包成功后压缩源码并上传到admin域名下
2024-04-13T13:11:54.png
2024-04-13T13:11:58.png
图中的admin和front是同一个站点 只要有admin域名访问通即可,只是我们多解析了一个域名。
2024-04-13T13:12:07.png
访问WEB PC 管理端
2024-04-13T13:12:15.png
如果出现默认图片加载不正确的,需要如下图设置,本地图片域名即可。
2024-04-13T13:12:25.png
刷新出现404的问题需要设置伪静态,以下两种配置方式二选一 二选一 二选一

第一种配置方式
2024-04-13T13:12:34.png

<span class="pln">location </span><span class="pun">/</span> <span class="pun">{</span>
 <span class="kwd">if</span> <span class="pun">(!-</span><span class="pln">e $request_filename</span><span class="pun">){</span>
<span class="pln">        rewrite </span><span class="pun">^</span><span class="str">/(.*) /</span><span class="pln">index</span><span class="pun">.</span><span class="pln">html </span><span class="kwd">last</span><span class="pun">;</span>
   <span class="kwd">break</span><span class="pun">;</span>
   <span class="pun">}</span>
<span class="pun">}</span>

第二种伪静态配置
2024-04-13T13:13:59.png

<span class="pln">location </span><span class="pun">/</span> <span class="pun">{</span>
<span class="pln">  try_files $uri $uri</span><span class="pun">/</span> <span class="pun">/</span><span class="pln">index</span><span class="pun">.</span><span class="pln">html</span><span class="pun">;</span>
<span class="pun">}</span>

以上步骤已经将WEB PC 管理端部署成功!

H5商城部署
title: H5 移动端商城打包
date: 2021-12-22 12:37:44
permalink: /pages/crmeb/crmeb-h5-build/
categories:

crmeb
安装教程
tags:
?H5移动端商城打包
下载的源码,并导入开发工具
解压后的代码包内容
2024-04-13T13:14:36.png
移动端商城因为是uniapp开发所以必须Hbuilder X 打开 第一次了解的戳这里HBuilderX-高效极客技巧 (dcloud.io)
2024-04-13T13:15:49.png
Hbuilder打开代码包下的App目录,并设置API链接地址
2024-04-13T13:15:57.png
2024-04-13T13:16:01.png
2024-04-13T13:16:05.png
2024-04-13T13:16:13.png
2024-04-13T13:16:22.png
2024-04-13T13:16:27.png
H5 项目部署成功
2024-04-13T13:16:35.png
和Admin站点一样,属于SPA项目,所有刷新出现404的问题需要设置伪静态,以下两种配置方式二选一 二选一 二选一

第一种配置方式 截图为示例 配置对应的站点即可。
2024-04-13T13:16:45.png

<span class="pln">location </span><span class="pun">/</span> <span class="pun">{</span>
  <span class="kwd">if</span> <span class="pun">(!-</span><span class="pln">e $request_filename</span><span class="pun">){</span>
<span class="pln">        rewrite </span><span class="pun">^</span><span class="str">/(.*) /</span><span class="pln">index</span><span class="pun">.</span><span class="pln">html </span><span class="kwd">last</span><span class="pun">;</span>
  <span class="kwd">break</span><span class="pun">;</span>
 <span class="pun">}</span>
<span class="pun">}</span>

第二种伪静态配置
2024-04-13T13:17:45.png

<span class="pln">location </span><span class="pun">/</span> <span class="pun">{</span>
<span class="pln">  try_files $uri $uri</span><span class="pun">/</span> <span class="pun">/</span><span class="pln">index</span><span class="pun">.</span><span class="pln">html</span><span class="pun">;</span>
<span class="pun">}</span>

以上步骤已经将H5商城站点部署成功!

此处内容已隐藏,回复后(需要填写邮箱)可见

本文来自投稿,不代表本站立场,如若转载,请注明出处:
-- 展开阅读全文 --
赚钱大师系统V5.9.32 修复礼品金未登陆激活问题
« 上一篇 04-13
GhatGPT系统百度文心大模型ERNIE-Bot-4更改ERNIE-4.0-8K-0104服务教程
下一篇 » 04-13

发表评论

V注册会员 L评论等级
R14 条回复
    1. 2024-09-03 IP地址:内蒙古

      本文来自投稿

    2. 2024-07-28 IP地址:四川省

      这个版本下载了,不得行

    3. aaaV
      2024-06-24 IP地址:浙江省

      分享的版本是开源1.3.4不是文章中的2.0.1

    4. aaaV
      2024-06-24 IP地址:浙江省

      CRMEB开源商城

    5. 2024-06-17 IP地址:西藏

      =服务小结

    6. 2024-06-12 IP地址:云南省

      CRMEB开源商城

    7. 2024-05-28 IP地址:广东省

      难得有java相关的源码项目

    8. 2024-05-16 IP地址:广东省

      aaaaaaaaa哈哈呃呃呃呃

    9. 2024-04-23 IP地址:江西省

      aaaaaaaaa哈哈呃呃呃呃

    10. 2024-04-17 IP地址:山西省

      aaaaaaaaa哈哈

    11. 2024-04-15 IP地址:山东省

      感谢

    12. 2024-04-15 IP地址:广东省

      感谢

    13. 2024-04-14 IP地址:云南省

      感谢!

    14. 2024-04-13 IP地址:广东省

      眼都看花了

    没有更多评论了