Browse Source

效果数据更改/视频地图缓存

master
xuhuajiao 1 year ago
parent
commit
5c6a2d0e42
  1. 9
      .env.development
  2. 159
      src/api/library.js
  3. BIN
      src/assets/fonts/YouSheBiaoTiHei.ttf
  4. BIN
      src/assets/fonts/ZhenyanGB.ttf
  5. 14
      src/assets/fonts/fonts.css
  6. 88
      src/assets/iconfont/iconfont.css
  7. 1
      src/assets/iconfont/iconfont.js
  8. 135
      src/assets/iconfont/iconfont.json
  9. 55
      src/assets/iconfont/iconfont.svg
  10. BIN
      src/assets/iconfont/iconfont.ttf
  11. BIN
      src/assets/iconfont/iconfont.woff
  12. BIN
      src/assets/iconfont/iconfont.woff2
  13. BIN
      src/assets/images/bg2.png
  14. BIN
      src/assets/images/database-img1.png
  15. BIN
      src/assets/images/header-bg2.png
  16. BIN
      src/assets/images/map-hx-big.png
  17. BIN
      src/assets/images/map-hx-small2.png
  18. BIN
      src/assets/images/map-hx01.png
  19. BIN
      src/assets/images/map-hx02.png
  20. BIN
      src/assets/images/map_14.png
  21. BIN
      src/assets/images/pageOne-1.png
  22. BIN
      src/assets/images/pageOne-2.png
  23. BIN
      src/assets/images/pageOne-3.png
  24. BIN
      src/assets/images/pageOne-4.png
  25. BIN
      src/assets/images/pageOne-5.png
  26. BIN
      src/assets/images/pageOne-6.png
  27. BIN
      src/assets/images/wq.png
  28. 150
      src/assets/js/tagscloud.js
  29. 9
      src/assets/styles/font-some.css
  30. 243
      src/assets/styles/index.scss
  31. 2
      src/assets/styles/style.scss
  32. 3
      src/main.js
  33. 3
      src/utils/request.js
  34. 31
      src/views/index.vue
  35. 47
      src/views/map/index.vue
  36. 27
      src/views/pageFour/index.vue
  37. 186
      src/views/pageOne/index.vue
  38. 4
      vue.config.js

9
.env.development

@ -2,14 +2,9 @@ ENV = 'development'
# 接口地址 # 接口地址
#内网服务地址
#VUE_APP_BASE_API = 'http://192.168.99.107:7070'
#VUE_APP_WS_API = 'ws://192.168.99.107:7071'
#VUE_APP_CAMERA_API = '192.168.99.107'
# 许镇-本地服地址 # 许镇-本地服地址
VUE_APP_BASE_API = 'http://192.168.99.67:8080'
VUE_APP_WS_API = 'ws://192.168.99.67:8081'
VUE_APP_BASE_API = 'http://192.168.99.67:8080/'
VUE_APP_WS_API = 'ws://192.168.99.67:8081/'
# 是否启用 babel-plugin-dynamic-import-node插件 # 是否启用 babel-plugin-dynamic-import-node插件
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true

159
src/api/library.js

@ -1,95 +1,114 @@
import request from '@/utils/request' import request from '@/utils/request'
// import qs from 'qs'
import qs from 'qs'
// 总借阅量
export function FetchHalfYearBorrowNum(params) {
// 获取初始化数据
export function FetchInitSetting(params) {
return request({ return request({
url: '/dxhtsg/getHalfYearBorrowNum',
method: 'get',
params: params
url: '/qyzt/initSetting' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
}) })
} }
// 借阅排行榜
export function FetchBorrowRank(params) {
// page1 云标签
export function FetchHotSearch(params) {
return request({ return request({
url: '/dxhtsg/borrowRank',
method: 'get',
params: params
url: '/qyzt/getHotSearch' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
}) })
} }
// 阅读之星
export function FetchBorrowStar(params) {
// page1 获取公众号总粉丝数
export function FetchFansCount(params) {
return request({ return request({
url: '/dxhtsg/borrowStar',
method: 'get',
params: params
url: '/qyzt/getfansCount' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
}) })
} }
// 新书推荐
export function FetchNewBookRecommend(params) {
// page1 新书推荐
export function FetchNewBook(params) {
return request({ return request({
url: '/dxhtsg/newBookRecommend',
method: 'get',
params: params
url: '/qyzt/getNewBook' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
}) })
} }
// 通知公告
export function FetchInitNotice(params) {
return request({
url: '/dxhtsg/initNotice',
method: 'get',
params: params
})
}
// // 借阅排行榜
// export function FetchBorrowRank(params) {
// return request({
// url: '/dxhtsg/borrowRank',
// method: 'get',
// params: params
// })
// }
// 进馆人数
export function FetchInitIntoNum(params) {
return request({
url: '/dxhtsg/initIntoNum',
method: 'get',
params: params
})
}
// // 阅读之星
// export function FetchBorrowStar(params) {
// return request({
// url: '/dxhtsg/borrowStar',
// method: 'get',
// params: params
// })
// }
// 24小时借还量
export function FetchHalfYearBRNum(params) {
return request({
url: '/dxhtsg/getHalfYearBRNum',
method: 'get',
params: params
})
}
// // 新书推荐
// export function FetchNewBookRecommend(params) {
// return request({
// url: '/dxhtsg/newBookRecommend',
// method: 'get',
// params: params
// })
// }
// 大屏幕播放文件
export function FetchShowFileList(params) {
return request({
url: '/dxhtsg/showFileList',
method: 'get',
params: params
})
}
// // 通知公告
// export function FetchInitNotice(params) {
// return request({
// url: '/dxhtsg/initNotice',
// method: 'get',
// params: params
// })
// }
// 通过isbn获取图书封面
export function FetchCoverByISBN(params) {
return request({
url: '/dxhtsg/getCoverByISBN',
method: 'get',
params: params
// responseType: 'blob'
})
}
// // 进馆人数
// export function FetchInitIntoNum(params) {
// return request({
// url: '/dxhtsg/initIntoNum',
// method: 'get',
// params: params
// })
// }
// // 24小时借还量
// export function FetchHalfYearBRNum(params) {
// return request({
// url: '/dxhtsg/getHalfYearBRNum',
// method: 'get',
// params: params
// })
// }
// // 大屏幕播放文件
// export function FetchShowFileList(params) {
// return request({
// url: '/dxhtsg/showFileList',
// method: 'get',
// params: params
// })
// }
// // 通过isbn获取图书封面
// export function FetchCoverByISBN(params) {
// return request({
// url: '/dxhtsg/getCoverByISBN',
// method: 'get',
// params: params
// // responseType: 'blob'
// })
// }
export default { export default {
FetchHalfYearBorrowNum,
FetchBorrowRank,
FetchBorrowStar,
FetchNewBookRecommend,
FetchInitNotice,
FetchInitIntoNum,
FetchHalfYearBRNum,
FetchShowFileList
FetchInitSetting,
FetchHotSearch,
FetchFansCount,
FetchNewBook
} }

