diff --git a/.env.development b/.env.development index 038e4da..0818f48 100644 --- a/.env.development +++ b/.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插件 VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/src/api/library.js b/src/api/library.js index 8c1b755..106adad 100644 --- a/src/api/library.js +++ b/src/api/library.js @@ -1,95 +1,114 @@ import request from '@/utils/request' -// import qs from 'qs' +import qs from 'qs' -// 总借阅量 -export function FetchHalfYearBorrowNum(params) { +// 获取初始化数据 +export function FetchInitSetting(params) { 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({ - 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({ - 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({ - 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 { - FetchHalfYearBorrowNum, - FetchBorrowRank, - FetchBorrowStar, - FetchNewBookRecommend, - FetchInitNotice, - FetchInitIntoNum, - FetchHalfYearBRNum, - FetchShowFileList + FetchInitSetting, + FetchHotSearch, + FetchFansCount, + FetchNewBook } diff --git a/src/assets/fonts/YouSheBiaoTiHei.ttf b/src/assets/fonts/YouSheBiaoTiHei.ttf deleted file mode 100644 index 3729151..0000000 Binary files a/src/assets/fonts/YouSheBiaoTiHei.ttf and /dev/null differ diff --git a/src/assets/fonts/ZhenyanGB.ttf b/src/assets/fonts/ZhenyanGB.ttf deleted file mode 100644 index 207e103..0000000 Binary files a/src/assets/fonts/ZhenyanGB.ttf and /dev/null differ diff --git a/src/assets/fonts/fonts.css b/src/assets/fonts/fonts.css index b728aa7..8ade4da 100644 --- a/src/assets/fonts/fonts.css +++ b/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-family: "DingTalk_JinBuTi_Regular"; src: url('DingTalk_JinBuTi_Regular.ttf'); diff --git a/src/assets/iconfont/iconfont.css b/src/assets/iconfont/iconfont.css deleted file mode 100644 index 2eab77b..0000000 --- a/src/assets/iconfont/iconfont.css +++ /dev/null @@ -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"; -} - diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js deleted file mode 100644 index 5374fe4..0000000 --- a/src/assets/iconfont/iconfont.js +++ /dev/null @@ -1 +0,0 @@ -window._iconfont_svg_string_3646564='',function(t){var F=(F=document.getElementsByTagName("script"))[F.length-1],a=F.getAttribute("data-injectcss"),F=F.getAttribute("data-disable-injectsvg");if(!F){var l,p,h,i,c,d=function(F,a){a.parentNode.insertBefore(F,a)};if(a&&!t.__iconfont__svg__cssinject__){t.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(F){console&&console.log(F)}}l=function(){var F,a=document.createElement("div");a.innerHTML=t._iconfont_svg_string_3646564,(a=a.getElementsByTagName("svg")[0])&&(a.setAttribute("aria-hidden","true"),a.style.position="absolute",a.style.width=0,a.style.height=0,a.style.overflow="hidden",a=a,(F=document.body).firstChild?d(a,F.firstChild):F.appendChild(a))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(p=function(){document.removeEventListener("DOMContentLoaded",p,!1),l()},document.addEventListener("DOMContentLoaded",p,!1)):document.attachEvent&&(h=l,i=t.document,c=!1,M(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,o())})}function o(){c||(c=!0,h())}function M(){try{i.documentElement.doScroll("left")}catch(F){return void setTimeout(M,50)}o()}}(window); \ No newline at end of file diff --git a/src/assets/iconfont/iconfont.json b/src/assets/iconfont/iconfont.json deleted file mode 100644 index c557998..0000000 --- a/src/assets/iconfont/iconfont.json +++ /dev/null @@ -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 - } - ] -} diff --git a/src/assets/iconfont/iconfont.svg b/src/assets/iconfont/iconfont.svg deleted file mode 100644 index 6778e5a..0000000 --- a/src/assets/iconfont/iconfont.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/iconfont/iconfont.ttf b/src/assets/iconfont/iconfont.ttf deleted file mode 100644 index ae51657..0000000 Binary files a/src/assets/iconfont/iconfont.ttf and /dev/null differ diff --git a/src/assets/iconfont/iconfont.woff b/src/assets/iconfont/iconfont.woff deleted file mode 100644 index 36081cc..0000000 Binary files a/src/assets/iconfont/iconfont.woff and /dev/null differ diff --git a/src/assets/iconfont/iconfont.woff2 b/src/assets/iconfont/iconfont.woff2 deleted file mode 100644 index fcace6f..0000000 Binary files a/src/assets/iconfont/iconfont.woff2 and /dev/null differ diff --git a/src/assets/images/bg2.png b/src/assets/images/bg2.png new file mode 100644 index 0000000..c1823d0 Binary files /dev/null and b/src/assets/images/bg2.png differ diff --git a/src/assets/images/database-img1.png b/src/assets/images/database-img1.png deleted file mode 100644 index 429349d..0000000 Binary files a/src/assets/images/database-img1.png and /dev/null differ diff --git a/src/assets/images/header-bg2.png b/src/assets/images/header-bg2.png deleted file mode 100644 index 57bc167..0000000 Binary files a/src/assets/images/header-bg2.png and /dev/null differ diff --git a/src/assets/images/map-hx-big.png b/src/assets/images/map-hx-big.png deleted file mode 100644 index be1ae8e..0000000 Binary files a/src/assets/images/map-hx-big.png and /dev/null differ diff --git a/src/assets/images/map-hx-small2.png b/src/assets/images/map-hx-small2.png deleted file mode 100644 index 3ef6cfd..0000000 Binary files a/src/assets/images/map-hx-small2.png and /dev/null differ diff --git a/src/assets/images/map-hx01.png b/src/assets/images/map-hx01.png deleted file mode 100644 index 77fc900..0000000 Binary files a/src/assets/images/map-hx01.png and /dev/null differ diff --git a/src/assets/images/map-hx02.png b/src/assets/images/map-hx02.png deleted file mode 100644 index e297de5..0000000 Binary files a/src/assets/images/map-hx02.png and /dev/null differ diff --git a/src/assets/images/map_14.png b/src/assets/images/map_14.png deleted file mode 100644 index c5f6642..0000000 Binary files a/src/assets/images/map_14.png and /dev/null differ diff --git a/src/assets/images/pageOne-1.png b/src/assets/images/pageOne-1.png new file mode 100644 index 0000000..7414c12 Binary files /dev/null and b/src/assets/images/pageOne-1.png differ diff --git a/src/assets/images/pageOne-2.png b/src/assets/images/pageOne-2.png new file mode 100644 index 0000000..e435f88 Binary files /dev/null and b/src/assets/images/pageOne-2.png differ diff --git a/src/assets/images/pageOne-3.png b/src/assets/images/pageOne-3.png new file mode 100644 index 0000000..b98530c Binary files /dev/null and b/src/assets/images/pageOne-3.png differ diff --git a/src/assets/images/pageOne-4.png b/src/assets/images/pageOne-4.png new file mode 100644 index 0000000..25aeda2 Binary files /dev/null and b/src/assets/images/pageOne-4.png differ diff --git a/src/assets/images/pageOne-5.png b/src/assets/images/pageOne-5.png new file mode 100644 index 0000000..4e76a15 Binary files /dev/null and b/src/assets/images/pageOne-5.png differ diff --git a/src/assets/images/pageOne-6.png b/src/assets/images/pageOne-6.png new file mode 100644 index 0000000..a418c70 Binary files /dev/null and b/src/assets/images/pageOne-6.png differ diff --git a/src/assets/images/wq.png b/src/assets/images/wq.png new file mode 100644 index 0000000..239797b Binary files /dev/null and b/src/assets/images/wq.png differ diff --git a/src/assets/js/tagscloud.js b/src/assets/js/tagscloud.js new file mode 100644 index 0000000..17a444b --- /dev/null +++ b/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) +} + diff --git a/src/assets/styles/font-some.css b/src/assets/styles/font-some.css index ee4589a..6bd9ea3 100644 --- a/src/assets/styles/font-some.css +++ b/src/assets/styles/font-some.css @@ -1,6 +1,7 @@ .chartNum{ display: flex; - justify-content: center; + justify-content: flex-start; + padding-left: .575rem; } .box-items { position: relative; @@ -13,7 +14,7 @@ display: flex; justify-content: center; text-align: center; - width: .225rem; + width: .25rem; height: .5rem; line-height: .4rem; } @@ -31,8 +32,8 @@ position: absolute; top: 0; left: 50%; - font-size: 0.375rem; - font-weight: bold; + font-size: .35rem; + font-weight: 600; z-index: 99999; color: #fff; /* background: -webkit-linear-gradient(90deg, rgba(14,197,236,1) 20%,rgba(239,252,254,1) 70%); diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index e9e128a..33a26ac 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -6,7 +6,7 @@ line-height: .4375rem; color: #fff; 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'; } @@ -62,15 +62,12 @@ .header-container { position: relative; width: 100%; - // height: 1.25rem; height: 1.0625rem; color: #fff; z-index: 9999; .header-title { position: relative; font-family: 'Microsoft YaHei'; - // width: 19.5875rem; - // height: 1.25rem; width: 18.1375rem; height: 1.0625rem; margin: 0 auto; @@ -281,7 +278,6 @@ justify-content: space-between; height: 6.25rem; margin-top: .1875rem; - // font-family: 'SourceHanSansSC-Normal'; .database-left, .database-right { width: 5.7875rem; @@ -294,7 +290,6 @@ flex: 1; display: flex; justify-content: center; - align-items: center; .middle-item{ position: absolute; width: 1.975rem; @@ -334,10 +329,223 @@ top: .85rem; 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 { position: relative; transform-style: preserve-3d; @@ -346,8 +554,6 @@ .logo { display: block; - // margin-top: 50px; - // margin-left: 50px; width: 5.825rem; height: 6.4125rem; position: relative; @@ -361,8 +567,6 @@ height: 6.4125rem; background: url('~@/assets/images/database-middle.png') no-repeat center center; background-size: contain; - // margin-left: -25px; - // transform: scale(0.9); transition: 5s ease-out; } .logo:hover:after { @@ -419,14 +623,14 @@ color: rgba(255, 255, 255,1); animation: rotateAnimate1 16s infinite reverse linear; } + .ring2 .particle { - // margin-top: 15px; - // margin-left: 15px; width: 5.575rem; height: 5.575rem; -webkit-animation: rotateAnimate2 6s infinite linear; animation: rotateAnimate2 6s infinite linear; } + .ring2 .particle:after { top: 0%; } @@ -436,8 +640,6 @@ animation: rotateAnimate1 16s infinite reverse linear; } .ring3 .particle { - // margin-top: 30px; - // margin-left: 30px; width: 5.575rem; height: 5.575rem; -webkit-animation: rotateAnimate3 6s infinite linear; @@ -495,26 +697,21 @@ } @-webkit-keyframes hovering { 0% { - transform: translate3d(0, 0, 0); + transform: translateX(-50%) translate3d(0, 0, 0); } 100% { - transform: translate3d(0, -10px, 0); + transform: translateX(-50%) translate3d(0, -10px, 0); } } @keyframes hovering { 0% { - transform: translate3d(0, 0, 0); + transform: translateX(-50%) translate3d(0, 0, 0); } 100% { - transform: translate3d(0, -10px, 0); + transform: translateX(-50%) translate3d(0, -10px, 0); } } -.small-module{ - height: .4rem; - overflow: hidden; -} - .database-title { height: .6rem; padding-left: .4rem; diff --git a/src/assets/styles/style.scss b/src/assets/styles/style.scss index 66f20e8..ba55341 100644 --- a/src/assets/styles/style.scss +++ b/src/assets/styles/style.scss @@ -1,5 +1,3 @@ -@import '~@/assets/iconfont/iconfont.css'; - // 全局样式 * { margin: 0; diff --git a/src/main.js b/src/main.js index 42f4ce3..d5c32e3 100644 --- a/src/main.js +++ b/src/main.js @@ -11,13 +11,12 @@ Vue.use(ElementUI) import '@/common/flexible.js' import './assets/js/rollSlide.js' -import './assets/js/tagcloud-2.2.js' +// import './assets/js/tagcloud-2.2.js' import './utils/mixins' // 引入全局css import './assets/fonts/fonts.css' -import './assets/iconfont/iconfont.js' import './assets/styles/style.scss' import './icons' diff --git a/src/utils/request.js b/src/utils/request.js index 57cdf36..8d4a6f7 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -3,7 +3,8 @@ import axios from 'axios' // 创建axios实例 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, // 请求超时时间 headers: { 'Content-Type': 'application/json' diff --git a/src/views/index.vue b/src/views/index.vue index 0d0020e..28578e9 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -47,7 +47,6 @@ export default { }, data() { return { - active: 1, currentPage: 0, isLoading: false, height: '', @@ -67,7 +66,7 @@ export default { } ], swiperOption: null, - timer: null, + loadingTtimer: null, timer2: null, leftTimer: null, middleTimer: null, @@ -114,24 +113,17 @@ export default { this.currentPage = (this.currentPage + 1) % 4 this.stopAutoSwitch() // 停止自动切换,以免与手动切换冲突 + if (this.currentPageIndex === 3) { + this.autoplayVideo = false // 切换到视频页面时停止自动播放视频 + } else { + this.autoplayVideo = true // 切换到其他页面时继续自动播放视频 + } + // 设置定时器,恢复自动切换 // setTimeout(() => { // this.startAutoSwitch() // }, 200000) }, - - // goToNextPage() { - // // 清除之前的计时器,以防多个计时器同时运行 - // clearTimeout(this.timer) - - // // 执行页面跳转的逻辑 - // this.autoPagination(this.currentPage + 1) - - // // 设置5秒后自动跳转 - // this.timer = setTimeout(() => { - // this.autoPagination(this.currentPage + 1) - // }, 20000) - // }, autoPagination(page) { // this.currentPage = page console.log('page:', page) @@ -186,15 +178,15 @@ export default { }, showLoading() { this.isLoading = true - this.timer = setTimeout(() => { + this.loadingTtimer = setTimeout(() => { this.isLoading = false - window.clearTimeout(this.timer) + window.clearTimeout(this.loadingTtimer) }, 1500) }, // 设置DOM高度 setElementHeight() { - clearTimeout(this.timer) - this.timer = setTimeout(() => { + clearTimeout(this.loadingTtimer) + this.loadingTtimer = setTimeout(() => { this.showLoading() this.height = `${(this.$refs.sectionRef.offsetHeight - 30) / 3}px` }, 100) @@ -299,7 +291,6 @@ export default { .swiper-slide{ position: relative; width: 100%; - // height: calc(100vh - 1.125rem) !important; overflow: hidden; } .swiper-pagination-home{ diff --git a/src/views/map/index.vue b/src/views/map/index.vue index ffbafad..190a886 100644 --- a/src/views/map/index.vue +++ b/src/views/map/index.vue @@ -43,7 +43,7 @@ -
+
@@ -164,13 +164,17 @@ export default { this.libInfoData = libJsonData }, mounted() { - this.count = 0 + if (localStorage.getItem('countItem')) { + this.count = parseInt(localStorage.getItem('countItem')) + } else { + this.count = 0 + } this.initChart() // 初始化 setTimeout(() => { this.updateChart() // 更新数据,散点轮播显示 - // this.mouseMove() // 鼠标移入移出效果 window.addEventListener('resize', debounce(this.resize, 2000)) // 使用事件捕获,由外层向内 }, 300) + this.rankingDataComputed() if (document.getElementsByClassName('scroll-container')[0]) { this.startScrolling() @@ -208,6 +212,12 @@ export default { stopScrolling() { if (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() { @@ -414,35 +424,6 @@ export default { return params.name } } - // // formatter: '{b}
{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 `
- //
${params.name}
- //
地址:${params.data.place}
- //
` - // } }, // 设置geo坐标系 geo: [ @@ -687,7 +668,7 @@ export default { // this.myChart.setOption(updateOption) this.libIndex = this.count % this.len this.libCurrent = this.libInfoData[this.libIndex] - console.log('this.libIndex', this.libIndex) + console.log('this.libIndex', this.count) console.log('this.libCurrent', this.libCurrent) this.initSwiper() this.updatePageWithData() diff --git a/src/views/pageFour/index.vue b/src/views/pageFour/index.vue index 63bd313..4a3c7fd 100644 --- a/src/views/pageFour/index.vue +++ b/src/views/pageFour/index.vue @@ -9,6 +9,7 @@ indicator-position="none" :autoplay="false" :autoplay-hover-pause="true" + @setActiveItem="setActiveItem" @change="carouselChange" >
@@ -132,6 +133,22 @@ export default { mounted() { this.rankingDataComputed() 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(() => { this.currentHover = (this.currentHover + 1) % this.rankingData.length }, 1000) @@ -154,8 +171,14 @@ export default { stopScrolling() { if (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) { const videos = this.$refs.videos this.videoIndex = index @@ -174,7 +197,7 @@ export default { } else { nextIndex = 0 } - + console.log('nextIndex', nextIndex) const carousel = this.$refs.carousel carousel.setActiveItem(nextIndex) const nextVideo = videos[nextIndex] @@ -182,8 +205,6 @@ export default { video.pause() 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) { // this.$parent.autoPagination(1) // } diff --git a/src/views/pageOne/index.vue b/src/views/pageOne/index.vue index 615803e..8f07c63 100644 --- a/src/views/pageOne/index.vue +++ b/src/views/pageOne/index.vue @@ -31,7 +31,7 @@
-
+ +
+
+
+
+ +
+
+ + + +
+
+
+
+
+
+

{{ item.name }}

+
+
+
+
+
  • + 0123456789 +
  • +
    +
    +
    + + + + +
    +

    热门搜索

    @@ -76,15 +119,15 @@
      -
    • +
    • - +
    • @@ -92,15 +135,15 @@
        -
      • +
      • - +
      • @@ -119,12 +162,16 @@