Compare commits
404 Commits
wjx2022072
...
1.2.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3868962b1e | ||
|
|
7dfc0d997a | ||
|
|
ee86e5dbf1 | ||
|
|
59f508d70f | ||
|
|
c9bf4ed561 | ||
|
|
f5204f0e9d | ||
|
|
e0b6bab788 | ||
|
|
2193193df9 | ||
|
|
cb239727e7 | ||
|
|
4eb5ec6118 | ||
|
|
d992e9bed0 | ||
|
|
961ec0b967 | ||
|
|
42af47b620 | ||
|
|
fffcddfede | ||
|
|
53b167f2f0 | ||
|
|
65c7b8d3a3 | ||
|
|
85bb0630b6 | ||
|
|
41ba4227e9 | ||
|
|
0f47284235 | ||
|
|
f1872f53ba | ||
|
|
669b91a99e | ||
|
|
11f85bd955 | ||
|
|
6a5623e11d | ||
|
|
89f58728cc | ||
|
|
c873f109ff | ||
|
|
67c57a5d08 | ||
|
|
54b5d76d01 | ||
|
|
b4be4a1e86 | ||
|
|
30d46a37fc | ||
|
|
cc481438df | ||
|
|
db5588577b | ||
|
|
32eeafdb33 | ||
|
|
db84c5bed5 | ||
|
|
ff167a56b3 | ||
|
|
394793710d | ||
|
|
7d3398387c | ||
|
|
ef795de84d | ||
|
|
e0e880e812 | ||
|
|
2039a317a9 | ||
|
|
c8ca9c83cb | ||
|
|
e796f2662b | ||
|
|
b7499b24c3 | ||
|
|
04fad4b18c | ||
|
|
fca4c24a8e | ||
|
|
3a641675e3 | ||
|
|
a40d4c8986 | ||
|
|
810ac4caa8 | ||
|
|
027fc078cb | ||
|
|
fb86e38040 | ||
|
|
5a0043fcd2 | ||
|
|
1cde7463fe | ||
|
|
ca2f5ee6a2 | ||
|
|
c59f86c698 | ||
|
|
177907dfe6 | ||
|
|
e258f2097a | ||
|
|
d042c12a31 | ||
|
|
ce877ff7f1 | ||
|
|
4529f969ea | ||
|
|
95e1c837ed | ||
|
|
5c0105e786 | ||
|
|
67ccf1b607 | ||
|
|
caed4541f4 | ||
|
|
47aad30c42 | ||
|
|
d018ffb2d0 | ||
|
|
b96c43e051 | ||
|
|
d330a40296 | ||
|
|
15e20646c2 | ||
|
|
42a0d891bc | ||
|
|
706a53193f | ||
|
|
d31a70d3d8 | ||
|
|
7968e41aa8 | ||
|
|
e31942371a | ||
|
|
88ac6114ba | ||
|
|
fcb356e17e | ||
|
|
f8803898c4 | ||
|
|
81fe969176 | ||
|
|
5dbc93a1bc | ||
|
|
18eb788ac9 | ||
|
|
82f2a92dfd | ||
|
|
4dc75a0459 | ||
|
|
fe4e936b2d | ||
|
|
c6534f3ab4 | ||
|
|
c006488a4a | ||
|
|
b87ea37bb3 | ||
|
|
60455a7227 | ||
|
|
81224c4013 | ||
|
|
c6a1e5924a | ||
|
|
116d6d5eff | ||
|
|
aed9b43d5e | ||
|
|
3425d1e649 | ||
|
|
d78a3b74e4 | ||
|
|
a9a94157c4 | ||
|
|
30e84b2570 | ||
|
|
03f388cb4c | ||
|
|
a437c1564f | ||
|
|
7c666c7bd6 | ||
|
|
d40b706457 | ||
|
|
010818855a | ||
|
|
88ead65e73 | ||
|
|
45a31db37f | ||
|
|
9ec547d9f4 | ||
|
|
458b675ddb | ||
|
|
252ff34bc5 | ||
|
|
48735eec10 | ||
|
|
ee6fe3c37a | ||
|
|
006978a484 | ||
|
|
1768127ea0 | ||
|
|
0bcb40c158 | ||
|
|
9d066fc717 | ||
|
|
b6cdcc8598 | ||
|
|
6041ae8d1e | ||
|
|
54d6533e4f | ||
|
|
16d30d94bb | ||
|
|
7a8be7a23b | ||
|
|
7cdf936062 | ||
|
|
fa3f16aff6 | ||
|
|
e926748f59 | ||
|
|
5362660ed5 | ||
|
|
1d06f0659d | ||
|
|
cbe09b5b8c | ||
|
|
e853d0a3f8 | ||
|
|
5d3c3425ef | ||
|
|
15c0cc66b9 | ||
|
|
746236e545 | ||
|
|
61aa2980d0 | ||
|
|
2f98e62840 | ||
|
|
ceff438fcb | ||
|
|
479fae0430 | ||
|
|
729a63deca | ||
|
|
6f95683e6f | ||
|
|
04f9d7eb36 | ||
|
|
00a9b9ede0 | ||
|
|
f5814b242a | ||
|
|
77c4ef41ae | ||
|
|
896c06c657 | ||
|
|
819ab8427a | ||
|
|
4e1307b00e | ||
|
|
a56239b398 | ||
|
|
2fb01f847e | ||
|
|
fed7641590 | ||
|
|
792014ab4c | ||
|
|
c8fafbf151 | ||
|
|
0bb3ee3454 | ||
|
|
ce594785e8 | ||
|
|
a2518393ae | ||
|
|
9f05a8a755 | ||
|
|
97737a030f | ||
|
|
161fa279c8 | ||
|
|
5e88c2ea5a | ||
|
|
0d644bb957 | ||
|
|
0d09cbfd0e | ||
|
|
45d2717313 | ||
|
|
9efdbf96a6 | ||
|
|
2c434f8c90 | ||
|
|
6cf24fc93e | ||
|
|
e8bcc62d4b | ||
|
|
f7c1eb85f5 | ||
|
|
7d74c116d9 | ||
|
|
5936fd369f | ||
|
|
8c17fcd94b | ||
|
|
aa46da73e2 | ||
|
|
f6007fdb52 | ||
|
|
4de4f08746 | ||
|
|
34322caa6c | ||
|
|
061f4f6f40 | ||
|
|
09b19615df | ||
|
|
992d987c01 | ||
|
|
2350e786c1 | ||
|
|
6352e12427 | ||
|
|
ac835fb2e1 | ||
|
|
dd4a57377b | ||
|
|
a44faa79f1 | ||
|
|
1ab31dd7a6 | ||
|
|
b2c75ff0f9 | ||
|
|
a78b9c6f7d | ||
|
|
48ecdc33e4 | ||
|
|
3a9aa46118 | ||
|
|
55e75fba7e | ||
|
|
24ce27cf6c | ||
|
|
5e5a2f5afb | ||
|
|
d0478a8fc4 | ||
|
|
d0848acf72 | ||
|
|
135058a1e3 | ||
|
|
1dfb3e1883 | ||
|
|
ac721f4529 | ||
|
|
3c625e4712 | ||
|
|
11a27e43fa | ||
|
|
4a1f201703 | ||
|
|
6b8b046ccd | ||
|
|
8981974a2e | ||
|
|
ba420a8507 | ||
|
|
e55eb4dade | ||
|
|
b0753c7769 | ||
|
|
c18471e26b | ||
|
|
1d5e93daa0 | ||
|
|
7ab5a00508 | ||
|
|
3fa340c5b1 | ||
|
|
259db657e1 | ||
|
|
cfc3f55b16 | ||
|
|
6157258b2c | ||
|
|
e36568372e | ||
|
|
22c7964148 | ||
|
|
e984d82ab2 | ||
|
|
69f98d01b5 | ||
|
|
138755c339 | ||
|
|
d64b660284 | ||
|
|
54a79aacc7 | ||
|
|
b0e21ef936 | ||
|
|
2d61524315 | ||
|
|
c77bc5b679 | ||
|
|
3ab33b550e | ||
|
|
c3c869002e | ||
|
|
6b66a251a3 | ||
|
|
248f5b6219 | ||
|
|
d2acb7addc | ||
|
|
75badfa160 | ||
|
|
97145b853f | ||
|
|
97683f468b | ||
|
|
1875f72430 | ||
|
|
87c4505f7b | ||
|
|
5a2c36a75b | ||
|
|
f19f2cbbe9 | ||
|
|
bde551e783 | ||
|
|
9db27da743 | ||
|
|
5b074e8b34 | ||
|
|
a1642a8005 | ||
|
|
7823d9dd34 | ||
|
|
e0baf0412b | ||
|
|
b4a9cc07c4 | ||
|
|
148db692d5 | ||
|
|
958ec34e53 | ||
|
|
5a7954d98f | ||
|
|
13919fd0b8 | ||
|
|
35fdcb9b19 | ||
|
|
d38c9da66a | ||
|
|
76293ed831 | ||
|
|
125a278eef | ||
|
|
2478c9240a | ||
|
|
f4b3841f22 | ||
|
|
5ffd61f25c | ||
|
|
63856cde0e | ||
|
|
92b1d7945a | ||
|
|
855c97d085 | ||
|
|
c605c61a21 | ||
|
|
161d9f172b | ||
|
|
87a196963b | ||
|
|
428c8f52a8 | ||
|
|
5c69f7de97 | ||
|
|
cfd5de3e8d | ||
|
|
731390dd65 | ||
|
|
b4d570226a | ||
|
|
7bc79d26f4 | ||
|
|
de952a1b0d | ||
|
|
f8396ce2be | ||
|
|
34dd26e2d1 | ||
|
|
ee2c41f39b | ||
|
|
626d27620c | ||
|
|
8dc15f6bee | ||
|
|
32303ce9e5 | ||
|
|
505ffce668 | ||
|
|
9696160285 | ||
|
|
07521b00f7 | ||
|
|
1571521ea6 | ||
|
|
6e8a04c135 | ||
|
|
9b19334efe | ||
|
|
ee9d69e62f | ||
|
|
146b82ad99 | ||
|
|
b0459a9150 | ||
|
|
5fea0dd4d0 | ||
|
|
5ae30a66ef | ||
|
|
db37d06432 | ||
|
|
82a0794fd8 | ||
|
|
8aefa6e50a | ||
|
|
dc46884293 | ||
|
|
d9210c2f9b | ||
|
|
c15936a19c | ||
|
|
d05edd7d0c | ||
|
|
faf5d24d4e | ||
|
|
7e62e943fb | ||
|
|
93c862e573 | ||
|
|
e553ab56e3 | ||
|
|
5e684a698b | ||
|
|
f5118208dd | ||
|
|
0a9496ee86 | ||
|
|
d8e946bbd9 | ||
|
|
e4a6704101 | ||
|
|
dfbd55136f | ||
|
|
8ae89b8c31 | ||
|
|
450108d6ac | ||
|
|
971f9a3e66 | ||
|
|
6f8e5f1075 | ||
|
|
6a16adba7c | ||
|
|
0b06603aee | ||
|
|
816de01bee | ||
|
|
769f5f2f43 | ||
|
|
627ba59af0 | ||
|
|
24eba2bc1f | ||
|
|
5b108d78b7 | ||
|
|
0831d571a9 | ||
|
|
e65979d0ce | ||
|
|
90c78a8aff | ||
|
|
8530f48088 | ||
|
|
df39931b4b | ||
|
|
3f092d3573 | ||
|
|
2b16a2d152 | ||
|
|
b422110c3c | ||
|
|
3b628d4450 | ||
|
|
2038901e2d | ||
|
|
e0fde0cf0f | ||
|
|
318107dbd7 | ||
|
|
1cf0e277e8 | ||
|
|
2006cd7132 | ||
|
|
9f3f5f3157 | ||
|
|
23e9813ae1 | ||
|
|
31f4763d4f | ||
|
|
b45df0d2ea | ||
|
|
5c63190f1c | ||
|
|
51c39e7a4f | ||
|
|
1d5153dae6 | ||
|
|
63e00732e3 | ||
|
|
f8490c1990 | ||
|
|
545c9bbb16 | ||
|
|
df5b0d9e96 | ||
|
|
6553129909 | ||
|
|
b317402b5a | ||
|
|
ff6b19e625 | ||
|
|
71c78f2837 | ||
|
|
e0937b5d2f | ||
|
|
8ec79912d2 | ||
|
|
ad08408de3 | ||
|
|
f5bb8e9ca1 | ||
|
|
afc6ae0c77 | ||
|
|
f7134b6e27 | ||
|
|
a5df2c3ad6 | ||
|
|
ec678c353c | ||
|
|
091bf299e5 | ||
|
|
cc4ba32145 | ||
|
|
ba0432b2b1 | ||
|
|
54be313c68 | ||
|
|
7d4505d5f0 | ||
|
|
1a358bb388 | ||
|
|
4953cbb0f3 | ||
|
|
edf6610409 | ||
|
|
f57e0e2b40 | ||
|
|
cf1e71c04d | ||
|
|
627c3b27ce | ||
|
|
cd7888e591 | ||
|
|
cd89b9932b | ||
|
|
dd1be368da | ||
|
|
cb031d6ae1 | ||
|
|
61b877528f | ||
|
|
9d756089ec | ||
|
|
c31dc949ce | ||
|
|
de7972fa00 | ||
|
|
b431237287 | ||
|
|
40bce0a68f | ||
|
|
2add62bc8c | ||
|
|
b7531046ac | ||
|
|
b6aaff68f8 | ||
|
|
e6a9cf9a8b | ||
|
|
fdae717b4e | ||
|
|
a97f718393 | ||
|
|
97432dbd71 | ||
|
|
082d64655e | ||
|
|
6518d7b507 | ||
|
|
c1154ee82b | ||
|
|
526bff448d | ||
|
|
4467008849 | ||
|
|
49496b852e | ||
|
|
859397ea7c | ||
|
|
43e1a5fd40 | ||
|
|
da3af0611c | ||
|
|
fe39b4b2fa | ||
|
|
5bb748ee77 | ||
|
|
9c3ebdf0db | ||
|
|
a859e4ace8 | ||
|
|
b338f259ac | ||
|
|
1031098831 | ||
|
|
56a1af3ecd | ||
|
|
fbabeb46a8 | ||
|
|
5b544da8f7 | ||
|
|
5fc6c0ad99 | ||
|
|
895c1ef994 | ||
|
|
2b252d0b16 | ||
|
|
d03c911ebc | ||
|
|
df1e3e8652 | ||
|
|
d2d23510b5 | ||
|
|
3e31517297 | ||
|
|
917fb785f9 | ||
|
|
94fd5425f6 | ||
|
|
253441942f | ||
|
|
5ec1e82d8b | ||
|
|
cd273a75d1 | ||
|
|
ca43595e8f | ||
|
|
731cf9044e | ||
|
|
61790c7444 | ||
|
|
57c94a1e7d | ||
|
|
19d4bf34ec | ||
|
|
b08bf59e63 | ||
|
|
9062c0fde3 | ||
|
|
97dc15dead | ||
|
|
efb984ae49 | ||
|
|
af2f416cd6 | ||
|
|
bad1ebf54c |
1
.gitignore
vendored
@@ -1,4 +1,3 @@
|
||||
.vscode
|
||||
.idea
|
||||
*.iws
|
||||
*.iml
|
||||
|
||||
101
README.md
@@ -1,26 +1,27 @@
|
||||
<h1 align="center">likeadmin通用管理后台(JAVA版本)</h1>
|
||||
<h4 align="center">📈快速开发前后端解决方案</h4>
|
||||
<h1 align="center">likeadmin通用管理后台(Java)</h1>
|
||||
<h4 align="center">🚀快速开发、🛠️ 一键生成代码、📱手机自适应</h4>
|
||||
<p align="center">
|
||||
<a href="https://www.java.com/zh-CN/download/"><img src="https://img.shields.io/badge/JAVA-8.0-d74f11"> </a><a href="#"> <img src="https://img.shields.io/badge/Spring Boot-2.5-5e
|
||||
a931"> </a><a href="https://www.tslang.cn/"><img src="https://img.shields.io/badge/TypeScript-3.1-294e80"> </a><a href="#"><img src="https://img.shields.io/badge/Vue.js-3.2-4eb883"> </a><a href="#"><img src="https://img.shields.io/badge/vite-2.0.0-ffc018"> </a><a href="#"><img src="https://img.shields.io/badge/Element Plus-1.2.0-409eff"> </a>
|
||||
<a href="https://www.java.com/zh-CN/download/"><img src="https://img.shields.io/badge/JAVA-8-d74f11"> </a><a href="#"> <img src="https://img.shields.io/badge/Spring Boot-2-5ea931"> </a><a href="https://www.tslang.cn/"><img src="https://img.shields.io/badge/TypeScript-3-294e80"></a> <a href="#"><img src="https://img.shields.io/badge/Vue.js-3-4eb883"> </a><a href="#"><img src="https://img.shields.io/badge/vite-2-ffc018"> </a><a href="#"><img src="https://img.shields.io/badge/Element Plus-2-409eff"> </a><a target="_blank" href="https://www.docker.com/"><img src="https://img.shields.io/badge/Docker--139cff"></a>
|
||||
<div align="center">
|
||||
<img width="80%" src="https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=f4dc6a16c63dac26da3017979e818802" />
|
||||
<img width="80%" src="https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=9cf02b831e49d6a411bafbc4d79f51d4" /><br>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
# 👨💻 简介
|
||||
<a href="https://gitee.com/likeshop_gitee">likeshop开源团队</a>基于以往开源产品的经验,希望能够为开源社区做出更多的贡献,推出永久免费开源的likeadmin通用前后端分离管理后台系统。遵循Apache2开源许可协议,您可以免费使用,甚至允许把你基于likeadmin开发的软件应用开源、发布、销售。
|
||||
## 👀体验后台
|
||||
地址:https://demo-java.likeadmin.cn <br>
|
||||
账号:admin 密码:123456
|
||||
|
||||
|
||||
## 👨💻简介
|
||||
我们希望能够为开源社区做出更多的贡献,推出永久免费开源的likeadmin通用前后端分离管理后台系统。遵循MIT开源许可协议,您可以免费使用,甚至允许把你基于likeadmin开发的软件应用开源、发布、销售。
|
||||
<br>
|
||||
### 🏀 联系我们
|
||||
likeadmin官网:https://www.likeadmin.cn/
|
||||
likeadmin交流群QQ:629475409
|
||||
<br>
|
||||
# 🧐 进一步了解
|
||||
### 🧰 场景介绍
|
||||
1.likeadmin已经搭建好前后端分离的底层,包含程序安装、登录、登出、工作台、菜单权限控制、角色、管理员、网站设置、图库管理等基础功能,无需重复造轮子。<br>
|
||||
## 🧐进一步了解
|
||||
### 🧰场景介绍
|
||||
1.likeadmin已经搭建好前后端分离的底层,包含程序安装、登录、登出、工作台、菜单权限控制、角色、管理员、部门管理、岗位管理、素材管理、网站设置、图库管理等基础功能,无需重复造轮子。更有开发者工具功能,一生成代码,大大节省开发时间。<br>
|
||||
2.可视化系统程序安装界面,可自定义安装数据,开发者可快速扩展发行自己的软件产品。<br>
|
||||
3.likeadmin定位为通用的软件系统管理后台,方便开发者快速开发软件系统,文档清晰、代码易懂、简单易用。<br>
|
||||
4.未来将持续集成通用的微信/支付宝支付,阿里云/腾讯云短信,阿里云/腾讯云OSS等通用模块。
|
||||
|
||||
### 🐙 后端架构方面
|
||||
1.服务端使用JAVA8开发,性能有突破性的提升。<br>
|
||||
2.使用Spring Boot2.5框架,目前国内流行的JAVA框架,高性能、简单易用、文档齐全、支持Mave高级项目管理工具、支持Redis等。
|
||||
@@ -28,67 +29,15 @@ likeadmin交流群QQ:629475409
|
||||
1.使用最流性的前后端分离方案typescript、vue3、vite开发,保持了代码的简洁、一致和规范。<br>
|
||||
2.后台界面使用element-plus UI框架,简单精美的后台界面,丰富的组件库,方便快速开发,满足各种后台交互。
|
||||
<br>
|
||||
### 🛠️ 代码生成器
|
||||
一键生成前后端业务代码,大大提示开发效率。
|
||||
|
||||
|
||||
# ⚙️项目启动(开发模式)
|
||||
## 环境要求
|
||||
[JDK1.8](https://www.java.com/zh-CN/download/ "JDK1.8")、Mysql5.7、Redis6.x、node14.x<br>
|
||||
## Mysql数据库和Redis缓存配置
|
||||
1.复制“/server/like-admin/src/main/resources/application-example-pro.yml”文件为“/server/like-admin/src/main/resources/application-pro.yml”<br>
|
||||
2.启动并登录Mysql,创建编码为utf8mb4的数据库,导入项目中/sql/install.sql文件,数据库创建完毕。打开“application-pro.yml”,找到datasource,修改url项的地址为数据库ip地址,地址“/”后面为数据库名称,username项为数据库账号,password项为数据密码,然后保存。
|
||||
<br>
|
||||
3.启动Redis,同样打开“application-pro.yml”,找到redis,修改host项为Redis的地址,port项为redis的端口,有密码填写密码,无密码则留空,然后保存。
|
||||
<br>
|
||||
## JAVA服务端部署
|
||||
**服务端部署有两种方式,选择一种即可。**
|
||||
### JAVA服务端部署方式①
|
||||
下载并安装[Maven 3.8.x](https://maven.apache.org/download.cgi "Maven 3.8.x"),需要配置好JAVA_HOME变量,可在终端运行`java -version`和`mvn -v`验证。
|
||||
<br>
|
||||
|
||||
#### 构建项目
|
||||
打开终端,使用cd命令进入“\server”目录,运行 `mvn install`,构建项目。
|
||||

|
||||
#### 运行项目
|
||||
打开终端,使用cd命令进入“\server\like-admin”目录,运行`mvn spring-boot:run`。
|
||||
<br>
|
||||
打开浏览器,访问http://127.0.0.1:8082 ,即可看到接口返回信息。
|
||||
<br>
|
||||
### JAVA服务端部署方式②(IDEA)
|
||||
使用IDEA打开server目录,打开设置,将项目的SDK设置为1.8,等待依赖加载(右下角有提示),加载完以后。
|
||||
<br>
|
||||
点击右上角运行图标启动项目。
|
||||
<br>
|
||||
打开浏览器,访问http://127.0.0.1:8082 ,即可看到接口返回信息。
|
||||
<br>
|
||||
## 前端部署
|
||||
打开“/.env.development”文件,将文件内容“VITE_APP_BASE_URL”项的值修改为服务端的地址,有端口号需要加上端口号,保存。
|
||||
<br>
|
||||
打开终端,使用cd命令进入“/admin”目录,运行`npm install`安装依赖。
|
||||
<br>
|
||||
打开终端,使用cd命令进入“/admin”目录,运行`npm run dev`,在开发者模式中运行项目,然后打开浏览器访问终端显示本地地址。
|
||||
<br>
|
||||
|
||||
访问后,进入登录页面。如果报系统错误,请检查前端JAVA服务端部署步骤,一般为Mysql和Redis参数配置错误。
|
||||
<br>
|
||||
默认的账号为:admin,密码为123456,输入账号密码登入后台。
|
||||
<br>
|
||||
## 📁 目录结构
|
||||
```shell
|
||||
│
|
||||
├─📂admin //管理后台前端源码
|
||||
│
|
||||
├─📂frontend // //前端已编译代码目录(入口目录、上线运行)
|
||||
│
|
||||
├─📂server //java项目目录(编辑器、IDE打开此目录)
|
||||
│ │ ├─📂like-admin //管理后台模块
|
||||
│ │ ├─📂like-common //公共模块
|
||||
│ │ ├─📂like-front //前台模块
|
||||
│
|
||||
├─📂sql //项目数据库结构
|
||||
│
|
||||
```
|
||||
|
||||
|
||||
|
||||
### 🖥️界面预览
|
||||
<br>
|
||||

|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
### 🪐接口文档
|
||||
[点击这里进入更多更详细文档。](https://www.likeadmin.cn "点击这里进入更多更详细文档。")
|
||||
[点击这里进入更多更详细文档。](https://www.likeadmin.cn "点击这里进入更多更详细文档。")
|
||||
@@ -1,4 +1,4 @@
|
||||
NODE_ENV = 'development'
|
||||
|
||||
# Base API
|
||||
VITE_APP_BASE_URL='https://likeadmin-java-api.yixiangonline.com'
|
||||
# 请求域名
|
||||
VITE_APP_BASE_URL='https://likeadmin-java.yixiangonline.com'
|
||||
@@ -1,3 +1,4 @@
|
||||
NODE_ENV = 'production'
|
||||
# Base API
|
||||
VITE_APP_BASE_URL='https://likeadmin-java-api.yixiangonline.com'
|
||||
|
||||
# 请求域名
|
||||
VITE_APP_BASE_URL=''
|
||||
43
admin/.eslintrc.cjs
Normal file
@@ -0,0 +1,43 @@
|
||||
/* eslint-env node */
|
||||
require('@rushstack/eslint-patch/modern-module-resolution')
|
||||
|
||||
module.exports = {
|
||||
root: true,
|
||||
ignorePatterns: ['/auto-imports.d.ts', '/components.d.ts'],
|
||||
extends: [
|
||||
'plugin:vue/vue3-essential',
|
||||
'eslint:recommended',
|
||||
'@vue/eslint-config-typescript/recommended',
|
||||
'@vue/eslint-config-prettier',
|
||||
'./.eslintrc-auto-import.json'
|
||||
],
|
||||
rules: {
|
||||
'prettier/prettier': [
|
||||
'warn',
|
||||
{
|
||||
semi: false,
|
||||
singleQuote: true,
|
||||
printWidth: 100,
|
||||
proseWrap: 'preserve',
|
||||
bracketSameLine: false,
|
||||
endOfLine: 'lf',
|
||||
tabWidth: 4,
|
||||
useTabs: false,
|
||||
trailingComma: 'none'
|
||||
}
|
||||
],
|
||||
'vue/multi-word-component-names': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
'@typescript-eslint/ban-ts-comment': 'off',
|
||||
'no-undef': 'off',
|
||||
'vue/prefer-import-from-vue': 'off',
|
||||
'no-prototype-builtins': 'off',
|
||||
'prefer-spread': 'off',
|
||||
'@typescript-eslint/no-non-null-assertion': 'off',
|
||||
'@typescript-eslint/no-non-null-asserted-optional-chain': 'off',
|
||||
'vue/no-mutating-props': 'off'
|
||||
},
|
||||
globals: {
|
||||
module: 'readonly'
|
||||
}
|
||||
}
|
||||
@@ -1,156 +0,0 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
browser: true,
|
||||
node: true,
|
||||
es2021: true
|
||||
},
|
||||
parser: 'vue-eslint-parser',
|
||||
extends: [
|
||||
'eslint:recommended',
|
||||
'plugin:vue/vue3-recommended',
|
||||
'plugin:@typescript-eslint/recommended',
|
||||
'plugin:prettier/recommended',
|
||||
// eslint-config-prettier 的缩写
|
||||
'prettier'
|
||||
],
|
||||
parserOptions: {
|
||||
ecmaVersion: 12,
|
||||
parser: '@typescript-eslint/parser',
|
||||
sourceType: 'module',
|
||||
ecmaFeatures: {
|
||||
jsx: true
|
||||
}
|
||||
},
|
||||
// eslint-plugin-vue @typescript-eslint/eslint-plugin eslint-plugin-prettier的缩写
|
||||
plugins: ['vue', '@typescript-eslint', 'prettier'],
|
||||
rules: {
|
||||
'@typescript-eslint/ban-ts-ignore': 'off',
|
||||
'@typescript-eslint/no-unused-vars': 'off',
|
||||
'@typescript-eslint/explicit-function-return-type': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
'@typescript-eslint/no-var-requires': 'off',
|
||||
'@typescript-eslint/no-empty-function': 'off',
|
||||
'@typescript-eslint/no-use-before-define': 'off',
|
||||
'@typescript-eslint/ban-ts-comment': 'off',
|
||||
'@typescript-eslint/ban-types': 'off',
|
||||
'@typescript-eslint/no-non-null-assertion': 'off',
|
||||
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
||||
'no-var': 'error',
|
||||
'prettier/prettier': 'error',
|
||||
// 禁止出现console
|
||||
'no-console': 'warn',
|
||||
// 禁用debugger
|
||||
'no-debugger': 'warn',
|
||||
// 禁止出现重复的 case 标签
|
||||
'no-duplicate-case': 'warn',
|
||||
// 禁止出现空语句块
|
||||
'no-empty': 'warn',
|
||||
// 禁止不必要的括号
|
||||
'no-extra-parens': 'off',
|
||||
// 禁止对 function 声明重新赋值
|
||||
'no-func-assign': 'warn',
|
||||
// 禁止在 return、throw、continue 和 break 语句之后出现不可达代码
|
||||
'no-unreachable': 'warn',
|
||||
// 强制所有控制语句使用一致的括号风格
|
||||
curly: 'warn',
|
||||
// 要求 switch 语句中有 default 分支
|
||||
'default-case': 'warn',
|
||||
// 强制尽可能地使用点号
|
||||
'dot-notation': 'warn',
|
||||
// 要求使用 === 和 !==
|
||||
eqeqeq: 'warn',
|
||||
// 禁止 if 语句中 return 语句之后有 else 块
|
||||
'no-else-return': 'warn',
|
||||
// 禁止出现空函数
|
||||
'no-empty-function': 'warn',
|
||||
// 禁用不必要的嵌套块
|
||||
'no-lone-blocks': 'warn',
|
||||
// 禁止使用多个空格
|
||||
'no-multi-spaces': 'warn',
|
||||
// 禁止多次声明同一变量
|
||||
'no-redeclare': 'warn',
|
||||
// 禁止在 return 语句中使用赋值语句
|
||||
'no-return-assign': 'warn',
|
||||
// 禁用不必要的 return await
|
||||
'no-return-await': 'warn',
|
||||
// 禁止自我赋值
|
||||
'no-self-assign': 'warn',
|
||||
// 禁止自身比较
|
||||
'no-self-compare': 'warn',
|
||||
// 禁止不必要的 catch 子句
|
||||
'no-useless-catch': 'warn',
|
||||
// 禁止多余的 return 语句
|
||||
'no-useless-return': 'warn',
|
||||
// 禁止变量声明与外层作用域的变量同名
|
||||
'no-shadow': 'off',
|
||||
// 允许delete变量
|
||||
'no-delete-var': 'off',
|
||||
// 强制数组方括号中使用一致的空格
|
||||
'array-bracket-spacing': 'warn',
|
||||
// 强制在代码块中使用一致的大括号风格
|
||||
'brace-style': 'warn',
|
||||
// 强制使用骆驼拼写法命名约定
|
||||
camelcase: 'warn',
|
||||
// 强制使用一致的缩进
|
||||
indent: 'off',
|
||||
// 强制在 JSX 属性中一致地使用双引号或单引号
|
||||
// 'jsx-quotes': 'warn',
|
||||
// 强制可嵌套的块的最大深度4
|
||||
'max-depth': 'warn',
|
||||
// 强制最大行数 300
|
||||
// "max-lines": ["warn", { "max": 1200 }],
|
||||
// 强制函数最大代码行数 50
|
||||
// 'max-lines-per-function': ['warn', { max: 70 }],
|
||||
// 强制函数块最多允许的的语句数量20
|
||||
'max-statements': ['warn', 100],
|
||||
// 强制回调函数最大嵌套深度
|
||||
'max-nested-callbacks': ['warn', 3],
|
||||
// 强制函数定义中最多允许的参数数量
|
||||
'max-params': ['warn', 3],
|
||||
// 强制每一行中所允许的最大语句数量
|
||||
'max-statements-per-line': ['warn', { max: 1 }],
|
||||
// 要求方法链中每个调用都有一个换行符
|
||||
'newline-per-chained-call': ['warn', { ignoreChainWithDepth: 3 }],
|
||||
// 禁止 if 作为唯一的语句出现在 else 语句中
|
||||
'no-lonely-if': 'warn',
|
||||
// 禁止空格和 tab 的混合缩进
|
||||
'no-mixed-spaces-and-tabs': 'warn',
|
||||
// 禁止出现多行空行
|
||||
'no-multiple-empty-lines': 'warn',
|
||||
// 禁止出现;
|
||||
semi: ['warn', 'never'],
|
||||
// 强制在块之前使用一致的空格
|
||||
'space-before-blocks': 'warn',
|
||||
// 强制在 function的左括号之前使用一致的空格
|
||||
// 'space-before-function-paren': ['warn', 'never'],
|
||||
// 强制在圆括号内使用一致的空格
|
||||
'space-in-parens': 'warn',
|
||||
// 要求操作符周围有空格
|
||||
'space-infix-ops': 'warn',
|
||||
// 强制在一元操作符前后使用一致的空格
|
||||
'space-unary-ops': 'warn',
|
||||
// 强制在注释中 // 或 /* 使用一致的空格
|
||||
// "spaced-comment": "warn",
|
||||
// 强制在 switch 的冒号左右有空格
|
||||
'switch-colon-spacing': 'warn',
|
||||
// 强制箭头函数的箭头前后使用一致的空格
|
||||
'arrow-spacing': 'warn',
|
||||
'no-var': 'warn',
|
||||
'prefer-const': 'warn',
|
||||
'prefer-rest-params': 'warn',
|
||||
'no-useless-escape': 'warn',
|
||||
'no-irregular-whitespace': 'warn',
|
||||
'no-prototype-builtins': 'warn',
|
||||
'no-fallthrough': 'warn',
|
||||
'no-extra-boolean-cast': 'warn',
|
||||
'no-case-declarations': 'warn',
|
||||
'no-async-promise-executor': 'warn'
|
||||
},
|
||||
globals: {
|
||||
defineProps: 'readonly',
|
||||
defineEmits: 'readonly',
|
||||
defineExpose: 'readonly',
|
||||
withDefaults: 'readonly'
|
||||
}
|
||||
}
|
||||
33
admin/.gitignore
vendored
@@ -1,25 +1,32 @@
|
||||
node_modules
|
||||
.DS_Store
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
.DS_Store
|
||||
dist
|
||||
dist-ssr
|
||||
coverage
|
||||
*.local
|
||||
|
||||
# unplugin-auto-import
|
||||
auto-imports.d.ts
|
||||
components.d.ts
|
||||
.eslintrc-auto-import.json
|
||||
|
||||
/cypress/videos/
|
||||
/cypress/screenshots/
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
|
||||
|
||||
3
admin/.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
|
||||
}
|
||||
11
admin/.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"editor.detectIndentation": false,
|
||||
"editor.tabSize": 4,
|
||||
"editor.formatOnSave": true,
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true
|
||||
},
|
||||
"css.validate": false,
|
||||
"less.validate": false,
|
||||
"scss.validate": false
|
||||
}
|
||||
@@ -1,11 +1,46 @@
|
||||
# Vue 3 + Typescript + Vite
|
||||
# vue-project
|
||||
|
||||
This template should help get you started developing with Vue 3 and Typescript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
|
||||
This template should help get you started developing with Vue 3 in Vite.
|
||||
|
||||
## Recommended IDE Setup
|
||||
|
||||
- [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar)
|
||||
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
|
||||
|
||||
## Type Support For `.vue` Imports in TS
|
||||
## Type Support for `.vue` Imports in TS
|
||||
|
||||
Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's `.vue` type support plugin by running `Volar: Switch TS Plugin on/off` from VSCode command palette.
|
||||
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
|
||||
|
||||
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
|
||||
|
||||
1. Disable the built-in TypeScript Extension
|
||||
1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette
|
||||
2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
|
||||
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
|
||||
|
||||
## Customize configuration
|
||||
|
||||
See [Vite Configuration Reference](https://vitejs.dev/config/).
|
||||
|
||||
## Project Setup
|
||||
|
||||
```sh
|
||||
npm install
|
||||
```
|
||||
|
||||
### Compile and Hot-Reload for Development
|
||||
|
||||
```sh
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### Type-Check, Compile and Minify for Production
|
||||
|
||||
```sh
|
||||
npm run build
|
||||
```
|
||||
|
||||
### Lint with [ESLint](https://eslint.org/)
|
||||
|
||||
```sh
|
||||
npm run lint
|
||||
```
|
||||
|
||||
1
admin/global.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/// <reference types="vite/client" />
|
||||
@@ -1,10 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>admin</title>
|
||||
<title>后台管理系统</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
|
||||
12749
admin/package-lock.json
generated
@@ -1,40 +1,59 @@
|
||||
{
|
||||
"name": "admin",
|
||||
"name": "vue-project",
|
||||
"version": "0.0.0",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build && ./release.sh",
|
||||
"preview": "vite preview",
|
||||
"lint": "eslint ./src/App.vue",
|
||||
"prettier": "prettier --write src"
|
||||
"preview": "vite preview --port 4173",
|
||||
"build": "node ./scripts/build.mjs",
|
||||
"type-check": "vue-tsc --noEmit",
|
||||
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
|
||||
},
|
||||
"dependencies": {
|
||||
"@element-plus/icons-vue": "^0.2.4",
|
||||
"@tinymce/tinymce-vue": "^4.0.5",
|
||||
"clipboard": "^2.0.8",
|
||||
"echarts": "^5.2.2",
|
||||
"element-plus": "^1.2.0-beta.6",
|
||||
"@element-plus/icons-vue": "^2.0.6",
|
||||
"@highlightjs/vue-plugin": "^2.1.0",
|
||||
"@wangeditor/editor": "^5.1.12",
|
||||
"@wangeditor/editor-for-vue": "^5.1.12",
|
||||
"axios": "^0.27.2",
|
||||
"css-color-function": "^1.3.3",
|
||||
"echarts": "^5.3.3",
|
||||
"element-plus": "^2.2.9",
|
||||
"highlight.js": "^11.6.0",
|
||||
"nprogress": "^0.2.0",
|
||||
"vue": "^3.2.25",
|
||||
"vue-echarts": "^6.0.0",
|
||||
"vue-router": "^4.0.14",
|
||||
"vuedraggable": "^4.1.0",
|
||||
"vuex": "^4.0.0-0"
|
||||
"pinia": "^2.0.14",
|
||||
"vue": "^3.2.37",
|
||||
"vue-clipboard3": "^2.0.0",
|
||||
"vue-echarts": "^6.2.3",
|
||||
"vue-router": "^4.0.16",
|
||||
"vue3-video-play": "^1.3.1-beta.6",
|
||||
"vuedraggable": "^4.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^17.0.15",
|
||||
"@typescript-eslint/eslint-plugin": "^5.14.0",
|
||||
"@typescript-eslint/parser": "^5.14.0",
|
||||
"@vitejs/plugin-vue": "^2.0.0",
|
||||
"axios": "^0.24.0",
|
||||
"eslint": "^8.10.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-prettier": "^4.0.0",
|
||||
"eslint-plugin-vue": "^8.5.0",
|
||||
"@rushstack/eslint-patch": "^1.1.0",
|
||||
"@types/lodash-es": "^4.17.6",
|
||||
"@types/node": "^16.11.41",
|
||||
"@types/nprogress": "^0.2.0",
|
||||
"@vitejs/plugin-vue": "^3.0.0",
|
||||
"@vitejs/plugin-vue-jsx": "^2.0.0",
|
||||
"@vue/eslint-config-prettier": "^7.0.0",
|
||||
"@vue/eslint-config-typescript": "^11.0.0",
|
||||
"@vue/tsconfig": "^0.1.3",
|
||||
"autoprefixer": "^10.4.7",
|
||||
"consola": "^2.15.3",
|
||||
"eslint": "^8.5.0",
|
||||
"eslint-plugin-vue": "^9.0.0",
|
||||
"execa": "^6.1.0",
|
||||
"fs-extra": "^10.1.0",
|
||||
"postcss": "^8.4.14",
|
||||
"prettier": "^2.5.1",
|
||||
"sass": "^1.49.7",
|
||||
"typescript": "^4.4.4",
|
||||
"vite": "^2.7.2",
|
||||
"vue-tsc": "^0.29.8"
|
||||
"sass": "^1.53.0",
|
||||
"tailwindcss": "^3.0.24",
|
||||
"typescript": "~4.7.4",
|
||||
"unplugin-auto-import": "^0.9.2",
|
||||
"unplugin-vue-components": "^0.19.9",
|
||||
"vite": "^3.0.0",
|
||||
"vite-plugin-style-import": "^2.0.0",
|
||||
"vite-plugin-svg-icons": "^2.0.1",
|
||||
"vue-tsc": "^0.38.1"
|
||||
}
|
||||
}
|
||||
|
||||
6
admin/postcss.config.js
Normal file
@@ -0,0 +1,6 @@
|
||||
module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 4.2 KiB |
@@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
# 文件原路径
|
||||
srcPath="./dist/"
|
||||
# 发布路径文件夹
|
||||
releasePath="../frontend/public/admin"
|
||||
|
||||
#删除发布目录下的mobile文件
|
||||
rm -r $releasePath
|
||||
echo "已删除 ==> $releasePath 下的目录文件"
|
||||
mkdir $releasePath
|
||||
echo "已新建 ==> $releasePath 目录"
|
||||
|
||||
# 复制打包目录内的文件到发布目录
|
||||
cp -r $srcPath/* $releasePath
|
||||
echo "已复制 $srcPath/* ==> $releasePath"
|
||||
|
||||
cp $releasePath/../favicon.ico $releasePath
|
||||
37
admin/scripts/build.mjs
Normal file
@@ -0,0 +1,37 @@
|
||||
import { execaCommand } from 'execa'
|
||||
import path from 'path'
|
||||
import fsExtra from 'fs-extra'
|
||||
const { existsSync, remove, copy } = fsExtra
|
||||
const cwd = process.cwd()
|
||||
//打包发布路径,谨慎改动
|
||||
const releaseRelativePath = '../frontend'
|
||||
const distPath = path.resolve(cwd, 'dist')
|
||||
const releasePath = path.resolve(cwd, releaseRelativePath)
|
||||
|
||||
async function build() {
|
||||
await execaCommand('vite build', { stdio: 'inherit', encoding: 'utf-8', cwd })
|
||||
if (existsSync(releasePath)) {
|
||||
await remove(releasePath)
|
||||
}
|
||||
console.log(`文件正在复制 ==> ${releaseRelativePath}`)
|
||||
try {
|
||||
await copyFile(distPath, releasePath)
|
||||
} catch (error) {
|
||||
console.log(`\n ${error}`)
|
||||
}
|
||||
console.log(`文件已复制 ==> ${releaseRelativePath}`)
|
||||
}
|
||||
|
||||
function copyFile(sourceDir, targetDir) {
|
||||
return new Promise((resolve, reject) => {
|
||||
copy(sourceDir, targetDir, (err) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
build()
|
||||
@@ -1,44 +1,58 @@
|
||||
<template>
|
||||
<router-view v-if="routerAlive" />
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent, ref, nextTick, provide, onMounted } from 'vue'
|
||||
import { useAdmin } from './core/hooks/app'
|
||||
export default defineComponent({
|
||||
setup() {
|
||||
const { store, route } = useAdmin()
|
||||
const routerAlive = ref(true)
|
||||
const reload = () => {
|
||||
routerAlive.value = false
|
||||
nextTick(() => {
|
||||
routerAlive.value = true
|
||||
})
|
||||
}
|
||||
provide('reload', reload)
|
||||
onMounted(async () => {
|
||||
// 获取配置
|
||||
const data = await store.dispatch('app/getConfig')
|
||||
console.log('data', data)
|
||||
// 设置网站logo
|
||||
let favicon: HTMLLinkElement = document.querySelector('link[rel="icon"]')!
|
||||
if (favicon) {
|
||||
favicon.href = data.webFavicon
|
||||
return
|
||||
}
|
||||
favicon = document.createElement('link')
|
||||
favicon.rel = 'icon'
|
||||
favicon.href = data.webFavicon
|
||||
document.head.appendChild(favicon)
|
||||
})
|
||||
return {
|
||||
routerAlive
|
||||
}
|
||||
<script setup lang="ts">
|
||||
import { useDark, useWindowSize, useThrottleFn } from '@vueuse/core'
|
||||
import zhCn from 'element-plus/lib/locale/lang/zh-cn'
|
||||
import useAppStore from './stores/modules/app'
|
||||
import useSettingStore from './stores/modules/setting'
|
||||
import { ScreenEnum } from './enums/appEnums'
|
||||
const appStore = useAppStore()
|
||||
const settingStore = useSettingStore()
|
||||
const elConfig = {
|
||||
zIndex: 3000,
|
||||
locale: zhCn
|
||||
}
|
||||
const isDark = useDark()
|
||||
onMounted(async () => {
|
||||
//设置主题色
|
||||
settingStore.setTheme(isDark.value)
|
||||
// 获取配置
|
||||
const data: any = await appStore.getConfig()
|
||||
// 设置网站logo
|
||||
let favicon: HTMLLinkElement = document.querySelector('link[rel="icon"]')!
|
||||
if (favicon) {
|
||||
favicon.href = data.webFavicon
|
||||
return
|
||||
}
|
||||
favicon = document.createElement('link')
|
||||
favicon.rel = 'icon'
|
||||
favicon.href = data.webFavicon
|
||||
document.head.appendChild(favicon)
|
||||
})
|
||||
|
||||
const { width } = useWindowSize()
|
||||
watch(
|
||||
width,
|
||||
useThrottleFn((value) => {
|
||||
if (value > ScreenEnum.SM) {
|
||||
appStore.setMobile(false)
|
||||
appStore.toggleCollapsed(false)
|
||||
} else {
|
||||
appStore.setMobile(true)
|
||||
appStore.toggleCollapsed(true)
|
||||
}
|
||||
if (value < ScreenEnum.MD) {
|
||||
appStore.toggleCollapsed(true)
|
||||
}
|
||||
}),
|
||||
{
|
||||
immediate: true
|
||||
}
|
||||
)
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "./assets/font/iconfont.css";
|
||||
@import "./styles/index.scss";
|
||||
</style>
|
||||
<template>
|
||||
<el-config-provider :locale="elConfig.locale" :z-index="elConfig.zIndex">
|
||||
<router-view />
|
||||
</el-config-provider>
|
||||
</template>
|
||||
|
||||
<style></style>
|
||||
|
||||
@@ -1,44 +1,11 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function apiFileCateAdd(params: any) {
|
||||
return request.post('/common/album/cateAdd', params)
|
||||
}
|
||||
|
||||
export function apiFileCateEdit(params: { id: number; name: string }) {
|
||||
return request.post('/common/album/cateRename', params)
|
||||
}
|
||||
|
||||
// 文件分类删除
|
||||
export function apiFileCateDelete(params: { id: number }) {
|
||||
return request.post('/common/album/cateDel', params)
|
||||
}
|
||||
|
||||
// 文件分类列表
|
||||
export function apiFileCateLists(params: any) {
|
||||
return request.get('/common/album/cateList', { params })
|
||||
}
|
||||
|
||||
// 文件列表
|
||||
export function apiFileList(params: any) {
|
||||
return request.get('/common/album/albumList', { params })
|
||||
}
|
||||
|
||||
// 文件删除
|
||||
export function apiFileDelete(params: { ids: any[] }) {
|
||||
return request.post('/common/album/albumDel', params)
|
||||
}
|
||||
|
||||
// 文件移动
|
||||
export function apiFileMove(params: { ids: any[]; cid: number }) {
|
||||
return request.post('/common/album/albumMove', params)
|
||||
}
|
||||
|
||||
// 文件重命名
|
||||
export function apiFileRename(params: { id: number; name: string }) {
|
||||
return request.post('/common/album/albumRename', params)
|
||||
}
|
||||
|
||||
// 配置
|
||||
export function apiConfig() {
|
||||
return request.get('/common/index/config')
|
||||
export function getConfig() {
|
||||
return request.get({ url: '/common/index/config' })
|
||||
}
|
||||
|
||||
// 工作台主页
|
||||
export function getWorkbench() {
|
||||
return request.get({ url: '/common/index/console' })
|
||||
}
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 短信通知列表
|
||||
export function apiNoticeLists(params: any) {
|
||||
return request.get('/notice.notice/settingLists', { params })
|
||||
}
|
||||
|
||||
// 短信通知详情
|
||||
export function apiNoticeDetail(params: any) {
|
||||
return request.get('/notice.notice/detail', { params })
|
||||
}
|
||||
|
||||
// 设置短信通知
|
||||
export function apiNoticeEdit(params: any) {
|
||||
return request.post('/notice.notice/set', params)
|
||||
}
|
||||
|
||||
// 短信设置列表
|
||||
export function apiSmsLists() {
|
||||
return request.get('/notice.sms_config/getConfig')
|
||||
}
|
||||
|
||||
// 短信设置详情
|
||||
export function apiSmsDetail(params: any) {
|
||||
return request.get('/notice.sms_config/detail', { params })
|
||||
}
|
||||
|
||||
// 设置短信通知
|
||||
export function apiSmsEdit(params: any) {
|
||||
return request.post('/notice.sms_config/setConfig', params)
|
||||
}
|
||||
69
admin/src/api/article.ts
Normal file
@@ -0,0 +1,69 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 文章分类列表
|
||||
export function articleCateLists(params?: any) {
|
||||
return request.get({ url: '/article/cate/list', params })
|
||||
}
|
||||
// 文章分类列表
|
||||
export function articleCateAll(params?: any) {
|
||||
return request.get({ url: '/article/cate/all', params })
|
||||
}
|
||||
|
||||
// 添加文章分类
|
||||
export function articleCateAdd(params: any) {
|
||||
return request.post({ url: '/article/cate/add', params })
|
||||
}
|
||||
|
||||
// 编辑文章分类
|
||||
export function articleCateEdit(params: any) {
|
||||
return request.post({ url: '/article/cate/edit', params })
|
||||
}
|
||||
|
||||
// 删除文章分类
|
||||
export function articleCateDelete(params: any) {
|
||||
return request.post({ url: '/article/cate/del', params })
|
||||
}
|
||||
|
||||
// 文章分类详情
|
||||
export function articleCateDetail(params: any) {
|
||||
return request.get({ url: '/article/cate/detail', params })
|
||||
}
|
||||
|
||||
// 文章分类状态
|
||||
export function articleCateStatus(params: any) {
|
||||
return request.post({ url: '/article/cate/change', params })
|
||||
}
|
||||
|
||||
// 文章列表
|
||||
export function articleLists(params?: any) {
|
||||
return request.get({ url: '/article/list', params })
|
||||
}
|
||||
// 文章列表
|
||||
export function articleAll(params?: any) {
|
||||
return request.get({ url: '/article/all', params })
|
||||
}
|
||||
|
||||
// 添加文章
|
||||
export function articleAdd(params: any) {
|
||||
return request.post({ url: '/article/add', params })
|
||||
}
|
||||
|
||||
// 编辑文章
|
||||
export function articleEdit(params: any) {
|
||||
return request.post({ url: '/article/edit', params })
|
||||
}
|
||||
|
||||
// 删除文章
|
||||
export function articleDelete(params: any) {
|
||||
return request.post({ url: '/article/del', params })
|
||||
}
|
||||
|
||||
// 文章详情
|
||||
export function articleDetail(params: any) {
|
||||
return request.get({ url: '/article/detail', params })
|
||||
}
|
||||
|
||||
// 文章分类状态
|
||||
export function articleStatus(params: any) {
|
||||
return request.post({ url: '/article/change', params })
|
||||
}
|
||||
@@ -1,83 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
import { terminal } from '@/config/app'
|
||||
|
||||
export function adminLists(params: any) {
|
||||
return request.get('/system/admin/list', { params })
|
||||
}
|
||||
|
||||
// 管理员添加
|
||||
export function apiAdminAdd(params: any) {
|
||||
return request.post('/system/admin/add', params)
|
||||
}
|
||||
|
||||
export function apiAdminEdit(params: any) {
|
||||
return request.post('/system/admin/edit', params)
|
||||
}
|
||||
|
||||
// 管理员删除
|
||||
export function apiAdminDelete(params: { id: number }) {
|
||||
return request.post('/system/admin/del', params)
|
||||
}
|
||||
|
||||
// 管理员详情
|
||||
export function apiAdminDetail(params: any) {
|
||||
return request.get('/system/admin/detail', { params })
|
||||
}
|
||||
|
||||
// 管理员状态
|
||||
export function apiAdminStatus(params: any) {
|
||||
return request.post('/system/admin/disable', params)
|
||||
}
|
||||
|
||||
/* 角色 */
|
||||
// 角色列表
|
||||
export function apiRoleLists(params: any) {
|
||||
return request.get('/system/role/list', { params })
|
||||
}
|
||||
// 添加角色
|
||||
export function apiRoleAdd(params: any) {
|
||||
return request.post('/system/role/add', { ...params })
|
||||
}
|
||||
// 编辑角色
|
||||
export function apiRoleEdit(params: any) {
|
||||
return request.post('/system/role/edit', { ...params })
|
||||
}
|
||||
// 删除角色
|
||||
export function apiRoleDel(params: any) {
|
||||
return request.post('/system/role/del', { ...params })
|
||||
}
|
||||
// 角色详情
|
||||
export function apiRoleDetail(params: any) {
|
||||
return request.get('/system/role/detail', { params })
|
||||
}
|
||||
|
||||
// 角色权限菜单
|
||||
export function apiConfigGetMenu() {
|
||||
return request.get('/system/menu/list')
|
||||
}
|
||||
|
||||
// 菜单路由
|
||||
export function apiConfigGetRoutes() {
|
||||
return request.get('/system/menu/route')
|
||||
}
|
||||
|
||||
/* 菜单 */
|
||||
// 菜单详情
|
||||
export function apiMenuDetail(params: any) {
|
||||
return request.get('/system/menu/detail', { params })
|
||||
}
|
||||
|
||||
// 新增菜单
|
||||
export function apiMenuAdd(params: any) {
|
||||
return request.post('/system/menu/add', params)
|
||||
}
|
||||
|
||||
// 编辑菜单
|
||||
export function apiMenuEdit(params: any) {
|
||||
return request.post('/system/menu/edit', params)
|
||||
}
|
||||
|
||||
// 删除菜单
|
||||
export function apiMenuDelete(params: { id: number }) {
|
||||
return request.post('/system/menu/del', params)
|
||||
}
|
||||
17
admin/src/api/channel/app_store.d.ts
vendored
@@ -1,17 +0,0 @@
|
||||
/** S APP设置 **/
|
||||
export interface AppSettings_Res {
|
||||
ios_download_url: string, // 苹果APP下载链接
|
||||
android_download_url: string, // 安卓APP下载链接
|
||||
download_title: string, // APP下载引导文案
|
||||
app_id: string, // 开放平台appid
|
||||
app_secret: string // 开放平台appSecrets
|
||||
}
|
||||
|
||||
export interface AppSettings_Req {
|
||||
ios_download_url: string, // 苹果APP下载链接
|
||||
android_download_url: string, // 安卓APP下载链接
|
||||
download_title: string, // APP下载引导文案
|
||||
app_id: string, // 开放平台appid
|
||||
app_secret: string // 开放平台appSecrets
|
||||
}
|
||||
/** E APP设置 **/
|
||||
@@ -1,11 +0,0 @@
|
||||
import request from "@/utils/request";
|
||||
import * as Interface from './channel/app_store.d.ts'
|
||||
|
||||
/** S APP设置 **/
|
||||
// 获取APP设置
|
||||
export const apiAppSettings = (): Promise<Interface.AppSettings_Res> =>
|
||||
request.get('/channel.app_setting/getConfig')
|
||||
// APP设置
|
||||
export const apiAppSettingsSet = (data: Interface.AppSettings_Req): Promise<any> =>
|
||||
request.post('/channel.app_setting/setConfig', data)
|
||||
/** E APP设置 **/
|
||||
11
admin/src/api/channel/h5.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// H5渠道配置保存
|
||||
export function setH5Config(params: any) {
|
||||
return request.post({ url: '/channel/h5/save', params })
|
||||
}
|
||||
|
||||
// H5渠道配置详情
|
||||
export function getH5Config() {
|
||||
return request.get({ url: '/channel/h5/detail' })
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
import request from "@/utils/request";
|
||||
|
||||
/** S H5设置 **/
|
||||
// 获取H5设置
|
||||
export const apiH5Settings = (): Promise<any> =>
|
||||
request.get('/channel.h5_setting/getConfig')
|
||||
// H5设置
|
||||
export const apiH5SettingsSet = (data: any): Promise<any> =>
|
||||
request.post('/channel.h5_setting/setConfig', data)
|
||||
/** E H5设置 **/
|
||||
@@ -1,10 +0,0 @@
|
||||
import request from "@/utils/request";
|
||||
|
||||
/** S 字节小程序设置 **/
|
||||
// 获取字节小程序设置
|
||||
export const apiToutiaoSetting = () =>
|
||||
request.get('/toutiao.toutiao_setting/getConfig')
|
||||
// 字节小程序设置
|
||||
export const apiToutiaoSettingSet = (data: any) =>
|
||||
request.post('/toutiao.toutiao_setting/setConfig', data)
|
||||
/** E 字节小程序设置 **/
|
||||
49
admin/src/api/channel/mp_wechat.d.ts
vendored
@@ -1,49 +0,0 @@
|
||||
import * as Common from '../common.d.ts'
|
||||
import {apiMpWeChatMenuSave} from "@/api/channel/mp_wechat";
|
||||
|
||||
/** S 渠道信息 **/
|
||||
export interface MPWeChatConfigInfo_Res extends Common.Indexes {
|
||||
name: string, // 公众号名称
|
||||
original_id: string, // 原始id
|
||||
qr_code: string, // 二维码
|
||||
app_id: string, // APP ID
|
||||
app_secret: string, // App Secret
|
||||
url: string, // URL
|
||||
token: string, // Token
|
||||
encoding_aes_key: string, // Encoding AES Key
|
||||
encryption_type: string, // 消息加密方式: 1-明文模式 2-兼容模式 3-安全模式
|
||||
business_domain: string, // 业务域名
|
||||
js_secure_domain: string, // JS接口安全域名
|
||||
web_auth_domain: string, // 网页授权域名
|
||||
}
|
||||
|
||||
export interface MPWeChatConfigEdit_Req {
|
||||
name?: string, // 公众号名称
|
||||
original_id?: string, // 原始id
|
||||
qr_code?: string, // 二维码
|
||||
app_id: string, // APP ID
|
||||
app_secret: string, // App Secret
|
||||
token?: string, // Token
|
||||
encoding_aes_key?: string, // Encoding AES Key
|
||||
encryption_type: string, // 消息加密方式: 1-明文模式 2-兼容模式 3-安全模式
|
||||
}
|
||||
|
||||
/** E 渠道信息 **/
|
||||
|
||||
|
||||
/** S 菜单配置 **/
|
||||
export interface MPWeChatMenu {
|
||||
name: string, // 菜单名称
|
||||
type: string, // 菜单类型:click-关键字;view-网页;miniprogram-小程序
|
||||
key?: string, // 关键字
|
||||
url?: string, // 网页URL
|
||||
appid?: string, // 小程序AppID
|
||||
pagepath?: string, // 小程序路径
|
||||
sub_button?: Array<MPWeChatMenu>, // 二级菜单
|
||||
}
|
||||
|
||||
export interface MPWeChatMenuSave_Req {
|
||||
menu: Array<MPWeChatMenu>
|
||||
}
|
||||
|
||||
/** E 菜单配置 **/
|
||||
@@ -1,60 +0,0 @@
|
||||
import request from "@/utils/request";
|
||||
import * as Interface from './mp_wechat.d.ts'
|
||||
|
||||
/** S 渠道设置 **/
|
||||
// 获取渠道信息
|
||||
export const apiMPWeChatConfigInfo = (): Promise<any> =>
|
||||
request.get('/channel.official_account_setting/getConfig')
|
||||
|
||||
// 编辑渠道信息
|
||||
export const apiMpWeChatConfigEdit = (params: Interface.MPWeChatConfigEdit_Req) =>
|
||||
request.post('/channel.official_account_setting/setConfig', params)
|
||||
|
||||
/** E 渠道设置 **/
|
||||
|
||||
|
||||
/** S 菜单设置 **/
|
||||
// 获取菜单详情
|
||||
export const apiMpWeChatMenuDetail = (): Promise<any> =>
|
||||
request.get('/channel.official_account_menu/detail')
|
||||
|
||||
// 保存菜单配置
|
||||
export const apiMpWeChatMenuSave = (params: any) =>
|
||||
request.post('/channel.official_account_menu/save', params)
|
||||
|
||||
// 发布菜单配置
|
||||
export const apiMpWeChatMenuPublish = (params: any) =>
|
||||
request.post('/channel.official_account_menu/saveAndPublish', params)
|
||||
/** E 菜单设置 **/
|
||||
|
||||
|
||||
/** S 回复管理 **/
|
||||
// 新增回复(关注/关词词/默认)
|
||||
export const apiMpWeChatReplyAdd = (params: any): Promise<any> =>
|
||||
request.post('/channel.official_account_reply/add', params)
|
||||
|
||||
// 编辑回复(关注/关键词/默认)
|
||||
export const apiMpWeChatReplyEdit = (params: any): Promise<any> =>
|
||||
request.post('/channel.official_account_reply/edit', params)
|
||||
|
||||
// 获取回复详情
|
||||
export const apiMpWeChatReplyDetail = (params: any): Promise<any> =>
|
||||
request.get('/channel.official_account_reply/detail', {params})
|
||||
|
||||
// 删除回复
|
||||
export const apiMpWeChatReplyDelete = (params: any): Promise<any> =>
|
||||
request.post('/channel.official_account_reply/delete', params)
|
||||
|
||||
// 更新排序
|
||||
export const apiMpWeChatReplySort = (params: any): Promise<any> =>
|
||||
request.post('/channel.official_account_reply/sort', params)
|
||||
|
||||
// 回复列表
|
||||
export const apiMpWeChatReplyLists = (params: any): Promise<any> =>
|
||||
request.get('/channel.official_account_reply/lists', {params})
|
||||
|
||||
// 回复列表
|
||||
export const apiMpWeChatReplyStatus = (params: any): Promise<any> =>
|
||||
request.post('/channel.official_account_reply/status', params)
|
||||
/** E 回复管理 **/
|
||||
|
||||
11
admin/src/api/channel/weapp.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 微信小程序配置保存
|
||||
export function setWeappConfig(params: any) {
|
||||
return request.post({ url: '/channel/mp/save', params })
|
||||
}
|
||||
|
||||
// 微信小程序配置详情
|
||||
export function getWeappConfig() {
|
||||
return request.get({ url: '/channel/mp/detail' })
|
||||
}
|
||||
32
admin/src/api/channel/wechat_app.d.ts
vendored
@@ -1,32 +0,0 @@
|
||||
/** S 微信小程序设置 **/
|
||||
export interface WechatMiniSetting_Res {
|
||||
name: string, // 小程序名称
|
||||
original_id: string, // 原始id
|
||||
qr_code: string, // 二维码
|
||||
app_id: string,
|
||||
app_secret: string,
|
||||
request_domain: string, // request合法域名
|
||||
socket_domain: string, // socket合法域名
|
||||
upload_file_domain: string, // uploadFile合法域名
|
||||
download_file_domain: string, // downloadFile合法域名
|
||||
udp_domain: string, // udp合法域名
|
||||
business_domain: string, // 业务域名
|
||||
url: string,
|
||||
token: string,
|
||||
encoding_aes_key: string,
|
||||
encryption_type: 1 | 2 | 3 , // 消息加密方式 1-明文模式 2-兼容模式 3-安全模式
|
||||
data_format: 1 | 2 // 数据格式 1-JSON 2-XML
|
||||
}
|
||||
|
||||
export interface WechatMiniSetting_Req {
|
||||
name: string, // 小程序名称
|
||||
original_id: string, // 原始id
|
||||
qr_code: string, // 二维码
|
||||
app_id: string,
|
||||
app_secret: string,
|
||||
token: string,
|
||||
encoding_aes_key: string,
|
||||
encryption_type: 1 | 2 | 3 , // 消息加密方式 1-明文模式 2-兼容模式 3-安全模式
|
||||
data_format: 1 | 2 // 数据格式 1-JSON 2-XML
|
||||
}
|
||||
/** E 微信小程序设置 **/
|
||||
@@ -1,11 +0,0 @@
|
||||
import request from "@/utils/request";
|
||||
import * as Interface from './wechat_app.d.ts'
|
||||
|
||||
/** S 微信小程序设置 **/
|
||||
// 获取微信小程序设置
|
||||
export const apiWechatMiniSetting = (): Promise<Interface.WechatMiniSetting_Res> =>
|
||||
request.get('/channel.mnp_settings/getConfig')
|
||||
// 微信小程序设置
|
||||
export const apiWechatMiniSettingSet = (data: Interface.WechatMiniSetting_Req): Promise<any> =>
|
||||
request.post('/channel.mnp_settings/setConfig', data)
|
||||
/** E 微信小程序设置 **/
|
||||
@@ -1,11 +0,0 @@
|
||||
import request from "@/utils/request";
|
||||
|
||||
/** S 微信公众平台设置 **/
|
||||
// 获取pc设置
|
||||
export const apiWechatPlatformGet = (): Promise<any> =>
|
||||
request.get('/channel.open_setting/getConfig')
|
||||
|
||||
// pc设置
|
||||
export const apiWechatPlatformSet = (data: any): Promise<any> =>
|
||||
request.post('/channel.open_setting/setConfig', data)
|
||||
/** E pc设置 **/
|
||||
11
admin/src/api/channel/wx_dev.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 微信开发平台配置保存
|
||||
export function setWxDevConfig(params: any) {
|
||||
return request.post({ url: '/channel/wx/save', params })
|
||||
}
|
||||
|
||||
// 微信开发平台配置详情
|
||||
export function getWxDevConfig() {
|
||||
return request.get({ url: '/channel/wx/detail' })
|
||||
}
|
||||
11
admin/src/api/channel/wx_oa.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 微信公众号配置保存
|
||||
export function setOaConfig(params: any) {
|
||||
return request.post({ url: '/channel/oa/save', params })
|
||||
}
|
||||
|
||||
// 微信公众号配置详情
|
||||
export function getOaConfig() {
|
||||
return request.get({ url: '/channel/oa/detail' })
|
||||
}
|
||||
16
admin/src/api/consumer.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 用户列表
|
||||
export function getUserList(params: any) {
|
||||
return request.get({ url: '/user/list', params })
|
||||
}
|
||||
|
||||
// 用户详情
|
||||
export function getUserDetail(params: any) {
|
||||
return request.get({ url: '/user/detail', params })
|
||||
}
|
||||
|
||||
// 用户编辑
|
||||
export function userEdit(params: any) {
|
||||
return request.post({ url: '/user/edit', params })
|
||||
}
|
||||
@@ -1,101 +1,21 @@
|
||||
/* 装修管理 */
|
||||
import request from '@/utils/request'
|
||||
|
||||
/* 首页装修 Start */
|
||||
// 列表
|
||||
export function apiHomeMenuLists() {
|
||||
return request.get('/decorate.menu/lists')
|
||||
// 页面装修详情
|
||||
export function getDecoratePages(params: any) {
|
||||
return request.get({ url: '/decorate/pages/detail', params }, { ignoreCancelToken: true })
|
||||
}
|
||||
|
||||
// 商城页面列表
|
||||
export function apiShowPage() {
|
||||
return request.get('/decorate.menu/shopPage')
|
||||
// 页面装修保存
|
||||
export function setDecoratePages(params: any) {
|
||||
return request.post({ url: '/decorate/pages/save', params })
|
||||
}
|
||||
|
||||
// 商品分类一级页面
|
||||
export function apiGoodsCategoryPage() {
|
||||
return request.get('/decorate.menu/goodsCategoryPage')
|
||||
// 底部导航详情
|
||||
export function getDecorateTabbar(params?: any) {
|
||||
return request.get({ url: '/decorate/tabbar/detail', params })
|
||||
}
|
||||
|
||||
// 详情
|
||||
export function apiHomeMenuDetail(params: any) {
|
||||
return request.get('/decorate.menu/detail', { params })
|
||||
// 底部导航保存
|
||||
export function setDecorateTabbar(params: any) {
|
||||
return request.post({ url: '/decorate/tabbar/save', params })
|
||||
}
|
||||
|
||||
// 添加
|
||||
export function apiHomeMenuAdd(params: any) {
|
||||
return request.post('/decorate.menu/add', params)
|
||||
}
|
||||
|
||||
// 编辑
|
||||
export function apiHomeMenuEdit(params: any) {
|
||||
return request.post('/decorate.menu/edit', params)
|
||||
}
|
||||
|
||||
// 状态
|
||||
export function apiHomeMenuStatusEdit(params: any) {
|
||||
return request.post('/decorate.menu/status', params)
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function apiHomeMenuDel(params: any) {
|
||||
return request.post('/decorate.menu/del', params)
|
||||
}
|
||||
|
||||
/* 首页装修 End */
|
||||
|
||||
/* 底部导航 Start */
|
||||
// 列表
|
||||
export function apiTabBarLists() {
|
||||
return request.get('/decorate.navigation/lists')
|
||||
}
|
||||
|
||||
// 详情
|
||||
export function apiTabBarDetail(params: any) {
|
||||
return request.get('/decorate.navigation/detail', { params })
|
||||
}
|
||||
|
||||
// 编辑
|
||||
export function apiTabBarEdit(params: any) {
|
||||
return request.post('/decorate.navigation/edit', params)
|
||||
}
|
||||
|
||||
/* 底部导航 End */
|
||||
|
||||
/* 广告管理 Start */
|
||||
// 列表
|
||||
export function apiAdLists(params: any) {
|
||||
return request.get('/ad.ad/lists', { params })
|
||||
}
|
||||
|
||||
// 广告位列表
|
||||
export function apiAdPositionLists() {
|
||||
return request.get('/ad.ad_position/lists')
|
||||
}
|
||||
|
||||
// 详情
|
||||
export function apiAdDetail(params: any) {
|
||||
return request.get('/ad.ad/detail', { params })
|
||||
}
|
||||
|
||||
// 添加
|
||||
export function apiAdAdd(params: any) {
|
||||
return request.post('/ad.ad/add', params)
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function apiAdDel(params: any) {
|
||||
return request.post('/ad.ad/del', params)
|
||||
}
|
||||
|
||||
// 状态修改
|
||||
export function apiAdEditStatus(params: any) {
|
||||
return request.post('/ad.ad/status', params)
|
||||
}
|
||||
|
||||
// 编辑
|
||||
export function apiAdEdit(params: any) {
|
||||
return request.post('/ad.ad/edit', params)
|
||||
}
|
||||
|
||||
/* 广告管理 End */
|
||||
|
||||
39
admin/src/api/file.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function fileCateAdd(params: Record<string, any>) {
|
||||
return request.post({ url: '/common/album/cateAdd', params })
|
||||
}
|
||||
|
||||
export function fileCateEdit(params: Record<string, any>) {
|
||||
return request.post({ url: '/common/album/cateRename', params })
|
||||
}
|
||||
|
||||
// 文件分类删除
|
||||
export function fileCateDelete(params: Record<string, any>) {
|
||||
return request.post({ url: '/common/album/cateDel', params })
|
||||
}
|
||||
|
||||
// 文件分类列表
|
||||
export function fileCateLists(params: Record<string, any>) {
|
||||
return request.get({ url: '/common/album/cateList', params })
|
||||
}
|
||||
|
||||
// 文件列表
|
||||
export function fileList(params: Record<string, any>) {
|
||||
return request.get({ url: '/common/album/albumList', params })
|
||||
}
|
||||
|
||||
// 文件删除
|
||||
export function fileDelete(params: Record<string, any>) {
|
||||
return request.post({ url: '/common/album/albumDel', params })
|
||||
}
|
||||
|
||||
// 文件移动
|
||||
export function fileMove(params: Record<string, any>) {
|
||||
return request.post({ url: '/common/album/albumMove', params })
|
||||
}
|
||||
|
||||
// 文件重命名
|
||||
export function fileRename(params: { id: number; name: string }) {
|
||||
return request.post({ url: '/common/album/albumRename', params })
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/** 资讯分类 Start **/
|
||||
// 列表
|
||||
export function apiArticleCategoryList(params: any) {
|
||||
return request.get('/article.articleCategory/lists', { params })
|
||||
}
|
||||
|
||||
// 添加
|
||||
export function apiArticleCategoryAdd(params: any) {
|
||||
return request.post('/article.articleCategory/add', params)
|
||||
}
|
||||
|
||||
// 编辑
|
||||
export function apiArticleCategoryEdit(params: any) {
|
||||
return request.post('/article.articleCategory/edit', params)
|
||||
}
|
||||
|
||||
// 详情
|
||||
export function apiArticleCategoryDetail(params: any) {
|
||||
return request.get('/article.articleCategory/detail', { params })
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function apiArticleCategoryDelete(params: any) {
|
||||
return request.post('/article.articleCategory/delete', params)
|
||||
}
|
||||
|
||||
// 状态
|
||||
export function apiArticleCategoryStatus(params: any) {
|
||||
return request.post('/article.articleCategory/updateStatus', params)
|
||||
}
|
||||
/** 资讯分类 End **/
|
||||
|
||||
/** 资讯列表 Start **/
|
||||
// 列表
|
||||
export function apiArticleList(params: any) {
|
||||
return request.get('/article.article/lists', { params })
|
||||
}
|
||||
|
||||
// 添加
|
||||
export function apiArticleAdd(params: any) {
|
||||
return request.post('/article.article/add', params)
|
||||
}
|
||||
|
||||
// 编辑
|
||||
export function apiArticleEdit(params: any) {
|
||||
return request.post('/article.article/edit', params)
|
||||
}
|
||||
|
||||
// 详情
|
||||
export function apiArticleDetail(params: any) {
|
||||
return request.get('/article.article/detail', { params })
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function apiArticleDelete(params: any) {
|
||||
return request.post('/article.article/delete', params)
|
||||
}
|
||||
|
||||
// 状态
|
||||
export function apiArticleStatus(params: any) {
|
||||
return request.post('/article.article/updateStatus', params)
|
||||
}
|
||||
|
||||
// 所有资讯分类
|
||||
export function apiAllArticleCategory() {
|
||||
return request.get('/article.articleCategory/selectArticleCategory')
|
||||
}
|
||||
/** 资讯列表 End **/
|
||||
31
admin/src/api/message.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 通知设置列表
|
||||
export function noticeLists(params: any) {
|
||||
return request.get({ url: '/setting/notice/list', params })
|
||||
}
|
||||
|
||||
// 通知设置详情
|
||||
export function noticeDetail(params: any) {
|
||||
return request.get({ url: '/setting/notice/detail', params })
|
||||
}
|
||||
|
||||
// 通知设置保存
|
||||
export function setNoticeConfig(params: any) {
|
||||
return request.post({ url: '/setting/notice/save', params })
|
||||
}
|
||||
|
||||
// 短信设置列表
|
||||
export function smsLists() {
|
||||
return request.get({ url: '/setting/sms/list' })
|
||||
}
|
||||
|
||||
// 短信设置详情
|
||||
export function smsDetail(params: any) {
|
||||
return request.get({ url: '/setting/sms/detail', params })
|
||||
}
|
||||
|
||||
// 短信设置保存
|
||||
export function setSmsConfig(params: any) {
|
||||
return request.post({ url: '/setting/sms/save', params })
|
||||
}
|
||||
26
admin/src/api/org/department.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 部门列表
|
||||
export function deptLists(params?: any) {
|
||||
return request.get({ url: '/system/dept/list', params })
|
||||
}
|
||||
|
||||
// 添加部门
|
||||
export function deptAdd(params: any) {
|
||||
return request.post({ url: '/system/dept/add', params })
|
||||
}
|
||||
|
||||
// 编辑部门
|
||||
export function deptEdit(params: any) {
|
||||
return request.post({ url: '/system/dept/edit', params })
|
||||
}
|
||||
|
||||
// 删除部门
|
||||
export function deptDelete(params: any) {
|
||||
return request.post({ url: '/system/dept/del', params })
|
||||
}
|
||||
|
||||
// 部门详情
|
||||
export function deptDetail(params?: any) {
|
||||
return request.get({ url: '/system/dept/detail', params })
|
||||
}
|
||||
30
admin/src/api/org/post.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 岗位列表
|
||||
export function postLists(params?: any) {
|
||||
return request.get({ url: '/system/post/list', params })
|
||||
}
|
||||
// 岗位列表
|
||||
export function postAll(params?: any) {
|
||||
return request.get({ url: '/system/post/all', params })
|
||||
}
|
||||
|
||||
// 添加岗位
|
||||
export function postAdd(params: any) {
|
||||
return request.post({ url: '/system/post/add', params })
|
||||
}
|
||||
|
||||
// 编辑岗位
|
||||
export function postEdit(params: any) {
|
||||
return request.post({ url: '/system/post/edit', params })
|
||||
}
|
||||
|
||||
// 删除岗位
|
||||
export function postDelete(params: any) {
|
||||
return request.post({ url: '/system/post/del', params })
|
||||
}
|
||||
|
||||
// 岗位详情
|
||||
export function postDetail(params: any) {
|
||||
return request.get({ url: '/system/post/detail', params })
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
/** 部门 S **/
|
||||
// 部门列表
|
||||
export function apiDeptLists(params: any) {
|
||||
return request.get('/system/dept/list', { params })
|
||||
}
|
||||
|
||||
// 添加部门
|
||||
export function apiDeptAdd(params: any) {
|
||||
return request.post('/system/dept/add', params)
|
||||
}
|
||||
|
||||
// 编辑部门
|
||||
export function apiDeptEdit(params: any) {
|
||||
return request.post('/system/dept/edit', params)
|
||||
}
|
||||
|
||||
// 删除部门
|
||||
export function apiDeptDelete(params: any) {
|
||||
return request.post('/system/dept/del', params)
|
||||
}
|
||||
|
||||
// 部门详情
|
||||
export function apiDeptDetail(params: any) {
|
||||
return request.get('/system/dept/detail', { params })
|
||||
}
|
||||
|
||||
// 所有部门
|
||||
export function apiDeptAll(params: any) {
|
||||
return request.get('/system/dept/all', { params })
|
||||
}
|
||||
/** 部门 E **/
|
||||
|
||||
/** 岗位 S **/
|
||||
// 岗位列表
|
||||
export function apiPostLists(params: any) {
|
||||
return request.get('/system/post/list', { params })
|
||||
}
|
||||
|
||||
// 添加岗位
|
||||
export function apiPostAdd(params: any) {
|
||||
return request.post('/system/post/add', params)
|
||||
}
|
||||
|
||||
// 编辑岗位
|
||||
export function apiPostEdit(params: any) {
|
||||
return request.post('/system/post/edit', params)
|
||||
}
|
||||
|
||||
// 删除岗位
|
||||
export function apiPostDelete(params: any) {
|
||||
return request.post('/system/post/del', params)
|
||||
}
|
||||
|
||||
// 岗位详情
|
||||
export function apiPostDetail(params: any) {
|
||||
return request.get('/system/post/detail', { params })
|
||||
}
|
||||
|
||||
// 所有岗位
|
||||
export function apiPostAll(params: any) {
|
||||
return request.get('/system/post/all', { params })
|
||||
}
|
||||
/** 岗位 E **/
|
||||
31
admin/src/api/perms/admin.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 管理员列表
|
||||
export function adminLists(params: any) {
|
||||
return request.get({ url: '/system/admin/list', params })
|
||||
}
|
||||
|
||||
// 管理员添加
|
||||
export function adminAdd(params: any) {
|
||||
return request.post({ url: '/system/admin/add', params })
|
||||
}
|
||||
|
||||
// 管理员编辑
|
||||
export function adminDetail(params: any) {
|
||||
return request.get({ url: '/system/admin/detail', params })
|
||||
}
|
||||
|
||||
// 管理员编辑
|
||||
export function adminEdit(params: any) {
|
||||
return request.post({ url: '/system/admin/edit', params })
|
||||
}
|
||||
|
||||
// 管理员删除
|
||||
export function adminDelete(params: any) {
|
||||
return request.post({ url: '/system/admin/del', params })
|
||||
}
|
||||
|
||||
// 管理员删除
|
||||
export function adminStatus(params: any) {
|
||||
return request.post({ url: '/system/admin/disable', params })
|
||||
}
|
||||
26
admin/src/api/perms/menu.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 菜单列表
|
||||
export function menuLists(params?: Record<string, any>) {
|
||||
return request.get({ url: '/system/menu/list', params })
|
||||
}
|
||||
|
||||
// 添加菜单
|
||||
export function menuAdd(params: Record<string, any>) {
|
||||
return request.post({ url: '/system/menu/add', params })
|
||||
}
|
||||
|
||||
// 编辑菜单
|
||||
export function menuEdit(params: Record<string, any>) {
|
||||
return request.post({ url: '/system/menu/edit', params })
|
||||
}
|
||||
|
||||
// 菜单删除
|
||||
export function menuDelete(params: Record<string, any>) {
|
||||
return request.post({ url: '/system/menu/del', params })
|
||||
}
|
||||
|
||||
// 菜单删除
|
||||
export function menuDetail(params: Record<string, any>) {
|
||||
return request.get({ url: '/system/menu/detail', params })
|
||||
}
|
||||
29
admin/src/api/perms/role.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 角色列表
|
||||
export function roleLists(params: any) {
|
||||
return request.get({ url: '/system/role/list', params })
|
||||
}
|
||||
|
||||
// 角色列表
|
||||
export function roleAll(params?: any) {
|
||||
return request.get({ url: '/system/role/all', params })
|
||||
}
|
||||
|
||||
// 角色列表
|
||||
export function roleDetail(params: any) {
|
||||
return request.get({ url: '/system/role/detail', params })
|
||||
}
|
||||
|
||||
// 添加角色
|
||||
export function roleAdd(params: any) {
|
||||
return request.post({ url: '/system/role/add', params })
|
||||
}
|
||||
// 编辑角色
|
||||
export function roleEdit(params: any) {
|
||||
return request.post({ url: '/system/role/edit', params })
|
||||
}
|
||||
// 删除角色
|
||||
export function roleDelete(params: any) {
|
||||
return request.post({ url: '/system/role/del', params })
|
||||
}
|
||||
@@ -1,107 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取备案信息
|
||||
export function apiGetCopyright() {
|
||||
return request.get('/setting/basics/getCopyright')
|
||||
}
|
||||
// 设置备案信息
|
||||
export function apiSetCopyright(params: any) {
|
||||
return request.post('/setting/basics/setCopyright', { ...params })
|
||||
}
|
||||
|
||||
// 获取网站信息
|
||||
export function apiGetWebsite() {
|
||||
return request.get('/setting/basics/getWebsite')
|
||||
}
|
||||
// 设置网站信息
|
||||
export function apiSetWebsite(params: any) {
|
||||
return request.post('/setting/basics/setWebsite', { ...params })
|
||||
}
|
||||
|
||||
// 获取政策协议
|
||||
export function apiGetProtocol() {
|
||||
return request.get('/setting.web.web_setting/getAgreement')
|
||||
}
|
||||
// 设置政策协议
|
||||
export function apiSetProtocol(params: any) {
|
||||
return request.post('/setting.web.web_setting/setAgreement', params)
|
||||
}
|
||||
|
||||
// 获取系统环境
|
||||
export function apiSystemInfo() {
|
||||
return request.get('/monitor/server')
|
||||
}
|
||||
|
||||
/** S 在线客服 **/
|
||||
// 获取客服设置
|
||||
export const apiCustomerServiceGetConfig = (): Promise<any> =>
|
||||
request.get('/setting.customer_service/getConfig')
|
||||
|
||||
// 设置客服设置
|
||||
export const apiCustomerServiceSetConfig = (params: any): Promise<any> =>
|
||||
request.post('/setting.customer_service/setConfig', params)
|
||||
/** E 在线客服 **/
|
||||
|
||||
/** S 用户设置 **/
|
||||
// 获取用户设置
|
||||
export function apiUserConfigGet() {
|
||||
return request.get('/setting.user.user/getConfig')
|
||||
}
|
||||
|
||||
// 用户设置
|
||||
export function apiUserConfigSet(params: any) {
|
||||
return request.post('/setting.user.user/setConfig', params)
|
||||
}
|
||||
|
||||
// 获取登录注册设置
|
||||
export function apiLoginConfigGet() {
|
||||
return request.get('/setting.user.user/getRegisterConfig')
|
||||
}
|
||||
|
||||
// 登录注册设置
|
||||
export function apiLoginConfigSet(params: any) {
|
||||
return request.post('/setting.user.user/setRegisterConfig', params)
|
||||
}
|
||||
/** E 用户设置 **/
|
||||
|
||||
// 获取系统日志列表
|
||||
export function apiSystemLogLists(params: any) {
|
||||
return request.get('/system/log/operate', { params })
|
||||
}
|
||||
|
||||
// 系统缓存
|
||||
export function apiSystemCache(params: any) {
|
||||
return request.get('/monitor/cache', { params })
|
||||
}
|
||||
|
||||
// 编辑管理员信息
|
||||
export function apiAuthAdminEditSelf(params: any) {
|
||||
return request.post('/auth.admin/editSelf', params)
|
||||
}
|
||||
|
||||
// 获取管理员信息
|
||||
export function apiAuthAdminMySelf() {
|
||||
return request.post('/auth.admin/mySelf')
|
||||
}
|
||||
|
||||
/** S 存储设置 **/
|
||||
// 存储列表
|
||||
export function apiStorageLists() {
|
||||
return request.get('/setting/storage/list')
|
||||
}
|
||||
|
||||
// 存储切换
|
||||
export function apiStorageChange(params: any) {
|
||||
return request.post('/setting/storage/change', params)
|
||||
}
|
||||
|
||||
// 存储详情
|
||||
export function apiStorageDetail(params: any) {
|
||||
return request.get('/setting/storage/detail', { params })
|
||||
}
|
||||
|
||||
// 存储配置
|
||||
export function apiStorageEdit(params: any) {
|
||||
return request.post('/setting/storage/edit', params)
|
||||
}
|
||||
/** E 存储设置 **/
|
||||
61
admin/src/api/setting/dict.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 字典类型列表
|
||||
export function dictTypeLists(params?: any) {
|
||||
return request.get({ url: '/setting/dict/type/list', params })
|
||||
}
|
||||
|
||||
// 字典类型列表
|
||||
export function dictTypeAll(params?: any) {
|
||||
return request.get({ url: '/setting/dict/type/all', params })
|
||||
}
|
||||
|
||||
// 添加字典类型
|
||||
export function dictTypeAdd(params: any) {
|
||||
return request.post({ url: '/setting/dict/type/add', params })
|
||||
}
|
||||
|
||||
// 编辑字典类型
|
||||
export function dictTypeEdit(params: any) {
|
||||
return request.post({ url: '/setting/dict/type/edit', params })
|
||||
}
|
||||
|
||||
// 删除字典类型
|
||||
export function dictTypeDelete(params: any) {
|
||||
return request.post({ url: '/setting/dict/type/del', params })
|
||||
}
|
||||
|
||||
// 字典数据列表
|
||||
export function dictDataLists(params: any) {
|
||||
return request.get(
|
||||
{ url: '/setting/dict/data/list', params },
|
||||
{
|
||||
ignoreCancelToken: true
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
// 字典数据列表
|
||||
export function dictDataAll(params: any) {
|
||||
return request.get(
|
||||
{ url: '/setting/dict/data/all', params },
|
||||
{
|
||||
ignoreCancelToken: true
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
// 添加字典数据
|
||||
export function dictDataAdd(params: any) {
|
||||
return request.post({ url: '/setting/dict/data/add', params })
|
||||
}
|
||||
|
||||
// 编辑字典数据
|
||||
export function dictDataEdit(params: any) {
|
||||
return request.post({ url: '/setting/dict/data/edit', params })
|
||||
}
|
||||
|
||||
// 删除字典数据
|
||||
export function dictDataDelete(params: any) {
|
||||
return request.post({ url: '/setting/dict/data/del', params })
|
||||
}
|
||||
29
admin/src/api/setting/search.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @description 获取热门搜索数据
|
||||
*/
|
||||
export function getSearch() {
|
||||
return request.get({ url: '/setting/search/detail' })
|
||||
}
|
||||
|
||||
export interface List {
|
||||
name: string // 搜索关键字
|
||||
sort: number // 热门搜索排序
|
||||
}
|
||||
|
||||
export interface Search {
|
||||
isHotSearch: number // 是否开启搜索0/1
|
||||
list: List[]
|
||||
}
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @param { Search } Search
|
||||
* @description 设置热门搜索
|
||||
*/
|
||||
export function setSearch(params: Search) {
|
||||
return request.post({ url: '/setting/search/save', params })
|
||||
}
|
||||
|
||||
|
||||
21
admin/src/api/setting/storage.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取存储引擎列表
|
||||
export function storageLists() {
|
||||
return request.get({ url: '/setting/storage/list' })
|
||||
}
|
||||
|
||||
// 设置存储引擎信息
|
||||
export function storageChange(params: any) {
|
||||
return request.post({ url: '/setting/storage/change', params })
|
||||
}
|
||||
|
||||
// 设置存储引擎信息
|
||||
export function storageSetup(params: any) {
|
||||
return request.post({ url: '/setting/storage/edit', params })
|
||||
}
|
||||
|
||||
// 获取存储配置信息
|
||||
export function storageDetail(params: any) {
|
||||
return request.get({ url: '/setting/storage/detail', params })
|
||||
}
|
||||
16
admin/src/api/setting/system.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取系统环境
|
||||
export function systemInfo() {
|
||||
return request.get({ url: '/monitor/server' })
|
||||
}
|
||||
|
||||
// 获取系统日志列表
|
||||
export function systemLogLists(params: any) {
|
||||
return request.get({ url: '/system/log/operate', params })
|
||||
}
|
||||
|
||||
// 系统缓存监控
|
||||
export function systemCache() {
|
||||
return request.get({ url: '/monitor/cache' })
|
||||
}
|
||||
45
admin/src/api/setting/user.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @description 获取用户设置
|
||||
*/
|
||||
export function getUserSetup() {
|
||||
return request.get({ url: '/setting/user/detail' })
|
||||
}
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @param { string } defaultAvatar 默认用户头像
|
||||
* @description 设置用户设置
|
||||
*/
|
||||
export function setUserSetup(params: { defaultAvatar: string }) {
|
||||
return request.post({ url: '/setting/user/save', params })
|
||||
}
|
||||
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @description 设置登录注册规则
|
||||
*/
|
||||
export function getLogin() {
|
||||
return request.get({ url: '/setting/login/detail' })
|
||||
}
|
||||
|
||||
|
||||
export interface LoginSetup {
|
||||
loginWay: number[] | any // 登录方式, 逗号隔开
|
||||
forceBindMobile: number // 强制绑定手机 0/1
|
||||
openAgreement: number // 是否开启协议 0/1
|
||||
openOtherAuth: number // 第三方登录 0/1
|
||||
autoLoginAuth: number[] | any // 第三方自动登录 逗号隔开
|
||||
}
|
||||
/**
|
||||
* @return { Promise }
|
||||
* @param { LoginSetup } LoginSetup
|
||||
* @description 设置登录注册规则
|
||||
*/
|
||||
export function setLogin(params: LoginSetup) {
|
||||
return request.post({ url: '/setting/login/save', params })
|
||||
}
|
||||
|
||||
|
||||
27
admin/src/api/setting/website.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取备案信息
|
||||
export function getCopyright() {
|
||||
return request.get({ url: '/setting/copyright/detail' })
|
||||
}
|
||||
// 设置备案信息
|
||||
export function setCopyright(params: any) {
|
||||
return request.post({ url: '/setting/copyright/save', params })
|
||||
}
|
||||
// 获取网站信息
|
||||
export function getWebsite() {
|
||||
return request.get({ url: '/setting/website/detail' })
|
||||
}
|
||||
// 设置网站信息
|
||||
export function setWebsite(params: any) {
|
||||
return request.post({ url: '/setting/website/save', params })
|
||||
}
|
||||
|
||||
// 获取政策协议
|
||||
export function getProtocol() {
|
||||
return request.get({ url: '/setting/protocol/detail' })
|
||||
}
|
||||
// 设置政策协议
|
||||
export function setProtocol(params: any) {
|
||||
return request.post({ url: '/setting/protocol/save', params })
|
||||
}
|
||||
66
admin/src/api/tools/code.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 代码生成已选数据表列表接口
|
||||
export function generateTable(params: any) {
|
||||
return request.get({ url: '/gen/list', params })
|
||||
}
|
||||
|
||||
// 数据表列表接口
|
||||
export function dataTable(params: any) {
|
||||
return request.get({ url: '/gen/db', params })
|
||||
}
|
||||
|
||||
//选择要生成代码的数据表
|
||||
export function selectTable(params: any) {
|
||||
return request.post(
|
||||
{ url: '/gen/importTable', params },
|
||||
{
|
||||
isParamsToData: false
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
// 已选择的数据表详情
|
||||
export function tableDetail(params: any) {
|
||||
return request.get({ url: '/gen/detail', params })
|
||||
}
|
||||
|
||||
//同步字段
|
||||
export function syncColumn(params: any) {
|
||||
return request.post(
|
||||
{ url: '/gen/syncTable', params },
|
||||
{
|
||||
isParamsToData: false
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
//删除已选择的数据表
|
||||
export function generateDelete(params: any) {
|
||||
return request.post({ url: '/gen/delTable', params })
|
||||
}
|
||||
|
||||
//编辑已选表字段
|
||||
export function generateEdit(params: any) {
|
||||
return request.post({ url: '/gen/editTable', params })
|
||||
}
|
||||
|
||||
//预览代码
|
||||
export function generatePreview(params: any) {
|
||||
return request.get({ url: '/gen/previewCode', params })
|
||||
}
|
||||
|
||||
//生成代码
|
||||
export function generateCode(params: any) {
|
||||
return request.get({ url: '/gen/genCode', params })
|
||||
}
|
||||
|
||||
//下载代码
|
||||
export function downloadCode(params: any) {
|
||||
return request.get(
|
||||
{ responseType: 'blob', url: '/gen/downloadCode', params },
|
||||
{
|
||||
isTransformResponse: false
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -1,20 +1,27 @@
|
||||
import config from '@/config'
|
||||
import request from '@/utils/request'
|
||||
import { terminal } from '@/config/app'
|
||||
|
||||
// 登录
|
||||
export function apiLogin(params: { username: string; password: string }) {
|
||||
return request.post('/system/login', { ...params, terminal })
|
||||
export function login(params: Record<string, any>) {
|
||||
return request.post({ url: '/system/login', params: { ...params, terminal: config.terminal } })
|
||||
}
|
||||
|
||||
// 退出登录
|
||||
export function apiLogout() {
|
||||
return request.post('/system/logout')
|
||||
export function logout() {
|
||||
return request.post({ url: '/system/logout' })
|
||||
}
|
||||
|
||||
// 用户信息
|
||||
export function apiUserInfo() {
|
||||
return request.get('/system/admin/self')
|
||||
export function getUserInfo() {
|
||||
return request.get({ url: '/system/admin/self' })
|
||||
}
|
||||
export function apiAdminUpInfo(params: any) {
|
||||
return request.post('/system/admin/upInfo', params)
|
||||
|
||||
// 菜单路由
|
||||
export function getMenu() {
|
||||
return request.get({ url: '/system/menu/route' })
|
||||
}
|
||||
|
||||
// 编辑管理员信息
|
||||
export function setUserInfo(params: any) {
|
||||
return request.post({ url: '/system/admin/upInfo', params })
|
||||
}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 工作台主页
|
||||
export function apiWorkbench() {
|
||||
return request.get('/common/index/console')
|
||||
}
|
||||
@@ -1,536 +0,0 @@
|
||||
/* Logo 字体 */
|
||||
@font-face {
|
||||
font-family: 'iconfont logo';
|
||||
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
|
||||
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
|
||||
}
|
||||
|
||||
.logo {
|
||||
font-family: 'iconfont logo';
|
||||
font-size: 160px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* tabs */
|
||||
.nav-tabs {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-more {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#tabs {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
#tabs li {
|
||||
cursor: pointer;
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
border-bottom: 2px solid transparent;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
margin-bottom: -1px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#tabs .active {
|
||||
border-bottom-color: #f00;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.tab-container .content {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 页面布局 */
|
||||
.main {
|
||||
padding: 30px 100px;
|
||||
width: 960px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.main .logo {
|
||||
color: #333;
|
||||
text-align: left;
|
||||
margin-bottom: 30px;
|
||||
line-height: 1;
|
||||
height: 110px;
|
||||
margin-top: -50px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.main .logo a {
|
||||
font-size: 160px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.helps {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.helps pre {
|
||||
padding: 20px;
|
||||
margin: 10px 0;
|
||||
border: solid 1px #e7e1cd;
|
||||
background-color: #fffdef;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.icon_lists {
|
||||
width: 100% !important;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.icon_lists li {
|
||||
width: 100px;
|
||||
margin-bottom: 10px;
|
||||
margin-right: 20px;
|
||||
text-align: center;
|
||||
list-style: none !important;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.icon_lists li .code-name {
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.icon_lists .icon {
|
||||
display: block;
|
||||
height: 100px;
|
||||
line-height: 100px;
|
||||
font-size: 42px;
|
||||
margin: 10px auto;
|
||||
color: #333;
|
||||
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
|
||||
-moz-transition: font-size 0.25s linear, width 0.25s linear;
|
||||
transition: font-size 0.25s linear, width 0.25s linear;
|
||||
}
|
||||
|
||||
.icon_lists .icon:hover {
|
||||
font-size: 100px;
|
||||
}
|
||||
|
||||
.icon_lists .svg-icon {
|
||||
/* 通过设置 font-size 来改变图标大小 */
|
||||
width: 1em;
|
||||
/* 图标和文字相邻时,垂直对齐 */
|
||||
vertical-align: -0.15em;
|
||||
/* 通过设置 color 来改变 SVG 的颜色/fill */
|
||||
fill: currentColor;
|
||||
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
|
||||
normalize.css 中也包含这行 */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.icon_lists li .name,
|
||||
.icon_lists li .code-name {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* markdown 样式 */
|
||||
.markdown {
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.markdown img {
|
||||
vertical-align: middle;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
color: #404040;
|
||||
font-weight: 500;
|
||||
line-height: 40px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown h2,
|
||||
.markdown h3,
|
||||
.markdown h4,
|
||||
.markdown h5,
|
||||
.markdown h6 {
|
||||
color: #404040;
|
||||
margin: 1.6em 0 0.6em 0;
|
||||
font-weight: 500;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.markdown h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.markdown h3 {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.markdown h4 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.markdown h5 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown h6 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown hr {
|
||||
height: 1px;
|
||||
border: 0;
|
||||
background: #e9e9e9;
|
||||
margin: 16px 0;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.markdown > p,
|
||||
.markdown > blockquote,
|
||||
.markdown > .highlight,
|
||||
.markdown > ol,
|
||||
.markdown > ul {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.markdown ul > li {
|
||||
list-style: circle;
|
||||
}
|
||||
|
||||
.markdown > ul li,
|
||||
.markdown blockquote ul > li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown > ul li p,
|
||||
.markdown > ol li p {
|
||||
margin: 0.6em 0;
|
||||
}
|
||||
|
||||
.markdown ol > li {
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
.markdown > ol li,
|
||||
.markdown blockquote ol > li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown code {
|
||||
margin: 0 3px;
|
||||
padding: 0 5px;
|
||||
background: #eee;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.markdown strong,
|
||||
.markdown b {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown > table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0px;
|
||||
empty-cells: show;
|
||||
border: 1px solid #e9e9e9;
|
||||
width: 95%;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown > table th {
|
||||
white-space: nowrap;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown > table th,
|
||||
.markdown > table td {
|
||||
border: 1px solid #e9e9e9;
|
||||
padding: 8px 16px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.markdown > table th {
|
||||
background: #f7f7f7;
|
||||
}
|
||||
|
||||
.markdown blockquote {
|
||||
font-size: 90%;
|
||||
color: #999;
|
||||
border-left: 4px solid #e9e9e9;
|
||||
padding-left: 0.8em;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.markdown blockquote p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.markdown .anchor {
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.markdown .waiting {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.markdown h1:hover .anchor,
|
||||
.markdown h2:hover .anchor,
|
||||
.markdown h3:hover .anchor,
|
||||
.markdown h4:hover .anchor,
|
||||
.markdown h5:hover .anchor,
|
||||
.markdown h6:hover .anchor {
|
||||
opacity: 1;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.markdown > br,
|
||||
.markdown > p > br {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
background: white;
|
||||
padding: 0.5em;
|
||||
color: #333333;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-meta {
|
||||
color: #969896;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-strong,
|
||||
.hljs-emphasis,
|
||||
.hljs-quote {
|
||||
color: #df5000;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-type {
|
||||
color: #a71d5d;
|
||||
}
|
||||
|
||||
.hljs-literal,
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-attribute {
|
||||
color: #0086b3;
|
||||
}
|
||||
|
||||
.hljs-section,
|
||||
.hljs-name {
|
||||
color: #63a35c;
|
||||
}
|
||||
|
||||
.hljs-tag {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-attr,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo {
|
||||
color: #795da3;
|
||||
}
|
||||
|
||||
.hljs-addition {
|
||||
color: #55a532;
|
||||
background-color: #eaffea;
|
||||
}
|
||||
|
||||
.hljs-deletion {
|
||||
color: #bd2c00;
|
||||
background-color: #ffecec;
|
||||
}
|
||||
|
||||
.hljs-link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* 代码高亮 */
|
||||
/* PrismJS 1.15.0
|
||||
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
|
||||
/**
|
||||
* prism.js default theme for JavaScript, CSS and HTML
|
||||
* Based on dabblet (http://dabblet.com)
|
||||
* @author Lea Verou
|
||||
*/
|
||||
code[class*='language-'],
|
||||
pre[class*='language-'] {
|
||||
color: black;
|
||||
background: none;
|
||||
text-shadow: 0 1px white;
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
line-height: 1.5;
|
||||
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
pre[class*='language-']::-moz-selection,
|
||||
pre[class*='language-'] ::-moz-selection,
|
||||
code[class*='language-']::-moz-selection,
|
||||
code[class*='language-'] ::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
pre[class*='language-']::selection,
|
||||
pre[class*='language-'] ::selection,
|
||||
code[class*='language-']::selection,
|
||||
code[class*='language-'] ::selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
@media print {
|
||||
code[class*='language-'],
|
||||
pre[class*='language-'] {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*='language-'] {
|
||||
padding: 1em;
|
||||
margin: 0.5em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
:not(pre) > code[class*='language-'],
|
||||
pre[class*='language-'] {
|
||||
background: #f5f2f0;
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre) > code[class*='language-'] {
|
||||
padding: 0.1em;
|
||||
border-radius: 0.3em;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: slategray;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.namespace {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
.token.tag,
|
||||
.token.boolean,
|
||||
.token.number,
|
||||
.token.constant,
|
||||
.token.symbol,
|
||||
.token.deleted {
|
||||
color: #905;
|
||||
}
|
||||
|
||||
.token.selector,
|
||||
.token.attr-name,
|
||||
.token.string,
|
||||
.token.char,
|
||||
.token.builtin,
|
||||
.token.inserted {
|
||||
color: #690;
|
||||
}
|
||||
|
||||
.token.operator,
|
||||
.token.entity,
|
||||
.token.url,
|
||||
.language-css .token.string,
|
||||
.style .token.string {
|
||||
color: #9a6e3a;
|
||||
background: hsla(0, 0%, 100%, 0.5);
|
||||
}
|
||||
|
||||
.token.atrule,
|
||||
.token.attr-value,
|
||||
.token.keyword {
|
||||
color: #07a;
|
||||
}
|
||||
|
||||
.token.function,
|
||||
.token.class-name {
|
||||
color: #dd4a68;
|
||||
}
|
||||
|
||||
.token.regex,
|
||||
.token.important,
|
||||
.token.variable {
|
||||
color: #e90;
|
||||
}
|
||||
|
||||
.token.important,
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
}
|
||||
@@ -1,365 +0,0 @@
|
||||
@font-face {
|
||||
font-family: 'iconfont'; /* Project id 2786219 */
|
||||
src: url('iconfont.woff2?t=1638503419755') format('woff2'), url('iconfont.woff?t=1638503419755') format('woff'),
|
||||
url('iconfont.ttf?t=1638503419755') format('truetype');
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
font-family: 'iconfont' !important;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon_kdzs_mdsz:before {
|
||||
content: '\e7c2';
|
||||
}
|
||||
|
||||
.icon_xpdy_mbgl:before {
|
||||
content: '\e6f9';
|
||||
}
|
||||
|
||||
.icon_xcxzb_zb:before {
|
||||
content: '\e701';
|
||||
}
|
||||
|
||||
.icon_xycj_cj:before {
|
||||
content: '\e752';
|
||||
}
|
||||
|
||||
.icon_kdzs_fjrmb:before {
|
||||
content: '\e75a';
|
||||
}
|
||||
|
||||
.operation:before {
|
||||
content: '\e75c';
|
||||
}
|
||||
|
||||
.icon_pcshop:before {
|
||||
content: '\e75d';
|
||||
}
|
||||
|
||||
.icon_xpdy_dyjgl:before {
|
||||
content: '\e75e';
|
||||
}
|
||||
|
||||
.icon_kdzs_pldy:before {
|
||||
content: '\e772';
|
||||
}
|
||||
|
||||
.icon_kdzs_mdmb:before {
|
||||
content: '\e7cc';
|
||||
}
|
||||
|
||||
.icon_qudao_h5:before {
|
||||
content: '\e753';
|
||||
}
|
||||
|
||||
.icon_fenxiao_goods:before {
|
||||
content: '\e75b';
|
||||
}
|
||||
|
||||
.icon_kanjia:before {
|
||||
content: '\e6d1';
|
||||
}
|
||||
|
||||
.icon_hexiao_order:before {
|
||||
content: '\e7b4';
|
||||
}
|
||||
|
||||
.icon_pintuan:before {
|
||||
content: '\e7cf';
|
||||
}
|
||||
|
||||
.carryout:before {
|
||||
content: '\e7d3';
|
||||
}
|
||||
|
||||
.icon_qiandao_jilu:before {
|
||||
content: '\e7d4';
|
||||
}
|
||||
|
||||
.icon_notice:before {
|
||||
content: '\e7da';
|
||||
}
|
||||
|
||||
.icon_notice_mail:before {
|
||||
content: '\e7de';
|
||||
}
|
||||
|
||||
.gift:before {
|
||||
content: '\e842';
|
||||
}
|
||||
|
||||
.icon_notice_buyer:before {
|
||||
content: '\e8e8';
|
||||
}
|
||||
|
||||
.Field-time:before {
|
||||
content: '\e90e';
|
||||
}
|
||||
|
||||
.icon_hexiao_member2:before {
|
||||
content: '\e747';
|
||||
}
|
||||
|
||||
.icon_coupons:before {
|
||||
content: '\e74a';
|
||||
}
|
||||
|
||||
.icon_coupons_data:before {
|
||||
content: '\e74b';
|
||||
}
|
||||
|
||||
.icon_fenxiao_member:before {
|
||||
content: '\e74c';
|
||||
}
|
||||
|
||||
.icon_qiandao_guize:before {
|
||||
content: '\e751';
|
||||
}
|
||||
|
||||
.icon_pintuan2:before {
|
||||
content: '\e759';
|
||||
}
|
||||
|
||||
.icon_notice_seller:before {
|
||||
content: '\e76a';
|
||||
}
|
||||
|
||||
.icon_pintuan_data:before {
|
||||
content: '\e76b';
|
||||
}
|
||||
|
||||
.icon_fenxiao_data:before {
|
||||
content: '\e76c';
|
||||
}
|
||||
|
||||
.icon_ziti_store:before {
|
||||
content: '\e76f';
|
||||
}
|
||||
|
||||
.wallet:before {
|
||||
content: '\e774';
|
||||
}
|
||||
|
||||
.icon_kefu_comments:before {
|
||||
content: '\e7b2';
|
||||
}
|
||||
|
||||
.tradingdata:before {
|
||||
content: '\e7b5';
|
||||
}
|
||||
|
||||
.icon_fenxiao_order:before {
|
||||
content: '\e7c4';
|
||||
}
|
||||
|
||||
.icon_hexiao_member:before {
|
||||
content: '\e7c9';
|
||||
}
|
||||
|
||||
.icon_fenxiao_set:before {
|
||||
content: '\e7ca';
|
||||
}
|
||||
|
||||
.icon_fenxiao_grade:before {
|
||||
content: '\e7d5';
|
||||
}
|
||||
|
||||
.yiguanzhugongyingshang:before {
|
||||
content: '\e7d6';
|
||||
}
|
||||
|
||||
.icon_user_gaikuang:before {
|
||||
content: '\e834';
|
||||
}
|
||||
|
||||
.icon_qudao_weixin:before {
|
||||
content: '\e833';
|
||||
}
|
||||
|
||||
.icon_qudao_app:before {
|
||||
content: '\e827';
|
||||
}
|
||||
|
||||
.icon_qudao_xiaochengxu:before {
|
||||
content: '\e6b4';
|
||||
}
|
||||
|
||||
.icon_dianpu_daohang:before {
|
||||
content: '\e857';
|
||||
}
|
||||
|
||||
.icon_yingxiao_qipao:before {
|
||||
content: '\e860';
|
||||
}
|
||||
|
||||
.icon_set_jiaoyi:before {
|
||||
content: '\e88f';
|
||||
}
|
||||
|
||||
.icon_caiwu_yue:before {
|
||||
content: '\e82c';
|
||||
}
|
||||
|
||||
.icon_caiwu_tixian:before {
|
||||
content: '\e828';
|
||||
}
|
||||
|
||||
.icon_caiwu_jifen:before {
|
||||
content: '\e829';
|
||||
}
|
||||
|
||||
.icon_shuju_liuliang:before {
|
||||
content: '\e82b';
|
||||
}
|
||||
|
||||
.icon_user_dengji:before {
|
||||
content: '\e82f';
|
||||
}
|
||||
|
||||
.icon_user_guanli:before {
|
||||
content: '\e830';
|
||||
}
|
||||
|
||||
.icon_user_biaoqian:before {
|
||||
content: '\e831';
|
||||
}
|
||||
|
||||
.icon_order_shouhou:before {
|
||||
content: '\e82a';
|
||||
}
|
||||
|
||||
.icon_copy:before {
|
||||
content: '\e861';
|
||||
}
|
||||
|
||||
.icon_set_product:before {
|
||||
content: '\e880';
|
||||
}
|
||||
|
||||
.icon_set_save:before {
|
||||
content: '\e887';
|
||||
}
|
||||
|
||||
.icon_dianpu_fenlei:before {
|
||||
content: '\e889';
|
||||
}
|
||||
|
||||
.icon_dianpu_fengge:before {
|
||||
content: '\e896';
|
||||
}
|
||||
|
||||
.icon_dianpu_sucai:before {
|
||||
content: '\e897';
|
||||
}
|
||||
|
||||
.icon_dianpu_xiangqing:before {
|
||||
content: '\e8a1';
|
||||
}
|
||||
|
||||
.icon_order_guanli:before {
|
||||
content: '\e8a9';
|
||||
}
|
||||
|
||||
.icon_caiwu:before {
|
||||
content: '\e826';
|
||||
}
|
||||
|
||||
.icon_user:before {
|
||||
content: '\e82d';
|
||||
}
|
||||
|
||||
.icon_set_user:before {
|
||||
content: '\e82e';
|
||||
}
|
||||
|
||||
.icon_shuju:before {
|
||||
content: '\e832';
|
||||
}
|
||||
|
||||
.icon_dianpu_home:before {
|
||||
content: '\e84c';
|
||||
}
|
||||
|
||||
.icon_yingyongcenter:before {
|
||||
content: '\e84f';
|
||||
}
|
||||
|
||||
.icon_qudao:before {
|
||||
content: '\e853';
|
||||
}
|
||||
|
||||
.icon_qudao2:before {
|
||||
content: '\e854';
|
||||
}
|
||||
|
||||
.icon_set_store:before {
|
||||
content: '\e85c';
|
||||
}
|
||||
|
||||
.icon_dianpu_weiyem:before {
|
||||
content: '\e85d';
|
||||
}
|
||||
|
||||
.icon_set_quanxian:before {
|
||||
content: '\e866';
|
||||
}
|
||||
|
||||
.icon_hide:before {
|
||||
content: '\e86f';
|
||||
}
|
||||
|
||||
.icon_show:before {
|
||||
content: '\e870';
|
||||
}
|
||||
|
||||
.icon_wallet:before {
|
||||
content: '\e871';
|
||||
}
|
||||
|
||||
.icon_set_pay:before {
|
||||
content: '\e872';
|
||||
}
|
||||
|
||||
.icon_set_weihu:before {
|
||||
content: '\e875';
|
||||
}
|
||||
|
||||
.icon_set_peisong:before {
|
||||
content: '\e877';
|
||||
}
|
||||
|
||||
.icon_yingxiaowf:before {
|
||||
content: '\e879';
|
||||
}
|
||||
|
||||
.icon_dianpu_shoppingCar:before {
|
||||
content: '\e87e';
|
||||
}
|
||||
|
||||
.icon_goods:before {
|
||||
content: '\e657';
|
||||
}
|
||||
|
||||
.icon_sort:before {
|
||||
content: '\e658';
|
||||
}
|
||||
|
||||
.icon_danwei:before {
|
||||
content: '\e653';
|
||||
}
|
||||
|
||||
.icon_pingjia:before {
|
||||
content: '\e654';
|
||||
}
|
||||
|
||||
.icon_pinpai:before {
|
||||
content: '\e655';
|
||||
}
|
||||
|
||||
.icon_gongyingshang:before {
|
||||
content: '\e656';
|
||||
}
|
||||
@@ -1,625 +0,0 @@
|
||||
{
|
||||
"id": "2786219",
|
||||
"name": "likesadmin",
|
||||
"font_family": "iconfont",
|
||||
"css_prefix_text": "icon-",
|
||||
"description": "",
|
||||
"glyphs": [
|
||||
{
|
||||
"icon_id": "13087831",
|
||||
"name": "分层配置",
|
||||
"font_class": "icon_kdzs_mdsz",
|
||||
"unicode": "e7c2",
|
||||
"unicode_decimal": 59330
|
||||
},
|
||||
{
|
||||
"icon_id": "11474291",
|
||||
"name": "integral",
|
||||
"font_class": "icon_xpdy_mbgl",
|
||||
"unicode": "e6f9",
|
||||
"unicode_decimal": 59129
|
||||
},
|
||||
{
|
||||
"icon_id": "11474324",
|
||||
"name": "play",
|
||||
"font_class": "icon_xcxzb_zb",
|
||||
"unicode": "e701",
|
||||
"unicode_decimal": 59137
|
||||
},
|
||||
{
|
||||
"icon_id": "11488055",
|
||||
"name": "gift",
|
||||
"font_class": "icon_xycj_cj",
|
||||
"unicode": "e752",
|
||||
"unicode_decimal": 59218
|
||||
},
|
||||
{
|
||||
"icon_id": "11488086",
|
||||
"name": "office-supplies",
|
||||
"font_class": "icon_kdzs_fjrmb",
|
||||
"unicode": "e75a",
|
||||
"unicode_decimal": 59226
|
||||
},
|
||||
{
|
||||
"icon_id": "11488090",
|
||||
"name": "operation",
|
||||
"font_class": "operation",
|
||||
"unicode": "e75c",
|
||||
"unicode_decimal": 59228
|
||||
},
|
||||
{
|
||||
"icon_id": "11488094",
|
||||
"name": "phone",
|
||||
"font_class": "icon_pcshop",
|
||||
"unicode": "e75d",
|
||||
"unicode_decimal": 59229
|
||||
},
|
||||
{
|
||||
"icon_id": "11488099",
|
||||
"name": "print",
|
||||
"font_class": "icon_xpdy_dyjgl",
|
||||
"unicode": "e75e",
|
||||
"unicode_decimal": 59230
|
||||
},
|
||||
{
|
||||
"icon_id": "11488203",
|
||||
"name": "invoice",
|
||||
"font_class": "icon_kdzs_pldy",
|
||||
"unicode": "e772",
|
||||
"unicode_decimal": 59250
|
||||
},
|
||||
{
|
||||
"icon_id": "13087859",
|
||||
"name": "cascades",
|
||||
"font_class": "icon_kdzs_mdmb",
|
||||
"unicode": "e7cc",
|
||||
"unicode_decimal": 59340
|
||||
},
|
||||
{
|
||||
"icon_id": "11488057",
|
||||
"name": "image-text",
|
||||
"font_class": "icon_qudao_h5",
|
||||
"unicode": "e753",
|
||||
"unicode_decimal": 59219
|
||||
},
|
||||
{
|
||||
"icon_id": "11488091",
|
||||
"name": "packaging",
|
||||
"font_class": "icon_fenxiao_goods",
|
||||
"unicode": "e75b",
|
||||
"unicode_decimal": 59227
|
||||
},
|
||||
{
|
||||
"icon_id": "16322380",
|
||||
"name": "砍价",
|
||||
"font_class": "icon_kanjia",
|
||||
"unicode": "e6d1",
|
||||
"unicode_decimal": 59089
|
||||
},
|
||||
{
|
||||
"icon_id": "4766459",
|
||||
"name": "file done",
|
||||
"font_class": "icon_hexiao_order",
|
||||
"unicode": "e7b4",
|
||||
"unicode_decimal": 59316
|
||||
},
|
||||
{
|
||||
"icon_id": "4766779",
|
||||
"name": "shopping",
|
||||
"font_class": "icon_pintuan",
|
||||
"unicode": "e7cf",
|
||||
"unicode_decimal": 59343
|
||||
},
|
||||
{
|
||||
"icon_id": "4766856",
|
||||
"name": "carry out",
|
||||
"font_class": "carryout",
|
||||
"unicode": "e7d3",
|
||||
"unicode_decimal": 59347
|
||||
},
|
||||
{
|
||||
"icon_id": "4766857",
|
||||
"name": "calendar-check",
|
||||
"font_class": "icon_qiandao_jilu",
|
||||
"unicode": "e7d4",
|
||||
"unicode_decimal": 59348
|
||||
},
|
||||
{
|
||||
"icon_id": "4766907",
|
||||
"name": "sound",
|
||||
"font_class": "icon_notice",
|
||||
"unicode": "e7da",
|
||||
"unicode_decimal": 59354
|
||||
},
|
||||
{
|
||||
"icon_id": "4766918",
|
||||
"name": "mail",
|
||||
"font_class": "icon_notice_mail",
|
||||
"unicode": "e7de",
|
||||
"unicode_decimal": 59358
|
||||
},
|
||||
{
|
||||
"icon_id": "4936458",
|
||||
"name": "gift",
|
||||
"font_class": "gift",
|
||||
"unicode": "e842",
|
||||
"unicode_decimal": 59458
|
||||
},
|
||||
{
|
||||
"icon_id": "6598316",
|
||||
"name": "comment",
|
||||
"font_class": "icon_notice_buyer",
|
||||
"unicode": "e8e8",
|
||||
"unicode_decimal": 59624
|
||||
},
|
||||
{
|
||||
"icon_id": "9229178",
|
||||
"name": "Field-time",
|
||||
"font_class": "Field-time",
|
||||
"unicode": "e90e",
|
||||
"unicode_decimal": 59662
|
||||
},
|
||||
{
|
||||
"icon_id": "11488002",
|
||||
"name": "certified-supplier",
|
||||
"font_class": "icon_hexiao_member2",
|
||||
"unicode": "e747",
|
||||
"unicode_decimal": 59207
|
||||
},
|
||||
{
|
||||
"icon_id": "11488015",
|
||||
"name": "coupons",
|
||||
"font_class": "icon_coupons",
|
||||
"unicode": "e74a",
|
||||
"unicode_decimal": 59210
|
||||
},
|
||||
{
|
||||
"icon_id": "11488023",
|
||||
"name": "data",
|
||||
"font_class": "icon_coupons_data",
|
||||
"unicode": "e74b",
|
||||
"unicode_decimal": 59211
|
||||
},
|
||||
{
|
||||
"icon_id": "11488024",
|
||||
"name": "Customer management",
|
||||
"font_class": "icon_fenxiao_member",
|
||||
"unicode": "e74c",
|
||||
"unicode_decimal": 59212
|
||||
},
|
||||
{
|
||||
"icon_id": "11488044",
|
||||
"name": "feeds",
|
||||
"font_class": "icon_qiandao_guize",
|
||||
"unicode": "e751",
|
||||
"unicode_decimal": 59217
|
||||
},
|
||||
{
|
||||
"icon_id": "11488081",
|
||||
"name": "New user zone",
|
||||
"font_class": "icon_pintuan2",
|
||||
"unicode": "e759",
|
||||
"unicode_decimal": 59225
|
||||
},
|
||||
{
|
||||
"icon_id": "11488152",
|
||||
"name": "trade alert",
|
||||
"font_class": "icon_notice_seller",
|
||||
"unicode": "e76a",
|
||||
"unicode_decimal": 59242
|
||||
},
|
||||
{
|
||||
"icon_id": "11488153",
|
||||
"name": "top sales",
|
||||
"font_class": "icon_pintuan_data",
|
||||
"unicode": "e76b",
|
||||
"unicode_decimal": 59243
|
||||
},
|
||||
{
|
||||
"icon_id": "11488154",
|
||||
"name": "trading volume",
|
||||
"font_class": "icon_fenxiao_data",
|
||||
"unicode": "e76c",
|
||||
"unicode_decimal": 59244
|
||||
},
|
||||
{
|
||||
"icon_id": "11488170",
|
||||
"name": "store",
|
||||
"font_class": "icon_ziti_store",
|
||||
"unicode": "e76f",
|
||||
"unicode_decimal": 59247
|
||||
},
|
||||
{
|
||||
"icon_id": "11488210",
|
||||
"name": "wallet",
|
||||
"font_class": "wallet",
|
||||
"unicode": "e774",
|
||||
"unicode_decimal": 59252
|
||||
},
|
||||
{
|
||||
"icon_id": "12011693",
|
||||
"name": "comments",
|
||||
"font_class": "icon_kefu_comments",
|
||||
"unicode": "e7b2",
|
||||
"unicode_decimal": 59314
|
||||
},
|
||||
{
|
||||
"icon_id": "12012167",
|
||||
"name": "trading data",
|
||||
"font_class": "tradingdata",
|
||||
"unicode": "e7b5",
|
||||
"unicode_decimal": 59317
|
||||
},
|
||||
{
|
||||
"icon_id": "13087832",
|
||||
"name": "申请记录",
|
||||
"font_class": "icon_fenxiao_order",
|
||||
"unicode": "e7c4",
|
||||
"unicode_decimal": 59332
|
||||
},
|
||||
{
|
||||
"icon_id": "13087848",
|
||||
"name": "中间人",
|
||||
"font_class": "icon_hexiao_member",
|
||||
"unicode": "e7c9",
|
||||
"unicode_decimal": 59337
|
||||
},
|
||||
{
|
||||
"icon_id": "13087852",
|
||||
"name": "账户操作",
|
||||
"font_class": "icon_fenxiao_set",
|
||||
"unicode": "e7ca",
|
||||
"unicode_decimal": 59338
|
||||
},
|
||||
{
|
||||
"icon_id": "13119207",
|
||||
"name": "通讯录",
|
||||
"font_class": "icon_fenxiao_grade",
|
||||
"unicode": "e7d5",
|
||||
"unicode_decimal": 59349
|
||||
},
|
||||
{
|
||||
"icon_id": "13119208",
|
||||
"name": "已关注供应商",
|
||||
"font_class": "yiguanzhugongyingshang",
|
||||
"unicode": "e7d6",
|
||||
"unicode_decimal": 59350
|
||||
},
|
||||
{
|
||||
"icon_id": "23974314",
|
||||
"name": "icon_164",
|
||||
"font_class": "icon_user_gaikuang",
|
||||
"unicode": "e834",
|
||||
"unicode_decimal": 59444
|
||||
},
|
||||
{
|
||||
"icon_id": "6154432",
|
||||
"name": "微信",
|
||||
"font_class": "icon_qudao_weixin",
|
||||
"unicode": "e833",
|
||||
"unicode_decimal": 59443
|
||||
},
|
||||
{
|
||||
"icon_id": "23974200",
|
||||
"name": "icon_59",
|
||||
"font_class": "icon_qudao_app",
|
||||
"unicode": "e827",
|
||||
"unicode_decimal": 59431
|
||||
},
|
||||
{
|
||||
"icon_id": "15643755",
|
||||
"name": "小程序设置",
|
||||
"font_class": "icon_qudao_xiaochengxu",
|
||||
"unicode": "e6b4",
|
||||
"unicode_decimal": 59060
|
||||
},
|
||||
{
|
||||
"icon_id": "23974663",
|
||||
"name": "icon_511",
|
||||
"font_class": "icon_dianpu_daohang",
|
||||
"unicode": "e857",
|
||||
"unicode_decimal": 59479
|
||||
},
|
||||
{
|
||||
"icon_id": "23974709",
|
||||
"name": "icon_563",
|
||||
"font_class": "icon_yingxiao_qipao",
|
||||
"unicode": "e860",
|
||||
"unicode_decimal": 59488
|
||||
},
|
||||
{
|
||||
"icon_id": "23974926",
|
||||
"name": "icon_777",
|
||||
"font_class": "icon_set_jiaoyi",
|
||||
"unicode": "e88f",
|
||||
"unicode_decimal": 59535
|
||||
},
|
||||
{
|
||||
"icon_id": "23974194",
|
||||
"name": "icon_52",
|
||||
"font_class": "icon_caiwu_yue",
|
||||
"unicode": "e82c",
|
||||
"unicode_decimal": 59436
|
||||
},
|
||||
{
|
||||
"icon_id": "23974189",
|
||||
"name": "icon_48",
|
||||
"font_class": "icon_caiwu_tixian",
|
||||
"unicode": "e828",
|
||||
"unicode_decimal": 59432
|
||||
},
|
||||
{
|
||||
"icon_id": "23974193",
|
||||
"name": "icon_41",
|
||||
"font_class": "icon_caiwu_jifen",
|
||||
"unicode": "e829",
|
||||
"unicode_decimal": 59433
|
||||
},
|
||||
{
|
||||
"icon_id": "23974195",
|
||||
"name": "icon_56",
|
||||
"font_class": "icon_shuju_liuliang",
|
||||
"unicode": "e82b",
|
||||
"unicode_decimal": 59435
|
||||
},
|
||||
{
|
||||
"icon_id": "23974284",
|
||||
"name": "icon_136",
|
||||
"font_class": "icon_user_dengji",
|
||||
"unicode": "e82f",
|
||||
"unicode_decimal": 59439
|
||||
},
|
||||
{
|
||||
"icon_id": "23974285",
|
||||
"name": "icon_141",
|
||||
"font_class": "icon_user_guanli",
|
||||
"unicode": "e830",
|
||||
"unicode_decimal": 59440
|
||||
},
|
||||
{
|
||||
"icon_id": "23974287",
|
||||
"name": "icon_137",
|
||||
"font_class": "icon_user_biaoqian",
|
||||
"unicode": "e831",
|
||||
"unicode_decimal": 59441
|
||||
},
|
||||
{
|
||||
"icon_id": "23974238",
|
||||
"name": "icon_95",
|
||||
"font_class": "icon_order_shouhou",
|
||||
"unicode": "e82a",
|
||||
"unicode_decimal": 59434
|
||||
},
|
||||
{
|
||||
"icon_id": "23974703",
|
||||
"name": "icon_551",
|
||||
"font_class": "icon_copy",
|
||||
"unicode": "e861",
|
||||
"unicode_decimal": 59489
|
||||
},
|
||||
{
|
||||
"icon_id": "23974857",
|
||||
"name": "icon_710",
|
||||
"font_class": "icon_set_product",
|
||||
"unicode": "e880",
|
||||
"unicode_decimal": 59520
|
||||
},
|
||||
{
|
||||
"icon_id": "23974892",
|
||||
"name": "icon_744",
|
||||
"font_class": "icon_set_save",
|
||||
"unicode": "e887",
|
||||
"unicode_decimal": 59527
|
||||
},
|
||||
{
|
||||
"icon_id": "23974902",
|
||||
"name": "icon_754",
|
||||
"font_class": "icon_dianpu_fenlei",
|
||||
"unicode": "e889",
|
||||
"unicode_decimal": 59529
|
||||
},
|
||||
{
|
||||
"icon_id": "23974956",
|
||||
"name": "icon_808",
|
||||
"font_class": "icon_dianpu_fengge",
|
||||
"unicode": "e896",
|
||||
"unicode_decimal": 59542
|
||||
},
|
||||
{
|
||||
"icon_id": "23974958",
|
||||
"name": "icon_810",
|
||||
"font_class": "icon_dianpu_sucai",
|
||||
"unicode": "e897",
|
||||
"unicode_decimal": 59543
|
||||
},
|
||||
{
|
||||
"icon_id": "23974996",
|
||||
"name": "icon_850",
|
||||
"font_class": "icon_dianpu_xiangqing",
|
||||
"unicode": "e8a1",
|
||||
"unicode_decimal": 59553
|
||||
},
|
||||
{
|
||||
"icon_id": "23975028",
|
||||
"name": "icon_880",
|
||||
"font_class": "icon_order_guanli",
|
||||
"unicode": "e8a9",
|
||||
"unicode_decimal": 59561
|
||||
},
|
||||
{
|
||||
"icon_id": "23974187",
|
||||
"name": "icon_30",
|
||||
"font_class": "icon_caiwu",
|
||||
"unicode": "e826",
|
||||
"unicode_decimal": 59430
|
||||
},
|
||||
{
|
||||
"icon_id": "23974276",
|
||||
"name": "icon_130",
|
||||
"font_class": "icon_user",
|
||||
"unicode": "e82d",
|
||||
"unicode_decimal": 59437
|
||||
},
|
||||
{
|
||||
"icon_id": "23974282",
|
||||
"name": "icon_138",
|
||||
"font_class": "icon_set_user",
|
||||
"unicode": "e82e",
|
||||
"unicode_decimal": 59438
|
||||
},
|
||||
{
|
||||
"icon_id": "23974320",
|
||||
"name": "icon_170",
|
||||
"font_class": "icon_shuju",
|
||||
"unicode": "e832",
|
||||
"unicode_decimal": 59442
|
||||
},
|
||||
{
|
||||
"icon_id": "23974561",
|
||||
"name": "icon_415",
|
||||
"font_class": "icon_dianpu_home",
|
||||
"unicode": "e84c",
|
||||
"unicode_decimal": 59468
|
||||
},
|
||||
{
|
||||
"icon_id": "23974584",
|
||||
"name": "icon_436",
|
||||
"font_class": "icon_yingyongcenter",
|
||||
"unicode": "e84f",
|
||||
"unicode_decimal": 59471
|
||||
},
|
||||
{
|
||||
"icon_id": "23974606",
|
||||
"name": "icon_460",
|
||||
"font_class": "icon_qudao",
|
||||
"unicode": "e853",
|
||||
"unicode_decimal": 59475
|
||||
},
|
||||
{
|
||||
"icon_id": "23974607",
|
||||
"name": "icon_457",
|
||||
"font_class": "icon_qudao2",
|
||||
"unicode": "e854",
|
||||
"unicode_decimal": 59476
|
||||
},
|
||||
{
|
||||
"icon_id": "23974689",
|
||||
"name": "icon_542",
|
||||
"font_class": "icon_set_store",
|
||||
"unicode": "e85c",
|
||||
"unicode_decimal": 59484
|
||||
},
|
||||
{
|
||||
"icon_id": "23974694",
|
||||
"name": "icon_545",
|
||||
"font_class": "icon_dianpu_weiyem",
|
||||
"unicode": "e85d",
|
||||
"unicode_decimal": 59485
|
||||
},
|
||||
{
|
||||
"icon_id": "23974743",
|
||||
"name": "icon_595",
|
||||
"font_class": "icon_set_quanxian",
|
||||
"unicode": "e866",
|
||||
"unicode_decimal": 59494
|
||||
},
|
||||
{
|
||||
"icon_id": "23974791",
|
||||
"name": "icon_643",
|
||||
"font_class": "icon_hide",
|
||||
"unicode": "e86f",
|
||||
"unicode_decimal": 59503
|
||||
},
|
||||
{
|
||||
"icon_id": "23974792",
|
||||
"name": "icon_644",
|
||||
"font_class": "icon_show",
|
||||
"unicode": "e870",
|
||||
"unicode_decimal": 59504
|
||||
},
|
||||
{
|
||||
"icon_id": "23974793",
|
||||
"name": "icon_645",
|
||||
"font_class": "icon_wallet",
|
||||
"unicode": "e871",
|
||||
"unicode_decimal": 59505
|
||||
},
|
||||
{
|
||||
"icon_id": "23974795",
|
||||
"name": "icon_646",
|
||||
"font_class": "icon_set_pay",
|
||||
"unicode": "e872",
|
||||
"unicode_decimal": 59506
|
||||
},
|
||||
{
|
||||
"icon_id": "23974814",
|
||||
"name": "icon_663",
|
||||
"font_class": "icon_set_weihu",
|
||||
"unicode": "e875",
|
||||
"unicode_decimal": 59509
|
||||
},
|
||||
{
|
||||
"icon_id": "23974823",
|
||||
"name": "icon_673",
|
||||
"font_class": "icon_set_peisong",
|
||||
"unicode": "e877",
|
||||
"unicode_decimal": 59511
|
||||
},
|
||||
{
|
||||
"icon_id": "23974833",
|
||||
"name": "icon_684",
|
||||
"font_class": "icon_yingxiaowf",
|
||||
"unicode": "e879",
|
||||
"unicode_decimal": 59513
|
||||
},
|
||||
{
|
||||
"icon_id": "23974842",
|
||||
"name": "icon_695",
|
||||
"font_class": "icon_dianpu_shoppingCar",
|
||||
"unicode": "e87e",
|
||||
"unicode_decimal": 59518
|
||||
},
|
||||
{
|
||||
"icon_id": "24076801",
|
||||
"name": "menu_goods",
|
||||
"font_class": "icon_goods",
|
||||
"unicode": "e657",
|
||||
"unicode_decimal": 58967
|
||||
},
|
||||
{
|
||||
"icon_id": "24076802",
|
||||
"name": "menu_sort",
|
||||
"font_class": "icon_sort",
|
||||
"unicode": "e658",
|
||||
"unicode_decimal": 58968
|
||||
},
|
||||
{
|
||||
"icon_id": "24069361",
|
||||
"name": "menu_danwei",
|
||||
"font_class": "icon_danwei",
|
||||
"unicode": "e653",
|
||||
"unicode_decimal": 58963
|
||||
},
|
||||
{
|
||||
"icon_id": "24069362",
|
||||
"name": "menu_pingjia",
|
||||
"font_class": "icon_pingjia",
|
||||
"unicode": "e654",
|
||||
"unicode_decimal": 58964
|
||||
},
|
||||
{
|
||||
"icon_id": "24069363",
|
||||
"name": "menu_pinpai",
|
||||
"font_class": "icon_pinpai",
|
||||
"unicode": "e655",
|
||||
"unicode_decimal": 58965
|
||||
},
|
||||
{
|
||||
"icon_id": "24069364",
|
||||
"name": "menu_gongyingshang",
|
||||
"font_class": "icon_gongyingshang",
|
||||
"unicode": "e656",
|
||||
"unicode_decimal": 58966
|
||||
}
|
||||
]
|
||||
}
|
||||
1
admin/src/assets/icons/agency.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32z m-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174c6.4 8.8 19.6 8.8 26 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z" /></svg>
|
||||
|
After Width: | Height: | Size: 775 B |
1
admin/src/assets/icons/aircraft.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M864.2 121.3a38.1 38.1 0 0 0-13.5 2.4l-33.9 12.4-112.2 41-112.1 41.1-224.3 82-112.2 41-112.1 41.1-55.2 20.2a38.7 38.7 0 0 0-14.1 63.7l28.3 28.2 71.1 71.1 101.9 101.9v232.8c0 23.6 19.3 40.1 40.1 40.1a40.1 40.1 0 0 0 22.7-7.2L458.5 850l99.3 99.4a38.7 38.7 0 0 0 63.7-14.1l20.2-55.2L682.8 768l41-112.2 41-112.1 41-112.2 82.1-224.3 12.4-33.9c9.6-26.3-10.7-52-36.1-52z m-84.9 173.3l-41.1 112.2-41 112.1-41 112.2-41.1 112.1-41 112.2-2.3 6.2-62.4-62.5-42.6-42.5-49.4 34.2-69.5 48.3V637.6L162.4 452.2l6.2-2.3 112.2-41 112.1-41.1 224.3-82 112.2-41.1L808 216zM575.9 405a4 4 0 0 0-5.6 0L394.9 580.4a4 4 0 0 0 0 5.7l39.6 39.6a4.2 4.2 0 0 0 5.7 0l175.3-175.4a4 4 0 0 0 0-5.7z" /></svg>
|
||||
|
After Width: | Height: | Size: 937 B |
1
admin/src/assets/icons/app.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M824 64H200a40 40 0 0 0-40 40v816a40 40 0 0 0 40 40h624a40 40 0 0 0 40-40V104a40 40 0 0 0-40-40z m-32 824H232V136h560z m-280-72a64 64 0 1 0-64-64 64.1 64.1 0 0 0 64 64z" /></svg>
|
||||
|
After Width: | Height: | Size: 443 B |
1
admin/src/assets/icons/applet.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 967.68c251.668 0 455.68-204.012 455.68-455.68S763.668 56.32 512 56.32 56.32 260.332 56.32 512 260.332 967.68 512 967.68z m0-71.68c-212.07 0-384-171.93-384-384s171.93-384 384-384 384 171.93 384 384-171.93 384-384 384z" /><path d="M544.297 405.279a77.599 77.599 0 1 1 77.599 77.578 30.72 30.72 0 0 0 0 61.44c76.78 0 139.028-62.249 139.028-139.029S698.675 266.24 621.896 266.24s-139.039 62.249-139.039 139.028a30.72 30.72 0 0 0 61.44 0z m-61.44 213.217a77.588 77.588 0 0 1-155.177 0 77.588 77.588 0 0 1 77.588-77.599 30.72 30.72 0 0 0 0-61.44c-76.769 0-139.028 62.239-139.028 139.039 0 76.78 62.249 139.028 139.028 139.028 76.79 0 139.029-62.248 139.029-139.028a30.72 30.72 0 0 0-61.44 0z" /><path d="M482.857 402.156V619.93h61.44V402.156z" /></svg>
|
||||
|
After Width: | Height: | Size: 1019 B |
1
admin/src/assets/icons/arrow-down.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M555.633778 726.300444a45.966222 45.966222 0 0 0 0-64.910222l-363.463111-363.52a45.909333 45.909333 0 0 0-64.910223 0 45.909333 45.909333 0 0 0 0 64.910222l363.52 363.463112a45.966222 45.966222 0 0 0 64.853334 0.056888zM490.723556 726.300444a45.852444 45.852444 0 0 0 64.853333 0l345.088-345.088a45.852444 45.852444 0 0 0 0-64.853333 45.511111 45.511111 0 0 0-64.796445 0l-345.144888 345.088a45.909333 45.909333 0 0 0 0 64.853333z" /></svg>
|
||||
|
After Width: | Height: | Size: 705 B |
1
admin/src/assets/icons/arrow-up.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M555.633778 297.870222a45.966222 45.966222 0 0 1 0 64.910222l-363.463111 363.52a45.909333 45.909333 0 0 1-64.910223 0 45.909333 45.909333 0 0 1 0-64.910222l363.52-363.463111a45.966222 45.966222 0 0 1 64.853334-0.056889zM490.723556 297.870222a45.852444 45.852444 0 0 1 64.853333 0l345.088 345.088a45.852444 45.852444 0 0 1 0 64.853334 45.511111 45.511111 0 0 1-64.796445 0L490.723556 362.723556a45.909333 45.909333 0 0 1 0-64.853334z" /></svg>
|
||||
|
After Width: | Height: | Size: 707 B |
1
admin/src/assets/icons/bargain.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M761.2 639.7c-10.6 0-21.1-4-29.2-12.1-16.1-16.1-16.1-42.3 0-58.4l97.5-97.5c5.6-5.6 7.1-13.9 7.3-19.9l8.6-242.5c0.1-3.9-2.8-11.2-9.5-17.9-6.7-6.7-14.7-9.5-17.9-9.5l-242.5 8.6c-6 0.2-14.2 1.7-19.9 7.3l-102 102.1c-16.1 16.1-42.3 16.1-58.4 0s-16.1-42.3 0-58.4l102.1-102.1c19.2-19.2 46-30.4 75.3-31.4l242.5-8.6c27.9-1 56.9 11.2 79.2 33.6 22.4 22.4 34.6 51.2 33.6 79.3l-8.6 242.5c-1.1 29.4-12.2 56.1-31.4 75.3l-97.5 97.5c-8.1 8.1-18.7 12.1-29.2 12.1zM444.4 925.3c-40.6 0-84.7-18.5-120.4-54.3L156.4 703.4C93.9 640.9 84 552.8 133.8 502.9l88.3-88.3c16.1-16.1 42.3-16.1 58.4 0s16.1 42.3 0 58.4l-88.3 88.3c-14.4 14.4-7.8 53.3 22.6 83.7l167.6 167.6c30.4 30.4 69.3 37 83.7 22.6l83.7-83.7c16.1-16.1 42.3-16.1 58.4 0s16.1 42.3 0 58.4l-83.7 83.7c-21.4 21.3-49.8 31.7-80.1 31.7z" /><path d="M705.8 326.3m-45.8 0a45.8 45.8 0 1 0 91.6 0 45.8 45.8 0 1 0-91.6 0Z" /><path d="M829.9 885.7c-10.6 0-21.1-4-29.2-12.1l-642-642c-16.1-16.1-16.1-42.3 0-58.4s42.3-16.1 58.4 0l642 642c16.1 16.1 16.1 42.3 0 58.4-8.1 8.1-18.6 12.1-29.2 12.1z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
admin/src/assets/icons/block.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M884.1 282.4L542.5 85a60 60 0 0 0-60.1 0.1L140.9 283.8a39.9 39.9 0 0 0-16.3 18.2 40.2 40.2 0 0 0-7.6 23.2l-1 366.9a60 60 0 0 0 30 52.1l341.5 197.4a39.8 39.8 0 0 0 20 5.4 29.7 29.7 0 0 0 4.2-0.3 24.8 24.8 0 0 0 3.8 0.2 39.9 39.9 0 0 0 20.1-5.4l341.5-198.7a60.1 60.1 0 0 0 29.9-51.7l1-366.9a40.6 40.6 0 0 0-7.4-23.3 40.5 40.5 0 0 0-16.5-18.5zM476 737.6l-0.3 114L188 685.4l0.9-304.7 212 122.5 75.6 43.7z m36.5-253L226.7 319.4l-1.9-1.1 287.7-167.4 287.8 166.3-44.1 25.6zM835 684.1L547.7 851.2l0.2-97.6 0.6-206.7 250.4-145.6 36.9-21.5z" /></svg>
|
||||
|
After Width: | Height: | Size: 805 B |
1
admin/src/assets/icons/brand.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M531.626667 915.228444a66.616889 66.616889 0 0 1-51.598223-24.462222L120.092444 484.181333a66.503111 66.503111 0 0 1-4.835555-74.296889l130.844444-269.027555a66.673778 66.673778 0 0 1 56.888889-32.142222h456.362667a66.787556 66.787556 0 0 1 57.173333 32.312889l1.308445 2.503111 130.844444 266.524444a66.673778 66.673778 0 0 1-5.688889 74.296889l-1.194666 1.479111-358.741334 404.935111a66.787556 66.787556 0 0 1-51.655111 24.462222z m-359.253334-472.177777l359.253334 405.731555 1.194666-1.479111 358.115556-404.252444-1.365333-2.503111-129.877334-264.988445H303.616z" /><path d="M531.626667 668.16a53.930667 53.930667 0 0 1-41.472-20.195556L270.165333 400.156444l49.948445-44.316444 211.512889 238.933333 211.740444-238.933333 49.948445 44.316444-220.216889 247.808a53.930667 53.930667 0 0 1-41.472 20.195556z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
admin/src/assets/icons/calendar.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32z m-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z" /><path d="M416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM416 632H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM724.2 454.6L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2c6.4 8.8 19.4 8.8 25.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-0.1-9.8 2.4-12.8 6.5z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
1
admin/src/assets/icons/cascade-1.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M725.546667 597.333333c26.24 0 50.496 14.08 63.509333 36.864l43.541333 76.181334a73.152 73.152 0 0 1 0 72.576l-43.52 76.181333A73.152 73.152 0 0 1 725.546667 896h-85.76c-26.24 0-50.496-14.08-63.509334-36.864l-43.541333-76.181333a73.152 73.152 0 0 1 0-72.576l43.52-76.181334A73.152 73.152 0 0 1 639.786667 597.333333h85.76zM523.093333 169.002667l235.690667 138.474666a64 64 0 0 1 0 110.378667l-33.194667 19.477333 33.194667 19.477334a64 64 0 0 1 7.466667 105.258666 115.2 115.2 0 0 0-34.666667-7.253333L725.546667 554.666667h-71.808l72.618666-42.666667-63.936-37.568-139.328 81.898667a64 64 0 0 1-64.853333 0l-139.370667-81.92L254.976 512 490.666667 650.474667l40.896-24.064-35.861334 62.805333c-4.565333 7.978667-8.106667 16.362667-10.624 24.981333a63.552 63.552 0 0 1-26.837333-8.533333l-139.370667-81.92L254.976 661.333333 490.666667 799.808l2.069333-1.194667 1.429333 2.773334 1.536 2.730666 28.629334 50.133334-1.237334 0.746666a64 64 0 0 1-64.853333 0l-235.690667-138.474666a64 64 0 0 1 0-110.378667l33.152-19.498667-33.152-19.456a64 64 0 0 1 0-110.378666l33.152-19.477334-33.152-19.477333a64 64 0 0 1 0-110.378667l235.690667-138.453333a64 64 0 0 1 64.853333 0zM725.546667 661.333333h-85.76a9.152 9.152 0 0 0-7.936 4.608l-43.541334 76.181334a9.152 9.152 0 0 0 0 9.088l43.52 76.181333a9.152 9.152 0 0 0 7.957334 4.608h85.76a9.152 9.152 0 0 0 7.936-4.608l43.541333-76.181333 0.768-1.770667a9.152 9.152 0 0 0-0.768-7.317333l-43.52-76.181334A9.152 9.152 0 0 0 725.546667 661.333333zM682.666667 704a42.666667 42.666667 0 1 1 0 85.333333 42.666667 42.666667 0 0 1 0-85.333333z m-192-479.808L254.976 362.666667 490.666667 501.141333 726.357333 362.666667 490.666667 224.192z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
1
admin/src/assets/icons/cascade-2.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M168.106667 621.44l120.746666 57.962667 223.274667 108.138666 215.317333-104.32 128.768-61.674666a64 64 0 0 1-29.952 84.970666l-286.229333 138.624a64 64 0 0 1-55.808 0L197.994667 706.517333A64 64 0 0 1 168.106667 621.44z m687.829333-133.930667a64 64 0 0 1-29.674667 85.546667L540.010667 711.68a64 64 0 0 1-55.808 0L197.994667 573.056A64 64 0 0 1 166.826667 490.88l317.013333 149.525333 28.288 13.696 286.229333-138.624-0.149333-0.064 57.728-27.882666zM540.032 185.792l286.208 138.602667a64 64 0 0 1 0 115.2l-286.208 138.624a64 64 0 0 1-55.808 0L197.994667 439.594667a64 64 0 0 1 0-115.2L484.224 185.813333a64 64 0 0 1 55.808 0z m-27.904 57.6l-286.229333 138.602667 286.229333 138.624 286.229333-138.624-286.229333-138.602667z" /></svg>
|
||||
|
After Width: | Height: | Size: 1000 B |
1
admin/src/assets/icons/cascade.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M832 341.333333v554.666667H405.333333v-64h362.666667V341.333333h64z m-106.666667-106.666666v554.666666H298.666667v-64h362.666666V234.666667h64z m-106.666666-106.666667v554.666667H192V128h426.666667z m-64 64H256v426.666667h298.666667V192z" /></svg>
|
||||
|
After Width: | Height: | Size: 512 B |
1
admin/src/assets/icons/channel-1.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M199.5 832a127.8 127.8 0 0 0 37.8-5.7 384 384 0 0 0 539.7 9.6 128 128 0 0 0 138-209.4 129.7 129.7 0 0 0-22.3-17.9A382.9 382.9 0 0 0 896 558c0-166.1-105.5-307.6-253.2-361.1a128 128 0 0 0-254.3-2.6C237 245.7 128 389.1 128 558c0 13 0.7 25.9 1.9 38.5a134.1 134.1 0 0 0-20.9 17A128 128 0 0 0 199.5 832z m-39.6-88.4a56.1 56.1 0 0 1 0-79.2 56 56 0 0 1 79.2 0 56.1 56.1 0 0 1 0 79.2 56 56 0 0 1-79.2 0z m3.6-162.5z m4.1-1.1z m4.7-1.1z m4.1-0.8z m4.9-0.8z m4.1-0.5z m5-0.5z m4-0.2z m57.2 244.8a0.1 0.1 0 0 1-0.1 0.1 0.1 0.1 0 0 0 0.1-0.1z m3.5-1.6l-0.3 0.2z m34.9-24.8a23.9 23.9 0 0 0 2.2-2.3 23.9 23.9 0 0 1-2.2 2.3z m-31.6 23.2z m6.7-3.7l0.3-0.3z m3-1.9l0.7-0.5z m3.2-2.1l0.7-0.5z m3.3-2.4l0.4-0.2z m3.4-2.5l0.4-0.3z m2.8-2.2l0.9-0.8z m2.8-2.4l1-0.9z m2.9-2.6a6 6 0 0 0 0.8-0.8 6 6 0 0 1-0.8 0.8z m476.1 31.2zM734 807.5l0.3 0.3z m2.4 2.3a4.6 4.6 0 0 0 0.7 0.7 4.6 4.6 0 0 1-0.7-0.7z m2.4 2.3l0.8 0.7z m2.5 2.2l0.7 0.6z m2.5 2.1l0.6 0.5z m2.6 2l0.5 0.4z m2.6 2l0.4 0.3z m2.7 1.9l0.3 0.2z m2.6 1.8l0.3 0.2z m2.8 1.7c0 0.1 0.1 0.1 0.2 0.1s-0.2 0-0.2-0.1z m2.7 1.7c0.1 0 0.1 0 0.1 0.1s0-0.1-0.1-0.1z m104.3-70.9a56 56 0 1 1 16.4-39.6 55.5 55.5 0 0 1-16.4 39.6z m3.8-160l0.7 0.2z m8.5 3.4l0.5 0.2z m12.2 6.2z m-8-4.3a0.1 0.1 0 0 1 0.1 0.1 0.1 0.1 0 0 0-0.1-0.1z m4.1 2.1zM475.9 170.4a56 56 0 1 1 0 79.2 56.1 56.1 0 0 1 0-79.2z m-88.4 37.5z m0.5-9.2z m-0.3 4.8zM200 558a312.5 312.5 0 0 1 190.6-287.5l10-4a128.1 128.1 0 0 0 228.6 2.3l4.2 1.7A311.7 311.7 0 0 1 824 558c0 10.4-0.5 20.8-1.5 31h2a128 128 0 0 0-104.7 201.7 311.6 311.6 0 0 1-421.5-5.4c41.5-50.3 38.8-124.9-8.3-171.9a127.5 127.5 0 0 0-90.5-37.4h1c-0.3-6-0.5-12-0.5-18z m187.5-345.3z m0.2 4.4z m0.4 4.8z m0.4 4.4a1.3 1.3 0 0 1 0.1 0.6 1.3 1.3 0 0 0-0.1-0.6z m0.7 4.8z m0.8 4.3c0.1 0.2 0.1 0.4 0.2 0.6s-0.1-0.4-0.2-0.6z m1.1 4.7z m1.1 4.3a1.4 1.4 0 0 0 0.2 0.6 1.4 1.4 0 0 1-0.2-0.6z m1.4 4.7z m1.4 4.1a2.5 2.5 0 0 1 0.2 0.7 2.5 2.5 0 0 0-0.2-0.7z m1.8 4.7z m1.7 4l0.3 0.7zM860 594l-0.7-0.2z m-4.4-1.2z m-4.3-1z m-4.2-0.8z m-4.6-0.7z m-4.1-0.5z m-4.9-0.5z m-4-0.2z m-99 214.7l-0.6-0.5z m-3.8-4.3c-0.2-0.1-0.3-0.3-0.4-0.4s0.2 0.3 0.4 0.4z m-432.8-9.1l0.4-0.4zM150.6 585.7z m8.7-3.2z m-4.5 1.5z" /></svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
1
admin/src/assets/icons/channel.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M289.5 613.5a128 128 0 1 0 0 181 127.5 127.5 0 0 0 0-181z m-50.9 130.1a56 56 0 0 1-79.2 0 56.1 56.1 0 0 1 0-79.2 56 56 0 0 1 79.2 0 56.1 56.1 0 0 1 0 79.2zM515 338a128 128 0 1 0-90.5-37.5A127.5 127.5 0 0 0 515 338z m-39.6-167.6a56 56 0 0 1 79.2 0 56.1 56.1 0 0 1 0 79.2 56 56 0 0 1-79.2 0 56.1 56.1 0 0 1 0-79.2z m439.1 456.1a128 128 0 1 0 0 181 127.5 127.5 0 0 0 0-181z m-50.9 130.1a56 56 0 0 1-79.2 0 56.1 56.1 0 0 1 0-79.2 56 56 0 0 1 79.2 0 56.1 56.1 0 0 1 0 79.2zM136.2 514.2a201.1 201.1 0 0 1 63.3-10.2h1.8a4 4 0 0 0 3.9-3.3 311.5 311.5 0 0 1 86.2-163.3 314.5 314.5 0 0 1 42.1-35.4 3.9 3.9 0 0 0 1.3-5 200.9 200.9 0 0 1-18.3-62.9 4.1 4.1 0 0 0-6.1-3c-96.6 59.7-164.7 161-179.4 278.8a3.9 3.9 0 0 0 5.2 4.3z m573.4 366.5a198.2 198.2 0 0 1-26.5-22.3 208.3 208.3 0 0 1-20.1-23.3 3.8 3.8 0 0 0-5.1-1.2c-8 4.2-16.1 8.1-24.5 11.6a313 313 0 0 1-242.8 0 287.6 287.6 0 0 1-31.5-15.5 4.1 4.1 0 0 0-5.1 1 177.3 177.3 0 0 1-13.1 14.4 195.7 195.7 0 0 1-36.5 28.9 4 4 0 0 0 0 6.8 384.5 384.5 0 0 0 405 6.4 4.1 4.1 0 0 0 0.2-6.8z m-14.3-575.2a314 314 0 0 1 104.2 131.1 306.2 306.2 0 0 1 21.4 77.3 3.7 3.7 0 0 0 3.6 3.1 199.7 199.7 0 0 1 65.3 10.9 3.6 3.6 0 0 0 4.7-3.7c-10.6-121.5-77.7-226.7-174.9-289.3a3.6 3.6 0 0 0-5.5 2.6 200.7 200.7 0 0 1-19.8 63.4 3.6 3.6 0 0 0 1 4.6z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
admin/src/assets/icons/chart-1.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M245.333333 245.333333V768H810.666667v64H277.333333a96 96 0 0 1-96-96v-490.666667h64z m581.141334-42.666666V426.666667h-64v-111.082667l-194.688 199.701333-61.653334-63.872-141.781333 146.816-46.037333-44.458666 187.797333-194.517334 61.909333 64.128 152.746667-156.714666h-102.464v-64h208.170667z" /></svg>
|
||||
|
After Width: | Height: | Size: 571 B |
1
admin/src/assets/icons/chart-2.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M256 234.666667v544.021333h74.730667l-0.021334-0.021333H842.666667v64h-554.666667a96 96 0 0 1-95.893333-91.477334L192 746.666667V234.666667h64z m489.6-74.624l158.378667 158.4-45.248 45.248-80.064-80.064v0.341333c0 200.448-165.482667 362.965333-370.56 366.634667l-7.082667 0.064H320v-64h81.024c173.44 0 313.642667-135.765333 313.642667-302.72v-2.496L640 356.16l-45.248-45.269333 150.826667-150.826667z" /></svg>
|
||||
|
After Width: | Height: | Size: 675 B |
1
admin/src/assets/icons/chart-3.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M892 824H200V132a4 4 0 0 0-4-4h-64a4 4 0 0 0-4 4v760a4 4 0 0 0 4 4h760a4 4 0 0 0 4-4v-64a4 4 0 0 0-4-4z m-616-72h64a4 4 0 0 0 4-4V636a4 4 0 0 0-4-4h-64a4 4 0 0 0-4 4v112a4 4 0 0 0 4 4z m160-240a4 4 0 0 0-4 4v232a4 4 0 0 0 4 4h64a4 4 0 0 0 4-4V516a4 4 0 0 0-4-4z m160 80a4 4 0 0 0-4 4v152a4 4 0 0 0 4 4h64a4 4 0 0 0 4-4V596a4 4 0 0 0-4-4z m160-160a4 4 0 0 0-4 4v312a4 4 0 0 0 4 4h64a4 4 0 0 0 4-4V436a4 4 0 0 0-4-4z m-427.4 52a4 4 0 0 0 5.6-0.2l135.5-146.5 130.5 121.6a40.1 40.1 0 0 0 57-2.5l139.2-153.9 37.1 28.3a4.2 4.2 0 0 0 6.8-2.9l16.3-156.6a4.2 4.2 0 0 0-5.7-4.4l-146.7 57.2a4.2 4.2 0 0 0-1 7.3l42.1 32.1L626 395.4 495.7 274.1a39.9 39.9 0 0 0-56.6 2.1L287.2 440.3a4.1 4.1 0 0 0 0.2 5.7z" /></svg>
|
||||
|
After Width: | Height: | Size: 966 B |
1
admin/src/assets/icons/chart-4.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M309.8 595.7a4.1 4.1 0 0 0 5.7-0.3l86.9-96.9a4 4 0 0 1 5.8-0.2L520.4 611a16.2 16.2 0 0 0 22.7 0l221.7-222.6a3.9 3.9 0 0 0 0-5.6l-39.6-39.6a4.2 4.2 0 0 0-5.7 0L534.6 528.8a4 4 0 0 1-5.7 0L405.8 405.2a4.1 4.1 0 0 0-5.9 0.1L267.8 552.7a4 4 0 0 0 0.4 5.6zM732 688H292a4 4 0 0 0-4 4v56a4 4 0 0 0 4 4h440a4 4 0 0 0 4-4v-56a4 4 0 0 0-4-4z m124-560H168a40 40 0 0 0-40 40v688a40 40 0 0 0 40 40h688a40 40 0 0 0 40-40V168a40 40 0 0 0-40-40z m-32 696H200V200h624z" /></svg>
|
||||
|
After Width: | Height: | Size: 726 B |
1
admin/src/assets/icons/chart.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M469.333333 151.808v64.554667c-144.746667 20.693333-256 145.173333-256 295.637333 0 164.949333 133.717333 298.666667 298.666667 298.666667 150.464 0 274.944-111.253333 295.637333-256h64.554667c-21.12 180.181333-174.336 320-360.192 320-200.298667 0-362.666667-162.368-362.666667-362.666667 0-185.856 139.818667-339.072 320-360.192zM512 149.333333c197.973333 0 358.933333 158.656 362.602667 355.776L874.666667 512H512V149.333333z m64 70.869334V448h227.797333a299.093333 299.093333 0 0 0-220.885333-226.197333L576 220.202667z" /></svg>
|
||||
|
After Width: | Height: | Size: 797 B |
1
admin/src/assets/icons/close.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M853.333333 714.666667v64H170.666667v-64h682.666666zM320 405.333333v213.333334l-149.333333-106.666667 149.333333-106.666667z m533.333333 85.333334v64H405.333333v-64h448z m0-234.666667v64H170.666667v-64h682.666666z" /></svg>
|
||||
|
After Width: | Height: | Size: 488 B |
1
admin/src/assets/icons/collection-fill.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M490.261333 173.44a49.066667 49.066667 0 0 1 64.064 19.178667l1.664 3.093333 87.850667 177.813333 196.352 28.501334a49.066667 49.066667 0 0 1 29.717333 81.066666l-2.538666 2.645334L725.333333 624l33.536 195.349333a49.066667 49.066667 0 0 1-68.010666 53.269334l-3.157334-1.514667L512 778.858667l-175.701333 92.266666a49.066667 49.066667 0 0 1-71.637334-48.426666l0.469334-3.328L298.666667 624.021333 156.629333 485.76a49.066667 49.066667 0 0 1 23.893334-83.114667l3.285333-0.597333 196.352-28.501333 87.850667-177.813334a49.066667 49.066667 0 0 1 22.250666-22.272z" /></svg>
|
||||
|
After Width: | Height: | Size: 838 B |
1
admin/src/assets/icons/collection.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M490.261333 173.44a49.066667 49.066667 0 0 1 64.064 19.178667l1.664 3.093333 87.850667 177.813333 196.352 28.501334a49.066667 49.066667 0 0 1 29.717333 81.066666l-2.538666 2.645334L725.333333 624l33.536 195.349333a49.066667 49.066667 0 0 1-68.010666 53.269334l-3.157334-1.514667L512 778.858667l-175.701333 92.266666a49.066667 49.066667 0 0 1-71.637334-48.426666l0.469334-3.328L298.666667 624.021333 156.629333 485.76a49.066667 49.066667 0 0 1 23.893334-83.114667l3.285333-0.597333 196.352-28.501333 87.850667-177.813334a49.066667 49.066667 0 0 1 22.250666-22.272z m-67.626666 258.581333l-199.658667 28.992 144.469333 140.650667-34.133333 198.741333L512 706.56l178.688 93.845333-34.133333-198.741333 144.469333-140.650667-199.658667-28.992L512 251.157333l-89.386667 180.864z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
1
admin/src/assets/icons/comments.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M810.667 213.333a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H478.336l-146.645 96.107a21.333 21.333 0 0 1-33.024-17.856V768h-85.334a64 64 0 0 1-64-64V277.333a64 64 0 0 1 64-64h597.334z m0 64H213.333V704h149.334v63.296L459.243 704h351.424V277.333z m-271.36 213.334v64h-176.64v-64h176.64z m122.026-128v64H362.667v-64h298.666z" /></svg>
|
||||
|
After Width: | Height: | Size: 593 B |
1
admin/src/assets/icons/commodity-1.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32z m-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16z m392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z" /></svg>
|
||||
|
After Width: | Height: | Size: 617 B |
1
admin/src/assets/icons/commodity-2.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M298.666667 277.333333v64h-25.898667L239.573333 789.333333h544.853334l-33.194667-448h-25.92v-64h25.92a64 64 0 0 1 63.829333 59.264l33.173334 448A64 64 0 0 1 784.426667 853.333333H239.573333a64 64 0 0 1-63.808-68.736l33.173334-448A64 64 0 0 1 272.768 277.333333h25.877333z m331.477333 234.666667l60.309333 21.418667C627.157333 711.594667 388.309333 711.594667 341.333333 530.773333l61.952-16.085333c30.613333 117.845333 184.064 117.845333 226.858667-2.666667z m-117.333333-373.333333a170.624 170.624 0 0 1 170.624 170.624v86.464h-64V341.333333h-213.269334l0.021334 54.4h-64v-86.442666A170.624 170.624 0 0 1 512.810667 138.666667z m0 64a106.666667 106.666667 0 0 0-101.76 74.666666h203.52a106.666667 106.666667 0 0 0-101.76-74.666666z" /></svg>
|
||||
|
After Width: | Height: | Size: 1007 B |
1
admin/src/assets/icons/commodity-3.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M851 384H704v-96c0-105.6-86.4-192-192-192s-192 86.4-192 192v96H173a40 40 0 0 0-39.7 44.7l54.5 464a40.1 40.1 0 0 0 39.8 35.3h568.8a40.1 40.1 0 0 0 39.8-35.3l54.5-464A40 40 0 0 0 851 384z m-459-96a120 120 0 0 1 240 0v96H392z m376 568H256l-47-400h111v60.5a58 58 0 1 0 72 0V456h240v60.5a58 58 0 1 0 72 0V456h111z" /></svg>
|
||||
|
After Width: | Height: | Size: 583 B |
1
admin/src/assets/icons/commodity.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M796.444444 910.222222H227.555556a113.777778 113.777778 0 0 1-113.777778-113.777778V227.555556a113.777778 113.777778 0 0 1 113.777778-113.777778h568.888888a113.777778 113.777778 0 0 1 113.777778 113.777778v568.888888a113.777778 113.777778 0 0 1-113.777778 113.777778zM227.555556 182.044444a45.511111 45.511111 0 0 0-45.511112 45.511112v568.888888a45.511111 45.511111 0 0 0 45.511112 45.511112h568.888888a45.511111 45.511111 0 0 0 45.511112-45.511112V227.555556a45.511111 45.511111 0 0 0-45.511112-45.511112z" /><path d="M671.288889 270.222222a159.288889 159.288889 0 0 1-318.577778 0H284.444444a230.343111 230.343111 0 0 0 227.555556 227.555556c1.365333 0 2.616889-0.398222 3.925333-0.398222A230.001778 230.001778 0 0 0 739.555556 270.222222z" /></svg>
|
||||
|
After Width: | Height: | Size: 1019 B |
1
admin/src/assets/icons/copy.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M625.777778 977.976889H227.555556a113.777778 113.777778 0 0 1-113.777778-113.777778V344.291556a113.777778 113.777778 0 0 1 113.777778-113.777778h398.222222a113.777778 113.777778 0 0 1 113.777778 113.777778v519.907555a113.777778 113.777778 0 0 1-113.777778 113.777778zM227.555556 298.894222a45.511111 45.511111 0 0 0-45.511112 45.511111v519.907556a45.511111 45.511111 0 0 0 45.511112 45.511111h398.222222a45.511111 45.511111 0 0 0 45.511111-45.511111V344.405333a45.511111 45.511111 0 0 0-45.511111-45.511111zM796.444444 56.888889H398.222222a113.777778 113.777778 0 0 0-113.436444 110.250667c0 1.194667-0.341333 2.275556-0.341334 3.470222v92.615111h68.266667V170.609778a45.511111 45.511111 0 0 1 45.511111-45.511111h398.222222a45.511111 45.511111 0 0 1 45.511112 45.511111v519.907555a45.511111 45.511111 0 0 1-45.511112 45.511111h-92.558222v68.266667H796.444444a113.777778 113.777778 0 0 0 112.867556-104.504889c0-3.072 0.910222-6.087111 0.910222-9.216V170.723556c0-1.194667-0.341333-2.275556-0.341333-3.470223A113.777778 113.777778 0 0 0 796.444444 56.888889z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
admin/src/assets/icons/coupons.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M148.010667 605.290667c50.069333 0 90.666667-40.874667 90.666666-91.285334 0-49.962667-39.893333-90.538667-89.344-91.264V277.333333a64 64 0 0 1 64-64h597.333334a64 64 0 0 1 64 64l-0.021334 145.450667-3.050666 0.064c-48.021333 2.304-86.272 42.24-86.272 91.157333 0 49.962667 39.872 90.56 89.322666 91.285334V746.666667a64 64 0 0 1-64 64H213.333333a64 64 0 0 1-64-64v-141.397334l-1.322666 0.021334zM213.333333 654.784V746.666667h597.333334v-91.861334a155.370667 155.370667 0 0 1-89.344-140.8A154.837333 154.837333 0 0 1 810.666667 373.568V277.333333H213.333333v95.893334a155.370667 155.370667 0 0 1 89.322667 140.8 155.370667 155.370667 0 0 1-84.266667 138.282666l-5.056 2.496zM384 597.333333h68.010667v85.333334H384v-85.333334z m0-128h68.010667v85.333334H384v-85.333334z m0-128h68.010667v85.333334H384v-85.333334z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
admin/src/assets/icons/delete.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M889.287111 219.420444h-178.005333V154.737778a97.28 97.28 0 0 0-96.995556-96.711111h-193.991111a97.28 97.28 0 0 0-96.995555 96.711111v64.682666H145.464889a32.312889 32.312889 0 0 0-32.312889 32.312889 32.312889 32.312889 0 0 0 32.312889 32.369778h48.469333v517.290667a129.706667 129.706667 0 0 0 129.308445 129.308444h387.982222a129.706667 129.706667 0 0 0 129.308444-129.308444V284.103111h48.469334a32.369778 32.369778 0 0 0 32.369777-32.369778 32.312889 32.312889 0 0 0-32.369777-32.312889zM388.152889 154.737778a32.426667 32.426667 0 0 1 32.312889-32.312889h193.991111a32.426667 32.426667 0 0 1 32.312889 32.312889v64.682666H388.152889z m387.982222 646.599111a64.853333 64.853333 0 0 1-64.682667 64.682667h-387.982222a64.910222 64.910222 0 0 1-64.682666-64.682667V284.046222h517.290666zM420.750222 413.411556a32.426667 32.426667 0 0 0-32.312889 32.312888v258.616889a32.312889 32.312889 0 0 0 32.369778 32.312889 32.312889 32.312889 0 0 0 32.312889-32.312889V445.724444a32.426667 32.426667 0 0 0-32.312889-32.312888z m193.991111 0a32.426667 32.426667 0 0 0-32.312889 32.312888v258.616889a32.312889 32.312889 0 0 0 32.369778 32.312889 32.312889 32.312889 0 0 0 32.312889-32.312889V445.724444a32.426667 32.426667 0 0 0-32.312889-32.312888z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
admin/src/assets/icons/delivery.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M744 251.1a40.1 40.1 0 0 0-31.3-15.1H640v-68a40 40 0 0 0-40-40H104a40 40 0 0 0-40 40v560a40 40 0 0 0 40 40h88a128 128 0 0 0 256 0h188a128 128 0 0 0 256 0h28a40 40 0 0 0 40-40V536.5a39.9 39.9 0 0 0-8.7-24.9zM697.3 308l95.5 120H640V308zM320 824a56 56 0 1 1 56-56 56 56 0 0 1-56 56z m248-128H425.8a127.9 127.9 0 0 0-211.6 0H136V200h432v496z m-120.1 67.6z m-0.3-5.5z m-0.4-4.4c0-0.3-0.1-0.6-0.1-1s0.1 0.7 0.1 1z m-0.7-5.3z m-0.7-4.3a2.9 2.9 0 0 1-0.2-0.9 2.9 2.9 0 0 0 0.2 0.9z m-1.1-5.2a0.1 0.1 0 0 0-0.1-0.1 0.1 0.1 0 0 1 0.1 0.1z m-1.1-4.2c-0.1-0.3-0.1-0.5-0.2-0.8s0.1 0.5 0.2 0.8z m-1.4-5a0.1 0.1 0 0 0-0.1-0.1 0.1 0.1 0 0 1 0.1 0.1z m-1.4-4.1a2.5 2.5 0 0 1-0.2-0.7 2.5 2.5 0 0 0 0.2 0.7z m-1.8-4.8z m-1.7-4.1l-0.2-0.5z m-4.1-8.5c-0.1-0.1-0.1-0.3-0.2-0.4s0.1 0.3 0.2 0.4z m-4.7-8.1l-0.2-0.3z m-236.4 63.5z m0.3-5.5z m0.4-4.4c0-0.3 0.1-0.6 0.1-1s-0.1 0.7-0.1 1z m0.7-5.3z m0.7-4.3a2.9 2.9 0 0 0 0.2-0.9 2.9 2.9 0 0 1-0.2 0.9z m1.1-5.2a0.1 0.1 0 0 1 0.1-0.1 0.1 0.1 0 0 0-0.1 0.1z m1.1-4.2c0.1-0.3 0.1-0.5 0.2-0.8s-0.1 0.5-0.2 0.8z m1.4-5a0.1 0.1 0 0 1 0.1-0.1 0.1 0.1 0 0 0-0.1 0.1z m1.4-4.1a2.5 2.5 0 0 0 0.2-0.7 2.5 2.5 0 0 1-0.2 0.7z m1.8-4.8z m1.7-4.1l0.2-0.5z m4.1-8.5c0.1-0.1 0.1-0.3 0.2-0.4s-0.1 0.3-0.2 0.4z m4.7-8.1l0.2-0.3zM764 824a56 56 0 1 1 56-56 56 56 0 0 1-56 56z m0-184a127.7 127.7 0 0 0-105.8 56H640V492h203.7l44.3 55.7V696h-18.2A127.7 127.7 0 0 0 764 640z m-123.6 94.7c0.1-0.3 0.1-0.5 0.2-0.8s-0.1 0.5-0.2 0.8z m1.4-5a0.1 0.1 0 0 1 0.1-0.1 0.1 0.1 0 0 0-0.1 0.1z m1.4-4.1a2.5 2.5 0 0 0 0.2-0.7 2.5 2.5 0 0 1-0.2 0.7z m1.8-4.8z m1.7-4.1l0.2-0.5z m4.1-8.5c0.1-0.1 0.1-0.3 0.2-0.4s-0.1 0.3-0.2 0.4z m4.7-8.1l0.2-0.3z m232.1 34.6c-0.1-0.3-0.1-0.5-0.2-0.8s0.1 0.5 0.2 0.8z m-1.4-5a0.1 0.1 0 0 0-0.1-0.1 0.1 0.1 0 0 1 0.1 0.1z m-1.4-4.1a2.5 2.5 0 0 1-0.2-0.7 2.5 2.5 0 0 0 0.2 0.7z m-1.8-4.8z m-1.7-4.1l-0.2-0.5z m-4.1-8.5c-0.1-0.1-0.1-0.3-0.2-0.4s0.1 0.3 0.2 0.4z m-4.7-8.1l-0.2-0.3z m19.4 62.4z m-3.3-23.7a0.1 0.1 0 0 1 0.1 0.1 0.1 0.1 0 0 0-0.1-0.1z m1 4.4a2.9 2.9 0 0 0 0.2 0.9 2.9 2.9 0 0 1-0.2-0.9z m0.9 5.1z m0.6 4.4c0 0.4 0.1 0.7 0.1 1s-0.1-0.6-0.1-1z m0.5 5.3z" /></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
1
admin/src/assets/icons/details.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M468 552H300a4 4 0 0 0-4 4v56a4 4 0 0 0 4 4h168a4 4 0 0 0 4-4v-56a4 4 0 0 0-4-4z m128-136H300a4 4 0 0 0-4 4v56a4 4 0 0 0 4 4h296a4 4 0 0 0 4-4v-56a4 4 0 0 0-4-4z m212 160h-40V104a40 40 0 0 0-40-40H184A120 120 0 0 0 64 184v72a40 40 0 0 0 40 40h24v560a40 40 0 0 0 40 40h720a40 40 0 0 0 40-40V696a120 120 0 0 0-120-120zM136 224v-40a48 48 0 0 1 48-48h352v88z m560 600H200V296h368a40 40 0 0 0 40-40V136h88z m160 0h-88V648h40a48 48 0 0 1 48 48z" /></svg>
|
||||
|
After Width: | Height: | Size: 713 B |
1
admin/src/assets/icons/envelope.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M746.666667 149.333333a64 64 0 0 1 64 64v181.333334a64 64 0 0 1 64 64v49.664l-64 58.496v-87.573334l-239.104 197.376a95.978667 95.978667 0 0 1-117.632 3.050667l-3.84-2.986667-236.757334-192V800h372.330667l62.805333 64H213.333333a64 64 0 0 1-64-64v-341.333333a64 64 0 0 1 64-64V213.333333a64 64 0 0 1 64-64h469.333334z m126.869333 467.861334l44.928 45.610666-174.08 171.456-105.536-104.106666 44.970667-45.568 60.586666 59.818666 129.130667-127.210666zM746.666667 213.333333H277.333333v240.853334l213.184 172.906666a32 32 0 0 0 37.845334 1.984l2.56-1.92L746.666667 449.109333V213.333333z m-149.333334 192v64H362.666667v-64h234.666666z m64-128v64H362.666667v-64h298.666666z" /></svg>
|
||||
|
After Width: | Height: | Size: 945 B |
1
admin/src/assets/icons/exchange.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M285.8 406.9l137.3 83.7a7.7 7.7 0 0 0 11.8-6.6v-51.7h175a68.1 68.1 0 0 1 67.9 64.1 4.1 4.1 0 0 0 4 3.9h56.1a4.1 4.1 0 0 0 4-4.2c-2.2-70.8-60.6-127.8-132-127.8h-175v-51.8a7.7 7.7 0 0 0-11.8-6.6l-137.3 83.7a7.8 7.8 0 0 0 0 13.3z m452.4 210.2l-137.3-83.7a7.7 7.7 0 0 0-11.8 6.6v51.7h-175a68.1 68.1 0 0 1-67.9-64.1 4.1 4.1 0 0 0-4-3.9h-56.1a4.1 4.1 0 0 0-4 4.2c2.2 70.8 60.6 127.8 132 127.8h175v51.8a7.7 7.7 0 0 0 11.8 6.6l137.3-83.7a7.8 7.8 0 0 0 0-13.3zM856 128H168a40 40 0 0 0-40 40v688a40 40 0 0 0 40 40h688a40 40 0 0 0 40-40V168a40 40 0 0 0-40-40z m-32 696H200V200h624z" /></svg>
|
||||
|
After Width: | Height: | Size: 845 B |
1
admin/src/assets/icons/field-time.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="64px" height="64.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M945 412H689c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h256c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM811 548H689c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h122c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM477.3 322.5H434c-6.2 0-11.2 5-11.2 11.2v248c0 3.6 1.7 6.9 4.6 9l148.9 108.6c5 3.6 12 2.6 15.6-2.4l25.7-35.1v-0.1c3.6-5 2.5-12-2.5-15.6l-126.7-91.6V333.7c0.1-6.2-5-11.2-11.1-11.2zM804.8 673.9H747c-5.6 0-10.9 2.9-13.9 7.7-12.7 20.1-27.5 38.7-44.5 55.7-29.3 29.3-63.4 52.3-101.3 68.3-39.3 16.6-81 25-124 25-43.1 0-84.8-8.4-124-25-37.9-16-72-39-101.3-68.3s-52.3-63.4-68.3-101.3c-16.6-39.2-25-80.9-25-124 0-43.1 8.4-84.7 25-124 16-37.9 39-72 68.3-101.3 29.3-29.3 63.4-52.3 101.3-68.3 39.2-16.6 81-25 124-25 43.1 0 84.8 8.4 124 25 37.9 16 72 39 101.3 68.3 17 17 31.8 35.6 44.5 55.7 3 4.8 8.3 7.7 13.9 7.7h57.8c6.9 0 11.3-7.2 8.2-13.3-65.2-129.7-197.4-214-345-215.7-216.1-2.7-395.6 174.2-396 390.1C71.6 727.5 246.9 903 463.2 903c149.5 0 283.9-84.6 349.8-215.8 3.1-6.1-1.4-13.3-8.2-13.3z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |