<h1 style="text-align: center">websoft-uniapp 网宿软件uniapp端</h1>

#### 项目简介
websoft基于Spring、SpringBoot、SpringMVC、SpringSecurity、jjwt、MyBatis、Druid等搭建，前后端分离模式，适用于快递开发和打包为微信小程序、H5、安卓apk、苹果ios、抖音小程序、支付宝小程序等应用



# 官网体验地址（里面有演示地址与文档）
|  官网文档地址  | https://www.gxwebsoft.com                                                                                                            |
|---|--------------------------------------------------------------------------------------------------------------------------------------|
| 管理后台演示地址：  | http://10093.admin.gxwebsoft.com                                                                                                     |
| 关注公众号点体验小程序与H5  | ![输入图片说明](https://oss.wsdns.cn/20240327/f1175cc5aae741d3af05484747270bd5.jpeg?x-oss-process=image/resize,m_fixed,w_300/quality,Q_90) |



#### 核心依赖

| 依赖              | 版本     |
|-----------------|--------|
| Spring Boot     | 2.7.x |
| weixin-java     | 4.4.0  |
| Spring Security | 2.7.10 |
| Mybatis Plus    | 3.5.2  |
| hutool          | 5.8.16 |
| swagger         | 3.0.0  |

# 本地安装
### 基本环境（必备）
- 1、JDK：8+
- 2、Redis 3.0+
- 3、Maven 3.0+
- 4、MYSQL 5.7+
- 5、Node v8+
### 开发工具
Idea、webstorm、vscode

### 前端系统工程（UNIAPP端）

1、下载代码
```
git clone https://gitee.com/gxwebsoft/websoft-uniapp.git
```
2、使用HBuiderX导入项目：

3、安装依赖：

```
npm install luch-request -S
```

### 后台前端工程（JAVA端）
1、请确保redis已经安装启动

2、下载代码
```
git clone https://gitee.com/gxwebsoft/websoft-java.git
```
3、使用HBuiderX导入项目：

4、安装依赖：

```
npm install luch-request -S
```

### 后台前端工程（VUE端）
1、请确保本地已经安装node,建议node8或者node10

2、下载代码
```
git clone https://gitee.com/gxwebsoft/websoft-vue.git
```
3、cnpm install或者yarn install,当前所有命令必须当前工程目录下进行：

![输入图片说明](https://images.gitee.com/uploads/images/2021/0811/163159_895e12de_477893.png "test8.png")

4、安装依赖失败
```
yarn
```
5、在控制台输入命令：npm run dev，控制台打印出如下画面，恭喜表示本项目启动成功拉。

5、打开浏览器输入地址如图：

默认超管账户密码：admin/123456


# nginx线上部署

### 后台系统（Java端）

1、mvn install 或者直接idea打成jar包

2、配置nginx 反向代理如下：
```
server{ 
 listen 443 ssl;
 server_name api.gxwebsoft.com;
        #listen [::]:81 default_server ipv6only=on;
 #ssl on;
 ssl_certificate httpssl/gxwebsoft.cn.pem;
 ssl_certificate_key httpssl/api.gxwebsoft.cn.key;
 ssl_session_timeout 5m;
 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_prefer_server_ciphers on;
 

 #error_page   404   /404.html;
 #include enable-php.conf;
   
 location / {
  proxy_pass http://127.0.0.1:9090;
  proxy_set_header X-Forwarded-Proto $scheme;
         proxy_set_header X-Forwarded-Port $server_port;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection "upgrade";
 }
 
      
 access_log  /home/wwwlogs/websoftapi.log;
 
}
```

我配置的了ssl证书，如果不需要证书配置如下即可：

```
server{ 
 listen 80;
 server_name api.gxwebsoft.com;
        #listen [::]:81 default_server ipv6only=on;

 #error_page   404   /404.html;
 #include enable-php.conf;
   
 location / {
  proxy_pass http://127.0.0.1:8000;
  proxy_set_header X-Forwarded-Proto $scheme;
         proxy_set_header X-Forwarded-Port $server_port;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection "upgrade";
 }
  
 access_log  /home/wwwlogs/websoftapi.log;
 
}
```



### 后台前端工程（VUE端）
1、输入命令：npm run build:prod 编译打包

2、把打包后的dist目录代码上传到服务器

3、配置nginx如下：
```
server
{
        listen 443 ssl;
        #listen [::]:81 default_server ipv6only=on;
 server_name www.gxwesboft.com;
 #ssl on;
 ssl_certificate httpssl/www.gxwebsoft.com.pem;
 ssl_certificate_key httpssl/www.gxwebsoft.com.key;
 ssl_session_timeout 5m;
 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    index index.html;
    root /home/wwwroot/system/websoft;


    location / {
        try_files $uri $uri/ @router;
        index index.html;
·   }
 location @router {
  rewrite ^.*$ /index.html last;
 } 


 location ~* \.(eot|ttf|woff)$ {
              #  add_header Access-Control-Allow-Origin *;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }
 
      
 access_log  /home/wwwlogs/websoftapi.log;
 
}

```

不需要证书如上面Java端配置一样去掉相关证书配置 改监听端口80即可


### 功能模块

* 一：商品模块：商品添加、规格设置，商品上下架等
* 二：订单模块：下单、购物车、支付，发货、收货、评价、退款等
* 三：营销模块：积分、优惠券、分销、砍价、拼团、秒杀、多门店等
* 四：微信模块：自定义菜单、自动回复、微信授权、图文管理、模板消息推送
* 五：配置模块：各种配置
* 六：用户模块：登陆、注册、会员卡、充值等
* 七：其他模块：场地预定模块、办公协同模块等


#### 项目结构
项目采用分模块开发方式
- gxwebsoft-common    公共模块
- gxwebsoft-cms       预定模块
- gxwebsoft-shop      商城模块
- gxwebsoft-booking   预定模块
- gxwebsoft-oa        oa模块
- gxwebsoft-weixin    微信相关模块
- gxwebsoft-generator 代码生成模块


### 技术选型
* 1 后端使用技术
  * 1.1 SpringBoot2
  * 1.2 mybatis、MyBatis-Plus
  * 1.3 SpringSecurity
  * 1.5 Druid
  * 1.6 Slf4j
  * 1.7 Fastjson
  * 1.8 JWT
  * 1.9 Redis
  * 1.10 eleadmin
  * 1.11 Mysql
  * 1.12 swagger
  * 1.13 WxJava
  * 1.14 Lombok
  * 1.15 Hutool

* 前端使用技术
  * 2.1 Vue 全家桶
  * 2.2 Antdv
  * 2.3 uniapp




#### 反馈交流
- 喜欢这个系统的小伙伴留下你的小星星啦,star,star哦！

####  特别鸣谢
- mybaitsplus:https://github.com/baomidou/mybatis-plus
- hutool:https://github.com/looly/hutool
- eleadmin:https://eleadmin.com/
- wxjava:https://github.com/Wechat-Group/WxJava
- vue:https://github.com/vuejs/vue
- antdv:https://3x.antdv.com/components/overview-cn
