在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:oa-front-service开源软件地址:https://gitee.com/yunwisdoms/oa-front-service开源软件介绍:基于Ant Design Pro 开发 ,项目名:OA-SystemOverview基于 Ant Design of Vue 开发的OA办公系统 Vue 开发的OA系统
开发教程Wiki文档:https://gitee.com/yunwisdoms/oa-front-service/wikis/OA%20System%20介绍 Docker启动MySQL数据库
启动前请先准备数据库配置文件,my.cnf里面注意配置数据库大小写不明感,否则后端服务可能启动报错,数据库启动后请使用初始化脚本导入数据库即可。 最新数据库脚本地址: 数据库建表语句 如果事先未准备配置文件,则直接启动
后端项目
[默认启动后连接的远程数据库地址,请启动后,进入find / -name application-dev.yml 里面修改mysql连接地址 redis连接地址] 输入以上命令,即可快速启动后端项目,访问地址 前端项目
[默认启动后可以登录,但是请修改docker容器里面的/etc/nginx/nginx.conf里面配置,里面的服务连接的远程后端服务,改成本地后端服务的ip地址即可,重启nginx即可] 输入以上命令,即可快速启动前端项目,访问地址: MySQL-Rest-API服务
输入以上命令,即可快速启动RestAPI服务,访问 文档预览服务
输入以上命令,即可快速启动文档预览服务,访问 文档资料showdoc服务
输入以上命令,即可快速启动showdoc文档服务,访问 源码地址
后端项目依赖项目
预览地址部署文件
前端技术
项目下载和运行
git clone https://gitee.com/yunwisdoms/oa-front-service.git .
yarn install
yarn run serve
yarn run build
yarn run lint 其他说明
官方说明 css: { loaderOptions: { less: { modifyVars: { /* less 变量覆盖,用于自定义 ant design 主题 */ 'primary-color': '#F5222D', 'link-color': '#F5222D', 'border-radius-base': '4px', }, javascriptEnabled: true, } } } 项目截图首页,含有我的待办,我的已办,行政公告,红头文件,新闻资讯,市场观察等内容,提交审批后,待处理人会收到我的待办消息,点击进入我的审批详情进行审批操作 附属文档备注
前端项目 Nginx配置文件示例load_module modules/ngx_http_image_filter_module.so;user root;worker_processes 1;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events { worker_connections 1024;}http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; client_max_body_size 200m; sendfile on; #tcp_nopush on; keepalive_timeout 65; gzip on; include /etc/nginx/conf.d/*.conf; proxy_cache_path ./web_cache levels=1:2 keys_zone=web_cache:1024m inactive=1m max_size=1g; upstream cwbase { server 172.18.231.224:3000 weight=10 max_fails=3 fail_timeout=30s; } upstream xmysql { server 172.18.231.224:3000 weight=10 max_fails=3 fail_timeout=30s; } upstream fileview { #server 172.18.231.224:30000 weight=10 max_fails=3 fail_timeout=30; server 172.18.231.224:30001 weight=10 max_fails=3 fail_timeout=30; server 172.18.231.224:30002 weight=10 max_fails=3 fail_timeout=30; } upstream jeecg-api { #server 172.18.231.224:8080 weight=10 max_fails=3 fail_timeout=30; server 172.18.231.224:8082 weight=10 max_fails=3 fail_timeout=30; #server 172.18.201.235:10000 weight=10 max_fails=3 fail_timeout=30; #server 172.18.201.235:10002 weight=10 max_fails=3 fail_timeout=30; } server { listen 80; listen 443 ssl; server_name www.shengtai.club; ssl_certificate /cert/www.shengtai.club.pem; ssl_certificate_key /cert/www.shengtai.club.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; root /usr/share/nginx/html; gzip on; gzip_min_length 1k; gzip_comp_level 1; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml; gzip_vary on; gzip_disable "MSIE [1-6]\."; gzip_buffers 32 4k; gzip_http_version 1.0; location ^~ /api { rewrite ^/(.*) /$1 break; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'OPTION, POST, GET, DELETE, PUT'; add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type'; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://cwbase/; } location ^~ /jeecg-boot { proxy_pass http://jeecg-api/jeecg-boot/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'OPTION, POST, GET, DELETE, PUT'; add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type'; proxy_connect_timeout 1800s; proxy_send_timeout 1800s; proxy_read_timeout 1800s; } location ^~ /sys/ { add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'OPTION, POST, GET, DELETE, PUT'; add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type'; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://jeecg-api/jeecg-boot/sys/; } location ^~ /jeecg-boot/sys/common/view { alias /root/jeecg/upFiles/; index index.html index.htm; } location ^~ /files { root /root/jeecg/upFiles/; index index.html index.htm; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'OPTION, POST, GET, DELETE, PUT'; add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type'; } location / { root /usr/share/nginx/html; index index.html index.htm; if (!-e $request_filename) { rewrite ^(.*)$ /index.html?s=$1 last; break; } #add_header Cache-Control "no-cache, no-store"; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'OPTION, POST, GET, DELETE, PUT'; add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type'; proxy_cache web_cache; proxy_cache_valid 200 206 304 301 302 10d; proxy_cache_key $scheme$host$request_uri; proxy_connect_timeout 1800s; proxy_send_timeout 1800s; proxy_read_timeout 1800s; gzip_static on; expires 30d; } } #配置文档预览 server { listen 80; listen 443 ssl; server_name fileview.shengtai.club; index index.html index.htm; ssl_certificate /cert/fileview.shengtai.club.pem; ssl_certificate_key /cert/fileview.shengtai.club.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; location / { add_header Cache-Control no-cache; proxy_pass http://fileview/; proxy_connect_timeout 1800s; proxy_send_timeout 1800s; proxy_read_timeout 1800s; proxy_set_header Host fileview.shengtai.club; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } } #配置API服务 server { listen 80; listen 443 ssl; server_name api.shengtai.club; ssl_certificate /cert/api.shengtai.club.pem; ssl_certificate_key /cert/api.shengtai.club.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; root /workspace/oa-front-system; gzip on; gzip_min_length 1k; gzip_comp_level 1; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml; gzip_vary on; gzip_disable "MSIE [1-6]\."; gzip_buffers 32 4k; gzip_http_version 1.0; location ^~ /api { rewrite ^/(.*) /$1 break; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'OPTION, POST, GET, DELETE, PUT'; add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type'; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://cwbase/; } }} 其他服务此处通过pm2 运行了“四个服务”,分别如下: 1). app , 全路径:/root/music-api-serivce/app.js, 为音乐频道的服务后端2). app , 全路径:/root/wallpaper-api-service/node-spider-api/app.js, 为壁纸频道的服务后端3). tank, 全路径:/root/tank/tank, 为网盘系统的服务后端4). xmysql, 全路径:/root/xmysql/xmysql.sh, 为MySQL-Rest-API的服务后端 |
请发表评论