BIN
src/assets/fonts/YouSheBiaoTiHei.ttf

BIN
src/assets/fonts/ZhenyanGB.ttf

14
src/assets/fonts/fonts.css

@ -1,17 +1,3 @@
@font-face {
font-family: "ZhenyanGB";
src: url('ZhenyanGB.ttf');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: "YouSheBiaoTiHei";
src: url('YouSheBiaoTiHei.ttf');
font-weight: normal;
font-style: normal;
}
@font-face { @font-face {
font-family: "DingTalk_JinBuTi_Regular"; font-family: "DingTalk_JinBuTi_Regular";
src: url('DingTalk_JinBuTi_Regular.ttf'); src: url('DingTalk_JinBuTi_Regular.ttf');

88
src/assets/iconfont/iconfont.css

@ -1,88 +0,0 @@
@font-face {
font-family: "iconfont2"; /* Project id 3646564 */
src: url('iconfont.woff2?t=1718094031775') format('woff2'),
url('iconfont.woff?t=1718094031775') format('woff'),
url('iconfont.ttf?t=1718094031775') format('truetype'),
url('iconfont.svg?t=1718094031775#iconfont') format('svg');
}
.iconfont {
font-family: "iconfont2" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-shouxie:before {
content: "\e63a";
}
.icon-jianpan1:before {
content: "\e63b";
}
.icon-weizhi:before {
content: "\e639";
}
.icon-youhua:before {
content: "\e635";
}
.icon-zuohua:before {
content: "\e638";
}
.icon-a-no21:before {
content: "\e636";
}
.icon-a-21:before {
content: "\e637";
}
.icon-jianpan:before {
content: "\e634";
}
.icon-guanbi:before {
content: "\e630";
}
.icon-zuo:before {
content: "\e631";
}
.icon-benjiatushu:before {
content: "\e632";
}
.icon-remen:before {
content: "\e633";
}
.icon-you:before {
content: "\e62f";
}
.icon-tongzhi:before {
content: "\e628";
}
.icon-a-no3:before {
content: "\e629";
}
.icon-a-no1:before {
content: "\e62b";
}
.icon-a-3:before {
content: "\e62d";
}
.icon-a-1:before {
content: "\e62e";
}

1
src/assets/iconfont/iconfont.js
File diff suppressed because it is too large
View File

135
src/assets/iconfont/iconfont.json

@ -1,135 +0,0 @@
{
"id": "3646564",
"name": "东西湖图书馆",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "32924518",
"name": "手写",
"font_class": "shouxie",
"unicode": "e63a",
"unicode_decimal": 58938
},
{
"icon_id": "32924519",
"name": "键盘",
"font_class": "jianpan1",
"unicode": "e63b",
"unicode_decimal": 58939
},
{
"icon_id": "32102019",
"name": "位置",
"font_class": "weizhi",
"unicode": "e639",
"unicode_decimal": 58937
},
{
"icon_id": "31966175",
"name": "右滑",
"font_class": "youhua",
"unicode": "e635",
"unicode_decimal": 58933
},
{
"icon_id": "31966176",
"name": "左滑",
"font_class": "zuohua",
"unicode": "e638",
"unicode_decimal": 58936
},
{
"icon_id": "31879702",
"name": "no.2",
"font_class": "a-no21",
"unicode": "e636",
"unicode_decimal": 58934
},
{
"icon_id": "31879708",
"name": "2",
"font_class": "a-21",
"unicode": "e637",
"unicode_decimal": 58935
},
{
"icon_id": "31879044",
"name": "键盘",
"font_class": "jianpan",
"unicode": "e634",
"unicode_decimal": 58932
},
{
"icon_id": "31859389",
"name": "关闭",
"font_class": "guanbi",
"unicode": "e630",
"unicode_decimal": 58928
},
{
"icon_id": "31859390",
"name": "左",
"font_class": "zuo",
"unicode": "e631",
"unicode_decimal": 58929
},
{
"icon_id": "31859393",
"name": "本架图书",
"font_class": "benjiatushu",
"unicode": "e632",
"unicode_decimal": 58930
},
{
"icon_id": "31859394",
"name": "热门",
"font_class": "remen",
"unicode": "e633",
"unicode_decimal": 58931
},
{
"icon_id": "31859388",
"name": "右",
"font_class": "you",
"unicode": "e62f",
"unicode_decimal": 58927
},
{
"icon_id": "31804863",
"name": "通知",
"font_class": "tongzhi",
"unicode": "e628",
"unicode_decimal": 58920
},
{
"icon_id": "31804864",
"name": "no.3",
"font_class": "a-no3",
"unicode": "e629",
"unicode_decimal": 58921
},
{
"icon_id": "31804866",
"name": "no.1",
"font_class": "a-no1",
"unicode": "e62b",
"unicode_decimal": 58923
},
{
"icon_id": "31804868",
"name": "3",
"font_class": "a-3",
"unicode": "e62d",
"unicode_decimal": 58925
},
{
"icon_id": "31804869",
"name": "1",
"font_class": "a-1",
"unicode": "e62e",
"unicode_decimal": 58926
}
]
}

55
src/assets/iconfont/iconfont.svg
File diff suppressed because it is too large
View File

BIN
src/assets/iconfont/iconfont.ttf

BIN
src/assets/iconfont/iconfont.woff

BIN
src/assets/iconfont/iconfont.woff2

BIN
src/assets/images/bg2.png

After

Width: 1920  |  Height: 1080  |  Size: 457 KiB

BIN
src/assets/images/database-img1.png

Before

Width: 503  |  Height: 512  |  Size: 408 KiB

BIN
src/assets/images/header-bg2.png

Before

Width: 1446  |  Height: 100  |  Size: 85 KiB

BIN
src/assets/images/map-hx-big.png

Before

Width: 905  |  Height: 723  |  Size: 86 KiB

BIN
src/assets/images/map-hx-small2.png

Before

Width: 905  |  Height: 905  |  Size: 46 KiB

BIN
src/assets/images/map-hx01.png

Before

Width: 905  |  Height: 723  |  Size: 97 KiB

BIN
src/assets/images/map-hx02.png

Before

Width: 1306  |  Height: 1037  |  Size: 133 KiB

BIN
src/assets/images/map_14.png

Before

Width: 196  |  Height: 2  |  Size: 1.0 KiB

BIN
src/assets/images/pageOne-1.png

After

Width: 267  |  Height: 102  |  Size: 24 KiB

BIN
src/assets/images/pageOne-2.png

After

Width: 267  |  Height: 102  |  Size: 24 KiB

BIN
src/assets/images/pageOne-3.png

After

Width: 391  |  Height: 314  |  Size: 108 KiB

BIN
src/assets/images/pageOne-4.png

After

Width: 432  |  Height: 275  |  Size: 127 KiB

BIN
src/assets/images/pageOne-5.png

After

Width: 31  |  Height: 31  |  Size: 3.5 KiB

BIN
src/assets/images/pageOne-6.png

After

Width: 610  |  Height: 163  |  Size: 11 KiB

BIN
src/assets/images/wq.png

After

Width: 391  |  Height: 314  |  Size: 39 KiB

150
src/assets/js/tagscloud.js

@ -0,0 +1,150 @@
// JavaScript Document
var radius = 160
var d = 200
var dtr = Math.PI / 180
var mcList = []
var lasta = 1
var lastb = 1
var distr = true
var tspeed = 4
var size = 200
var mouseX = 0
var mouseY = 20
var howElliptical = 1
var aA = null
var oDiv = null
window.onload = function() {
var i = 0
var oTag = null
oDiv = document.getElementById('tagscloud')
aA = oDiv.getElementsByTagName('a')
for (i = 0; i < aA.length; i++) {
oTag = {}
aA[i].onmouseover = (function(obj) {
return function() {
obj.on = true
this.style.zIndex = 9999
this.style.color = '#fff'
this.style.padding = '5px 5px'
this.style.filter = 'alpha(opacity=100)'
this.style.opacity = 1
}
})(oTag)
aA[i].onmouseout = (function(obj) {
return function() {
obj.on = false
this.style.zIndex = obj.zIndex
this.style.color = '#fff'
this.style.padding = '5px'
this.style.filter = 'alpha(opacity=' + 100 * obj.alpha + ')'
this.style.opacity = obj.alpha
this.style.zIndex = obj.zIndex
}
})(oTag)
oTag.offsetWidth = aA[i].offsetWidth
oTag.offsetHeight = aA[i].offsetHeight
mcList.push(oTag)
}
sineCosine(0, 0, 0)
positionAll();
(function() {
update()
setTimeout(arguments.callee, 40)
})()
}
function update() {
var a; var b; var c = 0
a = (Math.min(Math.max(-mouseY, -size), size) / radius) * tspeed
b = (-Math.min(Math.max(-mouseX, -size), size) / radius) * tspeed
lasta = a
lastb = b
if (Math.abs(a) <= 0.01 && Math.abs(b) <= 0.01) {
return
}
sineCosine(a, b, c)
for (var i = 0; i < mcList.length; i++) {
if (mcList[i].on) {
continue
}
var rx1 = mcList[i].cx
var ry1 = mcList[i].cy * ca + mcList[i].cz * (-sa)
var rz1 = mcList[i].cy * sa + mcList[i].cz * ca
var rx2 = rx1 * cb + rz1 * sb
var ry2 = ry1
var rz2 = rx1 * (-sb) + rz1 * cb
var rx3 = rx2 * cc + ry2 * (-sc)
var ry3 = rx2 * sc + ry2 * cc
var rz3 = rz2
mcList[i].cx = rx3
mcList[i].cy = ry3
mcList[i].cz = rz3
per = d / (d + rz3)
mcList[i].x = (howElliptical * rx3 * per) - (howElliptical * 2)
mcList[i].y = ry3 * per
mcList[i].scale = per
var alpha = per
alpha = (alpha - 0.6) * (10 / 6)
mcList[i].alpha = alpha * alpha * alpha - 0.2
mcList[i].zIndex = Math.ceil(100 - Math.floor(mcList[i].cz))
}
doPosition()
}
function positionAll() {
var phi = 0
var theta = 0
var max = mcList.length
for (var i = 0; i < max; i++) {
if (distr) {
phi = Math.acos(-1 + (2 * (i + 1) - 1) / max)
theta = Math.sqrt(max * Math.PI) * phi
} else {
phi = Math.random() * (Math.PI)
theta = Math.random() * (2 * Math.PI)
}
// 坐标变换
mcList[i].cx = radius * Math.cos(theta) * Math.sin(phi)
mcList[i].cy = radius * Math.sin(theta) * Math.sin(phi)
mcList[i].cz = radius * Math.cos(phi)
aA[i].style.left = mcList[i].cx + oDiv.offsetWidth / 2 - mcList[i].offsetWidth / 2 + 'px'
aA[i].style.top = mcList[i].cy + oDiv.offsetHeight / 2 - mcList[i].offsetHeight / 2 + 'px'
}
}
function doPosition() {
var l = oDiv.offsetWidth / 2
var t = oDiv.offsetHeight / 2
for (var i = 0; i < mcList.length; i++) {
if (mcList[i].on) {
continue
}
var aAs = aA[i].style
if (mcList[i].alpha > 0.1) {
if (aAs.display !== '') { aAs.display = '' }
} else {
if (aAs.display !== 'none') { aAs.display = 'none' }
continue
}
aAs.left = mcList[i].cx + l - mcList[i].offsetWidth / 2 + 'px'
aAs.top = mcList[i].cy + t - mcList[i].offsetHeight / 2 + 'px'
// aAs.fontSize=Math.ceil(12*mcList[i].scale/2)+8+'px';
// aAs.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+100*mcList[i].alpha+")";
aAs.filter = 'alpha(opacity=' + 100 * mcList[i].alpha + ')'
aAs.zIndex = mcList[i].zIndex
aAs.opacity = mcList[i].alpha
}
}
function sineCosine(a, b, c) {
sa = Math.sin(a * dtr)
ca = Math.cos(a * dtr)
sb = Math.sin(b * dtr)
cb = Math.cos(b * dtr)
sc = Math.sin(c * dtr)
cc = Math.cos(c * dtr)
}

9
src/assets/styles/font-some.css

@ -1,6 +1,7 @@
.chartNum{ .chartNum{
display: flex; display: flex;
justify-content: center;
justify-content: flex-start;
padding-left: .575rem;
} }
.box-items { .box-items {
position: relative; position: relative;
@ -13,7 +14,7 @@
display: flex; display: flex;
justify-content: center; justify-content: center;
text-align: center; text-align: center;
width: .225rem;
width: .25rem;
height: .5rem; height: .5rem;
line-height: .4rem; line-height: .4rem;
} }
@ -31,8 +32,8 @@
position: absolute; position: absolute;
top: 0; top: 0;
left: 50%; left: 50%;
font-size: 0.375rem;
font-weight: bold;
font-size: .35rem;
font-weight: 600;
z-index: 99999; z-index: 99999;
color: #fff; color: #fff;
/* background: -webkit-linear-gradient(90deg, rgba(14,197,236,1) 20%,rgba(239,252,254,1) 70%); /* background: -webkit-linear-gradient(90deg, rgba(14,197,236,1) 20%,rgba(239,252,254,1) 70%);

243
src/assets/styles/index.scss

@ -6,7 +6,7 @@
line-height: .4375rem; line-height: .4375rem;
color: #fff; color: #fff;
overflow: hidden; overflow: hidden;
background: url('~@/assets/images/bg.png') no-repeat top center #02061a;
background: url('~@/assets/images/bg2.png') no-repeat top center #02061a;
font-family: 'DingTalk_JinBuTi_Regular'; font-family: 'DingTalk_JinBuTi_Regular';
} }
@ -62,15 +62,12 @@
.header-container { .header-container {
position: relative; position: relative;
width: 100%; width: 100%;
// height: 1.25rem;
height: 1.0625rem; height: 1.0625rem;
color: #fff; color: #fff;
z-index: 9999; z-index: 9999;
.header-title { .header-title {
position: relative; position: relative;
font-family: 'Microsoft YaHei'; font-family: 'Microsoft YaHei';
// width: 19.5875rem;
// height: 1.25rem;
width: 18.1375rem; width: 18.1375rem;
height: 1.0625rem; height: 1.0625rem;
margin: 0 auto; margin: 0 auto;
@ -281,7 +278,6 @@
justify-content: space-between; justify-content: space-between;
height: 6.25rem; height: 6.25rem;
margin-top: .1875rem; margin-top: .1875rem;
// font-family: 'SourceHanSansSC-Normal';
.database-left, .database-left,
.database-right { .database-right {
width: 5.7875rem; width: 5.7875rem;
@ -294,7 +290,6 @@
flex: 1; flex: 1;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center;
.middle-item{ .middle-item{
position: absolute; position: absolute;
width: 1.975rem; width: 1.975rem;
@ -334,10 +329,223 @@
top: .85rem; top: .85rem;
right: .55rem; right: .55rem;
} }
}
.middle2-item{
position: absolute;
width: 3.3375rem;
height: 1.275rem;
display: flex;
justify-content: flex-start;
flex-direction: column;
p{
font-size: .225rem;
margin-top: .125rem;
color: #CCDEFF;
letter-spacing: .025rem;
}
.middle-num{
display: flex;
justify-content: flex-start;
align-items: center;
margin-top: -0.0625rem;
.middle-unit{
display: block;
font-size: .175rem;
color: #CCDEFF;
padding-left: .125rem;
margin-top: .125rem;
}
}
&.totalBook{
top: 1.1625rem;
left: 1.1125rem;
}
&.fansNum{
top: 3.3rem;
left: .6125rem;
}
&.totalBook,
&.fansNum{
background: url('~@/assets/images/pageOne-1.png') no-repeat top left;
background-size: cover;
p{
padding-left: .575rem;
}
}
&.lendingNum{
top: 3.3rem;
right: .3625rem;
}
&.cardNum{
top: 1.1625rem;
right: .7375rem;
}
&.lendingNum,
&.cardNum{
background: url('~@/assets/images/pageOne-2.png') no-repeat top left;
background-size: cover;
p{
text-align: right;
padding-right: .575rem;
}
.middle-num{
padding-right: .575rem;
justify-content: flex-end;
.chartNum{
justify-content: flex-end;
}
}
}
} }
} }
} }
.small-module{
height: .4rem;
overflow: hidden;
}
.middle-img{
position: relative;
width: 5.4rem;
.middle-img-book{
position: absolute;
top: .375rem;
left: 50%;
width: 4.8875rem;
height: 3.925rem;
transform: translateX(-50%);
z-index: 999;
background: url('~@/assets/images/pageOne-3.png') no-repeat center center;
background-size: cover;
animation: hovering 1s infinite alternate-reverse ease-in-out;
}
.wq{
position: absolute;
top: .375rem;
left: 50%;
width: 4.8875rem;
height: 3.925rem;
background: url('~@/assets/images/wq.png') no-repeat center center;
background-size: cover;
transform: translateX(-51%);
z-index: 9999;
animation: hovering 1s infinite alternate-reverse ease-in-out;
animation-delay: 1s;
}
.line-box {
position: absolute;
top: 0;
left: 23px;
width: 410px;
height: 410px;
border-radius: 50%;
border: 6px solid #fff;
border-top-color: transparent;
transform: rotate(-20deg) scaleY(0.3);
z-index: 9999;
}
.box {
position: relative;
width: 410px;
height: 410px;
border-radius: 50%;
transform: rotate(-10deg) scaleY(0.1);
animation: spin 3s infinite linear;
border: 1px solid red;
}
.ball {
display: inline-block;
background: #a0b8f3;
width: 30px;
height: 30px;
background: url('~@/assets/images/pageOne-5.png') no-repeat center center;
background-size: cover;
border-radius: 50%;
position: absolute;
text-align: center;
left: 45px;
top: 45px;
animation: ball-spin 3s infinite linear;
}
.middle-img-bottom{
position: absolute;
bottom: -0.25rem;
left: 0;
width: 5.4rem;
height: 3.4375rem;
background: url('~@/assets/images/pageOne-4.png') no-repeat center center;
background-size: cover;
// animation: middleMove 3s infinite linear;
svg path { stroke: transparent; fill: none; stroke-width: 2; }
.rect {
position: absolute;
top: 0;
left: 0;
width: 60px;
height: 10px;
background: linear-gradient(
to right,
rgba(0,0,0,0) 0%,
rgba(255, 255, 255,0.5) 40%,
rgba(255, 255, 255,0.6) 50%,
rgba(255, 255, 255,0.5) 60%,
rgba(0,0,0,0) 100%
);
border-radius: 50%;
filter: blur(2px);
}
.qxRect{
offset-path: path("M0 80 S 170 160, 400 70");
offset-distance: 0%;
animation: svg-path-animation 6s ease-in-out 0s infinite normal;
}
@keyframes svg-path-animation {
0% {offset-distance: 10%;}
70% {offset-distance: 80%;}
100% {offset-distance: 90%; opacity: 0.2;}
}
}
.middle-img-dot{
position: absolute;
top: 3rem;
left: -1.25rem;
width: 7.625rem;
height: 2.0375rem;
background: url('~@/assets/images/pageOne-6.png') no-repeat center center;
background-size: cover;
}
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes ball-spin {
0% {
transform: rotate(0deg) scaleY(2) rotate(30deg) scale(1);
}
100% {
transform: rotate(-360deg) scaleY(2) rotate(30deg) scale(1);
}
}
@keyframes middleMove{
from {
transform: rotateX(75deg) rotateZ(0);
}
to {
transform: rotateX(75deg) rotateZ(360deg);
}
}
.database-box { .database-box {
position: relative; position: relative;
transform-style: preserve-3d; transform-style: preserve-3d;
@ -346,8 +554,6 @@
.logo { .logo {
display: block; display: block;
// margin-top: 50px;
// margin-left: 50px;
width: 5.825rem; width: 5.825rem;
height: 6.4125rem; height: 6.4125rem;
position: relative; position: relative;
@ -361,8 +567,6 @@
height: 6.4125rem; height: 6.4125rem;
background: url('~@/assets/images/database-middle.png') no-repeat center center; background: url('~@/assets/images/database-middle.png') no-repeat center center;
background-size: contain; background-size: contain;
// margin-left: -25px;
// transform: scale(0.9);
transition: 5s ease-out; transition: 5s ease-out;
} }
.logo:hover:after { .logo:hover:after {
@ -419,14 +623,14 @@
color: rgba(255, 255, 255,1); color: rgba(255, 255, 255,1);
animation: rotateAnimate1 16s infinite reverse linear; animation: rotateAnimate1 16s infinite reverse linear;
} }
.ring2 .particle { .ring2 .particle {
// margin-top: 15px;
// margin-left: 15px;
width: 5.575rem; width: 5.575rem;
height: 5.575rem; height: 5.575rem;
-webkit-animation: rotateAnimate2 6s infinite linear; -webkit-animation: rotateAnimate2 6s infinite linear;
animation: rotateAnimate2 6s infinite linear; animation: rotateAnimate2 6s infinite linear;
} }
.ring2 .particle:after { .ring2 .particle:after {
top: 0%; top: 0%;
} }
@ -436,8 +640,6 @@
animation: rotateAnimate1 16s infinite reverse linear; animation: rotateAnimate1 16s infinite reverse linear;
} }
.ring3 .particle { .ring3 .particle {
// margin-top: 30px;
// margin-left: 30px;
width: 5.575rem; width: 5.575rem;
height: 5.575rem; height: 5.575rem;
-webkit-animation: rotateAnimate3 6s infinite linear; -webkit-animation: rotateAnimate3 6s infinite linear;
@ -495,26 +697,21 @@
} }
@-webkit-keyframes hovering { @-webkit-keyframes hovering {
0% { 0% {
transform: translate3d(0, 0, 0);
transform: translateX(-50%) translate3d(0, 0, 0);
} }
100% { 100% {
transform: translate3d(0, -10px, 0);
transform: translateX(-50%) translate3d(0, -10px, 0);
} }
} }
@keyframes hovering { @keyframes hovering {
0% { 0% {
transform: translate3d(0, 0, 0);
transform: translateX(-50%) translate3d(0, 0, 0);
} }
100% { 100% {
transform: translate3d(0, -10px, 0);
transform: translateX(-50%) translate3d(0, -10px, 0);
} }
} }
.small-module{
height: .4rem;
overflow: hidden;
}
.database-title { .database-title {
height: .6rem; height: .6rem;
padding-left: .4rem; padding-left: .4rem;

2
src/assets/styles/style.scss

@ -1,5 +1,3 @@
@import '~@/assets/iconfont/iconfont.css';
// 全局样式 // 全局样式
* { * {
margin: 0; margin: 0;

3
src/main.js

@ -11,13 +11,12 @@ Vue.use(ElementUI)
import '@/common/flexible.js' import '@/common/flexible.js'
import './assets/js/rollSlide.js' import './assets/js/rollSlide.js'
import './assets/js/tagcloud-2.2.js'
// import './assets/js/tagcloud-2.2.js'
import './utils/mixins' import './utils/mixins'
// 引入全局css // 引入全局css
import './assets/fonts/fonts.css' import './assets/fonts/fonts.css'
import './assets/iconfont/iconfont.js'
import './assets/styles/style.scss' import './assets/styles/style.scss'
import './icons' import './icons'

3
src/utils/request.js

@ -3,7 +3,8 @@ import axios from 'axios'
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
baseURL: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASE_API : '/', // api 的 base_url
// baseURL: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASE_API : '/', // api 的 base_url
baseURL: process.env.VUE_APP_BASE_API, // api 的 base_url
timeout: 1000 * 30, // 请求超时时间 timeout: 1000 * 30, // 请求超时时间
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'

31
src/views/index.vue

@ -47,7 +47,6 @@ export default {
}, },
data() { data() {
return { return {
active: 1,
currentPage: 0, currentPage: 0,
isLoading: false, isLoading: false,
height: '', height: '',
@ -67,7 +66,7 @@ export default {
} }
], ],
swiperOption: null, swiperOption: null,
timer: null,
loadingTtimer: null,
timer2: null, timer2: null,
leftTimer: null, leftTimer: null,
middleTimer: null, middleTimer: null,
@ -114,24 +113,17 @@ export default {
this.currentPage = (this.currentPage + 1) % 4 this.currentPage = (this.currentPage + 1) % 4
this.stopAutoSwitch() // this.stopAutoSwitch() //
if (this.currentPageIndex === 3) {
this.autoplayVideo = false //
} else {
this.autoplayVideo = true //
}
// //
// setTimeout(() => { // setTimeout(() => {
// this.startAutoSwitch() // this.startAutoSwitch()
// }, 200000) // }, 200000)
}, },
// goToNextPage() {
// //
// clearTimeout(this.timer)
// //
// this.autoPagination(this.currentPage + 1)
// // 5
// this.timer = setTimeout(() => {
// this.autoPagination(this.currentPage + 1)
// }, 20000)
// },
autoPagination(page) { autoPagination(page) {
// this.currentPage = page // this.currentPage = page
console.log('page:', page) console.log('page:', page)
@ -186,15 +178,15 @@ export default {
}, },
showLoading() { showLoading() {
this.isLoading = true this.isLoading = true
this.timer = setTimeout(() => {
this.loadingTtimer = setTimeout(() => {
this.isLoading = false this.isLoading = false
window.clearTimeout(this.timer)
window.clearTimeout(this.loadingTtimer)
}, 1500) }, 1500)
}, },
// DOM // DOM
setElementHeight() { setElementHeight() {
clearTimeout(this.timer)
this.timer = setTimeout(() => {
clearTimeout(this.loadingTtimer)
this.loadingTtimer = setTimeout(() => {
this.showLoading() this.showLoading()
this.height = `${(this.$refs.sectionRef.offsetHeight - 30) / 3}px` this.height = `${(this.$refs.sectionRef.offsetHeight - 30) / 3}px`
}, 100) }, 100)
@ -299,7 +291,6 @@ export default {
.swiper-slide{ .swiper-slide{
position: relative; position: relative;
width: 100%; width: 100%;
// height: calc(100vh - 1.125rem) !important;
overflow: hidden; overflow: hidden;
} }
.swiper-pagination-home{ .swiper-pagination-home{

47
src/views/map/index.vue

@ -43,7 +43,7 @@
</div> </div>
</div> </div>
</div> </div>
<div ref="chart" style="flex: 1; margin:0 .125rem; z-index: 9999;" />
<div ref="chart" style="width: calc(100% - 11.875rem); height: 100%; margin:0 .125rem; z-index: 9999;" />
<div class="map-hx-bg"> <div class="map-hx-bg">
<div class="map-hx-small" /> <div class="map-hx-small" />
<div class="map-hx-big" /> <div class="map-hx-big" />
@ -164,13 +164,17 @@ export default {
this.libInfoData = libJsonData this.libInfoData = libJsonData
}, },
mounted() { mounted() {
this.count = 0
if (localStorage.getItem('countItem')) {
this.count = parseInt(localStorage.getItem('countItem'))
} else {
this.count = 0
}
this.initChart() // this.initChart() //
setTimeout(() => { setTimeout(() => {
this.updateChart() // this.updateChart() //
// this.mouseMove() //
window.addEventListener('resize', debounce(this.resize, 2000)) // 使 window.addEventListener('resize', debounce(this.resize, 2000)) // 使
}, 300) }, 300)
this.rankingDataComputed() this.rankingDataComputed()
if (document.getElementsByClassName('scroll-container')[0]) { if (document.getElementsByClassName('scroll-container')[0]) {
this.startScrolling() this.startScrolling()
@ -208,6 +212,12 @@ export default {
stopScrolling() { stopScrolling() {
if (this.timer) { if (this.timer) {
clearInterval(this.timer) clearInterval(this.timer)
console.log('离开页面 this.libIndex', this.libIndex)
console.log('离开页面 this.libCurrent', this.libCurrent)
console.log('离开页面 this.count', this.count)
localStorage.setItem('libIndexItem', this.libIndex)
localStorage.setItem('libCurrentItem', this.libCurrent)
localStorage.setItem('countItem', this.count)
} }
}, },
rankingDataComputed() { rankingDataComputed() {
@ -414,35 +424,6 @@ export default {
return params.name return params.name
} }
} }
// // formatter: '{b}<br/>{c}',
// // position: 'top'
// show: true,
// //
// enterable: 'mousemove|click',
// // mousemove, click, none, mousemove|click
// triggerOn: 'none',
// //
// hideDelay: 100,
// //
// backgroundColor: 'rgba(0,0,0,0)',
// //
// borderColor: 'rgba(0,0,0,0)',
// //
// // position: 'top',
// position: function(point, params, dom, rect, size) {
// console.log('point', point)
// console.log('params', params)
// console.log('dom', dom)
// console.log('rect', rect)
// console.log('size', size)
// return [point[0] - 100, point[1] - 100]
// },
// formatter: function(params) {
// return `<div style="padding:20px; background:rgba(0,0,0,.2); border-radius:4px;">
// <div class=title>${params.name}</div>
// <div>${params.data.place}</div>
// </div>`
// }
}, },
// geo // geo
geo: [ geo: [
@ -687,7 +668,7 @@ export default {
// this.myChart.setOption(updateOption) // this.myChart.setOption(updateOption)
this.libIndex = this.count % this.len this.libIndex = this.count % this.len
this.libCurrent = this.libInfoData[this.libIndex] this.libCurrent = this.libInfoData[this.libIndex]
console.log('this.libIndex', this.libIndex)
console.log('this.libIndex', this.count)
console.log('this.libCurrent', this.libCurrent) console.log('this.libCurrent', this.libCurrent)
this.initSwiper() this.initSwiper()
this.updatePageWithData() this.updatePageWithData()

27
src/views/pageFour/index.vue

@ -9,6 +9,7 @@
indicator-position="none" indicator-position="none"
:autoplay="false" :autoplay="false"
:autoplay-hover-pause="true" :autoplay-hover-pause="true"
@setActiveItem="setActiveItem"
@change="carouselChange" @change="carouselChange"
> >
<div v-if="slideData && slideData.length > 0"> <div v-if="slideData && slideData.length > 0">
@ -132,6 +133,22 @@ export default {
mounted() { mounted() {
this.rankingDataComputed() this.rankingDataComputed()
this.startScrolling() this.startScrolling()
if (localStorage.getItem('videoIndex')) {
this.videoIndex = parseInt(localStorage.getItem('videoIndex'))
this.$nextTick(() => {
this.$refs.carousel.setActiveItem(this.videoIndex)
const videos = this.$refs.videos
const nextVideo = videos[this.videoIndex]
videos.forEach((video) => {
video.pause()
video.currentTime = 0
})
setTimeout(() => {
nextVideo.currentTime = localStorage.getItem('videoCurrentTime') ? localStorage.getItem('videoCurrentTime') : 0
nextVideo.play()
}, 1000)
})
}
setInterval(() => { setInterval(() => {
this.currentHover = (this.currentHover + 1) % this.rankingData.length this.currentHover = (this.currentHover + 1) % this.rankingData.length
}, 1000) }, 1000)
@ -154,8 +171,14 @@ export default {
stopScrolling() { stopScrolling() {
if (this.timer) { if (this.timer) {
clearInterval(this.timer) clearInterval(this.timer)
localStorage.setItem('videoIndex', this.videoIndex)
localStorage.setItem('videoCurrentTime', this.$refs.videos[this.videoIndex].currentTime)
this.$refs.videos[this.videoIndex].pause()
} }
}, },
setActiveItem(index) {
this.$refs.carousel.setActiveItem(index)
},
carouselChange(index) { carouselChange(index) {
const videos = this.$refs.videos const videos = this.$refs.videos
this.videoIndex = index this.videoIndex = index
@ -174,7 +197,7 @@ export default {
} else { } else {
nextIndex = 0 nextIndex = 0
} }
console.log('nextIndex', nextIndex)
const carousel = this.$refs.carousel const carousel = this.$refs.carousel
carousel.setActiveItem(nextIndex) carousel.setActiveItem(nextIndex)
const nextVideo = videos[nextIndex] const nextVideo = videos[nextIndex]
@ -182,8 +205,6 @@ export default {
video.pause() video.pause()
video.currentTime = 0 video.currentTime = 0
}) })
console.log('this.videoIndex.length ', this.videoIndex)
console.log('this.slideData.length ', this.slideData.length)
// if (this.videoIndex === this.slideData.length - 1) { // if (this.videoIndex === this.slideData.length - 1) {
// this.$parent.autoPagination(1) // this.$parent.autoPagination(1)
// } // }

186
src/views/pageOne/index.vue

@ -31,7 +31,7 @@
</ul> </ul>
</div> </div>
<!-- 中间大数据 --> <!-- 中间大数据 -->
<div class="database-middle">
<!-- <div class="database-middle">
<div class="database-box"> <div class="database-box">
<a class="logo" href="#" /> <a class="logo" href="#" />
<div class="ring ring1"> <div class="ring ring1">
@ -56,15 +56,58 @@
</div> </div>
</div> </div>
</div> </div>
</div> -->
<div class="database-middle">
<div class="middle-img">
<div class="middle-img-book" />
<div class="wq" />
<!-- <div class="line-box">
<div class="box">
<div class="ball" />
</div>
</div> -->
<div class="middle-img-bottom">
<div style="width: 360; height: 200px; position: relative; margin: 50px 0 0 30px;">
<svg width="360" height="200">
<path d="M0 80 S 170 160, 400 70" />
</svg>
<div class="rect qxRect" />
</div>
</div>
<div class="middle-img-dot" />
</div>
<div v-for="(item,index) in middleData" :key="index" :class="['middle2-item', {'totalBook': item.id === 'totalBook'}, {'fansNum': item.id === 'fansNum'}, {'lendingNum': item.id === 'lendingNum'}, {'cardNum': item.id === 'cardNum'}]">
<p>{{ item.name }}</p>
<div class="middle-num">
<div class="small-module">
<div class="chartNum">
<div class="box-items">
<li v-for="(e,i) in item.valueArr" :key="i" class="number-item">
<span><i ref="numberItem" class="item">0123456789</i></span>
</li>
</div>
</div>
</div>
<span v-if="item.id === 'totalBook'" class="middle-unit"></span>
<span v-if="item.id === 'fansNum'" class="middle-unit"></span>
<span v-if="item.id === 'cardNum'" class="middle-unit"></span>
<span v-if="item.id === 'lendingNum'" class="middle-unit"></span>
</div>
</div>
</div> </div>
<!-- 热门搜索 --> <!-- 热门搜索 -->
<div class="database-right"> <div class="database-right">
<h3 class="database-title">热门搜索</h3> <h3 class="database-title">热门搜索</h3>
<div class="tagcloud-main"> <div class="tagcloud-main">
<div id="tagcloud1" class="tagcloud">
<!-- <div id="tagcloud1" class="tagcloud">
<p v-for="(item,index) in hotTagData" :key="index" :class="'color' + ((index % 4) + 1)"> <p v-for="(item,index) in hotTagData" :key="index" :class="'color' + ((index % 4) + 1)">
<span>{{ item }}</span> <span>{{ item }}</span>
</p> </p>
</div> -->
<div id="tagscloud">
<a v-for="(item,index) in hotTagData" :key="index" :class="'tagc' + ((index % 4) + 1)">
{{ item }}
</a>
</div> </div>
</div> </div>
</div> </div>
@ -76,15 +119,15 @@
<div class="scrollBox"> <div class="scrollBox">
<vue-seamless-scroll <vue-seamless-scroll
ref="listData" ref="listData"
:data="list"
:data="listData1"
:class-option="defaultOption" :class-option="defaultOption"
class="seamless01" class="seamless01"
> >
<ul> <ul>
<li v-for="(item, index) in list" :key="index">
<li v-for="(item, index) in listData1" :key="index">
<div class="bord"> <div class="bord">
<div class="book-img"> <div class="book-img">
<img :src="item.cover" :onerror="defaultImg">
<img :src="item.nbImgPath" :onerror="defaultImg">
</div> </div>
</div> </div>
</li> </li>
@ -92,15 +135,15 @@
</vue-seamless-scroll> </vue-seamless-scroll>
<vue-seamless-scroll <vue-seamless-scroll
ref="listData2" ref="listData2"
:data="list"
:data="listData2"
:class-option="default2Option" :class-option="default2Option"
class="seamless02" class="seamless02"
> >
<ul> <ul>
<li v-for="(item, index) in list" :key="index">
<li v-for="(item, index) in listData2" :key="index">
<div class="bord"> <div class="bord">
<div class="book-img"> <div class="book-img">
<img :src="item.cover" :onerror="defaultImg">
<img :src="item.nbImgPath" :onerror="defaultImg">
</div> </div>
</div> </div>
</li> </li>
@ -119,12 +162,16 @@
</template> </template>
<script> <script>
import data from './data.json'
import { FetchInitSetting, FetchHotSearch, FetchFansCount, FetchNewBook } from '@/api/library'
import '@/assets/js/tagscloud.js'
export default { export default {
name: 'PageOne', name: 'PageOne',
data() { data() {
return { return {
list: [],
newList: [],
listData1: [],
listData2: [],
defaultImg: 'this.src="' + require('@/assets/images/book_03.png') + '"', defaultImg: 'this.src="' + require('@/assets/images/book_03.png') + '"',
leftData: [], leftData: [],
progressdata: [ progressdata: [
@ -149,8 +196,7 @@ export default {
type: 4 type: 4
} }
], ],
hotTagData: ['呼啸山庄', '大卫·科波菲尔', '百年孤独', '孙子兵法', '傲慢与偏见', '钢铁是怎样炼成的', '世界上下五千年', '明朝那些事', '呼啸山庄', '大卫·科波菲尔', '百年孤独', '孙子兵法', '傲慢与偏见', '钢铁是怎样炼成的', '世界上下五千年', '明朝那些事', '呼啸山庄', '大卫·科波菲尔', '百年孤独', '孙子兵法', '傲慢与偏见', '钢铁是怎样炼成的', '世界上下五千年', '明朝那些事', '呼啸山庄', '大卫·科波菲尔', '百年孤独', '孙子兵法', '傲慢与偏见', '钢铁是怎样炼成的', '世界上下五千年', '明朝那些事'],
colors: ['color1', 'color2', 'color3', 'color4'], //
hotTagData: [],
middleData: [] middleData: []
} }
}, },
@ -194,19 +240,80 @@ export default {
} }
}, },
created() { created() {
this.list = data
this.getInitSetting()
this.getHotSearch()
this.getFansNum()
this.getNewBook()
}, },
beforeDestroy() { beforeDestroy() {
clearTimeout(this.timer2) clearTimeout(this.timer2)
}, },
async mounted() { async mounted() {
this.initPageOne() this.initPageOne()
this.tagAnimation()
// this.tagAnimation()
// setTimeout(() => { // setTimeout(() => {
// this.$parent.autoPagination(2) // this.$parent.autoPagination(2)
// }, 8000) // }, 8000)
}, },
methods: { methods: {
getInitSetting() {
// visitBase
// wecharQrCode /downloadFile/+wecharQrCode
// selectorder 1 2
// show1
// show2
// ...
// iNotice
FetchInitSetting().then(res => {
console.log(res)
})
},
getHotSearch() {
const params = {
'size': 40
}
FetchHotSearch(params).then(res => {
this.hotTagData = res.data.replace(/^\[|\]$/g, '').split(', ')
})
},
getFansNum() {
FetchFansCount().then(res => {
this.middleData.push({
id: 'fansNum',
name: '粉丝数量',
value: res.data,
valueArr: res.data.toString().split('')
})
})
},
getNewBook() {
const params = {
'size': 40
}
FetchNewBook(params).then(res => {
// http://192.168.99.67:8080/downloadFile/qytsg/ae281b90-b100-4541-9379-3e104854652c.png
const linkSrc = process.env.VUE_APP_BASE_API
this.newList = res.data.map((item, index) => {
if (item.nbImgPath) {
item.nbImgPath = linkSrc + '/downloadFile' + item.nbImgPath
} else {
// http://8.130.135.212:19000/MarcByIsbn?sIsbn=9787545559804
// axios.get('http://8.130.135.212:19000/MarcByIsbn?sIsbn=' + item.isbn)
// .then(response => {
// console.log(response)
// })
// .catch(error => {
// console.error('There was an error!', error)
// })
}
return item
})
const halfLength = Math.ceil(this.newList.length / 2)
this.listData1 = this.newList.slice(0, halfLength)
this.listData2 = this.newList.slice(halfLength)
})
},
getType1Value() { getType1Value() {
const type1Item = this.progressdata.find(item => item.type === 1) const type1Item = this.progressdata.find(item => item.type === 1)
return type1Item ? type1Item.value : 0 return type1Item ? type1Item.value : 0
@ -285,11 +392,6 @@ export default {
name: '藏书总量', name: '藏书总量',
value: previewData.data.number1, value: previewData.data.number1,
valueArr: previewData.data.number1.toString().split('') valueArr: previewData.data.number1.toString().split('')
}, {
id: 'fansNum',
name: '粉丝数量',
value: previewData.data.number2,
valueArr: previewData.data.number2.toString().split('')
}, { }, {
id: 'lendingNum', id: 'lendingNum',
name: '累计借出', name: '累计借出',
@ -314,6 +416,52 @@ export default {
<style lang="scss"> <style lang="scss">
@import "~@/assets/styles/index.scss"; @import "~@/assets/styles/index.scss";
@import "~@/assets/styles/font-some.css"; @import "~@/assets/styles/font-some.css";
#tagscloud{
width:400px;
height:380px;
position:relative;
margin:10px auto 0 auto;
}
#tagscloud a{
position:absolute;
top:0px;
left:0px;
line-height:24px;
text-align:center;
font-size:18px;
padding:3px 5px;
display:inline-block;
text-wrap: nowrap;
}
#tagscloud a.tagc1{
border: 1px solid #30ADA6;
background-color: #106B66;
color: #51EAE2;
}
#tagscloud a.tagc2{
font-size: 22px;
border: 1px solid #3A64BE;
background: rgba(16,45,107,0.7);
color: #7EA7FF;
}
#tagscloud a.tagc3{
font-size: 16px;
border: 1px solid #9439B6;
background: rgba(74,18,95,0.8);
color: #CD63F4;
}
#tagscloud a.tagc4{
font-size: 26px;
border: 1px solid #C2943C;
background: rgba(107,76,16,0.7);
color: #F4C263;
}
.tagcloud { .tagcloud {
width: 10rem; width: 10rem;
height: 5rem; height: 5rem;

4
vue.config.js

@ -18,11 +18,11 @@ module.exports = {
errors: true errors: true
}, },
proxy: { proxy: {
'/dxhtsg/': {
'/qyzt/': {
target: process.env.VUE_APP_BASE_API, target: process.env.VUE_APP_BASE_API,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/dxhtsg': 'dxhtsg'
'^/qyzt': 'qyzt'
} }
}, },
'/auth/': { '/auth/': {

Loading…
Cancel
Save