Compare commits

...

85 Commits
4.3.1 ... ci

Author SHA1 Message Date
f2be5b1f4b Update docker-compose.yml
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2021-06-06 13:55:22 +08:00
0c5843db39 Update .drone.yml
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2021-06-06 12:55:39 +08:00
ce9a74411e update
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2021-06-06 12:52:08 +08:00
06203be6bd Update .drone.yml 2021-06-06 12:34:35 +08:00
4f14db9da5 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-06 12:33:58 +08:00
1b32c0c9b8 update
Some checks reported errors
continuous-integration/drone/push Build was killed
2021-06-06 12:31:11 +08:00
0f14187024 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 12:14:41 +08:00
b6849d2538 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 12:13:22 +08:00
94194edee5 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 12:11:28 +08:00
563a42ee9a Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 11:48:48 +08:00
7a531948c7 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 11:47:58 +08:00
ce2b13d3bc Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 11:36:33 +08:00
b1fd38cf4b Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 11:33:21 +08:00
a875b32d93 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 11:17:35 +08:00
c670138728 Update .drone.yml
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2021-06-06 11:16:07 +08:00
5099214bc4 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 11:14:20 +08:00
edfb719d54 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 11:12:54 +08:00
4a3c6d4bb6 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 11:08:18 +08:00
8c9034df30 拉去私有镜像
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 10:56:41 +08:00
547d96ea2c 基于nginx docker 构建镜像 2021-06-06 10:37:12 +08:00
74afe6fdd9 add volume docker.sock
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 08:49:59 +08:00
5f25054a14 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-06 08:32:53 +08:00
ad8f790e18 demo ci
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-05 22:26:15 +08:00
8572222960 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-03 17:17:57 +08:00
ea2f4bbea0 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 17:10:46 +08:00
2a0320f1ce Update .drone.yml 2021-06-03 17:09:46 +08:00
28b7aa25dc Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 17:07:55 +08:00
e5c25374bb Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-03 17:07:09 +08:00
8142c5da1f Update .drone.yml
Some checks reported errors
continuous-integration/drone/push Build was killed
2021-06-03 16:57:16 +08:00
2476a522be Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 16:19:25 +08:00
578981c4a2 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 16:04:55 +08:00
86fbc4990c Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 16:01:32 +08:00
8b9389a91c Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 16:00:35 +08:00
2155a7270e Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 15:58:43 +08:00
98803b5359 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 15:57:50 +08:00
2f44697242 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 15:54:49 +08:00
95b10ee0b0 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 15:44:12 +08:00
54581b65f2 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 14:58:20 +08:00
e7fa149e43 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 14:52:16 +08:00
8eb7d29711 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-03 14:51:14 +08:00
a27df1e71f Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 22:33:40 +08:00
5fc22fb732 Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-02 22:31:21 +08:00
c0a19ed854 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 22:30:35 +08:00
2f896b90a2 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 22:29:47 +08:00
2630d2870d Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 22:28:26 +08:00
cbcffbb50f Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 22:27:55 +08:00
846cf59571 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 22:16:51 +08:00
2f4454e52a Update .drone.yml 2021-06-02 22:16:31 +08:00
ef15dc6432 Update .drone.yml 2021-06-02 22:16:00 +08:00
cc10c2e179 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 22:14:18 +08:00
8ca1145b7b Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 22:13:34 +08:00
fdf8dac3ad Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 22:11:40 +08:00
eb7f8ee513 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 22:10:22 +08:00
ec6a8de310 ci
All checks were successful
continuous-integration/drone Build is passing
2021-06-02 22:01:03 +08:00
38c12e7190 ci
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 21:51:15 +08:00
60958c24fd Update nginx.conf
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 21:38:10 +08:00
86e31f2665 Update docker-compose.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 21:32:17 +08:00
7e2123e1da ci
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-02 21:28:20 +08:00
ea04344ead Update .drone.yml
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2021-06-02 19:24:23 +08:00
cadf5dc2ef Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 19:21:11 +08:00
8975d3728f Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-02 19:18:51 +08:00
76b99d712b Update .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-02 19:12:07 +08:00
fbbacf747e Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 19:09:17 +08:00
263ba670e4 ci
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 19:01:17 +08:00
b0ea7fced4 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 18:37:28 +08:00
9499104723 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 18:33:38 +08:00
9fc77623db Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 18:29:38 +08:00
a505728aac Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 18:25:03 +08:00
d666494515 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 18:21:56 +08:00
b8f337300b Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 18:19:32 +08:00
041f3ee9f4 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-02 18:14:58 +08:00
2d5d0687d4 Create .drone.yml
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2021-06-02 18:00:25 +08:00
花裤衩
33a93a12b4 feat: add new sponsored 2020-12-04 13:50:23 +08:00
花裤衩
1bc2e5c198 docs: add coupon 2020-09-08 10:01:50 +08:00
花裤衩
9cc3fa732a perf: refine documentation button css 2020-09-07 21:45:28 +08:00
花裤衩
44e23d00ca docs: add vue-java-admin-dashboard-spring 2020-09-07 21:37:44 +08:00
花裤衩
8fd08c9167 docs: remove gitads 2020-08-30 22:57:38 +08:00
花裤衩
5e7113935c docs: add GitAds 2020-07-27 10:08:38 +08:00
Kerollos Magdy
46e11caafc typo: replace Css with CSS (#3323) 2020-07-20 18:13:01 +08:00
dyz
ea60478304 perf[permission.js]: remove useless code (#3301) 2020-07-05 13:12:46 +08:00
crayymumu
fe22b3cd94 perf[Tinymce]: remove useless code (#3295) 2020-07-01 13:50:18 +08:00
花裤衩
7c06214190 perf[chore]: remove preserveWhitespace config (#3280) 2020-06-24 10:17:57 +08:00
花裤衩
73a9ab0379 fix[chore]: do not preload runtime.js (#3279) 2020-06-23 21:12:44 +08:00
花裤衩
585391228e [release] 4.4.0 2020-06-21 21:39:37 +08:00
Dihak
ae2aa61880 bump: update to vue-cli@4 (#3028) 2020-06-21 21:25:55 +08:00
24 changed files with 417 additions and 118 deletions

1
.dockerignore Normal file
View File

@@ -0,0 +1 @@
node_modules

62
.drone.yml Normal file
View File

@@ -0,0 +1,62 @@
kind: pipeline
type: docker
name: vue-admin
trigger:
branch: ci
steps:
# - name: build-docker-image
# image: plugins/docker
# settings:
# username:
# from_secret: docker_reg_username
# password:
# from_secret: docker_reg_password
# repo: docker.zcj.plus/drone-ci/fe
# tags: latest
# registry: https://docker.zcj.plus
# - name: login-docker
# image: appleboy/drone-ssh
# settings:
# envs:
# - docker_reg_username
# - docker_reg_password
# host:
# from_secret: ssh_host
# username:
# from_secret: ssh_username
# password:
# from_secret: ssh_password
# port:
# from_secret: ssh_port
# script:
# - docker login -u ${DOCKER_REG_USERNAME} -p ${DOCKER_REG_PASSWORD} https://docker.zcj.plus
# - docker pull docker.zcj.plus/drone-ci/fe
- name: deploy
image: docker/compose
environment:
DOCKER_REG_USERNAME:
from_secret: docker_reg_username
DOCKER_REG_PASSWORD:
from_secret: docker_reg_password
volumes:
- name: dockersock
path: /var/run/docker.sock
- name: frpc
path: /drone/src/frpc.ini
commands:
- docker login -u $DOCKER_REG_USERNAME -p $DOCKER_REG_PASSWORD https://docker.zcj.plus
- docker-compose up -d
volumes:
- name: frpc
host:
path: /mnt/d/ci_volumes/frpc_ini/fe.ini
- name: dockersock
host:
path: /var/run/docker.sock

View File

@@ -3,12 +3,3 @@ ENV = 'development'
# base api
VUE_APP_BASE_API = '/dev-api'
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
# It only does one thing by converting all import() to require().
# This configuration can significantly increase the speed of hot updates,
# when you have a large number of pages.
# Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js
VUE_CLI_BABEL_TRANSPILE_MODULES = true

21
Dockerfile Normal file
View File

@@ -0,0 +1,21 @@
FROM node:lts as dist
WORKDIR /src
COPY . .
RUN yarn && \
yarn build:prod
FROM nginx:1.19.2
WORKDIR /app
COPY --from=dist /src/dist .
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx","-g","daemon off;"]

15
Node.Dockerfile Normal file
View File

@@ -0,0 +1,15 @@
FROM node:lts
WORKDIR /src
COPY . .
RUN yarn && \
yarn build:prod && \
yarn global add pm2 http-server
EXPOSE 80
# CMD ["http-server","/src/dist","-p","80"]
CMD ["bash","http.sh"]

View File

@@ -72,7 +72,13 @@ Entendiendo y aprendiendo esto pudiera ayudarle con su proyecto.
Sea un patrocinante y coloque su logo en nuestro LEEME en GitHub con un enlace directo a su sitio web. [[Se un Patrocinante]](https://www.patreon.com/panjiachen)
<a href="https://flatlogic.com/admin-dashboards?from=vue-element-admin"><img width="150px" src="https://wpimg.wallstcn.com/9c0b719b-5551-4c1e-b776-63994632d94a.png" /></a><p>Plantilla de Dashboard de administración hecha con Vue, React y Angular.</p>
### Akveo
<a href="https://store.akveo.com/products/vue-java-admin-dashboard-spring?utm_campaign=akveo_store-Vue-Vue_demo%2Fgithub&utm_source=vue_admin&utm_medium=referral&utm_content=github_banner"><img width="500px" src="https://raw.githubusercontent.com/PanJiaChen/vue-element-admin-site/master/docs/.vuepress/public/images/vue-java-banner.png" /></a><p>Get Java backend for Vue admin with 20% discount for 39$ use coupon code SWB0RAZPZR1M
</p>
### Flatlogic
<a href="https://flatlogic.com/admin-dashboards?from=vue-element-admin"><img width="150px" src="https://wpimg.wallstcn.com/9c0b719b-5551-4c1e-b776-63994632d94a.png" /></a><p>Admin Dashboard Templates made with Vue, React and Angular.</p>
## Características

View File

@@ -69,6 +69,12 @@
Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor]](https://www.patreon.com/panjiachen)
### Akveo
<a href="https://store.akveo.com/products/vue-java-admin-dashboard-spring?utm_campaign=akveo_store-Vue-Vue_demo%2Fgithub&utm_source=vue_admin&utm_medium=referral&utm_content=github_banner"><img width="500px" src="https://raw.githubusercontent.com/PanJiaChen/vue-element-admin-site/master/docs/.vuepress/public/images/vue-java-banner.png" /></a><p>Get Java backend for Vue admin with 20% discount for 39$ use coupon code SWB0RAZPZR1M
</p>
### Flatlogic
<a href="https://flatlogic.com/admin-dashboards?from=vue-element-admin"><img width="150px" src="https://wpimg.wallstcn.com/9c0b719b-5551-4c1e-b776-63994632d94a.png" /></a><p>Admin Dashboard Templates made with Vue, React and Angular.</p>
## 機能一覧

View File

@@ -28,6 +28,28 @@
English | [简体中文](./README.zh-CN.md) | [日本語](./README.ja.md) | [Spanish](./README.es.md)
<p align="center">
<b>SPONSORED BY</b>
</p>
<table align="center" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="center" valign="middle" width="250">
<a href="https://www.duohui.cn/?utm_source=vue-element-admin&utm_medium=web&utm_campaign=vue-element-admin_github" title="多会" target="_blank">
<img height="60px" src="https://qiniu.cdn.duohui.co/brand/duohui.png" title="多会 - 活动服务销售平台">
<p>活动服务销售平台</p>
</a>
</td>
<td align="center" valign="middle" width="250">
<a href="https://youke.co/?utm_source=vue-element-admin&utm_medium=web&utm_campaign=vue-element-admin_github" title="有客" target="_blank">
<img height="60px" src="https://qiniu.cdn.duohui.co/brand/youke.png" title="有客 - 客户消息直达工作群">
<p>客户消息直达工作群</p>
</a>
</td>
</tr>
</tbody>
</table>
## Introduction
[vue-element-admin](https://panjiachen.github.io/vue-element-admin) is a production-ready front-end solution for admin interfaces. It is based on [vue](https://github.com/vuejs/vue) and uses the UI Toolkit [element-ui](https://github.com/ElemeFE/element).
@@ -72,6 +94,12 @@ Understanding and learning this knowledge in advance will greatly help the use o
Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor]](https://www.patreon.com/panjiachen)
### Akveo
<a href="https://store.akveo.com/products/vue-java-admin-dashboard-spring?utm_campaign=akveo_store-Vue-Vue_demo%2Fgithub&utm_source=vue_admin&utm_medium=referral&utm_content=github_banner"><img width="500px" src="https://raw.githubusercontent.com/PanJiaChen/vue-element-admin-site/master/docs/.vuepress/public/images/vue-java-banner.png" /></a><p>Get Java backend for Vue admin with 20% discount for 39$ use coupon code SWB0RAZPZR1M
</p>
### Flatlogic
<a href="https://flatlogic.com/admin-dashboards?from=vue-element-admin"><img width="150px" src="https://wpimg.wallstcn.com/9c0b719b-5551-4c1e-b776-63994632d94a.png" /></a><p>Admin Dashboard Templates made with Vue, React and Angular.</p>
## Features

View File

@@ -28,6 +28,28 @@
简体中文 | [English](./README.md) | [日本語](./README.ja.md) | [Spanish](./README.es.md)
<p align="center">
<b>SPONSORED BY</b>
</p>
<table align="center" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="center" valign="middle" width="250">
<a href="https://www.duohui.cn/?utm_source=vue-element-admin&utm_medium=web&utm_campaign=vue-element-admin_github" title="多会" target="_blank">
<img height="60px" src="https://qiniu.cdn.duohui.co/brand/duohui.png" title="多会 - 活动服务销售平台">
<p>活动服务销售平台</p>
</a>
</td>
<td align="center" valign="middle" width="250">
<a href="https://youke.co/?utm_source=vue-element-admin&utm_medium=web&utm_campaign=vue-element-admin_github" title="有客" target="_blank">
<img height="60px" src="https://qiniu.cdn.duohui.co/brand/youke.png" title="有客 - 客户消息直达工作群">
<p>客户消息直达工作群</p>
</a>
</td>
</tr>
</tbody>
</table>
## 简介
[vue-element-admin](https://panjiachen.github.io/vue-element-admin) 是一个后台前端解决方案,它基于 [vue](https://github.com/vuejs/vue) 和 [element-ui](https://github.com/ElemeFE/element)实现。它使用了最新的前端技术栈,内置了 i18n 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中后台产品原型。相信不管你的需求是什么,本项目都能帮助到你。
@@ -87,8 +109,14 @@
Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor]](https://www.patreon.com/panjiachen)
### Akveo
<a href="https://store.akveo.com/products/vue-java-admin-dashboard-spring?utm_campaign=akveo_store-Vue-Vue_demo%2Fgithub&utm_source=vue_admin&utm_medium=referral&utm_content=github_banner"><img width="500px" src="https://raw.githubusercontent.com/PanJiaChen/vue-element-admin-site/master/docs/.vuepress/public/images/vue-java-banner.png" /></a><p>Java 后端整合可以使用优惠码SWB0RAZPZR1M获得20%的价格优化</p>
### Flatlogic
<a href="https://flatlogic.com/admin-dashboards?from=vue-element-admin"><img width="150px" src="https://wpimg.wallstcn.com/9c0b719b-5551-4c1e-b776-63994632d94a.png" /></a><p>Admin Dashboard Templates made with Vue, React and Angular.</p>
## 功能
```

View File

@@ -1,5 +1,14 @@
module.exports = {
presets: [
'@vue/app'
]
// https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
'@vue/cli-plugin-babel/preset'
],
'env': {
'development': {
// babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
// This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
// https://panjiachen.github.io/vue-element-admin-site/guide/advanced/lazy-loading.html
'plugins': ['dynamic-import-node']
}
}
}

22
docker-compose.yml Normal file
View File

@@ -0,0 +1,22 @@
version: '3'
services:
web:
image: docker.zcj.plus/drone-ci/fe
networks:
- feadmindroneci
frpc:
image: snowdreamtech/frpc
container_name: fe_frpc
networks:
- feadmindroneci
volumes:
- /mnt/d/ci_volumes/frpc_ini/fe.ini:/etc/frp/frpc.ini
depends_on:
- web
restart: always
networks:
feadmindroneci:

18
frpc.ini Normal file
View File

@@ -0,0 +1,18 @@
[common]
server_addr = 124.156.152.247
server_port = 7000
token = zhouchijian
log_file = ./frpc.log
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = 39zcj
[http-demo-admin-ci]
type = http
custom_domains = demo.ryio.cn
local_ip = web
local_port = 80
remote_port = 80
use_encryption = true
use_compression = true

5
http.sh Normal file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
pm2 start http-server -i 4 -- /src/dist -p 80
pm2 monit

96
nginx.conf Normal file
View File

@@ -0,0 +1,96 @@
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/sites-enabled/*;
server {
listen 80;
location / {
root /app;
index index.html;
try_files $uri $uri/ /index.html;
}
}
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}

View File

@@ -1,51 +1,24 @@
{
"name": "vue-element-admin",
"version": "4.3.1",
"version": "4.4.0",
"description": "A magical vue admin. An out-of-box UI solution for enterprise applications. Newest development stack of vue. Lots of awesome features",
"author": "Pan <panfree23@gmail.com>",
"license": "MIT",
"scripts": {
"dev": "vue-cli-service serve",
"lint": "eslint --ext .js,.vue src",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src",
"test:unit": "jest --clearCache && vue-cli-service test:unit",
"test:ci": "npm run lint && npm run test:unit",
"new": "plop",
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
"new": "plop"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"src/**/*.{js,vue}": [
"eslint --fix",
"git add"
]
},
"keywords": [
"vue",
"admin",
"dashboard",
"element-ui",
"boilerplate",
"admin-template",
"management-system"
],
"repository": {
"type": "git",
"url": "git+https://github.com/PanJiaChen/vue-element-admin.git"
},
"bugs": {
"url": "https://github.com/PanJiaChen/vue-element-admin/issues"
"test:unit": "jest --clearCache && vue-cli-service test:unit",
"test:ci": "npm run lint && npm run test:unit"
},
"dependencies": {
"axios": "0.18.1",
"clipboard": "2.0.4",
"codemirror": "5.45.0",
"core-js": "3.6.5",
"driver.js": "0.9.5",
"dropzone": "5.5.1",
"echarts": "4.2.1",
@@ -71,40 +44,68 @@
"xlsx": "0.14.1"
},
"devDependencies": {
"@vue/cli-plugin-babel": "3.5.3",
"@vue/cli-plugin-eslint": "^3.9.1",
"@vue/cli-plugin-unit-jest": "3.5.3",
"@vue/cli-service": "3.5.3",
"@vue/cli-plugin-babel": "4.4.4",
"@vue/cli-plugin-eslint": "4.4.4",
"@vue/cli-plugin-unit-jest": "4.4.4",
"@vue/cli-service": "4.4.4",
"@vue/test-utils": "1.0.0-beta.29",
"autoprefixer": "^9.5.1",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "10.0.1",
"autoprefixer": "9.5.1",
"babel-eslint": "10.1.0",
"babel-jest": "23.6.0",
"babel-plugin-dynamic-import-node": "2.3.3",
"chalk": "2.4.2",
"chokidar": "2.1.5",
"connect": "3.6.6",
"eslint": "5.15.3",
"eslint-plugin-vue": "5.2.2",
"eslint": "6.7.2",
"eslint-plugin-vue": "6.2.2",
"html-webpack-plugin": "3.2.0",
"husky": "1.3.1",
"lint-staged": "8.1.5",
"mockjs": "1.0.1-beta3",
"plop": "2.3.0",
"runjs": "^4.3.2",
"sass": "^1.26.2",
"sass-loader": "^7.1.0",
"runjs": "4.3.2",
"sass": "1.26.2",
"sass-loader": "8.0.2",
"script-ext-html-webpack-plugin": "2.1.3",
"serve-static": "^1.13.2",
"serve-static": "1.13.2",
"svg-sprite-loader": "4.1.3",
"svgo": "1.2.0",
"vue-template-compiler": "2.6.10"
},
"browserslist": [
"> 1%",
"last 2 versions"
],
"bugs": {
"url": "https://github.com/PanJiaChen/vue-element-admin/issues"
},
"engines": {
"node": ">=8.9",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions"
]
"keywords": [
"vue",
"admin",
"dashboard",
"element-ui",
"boilerplate",
"admin-template",
"management-system"
],
"license": "MIT",
"lint-staged": {
"src/**/*.{js,vue}": [
"eslint --fix",
"git add"
]
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"repository": {
"type": "git",
"url": "git+https://github.com/PanJiaChen/vue-element-admin.git"
}
}

View File

@@ -248,6 +248,7 @@ export default {
// 浏览器是否支持该控件
isSupported,
// 浏览器是否支持触屏事件
// eslint-disable-next-line no-prototype-builtins
isSupportTouch: document.hasOwnProperty('ontouchstart'),
// 步骤
step: 1, // 1选择文件 2剪裁 3上传

View File

@@ -204,10 +204,7 @@ export default {
window.tinymce.get(this.tinymceId).getContent()
},
imageSuccessCBK(arr) {
const _this = this
arr.forEach(v => {
window.tinymce.get(_this.tinymceId).insertContent(`<img class="wscnph" src="${v.url}" >`)
})
arr.forEach(v => window.tinymce.get(this.tinymceId).insertContent(`<img class="wscnph" src="${v.url}" >`))
}
}
}

View File

@@ -13,6 +13,7 @@ const state = {
const mutations = {
CHANGE_SETTING: (state, { key, value }) => {
// eslint-disable-next-line no-prototype-builtins
if (state.hasOwnProperty(key)) {
state[key] = value
}

View File

@@ -103,28 +103,23 @@ const actions = {
},
// dynamically modify permissions
changeRoles({ commit, dispatch }, role) {
return new Promise(async resolve => {
const token = role + '-token'
async changeRoles({ commit, dispatch }, role) {
const token = role + '-token'
commit('SET_TOKEN', token)
setToken(token)
commit('SET_TOKEN', token)
setToken(token)
const { roles } = await dispatch('getInfo')
const { roles } = await dispatch('getInfo')
resetRouter()
resetRouter()
// generate accessible routes map based on roles
const accessRoutes = await dispatch('permission/generateRoutes', roles, { root: true })
// generate accessible routes map based on roles
const accessRoutes = await dispatch('permission/generateRoutes', roles, { root: true })
// dynamically add accessible routes
router.addRoutes(accessRoutes)
// dynamically add accessible routes
router.addRoutes(accessRoutes)
// reset visited views and cached views
dispatch('tagsView/delAllViews', null, { root: true })
resolve()
})
// reset visited views and cached views
dispatch('tagsView/delAllViews', null, { root: true })
}
}

View File

@@ -13,11 +13,7 @@ export default function checkPermission(value) {
const hasPermission = roles.some(role => {
return permissionRoles.includes(role)
})
if (!hasPermission) {
return false
}
return true
return hasPermission
} else {
console.error(`need roles! Like v-permission="['admin','editor']"`)
return false

View File

@@ -15,7 +15,7 @@
<el-progress :percentage="18" />
</div>
<div class="progress-item">
<span>Css</span>
<span>CSS</span>
<el-progress :percentage="12" />
</div>
<div class="progress-item">

View File

@@ -1,5 +1,6 @@
<template>
<div class="app-container documentation-container">
<a class="document-btn" target="_blank" href="https://store.akveo.com/products/vue-java-admin-dashboard-spring?utm_campaign=akveo_store-Vue-Vue_demo%2Fgithub&utm_source=vue_admin&utm_medium=referral&utm_content=demo_English_button">Java backend integration</a>
<a class="document-btn" target="_blank" href="https://panjiachen.github.io/vue-element-admin-site/">Documentation</a>
<a class="document-btn" target="_blank" href="https://github.com/PanJiaChen/vue-element-admin/">Github Repository</a>
<a class="document-btn" target="_blank" href="https://panjiachen.gitee.io/vue-element-admin-site/zh/">国内文档</a>
@@ -37,7 +38,7 @@ export default {
margin: 50px;
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
justify-content: flex-start;
.document-btn {
flex-shrink: 0;
@@ -46,8 +47,8 @@ export default {
background: black;
color: white;
height: 60px;
width: 200px;
margin-bottom: 16px;
padding: 0 16px;
margin: 16px;
line-height: 60px;
font-size: 20px;
text-align: center;

View File

@@ -71,21 +71,21 @@ export default {
},
handleDownload() {
this.downloadLoading = true
import('@/vendor/Export2Excel').then(excel => {
const multiHeader = [['Id', 'Main Information', '', '', 'Date']]
const header = ['', 'Title', 'Author', 'Readings', '']
const filterVal = ['id', 'title', 'author', 'pageviews', 'display_time']
const list = this.list
const data = this.formatJson(filterVal, list)
const merges = ['A1:A2', 'B1:D1', 'E1:E2']
excel.export_json_to_excel({
multiHeader,
header,
merges,
data
})
this.downloadLoading = false
import('@/vendor/Export2Excel').then(excel => {
const multiHeader = [['Id', 'Main Information', '', '', 'Date']]
const header = ['', 'Title', 'Author', 'Readings', '']
const filterVal = ['id', 'title', 'author', 'pageviews', 'display_time']
const list = this.list
const data = this.formatJson(filterVal, list)
const merges = ['A1:A2', 'B1:D1', 'E1:E2']
excel.export_json_to_excel({
multiHeader,
header,
merges,
data
})
this.downloadLoading = false
})
},
formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => {

View File

@@ -50,7 +50,16 @@ module.exports = {
},
chainWebpack(config) {
// it can improve the speed of the first screen, it is recommended to turn on preload
// config.plugins.delete('preload')
// it can improve the speed of the first screen, it is recommended to turn on preload
config.plugin('preload').tap(() => [
{
rel: 'preload',
// to ignore runtime.js
// https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/cli-service/lib/config/app.js#L171
fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/],
include: 'initial'
}
])
// when there are many pages, it will cause too many meaningless requests
config.plugins.delete('prefetch')
@@ -72,17 +81,6 @@ module.exports = {
})
.end()
// set preserveWhitespace
config.module
.rule('vue')
.use('vue-loader')
.loader('vue-loader')
.tap(options => {
options.compilerOptions.preserveWhitespace = true
return options
})
.end()
config
.when(process.env.NODE_ENV !== 'development',
config => {
@@ -118,6 +116,7 @@ module.exports = {
}
}
})
// https:// webpack.js.org/configuration/optimization/#optimizationruntimechunk
config.optimization.runtimeChunk('single')
}
)