@@ -2675,8 +2675,7 @@ | |||||
"asynckit": { | "asynckit": { | ||||
"version": "0.4.0", | "version": "0.4.0", | ||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | ||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", | |||||
"dev": true | |||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" | |||||
}, | }, | ||||
"atob": { | "atob": { | ||||
"version": "2.1.2", | "version": "2.1.2", | ||||
@@ -2735,6 +2734,33 @@ | |||||
"integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", | "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", | ||||
"dev": true | "dev": true | ||||
}, | }, | ||||
"axios": { | |||||
"version": "1.6.5", | |||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", | |||||
"integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", | |||||
"requires": { | |||||
"follow-redirects": "^1.15.4", | |||||
"form-data": "^4.0.0", | |||||
"proxy-from-env": "^1.1.0" | |||||
}, | |||||
"dependencies": { | |||||
"follow-redirects": { | |||||
"version": "1.15.4", | |||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", | |||||
"integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==" | |||||
}, | |||||
"form-data": { | |||||
"version": "4.0.0", | |||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", | |||||
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", | |||||
"requires": { | |||||
"asynckit": "^0.4.0", | |||||
"combined-stream": "^1.0.8", | |||||
"mime-types": "^2.1.12" | |||||
} | |||||
} | |||||
} | |||||
}, | |||||
"babel-eslint": { | "babel-eslint": { | ||||
"version": "10.1.0", | "version": "10.1.0", | ||||
"resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", | "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", | ||||
@@ -3006,8 +3032,7 @@ | |||||
"boolbase": { | "boolbase": { | ||||
"version": "1.0.0", | "version": "1.0.0", | ||||
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", | ||||
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", | |||||
"dev": true | |||||
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" | |||||
}, | }, | ||||
"brace-expansion": { | "brace-expansion": { | ||||
"version": "1.1.11", | "version": "1.1.11", | ||||
@@ -3403,6 +3428,128 @@ | |||||
"integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", | "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", | ||||
"dev": true | "dev": true | ||||
}, | }, | ||||
"cheerio": { | |||||
"version": "0.10.8", | |||||
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.10.8.tgz", | |||||
"integrity": "sha512-/rDdcRIPVkXblUMxhRe9r/sANqG5T7App+V3LJby4GkN+0PrWmFwpE1k4FfbFpiJAOAy7vxUzi4sNX5in0nL2w==", | |||||
"requires": { | |||||
"cheerio-select": "*", | |||||
"entities": "0.x", | |||||
"htmlparser2": "2.x", | |||||
"underscore": "~1.4" | |||||
}, | |||||
"dependencies": { | |||||
"domhandler": { | |||||
"version": "2.0.3", | |||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.0.3.tgz", | |||||
"integrity": "sha512-D8+qeCUo6LpYvBZsmXWunDJ9zOD8mVg6EwZIdgxmnT+xGWRsReF/TwsZ5EzlIJDipxlE6qJh1dXt9oeplGN3Bg==", | |||||
"requires": { | |||||
"domelementtype": "1" | |||||
} | |||||
}, | |||||
"domutils": { | |||||
"version": "1.0.1", | |||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.0.1.tgz", | |||||
"integrity": "sha512-EtnpDnVNvVaRBHmc5PV2lGHlgic4IjrYgS1f3U/M7CjihJIKfsJFvwj6JfAjr7f7wNDcloq3rOb08xAiL622gA==", | |||||
"requires": { | |||||
"domelementtype": "1" | |||||
} | |||||
}, | |||||
"entities": { | |||||
"version": "0.5.0", | |||||
"resolved": "https://registry.npmjs.org/entities/-/entities-0.5.0.tgz", | |||||
"integrity": "sha512-T5XQtlzuW+PfeSsGp3uryfYQof820zYbnUnUDEkwUVIAfgYeixIN16c4jh8gs0SqJUTGLU0XD6QsvjEPbmdwzQ==" | |||||
}, | |||||
"htmlparser2": { | |||||
"version": "2.6.0", | |||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-2.6.0.tgz", | |||||
"integrity": "sha512-oR9aps3hDZdU0whPlDjz4HdafpcZclpjrUOwPqDldr+WDubEnVerBNP8I0Wy0VIZO5Mxq/4yALDOYZTWf5Jtog==", | |||||
"requires": { | |||||
"domelementtype": "1", | |||||
"domhandler": "2.0", | |||||
"domutils": "1.0" | |||||
} | |||||
} | |||||
} | |||||
}, | |||||
"cheerio-select": { | |||||
"version": "2.1.0", | |||||
"resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", | |||||
"integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", | |||||
"requires": { | |||||
"boolbase": "^1.0.0", | |||||
"css-select": "^5.1.0", | |||||
"css-what": "^6.1.0", | |||||
"domelementtype": "^2.3.0", | |||||
"domhandler": "^5.0.3", | |||||
"domutils": "^3.0.1" | |||||
}, | |||||
"dependencies": { | |||||
"css-select": { | |||||
"version": "5.1.0", | |||||
"resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", | |||||
"integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", | |||||
"requires": { | |||||
"boolbase": "^1.0.0", | |||||
"css-what": "^6.1.0", | |||||
"domhandler": "^5.0.2", | |||||
"domutils": "^3.0.1", | |||||
"nth-check": "^2.0.1" | |||||
} | |||||
}, | |||||
"css-what": { | |||||
"version": "6.1.0", | |||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", | |||||
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" | |||||
}, | |||||
"dom-serializer": { | |||||
"version": "2.0.0", | |||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", | |||||
"integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", | |||||
"requires": { | |||||
"domelementtype": "^2.3.0", | |||||
"domhandler": "^5.0.2", | |||||
"entities": "^4.2.0" | |||||
} | |||||
}, | |||||
"domelementtype": { | |||||
"version": "2.3.0", | |||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", | |||||
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" | |||||
}, | |||||
"domhandler": { | |||||
"version": "5.0.3", | |||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", | |||||
"integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", | |||||
"requires": { | |||||
"domelementtype": "^2.3.0" | |||||
} | |||||
}, | |||||
"domutils": { | |||||
"version": "3.1.0", | |||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", | |||||
"integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", | |||||
"requires": { | |||||
"dom-serializer": "^2.0.0", | |||||
"domelementtype": "^2.3.0", | |||||
"domhandler": "^5.0.3" | |||||
} | |||||
}, | |||||
"entities": { | |||||
"version": "4.5.0", | |||||
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", | |||||
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" | |||||
}, | |||||
"nth-check": { | |||||
"version": "2.1.1", | |||||
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", | |||||
"integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", | |||||
"requires": { | |||||
"boolbase": "^1.0.0" | |||||
} | |||||
} | |||||
} | |||||
}, | |||||
"chokidar": { | "chokidar": { | ||||
"version": "3.5.3", | "version": "3.5.3", | ||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", | ||||
@@ -3758,7 +3905,6 @@ | |||||
"version": "1.0.8", | "version": "1.0.8", | ||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", | ||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", | ||||
"dev": true, | |||||
"requires": { | "requires": { | ||||
"delayed-stream": "~1.0.0" | "delayed-stream": "~1.0.0" | ||||
} | } | ||||
@@ -4832,8 +4978,7 @@ | |||||
"delayed-stream": { | "delayed-stream": { | ||||
"version": "1.0.0", | "version": "1.0.0", | ||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | ||||
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", | |||||
"dev": true | |||||
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" | |||||
}, | }, | ||||
"delegates": { | "delegates": { | ||||
"version": "1.0.0", | "version": "1.0.0", | ||||
@@ -4967,8 +5112,7 @@ | |||||
"domelementtype": { | "domelementtype": { | ||||
"version": "1.3.1", | "version": "1.3.1", | ||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", | ||||
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", | |||||
"dev": true | |||||
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" | |||||
}, | }, | ||||
"domhandler": { | "domhandler": { | ||||
"version": "4.3.1", | "version": "4.3.1", | ||||
@@ -7191,6 +7335,14 @@ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"identify": { | |||||
"version": "0.1.5", | |||||
"resolved": "https://registry.npmjs.org/identify/-/identify-0.1.5.tgz", | |||||
"integrity": "sha512-v7+jtJnoG9yeOELu/cs2ZNFzGscC/3XQfR57BDViB+3H3Qmo4k6f+Qc86ADvJ/STkV59PKfjG+tNw/p0J22SdA==", | |||||
"requires": { | |||||
"cheerio": "~0.10.3" | |||||
} | |||||
}, | |||||
"ieee754": { | "ieee754": { | ||||
"version": "1.2.1", | "version": "1.2.1", | ||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", | ||||
@@ -8409,14 +8561,12 @@ | |||||
"mime-db": { | "mime-db": { | ||||
"version": "1.52.0", | "version": "1.52.0", | ||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", | ||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", | |||||
"dev": true | |||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" | |||||
}, | }, | ||||
"mime-types": { | "mime-types": { | ||||
"version": "2.1.35", | "version": "2.1.35", | ||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", | ||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", | ||||
"dev": true, | |||||
"requires": { | "requires": { | ||||
"mime-db": "1.52.0" | "mime-db": "1.52.0" | ||||
} | } | ||||
@@ -10728,6 +10878,11 @@ | |||||
"ipaddr.js": "1.9.1" | "ipaddr.js": "1.9.1" | ||||
} | } | ||||
}, | }, | ||||
"proxy-from-env": { | |||||
"version": "1.1.0", | |||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", | |||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" | |||||
}, | |||||
"prr": { | "prr": { | ||||
"version": "1.0.1", | "version": "1.0.1", | ||||
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", | "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", | ||||
@@ -13109,6 +13264,11 @@ | |||||
"which-boxed-primitive": "^1.0.2" | "which-boxed-primitive": "^1.0.2" | ||||
} | } | ||||
}, | }, | ||||
"underscore": { | |||||
"version": "1.4.4", | |||||
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", | |||||
"integrity": "sha512-ZqGrAgaqqZM7LGRzNjLnw5elevWb5M8LEoDMadxIW3OWbcv72wMMgKdwOKpd5Fqxe8choLD8HN3iSj3TUh/giQ==" | |||||
}, | |||||
"undici-types": { | "undici-types": { | ||||
"version": "5.26.5", | "version": "5.26.5", | ||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", | ||||
@@ -8,8 +8,10 @@ | |||||
"lint": "vue-cli-service lint" | "lint": "vue-cli-service lint" | ||||
}, | }, | ||||
"dependencies": { | "dependencies": { | ||||
"axios": "^1.6.5", | |||||
"core-js": "^3.6.5", | "core-js": "^3.6.5", | ||||
"element-ui": "^2.15.14", | "element-ui": "^2.15.14", | ||||
"identify": "^0.1.5", | |||||
"vue": "^2.6.11", | "vue": "^2.6.11", | ||||
"vue-router": "^3.5.2" | "vue-router": "^3.5.2" | ||||
}, | }, | ||||
@@ -0,0 +1,27 @@ | |||||
import request from './request' | |||||
// 公司介绍:文字+图 (共用广告位) | |||||
// GET: /aboutUs/about | |||||
// 成员介绍:(共用轮播图) | |||||
// GET:/aboutUs/memberList?pageNum=&pageSize= | |||||
/** | |||||
* 公司介绍 | |||||
* @returns request | |||||
*/ | |||||
export const aboutUs = () => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: '/api/aboutUs/about' | |||||
}) | |||||
} | |||||
/** | |||||
* 成员介绍 | |||||
* @returns request | |||||
*/ | |||||
export const memberList = (num = 1, size = 10) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/aboutUs/memberList?pageNum=${num}&pageSize=${size}` | |||||
}) | |||||
} |
@@ -0,0 +1,17 @@ | |||||
// import request from './request' | |||||
// 轮播 | |||||
// GET:/aigc/lunboList?pageNum=&pageSize= | |||||
// 数字人形象(共用轮播) | |||||
// GET:/aigc/shuzirenList?pageNum=&pageSize= | |||||
// 右边描述:(共用广告位) | |||||
// GET: /aigc/shuzirenremark | |||||
// 广告位1 | |||||
// GET:/aigc/guanggao1 | |||||
// 数字人直播(共用轮播) | |||||
// GET:/aigc/shuzirenZhiBoList?pageNum=&pageSize= | |||||
// 广告位2 | |||||
// GET:/aigc/guanggao2 | |||||
// 数字人视频 | |||||
// GET:/aigc/videoList?pageNum=&pageSize= |
@@ -0,0 +1,55 @@ | |||||
import request from './request' | |||||
/** | |||||
* 轮播 | |||||
* @returns request | |||||
*/ | |||||
export const lunboList = (num = 1, size = 10) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/car/lunboList?pageNum=${num}&pageSize=${size}` | |||||
}) | |||||
} | |||||
/** | |||||
* 热点新闻配置 | |||||
* @returns request | |||||
*/ | |||||
export const hotNewsConfig = () => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: '/api/car/hotNewsConfig' | |||||
}) | |||||
} | |||||
/** | |||||
* 热点新闻 | |||||
* @returns request | |||||
*/ | |||||
export const hotlist = (num = 1, size = 10) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/news/list?type=1&pageNum=${num}&pageSize=${size}` | |||||
}) | |||||
} | |||||
/** | |||||
* 广告 | |||||
* @returns request | |||||
*/ | |||||
export const guanggao = (index) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/index/guanggao${index}` | |||||
}) | |||||
} | |||||
/** | |||||
* 视频轮播 | |||||
* @returns request | |||||
*/ | |||||
export const videoList = (num = 1, size = 10) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/car/videoList?pageNum=${num}&pageSize=${size}` | |||||
}) | |||||
} |
@@ -0,0 +1,77 @@ | |||||
import request from './request' | |||||
/** | |||||
* 首页轮播 | |||||
* @returns request | |||||
*/ | |||||
export const lunboList = (num = 1, size = 10) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/index/lunboList?pageNum=${num}&pageSize=${size}` | |||||
}) | |||||
} | |||||
/** | |||||
* 汽车资讯热门 | |||||
* @returns request | |||||
*/ | |||||
export const carNewsHotList = (num = 1, size = 10) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/index/carNewsHotList?pageNum=${num}&pageSize=${size}` | |||||
}) | |||||
} | |||||
/** | |||||
* 元宇宙日爆热门 | |||||
* @returns request | |||||
*/ | |||||
export const yuanyuzhouHotList = (num = 1, size = 10) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/index/yuanyuzhouHotList?pageNum=${num}&pageSize=${size}` | |||||
}) | |||||
} | |||||
/** | |||||
* 广告 | |||||
* @returns request | |||||
*/ | |||||
export const guanggao = (index) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/index/guanggao${index}` | |||||
}) | |||||
} | |||||
/** | |||||
* 跳转 | |||||
* @returns request | |||||
*/ | |||||
export const link = () => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: 'api/index/link' | |||||
}) | |||||
} | |||||
/** | |||||
* 热点新闻配置 | |||||
* @returns request | |||||
*/ | |||||
export const hotnewsConfig = () => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: '/api/index/hotNewsConfig' | |||||
}) | |||||
} | |||||
/** | |||||
* 热点新闻 | |||||
* @returns request | |||||
*/ | |||||
export const hotnews = (num = 1, size = 10) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/news/list?type=1?pageNum=${num}&pageSize=${size}` | |||||
}) | |||||
} |
@@ -0,0 +1,45 @@ | |||||
import request from './request' | |||||
/** | |||||
* 广告 | |||||
* @returns request | |||||
*/ | |||||
export const guanggao = (index) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/index/guanggao${index}` | |||||
}) | |||||
} | |||||
/** | |||||
* 首页轮播 | |||||
* @returns request | |||||
*/ | |||||
export const lunboList = (num = 1, size = 10) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/yuanyuzhou/lunboList?pageNum=${num}&pageSize=${size}` | |||||
}) | |||||
} | |||||
/** | |||||
* 热点新闻配置 | |||||
* @returns request | |||||
*/ | |||||
export const hotNewsConfig = () => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: '/api/yuanyuzhou/hotNewsConfig' | |||||
}) | |||||
} | |||||
/** | |||||
* 热点新闻 | |||||
* @returns request | |||||
*/ | |||||
export const hotnews = (num = 1, size = 10) => { | |||||
return request({ | |||||
method: 'GET', | |||||
url: `/api/news/list?type=1?pageNum=${num}&pageSize=${size}` | |||||
}) | |||||
} |
@@ -0,0 +1,2 @@ | |||||
import axios from 'axios' | |||||
export default axios.create() |
@@ -0,0 +1,162 @@ | |||||
<template> | |||||
<div class="s-canvas"> | |||||
<canvas id="s-canvas" :width="contentWidth" :height="contentHeight"></canvas> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
export default { | |||||
name: 'SIdentify', | |||||
props: { | |||||
identifyCode: { | |||||
type: String, | |||||
default: '1234' | |||||
}, | |||||
fontSizeMin: { | |||||
type: Number, | |||||
default: 28 | |||||
}, | |||||
fontSizeMax: { | |||||
type: Number, | |||||
default: 40 | |||||
}, | |||||
backgroundColorMin: { | |||||
type: Number, | |||||
default: 180 | |||||
}, | |||||
backgroundColorMax: { | |||||
type: Number, | |||||
default: 240 | |||||
}, | |||||
colorMin: { | |||||
type: Number, | |||||
default: 50 | |||||
}, | |||||
colorMax: { | |||||
type: Number, | |||||
default: 160 | |||||
}, | |||||
lineColorMin: { | |||||
type: Number, | |||||
default: 40 | |||||
}, | |||||
lineColorMax: { | |||||
type: Number, | |||||
default: 180 | |||||
}, | |||||
dotColorMin: { | |||||
type: Number, | |||||
default: 0 | |||||
}, | |||||
dotColorMax: { | |||||
type: Number, | |||||
default: 255 | |||||
}, | |||||
contentWidth: { | |||||
type: Number, | |||||
default: 110 | |||||
}, | |||||
contentHeight: { | |||||
type: Number, | |||||
default: 40 | |||||
} | |||||
}, | |||||
methods: { | |||||
// 生成一个随机数 | |||||
randomNum (min, max) { | |||||
return Math.floor(Math.random() * (max - min) + min) | |||||
}, | |||||
// 生成一个随机的颜色 | |||||
randomColor (min, max) { | |||||
var r = this.randomNum(min, max) | |||||
var g = this.randomNum(min, max) | |||||
var b = this.randomNum(min, max) | |||||
return 'rgb(' + r + ',' + g + ',' + b + ')' | |||||
}, | |||||
drawPic () { | |||||
var canvas = document.getElementById('s-canvas') | |||||
var ctx = canvas.getContext('2d') | |||||
ctx.textBaseline = 'bottom' | |||||
// 绘制背景 | |||||
ctx.fillStyle = this.randomColor( | |||||
this.backgroundColorMin, | |||||
this.backgroundColorMax | |||||
) | |||||
ctx.fillRect(0, 0, this.contentWidth, this.contentHeight) | |||||
// 绘制文字 | |||||
for (let i = 0; i < this.identifyCode.length; i++) { | |||||
this.drawText(ctx, this.identifyCode[i], i) | |||||
} | |||||
this.drawLine(ctx) | |||||
this.drawDot(ctx) | |||||
}, | |||||
drawText (ctx, txt, i) { | |||||
ctx.fillStyle = this.randomColor(this.colorMin, this.colorMax) | |||||
ctx.font = | |||||
this.randomNum(this.fontSizeMin, this.fontSizeMax) + 'px SimHei' | |||||
var x = (i + 1) * (this.contentWidth / (this.identifyCode.length + 1)) | |||||
var y = this.randomNum(this.fontSizeMax, this.contentHeight - 5) | |||||
var deg = this.randomNum(-30, 30) | |||||
// 修改坐标原点和旋转角度 | |||||
ctx.translate(x, y) | |||||
ctx.rotate(deg * Math.PI / 270) | |||||
ctx.fillText(txt, 0, 0) | |||||
// 恢复坐标原点和旋转角度 | |||||
ctx.rotate(-deg * Math.PI / 270) | |||||
ctx.translate(-x, -y) | |||||
}, | |||||
drawLine (ctx) { | |||||
// 绘制干扰线 | |||||
for (let i = 0; i < 2; i++) { | |||||
ctx.strokeStyle = this.randomColor( | |||||
this.lineColorMin, | |||||
this.lineColorMax | |||||
) | |||||
ctx.beginPath() | |||||
ctx.moveTo( | |||||
this.randomNum(0, this.contentWidth), | |||||
this.randomNum(0, this.contentHeight) | |||||
) | |||||
ctx.lineTo( | |||||
this.randomNum(0, this.contentWidth), | |||||
this.randomNum(0, this.contentHeight) | |||||
) | |||||
ctx.stroke() | |||||
} | |||||
}, | |||||
drawDot (ctx) { | |||||
// 绘制干扰点 | |||||
for (let i = 0; i < 20; i++) { | |||||
ctx.fillStyle = this.randomColor(0, 255) | |||||
ctx.beginPath() | |||||
ctx.arc( | |||||
this.randomNum(0, this.contentWidth), | |||||
this.randomNum(0, this.contentHeight), | |||||
1, | |||||
0, | |||||
2 * Math.PI | |||||
) | |||||
ctx.fill() | |||||
} | |||||
} | |||||
}, | |||||
watch: { | |||||
identifyCode () { | |||||
this.drawPic() | |||||
} | |||||
}, | |||||
mounted () { | |||||
this.drawPic() | |||||
} | |||||
} | |||||
</script> | |||||
<style lang='scss' scoped> | |||||
.s-canvas { | |||||
width: 130px; | |||||
height: 38px; | |||||
cursor: pointer; | |||||
} | |||||
.s-canvas canvas{ | |||||
margin-top: 1px; | |||||
margin-left: 8px; | |||||
} | |||||
</style> |
@@ -6,9 +6,9 @@ | |||||
<div class="top"> | <div class="top"> | ||||
<div class="js"> | <div class="js"> | ||||
<a class="title">关于我们</a> | <a class="title">关于我们</a> | ||||
<a class="jcontent">据外媒报道,三位知情人士透露,华为已向奥迪(Audi)和梅赛德斯-奔驰(Mercedes-Benz)询问是否有兴趣购买其智能汽</a> | |||||
<a class="jcontent">{{ aboutwe.content }}</a> | |||||
</div> | </div> | ||||
<img src="../../assets/about.png"> | |||||
<img :src="aboutwe.img"> | |||||
</div> | </div> | ||||
<div class="bottom"/> | <div class="bottom"/> | ||||
</div> | </div> | ||||
@@ -46,10 +46,15 @@ | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { aboutUs, memberList } from '@/api/about.js' | |||||
export default { | export default { | ||||
name: 'about', | name: 'about', | ||||
data () { | data () { | ||||
return { | return { | ||||
aboutwe: { | |||||
content: '', | |||||
img: '' | |||||
}, | |||||
ldList: [ | ldList: [ | ||||
{ | { | ||||
img: '/ld.png', | img: '/ld.png', | ||||
@@ -77,12 +82,27 @@ export default { | |||||
}, | }, | ||||
components: { | components: { | ||||
}, | }, | ||||
mounted () { | |||||
this.getaboutUs() | |||||
this.getmemberList() | |||||
}, | |||||
methods: { | methods: { | ||||
changenews (item) { | changenews (item) { | ||||
this.informationitem = item | this.informationitem = item | ||||
}, | }, | ||||
changedepth (item) { | changedepth (item) { | ||||
this.depthitem = item | this.depthitem = item | ||||
}, | |||||
async getaboutUs () { | |||||
const { data: { message, data } } = await aboutUs() | |||||
if (message === 'success') { | |||||
this.aboutwe.content = data.remark | |||||
this.aboutwe.img = data.image | |||||
} | |||||
}, | |||||
async getmemberList () { | |||||
const { data } = await memberList() | |||||
console.log(data) | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -13,7 +13,8 @@ | |||||
<el-input v-model="form.name" placeholder="登陆密码"></el-input> | <el-input v-model="form.name" placeholder="登陆密码"></el-input> | ||||
</el-form-item> | </el-form-item> | ||||
<el-form-item> | <el-form-item> | ||||
<el-input v-model="form.name" placeholder="验证码"></el-input> | |||||
<el-input class="identify" v-model="form.name" placeholder="验证码"></el-input> | |||||
<s-identify :identifyCode="identifyCode"></s-identify> | |||||
</el-form-item> | </el-form-item> | ||||
<el-form-item class="nomargin"> | <el-form-item class="nomargin"> | ||||
<el-button type="primary" >登陆</el-button> | <el-button type="primary" >登陆</el-button> | ||||
@@ -45,22 +46,27 @@ | |||||
<div id="daliay"> | <div id="daliay"> | ||||
<div class="content"> | <div class="content"> | ||||
<div class="top"> | <div class="top"> | ||||
<div class="htitle"> | |||||
<a class="tle">资讯</a> | |||||
<div class="item"> | |||||
<a v-for="item in information" :key="item" @click="changenews(item)" :class="{ clk: informationitem === item }">{{ item }}</a> | |||||
</div> | |||||
<el-button type="text">MORE+</el-button> | |||||
<div id="szr"> | |||||
<a>数字人视频</a> | |||||
</div> | </div> | ||||
<div id="hotList"> | |||||
<div class="list" v-for="(item, index) in carList" :key="index"> | |||||
<img :src="item.img"> | |||||
<div class="txt"> | |||||
<a class="title">{{ item.title }}</a> | |||||
<a class="subtitle">{{ item.subtitle }}</a> | |||||
<div id="zb"> | |||||
<template v-for="(item, index) in aigczb" > | |||||
<div v-if="item.flag === 'image'" :key="index" class="imagezb"> | |||||
<img :src="item.img"> | |||||
<el-button>进入直播间</el-button> | |||||
<div class="textzb"> | |||||
<a class="titlezb">主播: {{ item.name }}</a> | |||||
<a class="contentzb">内容: {{ item.content }}</a> | |||||
</div> | |||||
</div> | </div> | ||||
<!-- <a>{{ item.title }}</a> --> | |||||
</div> | |||||
<div v-else class="videozb" :key="index"> | |||||
<img :src="item.img"> | |||||
<div class="textzb"> | |||||
<a class="titlezb">主播: {{ item.name }}</a> | |||||
<a class="contentzb">内容: {{ item.content }}</a> | |||||
</div> | |||||
</div> | |||||
</template> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="bottom"/> | <div class="bottom"/> | ||||
@@ -69,10 +75,21 @@ | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import SIdentify from '@/components/identify' | |||||
export default { | export default { | ||||
name: 'aigc', | name: 'aigc', | ||||
data () { | data () { | ||||
return { | return { | ||||
identifyCodes: '1234567890abcdefghijklmnopqrstuvwxyz', | |||||
identifyCode: '', | |||||
rules: { | |||||
verifycode: [{ | |||||
required: true, | |||||
trigger: 'blur', | |||||
validator: this.validateVerifycode | |||||
}] | |||||
}, | |||||
form: { | form: { | ||||
name: '', | name: '', | ||||
region: '', | region: '', | ||||
@@ -100,10 +117,43 @@ export default { | |||||
aitxt: { | aitxt: { | ||||
title: 'ACER助力车企新势力', | title: 'ACER助力车企新势力', | ||||
content: '作为国产豪华大皮卡山海炮的越野版本,山海炮性能版被称为“国产皮卡扛把子”。新车基于长城坦克平台开发,搭载国内最强的自研3.0T' | content: '作为国产豪华大皮卡山海炮的越野版本,山海炮性能版被称为“国产皮卡扛把子”。新车基于长城坦克平台开发,搭载国内最强的自研3.0T' | ||||
} | |||||
}, | |||||
aigczb: [ | |||||
{ | |||||
img: '/aigc_img5.png', | |||||
name: '主播名', | |||||
content: '新车选购', | |||||
flag: 'image' | |||||
}, | |||||
{ | |||||
img: '/aigc_img1.png', | |||||
name: '主播名', | |||||
content: '新车选购', | |||||
flag: 'image' | |||||
}, | |||||
{ | |||||
img: '/aigc_img2.png', | |||||
name: '主播名', | |||||
content: '新车选购', | |||||
flag: 'image' | |||||
}, | |||||
{ | |||||
img: '/aigc_img3.png', | |||||
name: '丰田锋兰达值得买吗?', | |||||
content: '年底购车多少钱能落地价?', | |||||
flag: 'video' | |||||
}, | |||||
{ | |||||
img: '/aigc_img4.png', | |||||
name: '丰田锋兰达值得买吗?', | |||||
content: '年底购车多少钱能落地价?', | |||||
flag: 'video' | |||||
} | |||||
] | |||||
} | } | ||||
}, | }, | ||||
components: { | components: { | ||||
SIdentify | |||||
}, | }, | ||||
methods: { | methods: { | ||||
changenews (item) { | changenews (item) { | ||||
@@ -111,7 +161,27 @@ export default { | |||||
}, | }, | ||||
changedepth (item) { | changedepth (item) { | ||||
this.depthitem = item | this.depthitem = item | ||||
}, | |||||
randomNum (min, max) { | |||||
return Math.floor(Math.random() * (max - min) + min) | |||||
}, | |||||
// 切换验证码 | |||||
refreshCode () { | |||||
this.identifyCode = '' | |||||
this.makeCode(this.identifyCodes, 4) | |||||
}, | |||||
// 生成随机验证码 | |||||
makeCode (o, l) { | |||||
for (let i = 0; i < l; i++) { | |||||
this.identifyCode += this.identifyCodes[ | |||||
Math.floor(Math.random() * (this.identifyCodes.length - 0) + 0) | |||||
] | |||||
} | |||||
} | } | ||||
}, | |||||
mounted () { | |||||
this.identifyCode = '' | |||||
this.makeCode(this.identifyCodes, 4) | |||||
} | } | ||||
} | } | ||||
</script> | </script> | ||||
@@ -144,6 +214,13 @@ export default { | |||||
.el-form-item { | .el-form-item { | ||||
width: 350px; | width: 350px; | ||||
} | } | ||||
.el-form-item:nth-child(3) { | |||||
:deep .el-form-item__content { | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
} | |||||
} | |||||
.el-button { | .el-button { | ||||
width: 100%; | width: 100%; | ||||
background-color: rgba(0, 0, 0, 0.384); | background-color: rgba(0, 0, 0, 0.384); | ||||
@@ -158,6 +235,9 @@ export default { | |||||
.nomargin { | .nomargin { | ||||
margin-bottom: 0px !important; | margin-bottom: 0px !important; | ||||
} | } | ||||
.identify { | |||||
width: 240px; | |||||
} | |||||
} | } | ||||
} | } | ||||
@@ -236,37 +316,116 @@ export default { | |||||
} | } | ||||
} | } | ||||
} | } | ||||
// #hot { | |||||
// .content { | |||||
// .top { | |||||
// min-height: 470px; | |||||
// margin-bottom: 40px; | |||||
// background-color: #FFFFFF; | |||||
// display: flex; | |||||
// #imgtxt { | |||||
// width: 55%; | |||||
// position: relative; | |||||
// display: flex; | |||||
// justify-content: center; | |||||
// align-items: center; | |||||
// img { | |||||
// width: 90%; | |||||
// height: 90%; | |||||
// } | |||||
// .newsTitle{ | |||||
// position: absolute; | |||||
// bottom: 5%; | |||||
// left: 5%; | |||||
// display: inline-block; | |||||
// font-size: 18px; | |||||
// font-weight: bold; | |||||
// color: #FFFFFF; | |||||
// line-height: 48px; | |||||
// width: 90%; | |||||
// background-color: #0000007e; | |||||
// } | |||||
// } | |||||
// } | |||||
// } | |||||
// } | |||||
#daliay { | |||||
.content { | |||||
.top { | |||||
background-color: #ffffff00; | |||||
display: flex; | |||||
flex-direction: column; | |||||
justify-content: space-between; | |||||
#szr { | |||||
a { | |||||
font-size: 30px; | |||||
font-weight: bold; | |||||
color: #00161C; | |||||
line-height: 48px; | |||||
display: inline-block; | |||||
position: relative; | |||||
z-index: 9; | |||||
} | |||||
a::after { | |||||
content: ''; | |||||
position: absolute; | |||||
left: 15%; | |||||
bottom: 10px; | |||||
width: 70%; | |||||
height: 6px; /* 横线高度为文字高度的一半 */ | |||||
background-color: #07CAAF;; /* 横线颜色与文字颜色相同 */ | |||||
z-index: -1; | |||||
} | |||||
} | |||||
#zb { | |||||
.imagezb { | |||||
width: 240px; | |||||
height: 400px; | |||||
float: left; | |||||
margin-right: 60px; | |||||
position: relative; | |||||
img { | |||||
width: 240px; | |||||
height: 370px; | |||||
} | |||||
.el-button { | |||||
position: absolute; | |||||
bottom: 60px; | |||||
left: 50px; | |||||
border: none; | |||||
background: #07CAAF; | |||||
font-size: 18px; | |||||
font-weight: bold; | |||||
color: #FFFFFF; | |||||
line-height: 48px; | |||||
padding-top: 0px; | |||||
padding-bottom: 0px; | |||||
} | |||||
.textzb { | |||||
font-size: 18px; | |||||
font-weight: bold; | |||||
color: #030303; | |||||
line-height: 16px; | |||||
display: flex; | |||||
flex-direction: column; | |||||
align-items: center; | |||||
justify-content: space-between; | |||||
height: 40px; | |||||
a { | |||||
display: inline-block; | |||||
text-align: left; | |||||
width: 130px; | |||||
} | |||||
} | |||||
} | |||||
.videozb { | |||||
width: 240px; | |||||
height: 400px; | |||||
float: left; | |||||
margin-right: 60px; | |||||
position: relative; | |||||
img { | |||||
width: 240px; | |||||
height: 370px; | |||||
} | |||||
.textzb { | |||||
margin-top: 10px; | |||||
line-height: 16px; | |||||
display: flex; | |||||
flex-direction: column; | |||||
align-items: center; | |||||
justify-content: space-between; | |||||
height: 40px; | |||||
width: 100%; | |||||
a { | |||||
width: 100%; | |||||
display: inline-block; | |||||
text-align: left; | |||||
} | |||||
} | |||||
} | |||||
.videozb::after { | |||||
content: ''; | |||||
z-index: 99; | |||||
width: 67px; | |||||
height: 67px; | |||||
position: absolute; | |||||
background-image: url('../../assets/play.png'); | |||||
left: 40%; | |||||
top: 40%; | |||||
z-index: 99; | |||||
background-repeat: no-repeat; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
</style> | </style> |
@@ -1,7 +1,7 @@ | |||||
<template> | <template> | ||||
<div> | <div> | ||||
<el-carousel height="590px"> | <el-carousel height="590px"> | ||||
<el-carousel-item v-for="(item, index) in carouselList" :key="index" :style="{ backgroundImage: `url(${item.src})` }"> | |||||
<el-carousel-item class="lunbo" v-for="(item, index) in carouselList" :key="index" :style="{ backgroundImage: `url(${item.src})` }"> | |||||
<div id="txt"> | <div id="txt"> | ||||
<a class="title">{{ item.title }}</a> | <a class="title">{{ item.title }}</a> | ||||
<a class="subtitle">{{ item.subtitle }}</a> | <a class="subtitle">{{ item.subtitle }}</a> | ||||
@@ -11,14 +11,16 @@ | |||||
<div id="hot"> | <div id="hot"> | ||||
<div class="content"> | <div class="content"> | ||||
<div class="top"> | <div class="top"> | ||||
<div id="videocar"> | |||||
<div id="videocar" class="lr"> | |||||
<el-carousel :interval="5000" arrow="always" height="500px"> | <el-carousel :interval="5000" arrow="always" height="500px"> | ||||
<el-carousel-item v-for="item in 4" :key="item"> | |||||
<h3>{{ item }}</h3> | |||||
</el-carousel-item> | |||||
<template v-for="item in hotList.left" > | |||||
<el-carousel-item :key="item" v-if="item.split('.')[item.split('.').length - 1] === 'mp4'"> | |||||
<video :src="item" /> | |||||
</el-carousel-item> | |||||
</template> | |||||
</el-carousel> | </el-carousel> | ||||
</div> | </div> | ||||
<div id="hottxt"> | |||||
<div id="hottxt" class="lr"> | |||||
<el-carousel :interval="5000" height="500px"> | <el-carousel :interval="5000" height="500px"> | ||||
<el-carousel-item v-for="item in hotList.right" :key="item.title"> | <el-carousel-item v-for="item in hotList.right" :key="item.title"> | ||||
<div class="txtcontent"> | <div class="txtcontent"> | ||||
@@ -35,13 +37,13 @@ | |||||
</el-carousel> | </el-carousel> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="bottom"/> | |||||
<div class="bottom" :style="{ backgroundImage: `url(${gg1})` }"/> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="daliay"> | <div id="daliay"> | ||||
<div class="content"> | <div class="content"> | ||||
<div class="top"> | <div class="top"> | ||||
<div class="yyzrbtxt"> | |||||
<div class="yyzrbtxt lr"> | |||||
<div class="txtcontent"> | <div class="txtcontent"> | ||||
<img src="@/assets/rblogo.png" class="logo"> | <img src="@/assets/rblogo.png" class="logo"> | ||||
<div class="title"> | <div class="title"> | ||||
@@ -53,45 +55,106 @@ | |||||
<el-button plain class="more" size="small">MORE</el-button> | <el-button plain class="more" size="small">MORE</el-button> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="yyzrbimg" /> | |||||
<div class="yyzrbimg lr" :style="{ backgroundImage: `url(${daliay.img})` }"/> | |||||
</div> | </div> | ||||
<div class="bottom"/> | |||||
<div class="bottom" :style="{ backgroundImage: `url(${gg2})` }"/> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="wk"> | <div id="wk"> | ||||
<el-button type="primary" class="wkbtn" size="medium">点击进入</el-button> | |||||
<a :href="alink" target="_blank"> | |||||
<el-button type="primary" class="wkbtn" size="medium">点击进入</el-button> | |||||
</a> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { lunboList, carNewsHotList, guanggao, link, yuanyuzhouHotList, hotnewsConfig } from '@/api/home.js' | |||||
export default { | export default { | ||||
name: 'home', | name: 'home', | ||||
data () { | data () { | ||||
return { | return { | ||||
carouselList: [ | |||||
{ src: '/car1.png', title: '吉利11月销量再刷新纪录,新能源转型成效凸显', subtitle: '国际汽车企业如果现在一旦脱离了中国市场,再想回来就不可能了。必须了解这个发展的趋势,只有参与才有机会。' }, | |||||
{ src: '/car2.png', title: '吉利11月销量再刷新纪录,新能源转型成效凸显', subtitle: '国际汽车企业如果现在一旦脱离了中国市场,再想回来就不可能了。必须了解这个发展的趋势,只有参与才有机会。' } | |||||
], | |||||
carouselList: [], | |||||
hotList: { | hotList: { | ||||
left: [], | left: [], | ||||
right: [ | |||||
{ | |||||
title: '蔚来汽车:不断扩张的换电“帝国”', | |||||
content: '同样引人注目。近日,2024款福特电马激情上市,共推出5款车型,官方指导价23.98万元-35.98万元得不提帝豪家族竞争力长' | |||||
}, | |||||
{ | |||||
title: '蔚来汽车:不断扩张的换电“帝国”11', | |||||
content: '同样引人注目。近日,2024款福特电马激情上市,共推出5款车型,官方指导价23.98万元-35.98万元得不提帝豪家族竞争力长' | |||||
} | |||||
] | |||||
right: [] | |||||
}, | }, | ||||
gg1: '', | |||||
gg2: '', | |||||
alink: '', | |||||
daliay: { | daliay: { | ||||
title: '不造车的华为,想成为车企离 不开的企业', | |||||
content: '据外媒报道,三位知情人士透露,华为已向奥迪(Audi)和梅赛德斯-奔驰(Mercedes-Benz)询问是否有兴趣购买其智能汽' | |||||
} | |||||
title: '', | |||||
content: '', | |||||
img: '' | |||||
}, | |||||
display: 0 | |||||
} | } | ||||
}, | }, | ||||
components: { | components: { | ||||
}, | |||||
mounted () { | |||||
this.gethotnewsConfig() | |||||
this.getlunboList() | |||||
this.getcarNewsHotList() | |||||
this.getguanggao() | |||||
this.getLink() | |||||
this.getyuanyuzhouHotList() | |||||
}, | |||||
methods: { | |||||
async getlunboList () { | |||||
const { data: { message, data } } = await lunboList() | |||||
if (message === 'success') { | |||||
for (const iter of data.list) { | |||||
this.carouselList.push({ | |||||
src: iter.image, | |||||
title: iter.link, | |||||
subtitle: iter.link | |||||
}) | |||||
} | |||||
} | |||||
}, | |||||
async getcarNewsHotList () { | |||||
const { data: { message, data } } = await carNewsHotList() | |||||
if (message === 'success') { | |||||
for (const iter of data.list) { | |||||
const { image, video, title, subTitle } = iter.news | |||||
this.hotList.left.push(video) | |||||
this.hotList.right.push({ | |||||
title: title, | |||||
content: subTitle, | |||||
png: image | |||||
}) | |||||
} | |||||
} | |||||
}, | |||||
async getguanggao () { | |||||
const { data: { message: ggm1, data: gg1 } } = await guanggao(1) | |||||
const { data: { message: ggm2, data: gg2 } } = await guanggao(2) | |||||
if (ggm1 === 'success' && ggm2 === 'success') { | |||||
this.gg1 = gg1.image | |||||
this.gg2 = gg2.image | |||||
} | |||||
}, | |||||
async getLink () { | |||||
const { data: { message, data: { link: alink } } } = await link() | |||||
if (message === 'success') { | |||||
this.alink = alink | |||||
} | |||||
}, | |||||
async getyuanyuzhouHotList () { | |||||
const { data: { message, data: { list } } } = await yuanyuzhouHotList() | |||||
if (message === 'success') { | |||||
this.daliay.title = list[0].news.title | |||||
this.daliay.content = list[0].news.subTitle | |||||
this.daliay.img = list[0].news.image | |||||
} | |||||
}, | |||||
async gethotnewsConfig () { | |||||
const { data: { message, data: { display } } } = await hotnewsConfig() | |||||
if (message === 'success') { | |||||
this.display = display | |||||
} | |||||
} | |||||
} | } | ||||
} | } | ||||
</script> | </script> | ||||
@@ -122,6 +185,10 @@ export default { | |||||
} | } | ||||
} | } | ||||
} | } | ||||
.lunbo { | |||||
background-size: auto; | |||||
background-position: center; | |||||
} | |||||
#hot, #daliay { | #hot, #daliay { | ||||
width: 100%; | width: 100%; | ||||
height: 700px; | height: 700px; | ||||
@@ -142,7 +209,7 @@ export default { | |||||
min-height: 470px; | min-height: 470px; | ||||
// background: black; | // background: black; | ||||
display: flex; | display: flex; | ||||
div { | |||||
.lr { | |||||
width: 50%; | width: 50%; | ||||
height: 100%; | height: 100%; | ||||
} | } | ||||
@@ -150,12 +217,13 @@ export default { | |||||
width: 100% !important; | width: 100% !important; | ||||
} | } | ||||
#hottxt { | #hottxt { | ||||
background: #000000e6; | |||||
background-image: url('../../assets/footer_left.png'); | background-image: url('../../assets/footer_left.png'); | ||||
background-position: 140% -165px; /* 调整这些值来改变显示的部分 */ | background-position: 140% -165px; /* 调整这些值来改变显示的部分 */ | ||||
background-size: 140% 130%; /* 使用 'cover' 或 'contain',或者设置具体尺寸 */ | background-size: 140% 130%; /* 使用 'cover' 或 'contain',或者设置具体尺寸 */ | ||||
background-repeat: no-repeat; | background-repeat: no-repeat; | ||||
:deep .el-carousel__indicators--horizontal { | :deep .el-carousel__indicators--horizontal { | ||||
left: 95%; | |||||
left: 90%; | |||||
} | } | ||||
:deep .el-carousel__button { | :deep .el-carousel__button { | ||||
width: 5px; | width: 5px; | ||||
@@ -295,3 +363,4 @@ export default { | |||||
} | } | ||||
} | } | ||||
</style> | </style> | ||||
@/api/home.js |
@@ -1,7 +1,7 @@ | |||||
<template> | <template> | ||||
<div> | <div> | ||||
<el-carousel height="590px"> | <el-carousel height="590px"> | ||||
<el-carousel-item v-for="(item, index) in carouselList" :key="index" :style="{ backgroundImage: `url(${item.src})` }"> | |||||
<el-carousel-item class="lunbo" v-for="(item, index) in carouselList" :key="index" :style="{ backgroundImage: `url(${item.src})` }"> | |||||
<div id="txt"> | <div id="txt"> | ||||
<a class="title">{{ item.title }}</a> | <a class="title">{{ item.title }}</a> | ||||
<a class="subtitle">{{ item.subtitle }}</a> | <a class="subtitle">{{ item.subtitle }}</a> | ||||
@@ -10,7 +10,7 @@ | |||||
</el-carousel> | </el-carousel> | ||||
<div id="hot"> | <div id="hot"> | ||||
<div class="content"> | <div class="content"> | ||||
<div class="top"> | |||||
<div class="top" v-if="display"> | |||||
<div id="imgtxt"> | <div id="imgtxt"> | ||||
<img :src="hotnews.img"> | <img :src="hotnews.img"> | ||||
<a class="newsTitle">{{ hotnews.title }}</a> | <a class="newsTitle">{{ hotnews.title }}</a> | ||||
@@ -28,7 +28,7 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="bottom"/> | |||||
<div class="bottom" :style="{ backgroundImage: `url(${gg1})` }"/> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="daliay"> | <div id="daliay"> | ||||
@@ -41,7 +41,7 @@ | |||||
</el-carousel-item> | </el-carousel-item> | ||||
</el-carousel> | </el-carousel> | ||||
</div> | </div> | ||||
<div class="bottom"/> | |||||
<div class="bottom" :style="{ backgroundImage: `url(${gg2})` }"/> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="wk"> | <div id="wk"> | ||||
@@ -57,22 +57,21 @@ | |||||
<a class="title">{{ item.title }}</a> | <a class="title">{{ item.title }}</a> | ||||
<a class="subtitle">{{ item.subtitle }}</a> | <a class="subtitle">{{ item.subtitle }}</a> | ||||
</div> | </div> | ||||
<!-- <a>{{ item.title }}</a> --> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<!-- <el-button type="primary" class="wkbtn" size="medium">点击进入</el-button> --> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { lunboList, hotNewsConfig, guanggao, hotlist, videoList } from '@/api/car.js' | |||||
export default { | export default { | ||||
name: 'information', | name: 'information', | ||||
data () { | data () { | ||||
return { | return { | ||||
carouselList: [ | carouselList: [ | ||||
{ src: '/car1.png', title: '吉利11月销量再刷新纪录,新能源转型成效凸显', subtitle: '国际汽车企业如果现在一旦脱离了中国市场,再想回来就不可能了。必须了解这个发展的趋势,只有参与才有机会。' }, | |||||
{ src: '/car2.png', title: '吉利11月销量再刷新纪录,新能源转型成效凸显', subtitle: '国际汽车企业如果现在一旦脱离了中国市场,再想回来就不可能了。必须了解这个发展的趋势,只有参与才有机会。' } | |||||
// { src: '/car1.png', title: '吉利11月销量再刷新纪录,新能源转型成效凸显', subtitle: '国际汽车企业如果现在一旦脱离了中国市场,再想回来就不可能了。必须了解这个发展的趋势,只有参与才有机会。' }, | |||||
// { src: '/car2.png', title: '吉利11月销量再刷新纪录,新能源转型成效凸显', subtitle: '国际汽车企业如果现在一旦脱离了中国市场,再想回来就不可能了。必须了解这个发展的趋势,只有参与才有机会。' } | |||||
], | ], | ||||
hotnews: { | hotnews: { | ||||
title: '这两款产品也将采用“CHN”的模式进行研发', | title: '这两款产品也将采用“CHN”的模式进行研发', | ||||
@@ -105,18 +104,18 @@ export default { | |||||
} | } | ||||
], | ], | ||||
carvideoList: [ | carvideoList: [ | ||||
{ | |||||
title: '斯巴鲁全新电动车SOLTERRA定名“岚鲲”', | |||||
img: '/carvideo.png' | |||||
}, | |||||
{ | |||||
title: '斯巴鲁全新电动车SOLTERRA定名“岚鲲”', | |||||
img: '/carvideo.png' | |||||
}, | |||||
{ | |||||
title: '斯巴鲁全新电动车SOLTERRA定名“岚鲲”', | |||||
img: '/carvideo.png' | |||||
} | |||||
// { | |||||
// title: '斯巴鲁全新电动车SOLTERRA定名“岚鲲”', | |||||
// img: '/carvideo.png' | |||||
// }, | |||||
// { | |||||
// title: '斯巴鲁全新电动车SOLTERRA定名“岚鲲”', | |||||
// img: '/carvideo.png' | |||||
// }, | |||||
// { | |||||
// title: '斯巴鲁全新电动车SOLTERRA定名“岚鲲”', | |||||
// img: '/carvideo.png' | |||||
// } | |||||
], | ], | ||||
carList: [ | carList: [ | ||||
{ | { | ||||
@@ -145,10 +144,67 @@ export default { | |||||
subtitle: '阿维塔科技计划三年推出四款新车,明年则将陆续推出第三款和第四款车型。目前,有2款新车在研发中,代号分别是“15”、“16”,这' | subtitle: '阿维塔科技计划三年推出四款新车,明年则将陆续推出第三款和第四款车型。目前,有2款新车在研发中,代号分别是“15”、“16”,这' | ||||
} | } | ||||
] | |||||
], | |||||
display: 1, | |||||
gg1: '', | |||||
gg2: '' | |||||
} | } | ||||
}, | }, | ||||
components: { | components: { | ||||
}, | |||||
mounted () { | |||||
this.gethotnewsConfig() | |||||
this.getlunboList() | |||||
this.getguanggao() | |||||
this.gethotlist() | |||||
this.getvideoList() | |||||
}, | |||||
methods: { | |||||
async getlunboList () { | |||||
const { data: { message, data } } = await lunboList() | |||||
if (message === 'success') { | |||||
for (const iter of data.list) { | |||||
this.carouselList.push({ | |||||
src: iter.image, | |||||
title: iter.link, | |||||
subtitle: iter.link | |||||
}) | |||||
} | |||||
} | |||||
}, | |||||
async gethotnewsConfig () { | |||||
const { data: { message, data: { display } } } = await hotNewsConfig() | |||||
if (message === 'success') { | |||||
this.display = display | |||||
} | |||||
}, | |||||
async getguanggao () { | |||||
const { data: { message: ggm1, data: gg1 } } = await guanggao(1) | |||||
const { data: { message: ggm2, data: gg2 } } = await guanggao(2) | |||||
if (ggm1 === 'success' && ggm2 === 'success') { | |||||
this.gg1 = gg1.image | |||||
this.gg2 = gg2.image | |||||
} | |||||
}, | |||||
async gethotlist () { | |||||
const { data: { message, data } } = await hotlist() | |||||
if (message === 'success') { | |||||
this.hotnews.title = data.list[0].title | |||||
this.hotnews.img = data.list[0].image | |||||
} | |||||
}, | |||||
async getvideoList () { | |||||
const { data: { message, data } } = await videoList() | |||||
if (message === 'success') { | |||||
for (const iter of data.list) { | |||||
this.carvideoList.push({ | |||||
title: iter.title, | |||||
img: iter.image | |||||
}) | |||||
} | |||||
} | |||||
} | |||||
} | } | ||||
} | } | ||||
</script> | </script> | ||||
@@ -179,9 +235,12 @@ export default { | |||||
} | } | ||||
} | } | ||||
} | } | ||||
.lunbo { | |||||
background-size: auto; | |||||
background-position: center; | |||||
} | |||||
#hot, #daliay, #wk { | #hot, #daliay, #wk { | ||||
width: 100%; | width: 100%; | ||||
height: 700px; | |||||
background: #E3E5EA; | background: #E3E5EA; | ||||
display: flex; | display: flex; | ||||
align-items: center; | align-items: center; | ||||
@@ -297,7 +356,9 @@ export default { | |||||
} | } | ||||
} | } | ||||
#hot { | #hot { | ||||
min-height: 100px; | |||||
.content { | .content { | ||||
margin-top: 20px; | |||||
.top { | .top { | ||||
min-height: 470px; | min-height: 470px; | ||||
margin-bottom: 40px; | margin-bottom: 40px; | ||||
@@ -333,7 +394,9 @@ export default { | |||||
} | } | ||||
} | } | ||||
} | } | ||||
#daliay { | #daliay { | ||||
height: 700px; | |||||
.top { | .top { | ||||
// justify-content: space-between; | // justify-content: space-between; | ||||
background-color: #00000000 !important; | background-color: #00000000 !important; | ||||
@@ -372,6 +435,7 @@ export default { | |||||
} | } | ||||
#wk { | #wk { | ||||
height: 700px; | |||||
.content { | .content { | ||||
background-color: #FFFFFF; | background-color: #FFFFFF; | ||||
display: flex; | display: flex; | ||||
@@ -1,7 +1,7 @@ | |||||
<template> | <template> | ||||
<div> | <div> | ||||
<el-carousel height="590px"> | <el-carousel height="590px"> | ||||
<el-carousel-item v-for="(item, index) in carouselList" :key="index" :style="{ backgroundImage: `url(${item.src})` }"> | |||||
<el-carousel-item class="lunbo" v-for="(item, index) in carouselList" :key="index" :style="{ backgroundImage: `url(${item.src})` }"> | |||||
<div id="txt"> | <div id="txt"> | ||||
<a class="title">{{ item.title }}</a> | <a class="title">{{ item.title }}</a> | ||||
<a class="subtitle">{{ item.subtitle }}</a> | <a class="subtitle">{{ item.subtitle }}</a> | ||||
@@ -28,7 +28,7 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="bottom"/> | |||||
<div class="bottom" :style="{ backgroundImage: `url(${gg1})` }"/> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="daliay"> | <div id="daliay"> | ||||
@@ -52,7 +52,7 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="bottom"/> | |||||
<div class="bottom" :style="{ backgroundImage: `url(${gg2})` }"/> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="wk"> | <div id="wk"> | ||||
@@ -80,6 +80,7 @@ | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { guanggao, lunboList } from '@/api/metadaily.js' | |||||
export default { | export default { | ||||
name: 'metadaily', | name: 'metadaily', | ||||
data () { | data () { | ||||
@@ -89,8 +90,8 @@ export default { | |||||
depth: ['XR', 'Web3', 'Ai'], | depth: ['XR', 'Web3', 'Ai'], | ||||
depthitem: 'XR', | depthitem: 'XR', | ||||
carouselList: [ | carouselList: [ | ||||
{ src: '/car1.png', title: '吉利11月销量再刷新纪录,新能源转型成效凸显', subtitle: '国际汽车企业如果现在一旦脱离了中国市场,再想回来就不可能了。必须了解这个发展的趋势,只有参与才有机会。' }, | |||||
{ src: '/car2.png', title: '吉利11月销量再刷新纪录,新能源转型成效凸显', subtitle: '国际汽车企业如果现在一旦脱离了中国市场,再想回来就不可能了。必须了解这个发展的趋势,只有参与才有机会。' } | |||||
// { src: '/car1.png', title: '吉利11月销量再刷新纪录,新能源转型成效凸显', subtitle: '国际汽车企业如果现在一旦脱离了中国市场,再想回来就不可能了。必须了解这个发展的趋势,只有参与才有机会。' }, | |||||
// { src: '/car2.png', title: '吉利11月销量再刷新纪录,新能源转型成效凸显', subtitle: '国际汽车企业如果现在一旦脱离了中国市场,再想回来就不可能了。必须了解这个发展的趋势,只有参与才有机会。' } | |||||
], | ], | ||||
hotnews: { | hotnews: { | ||||
title: '这两款产品也将采用“CHN”的模式进行研发', | title: '这两款产品也将采用“CHN”的模式进行研发', | ||||
@@ -122,20 +123,6 @@ export default { | |||||
img: '/aigclist.png' | img: '/aigclist.png' | ||||
} | } | ||||
], | ], | ||||
// carvideoList: [ | |||||
// { | |||||
// title: '斯巴鲁全新电动车SOLTERRA定名“岚鲲”', | |||||
// img: '/carvideo.png' | |||||
// }, | |||||
// { | |||||
// title: '斯巴鲁全新电动车SOLTERRA定名“岚鲲”', | |||||
// img: '/carvideo.png' | |||||
// }, | |||||
// { | |||||
// title: '斯巴鲁全新电动车SOLTERRA定名“岚鲲”', | |||||
// img: '/carvideo.png' | |||||
// } | |||||
// ], | |||||
carList: [ | carList: [ | ||||
{ | { | ||||
img: '/cattxt.png', | img: '/cattxt.png', | ||||
@@ -154,17 +141,44 @@ export default { | |||||
title: '首款高端纯电MPV翼真Xspace', | title: '首款高端纯电MPV翼真Xspace', | ||||
subtitle: '阿维塔科技计划三年推出四款新车,明年则将陆续推出第三款和第四款车型。目前,有2款新车在研发中,代号分别是“15”、“16”,这' | subtitle: '阿维塔科技计划三年推出四款新车,明年则将陆续推出第三款和第四款车型。目前,有2款新车在研发中,代号分别是“15”、“16”,这' | ||||
} | } | ||||
] | |||||
], | |||||
gg1: '', | |||||
gg2: '' | |||||
} | } | ||||
}, | }, | ||||
components: { | components: { | ||||
}, | }, | ||||
mounted () { | |||||
this.getguanggao() | |||||
this.getlunboList() | |||||
}, | |||||
methods: { | methods: { | ||||
changenews (item) { | changenews (item) { | ||||
this.informationitem = item | this.informationitem = item | ||||
}, | }, | ||||
changedepth (item) { | changedepth (item) { | ||||
this.depthitem = item | this.depthitem = item | ||||
}, | |||||
async getguanggao () { | |||||
const { data: { message: ggm1, data: gg1 } } = await guanggao(1) | |||||
const { data: { message: ggm2, data: gg2 } } = await guanggao(2) | |||||
if (ggm1 === 'success' && ggm2 === 'success') { | |||||
this.gg1 = gg1.image | |||||
this.gg2 = gg2.image | |||||
} | |||||
}, | |||||
async getlunboList () { | |||||
const { data: { message, data } } = await lunboList() | |||||
if (message === 'success') { | |||||
for (const iter of data.list) { | |||||
this.carouselList.push({ | |||||
src: iter.image, | |||||
title: iter.link, | |||||
subtitle: iter.link | |||||
}) | |||||
} | |||||
} | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -196,6 +210,10 @@ export default { | |||||
} | } | ||||
} | } | ||||
} | } | ||||
.lunbo { | |||||
background-size: auto; | |||||
background-position: center; | |||||
} | |||||
#hot, #daliay, #wk { | #hot, #daliay, #wk { | ||||
width: 100%; | width: 100%; | ||||
height: 700px; | height: 700px; | ||||
@@ -19,5 +19,16 @@ module.exports = { | |||||
return args | return args | ||||
}) | }) | ||||
}, | }, | ||||
productionSourceMap: false | |||||
productionSourceMap: false, | |||||
devServer: { | |||||
proxy: { | |||||
'/api': { | |||||
target: 'https://www.meta-autotv.com/homeC', // 后端服务器地址 | |||||
changeOrigin: true, // 是否改变Origin头信息 | |||||
pathRewrite: { | |||||
'^/api': '' | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | } |