🎉 init:
|
@ -0,0 +1,13 @@
|
||||||
|
# editorconfig.org
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
|
@ -0,0 +1,92 @@
|
||||||
|
# Created by .ignore support plugin (hsz.mobi)
|
||||||
|
### Node template
|
||||||
|
# Logs
|
||||||
|
/logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
|
||||||
|
/server
|
||||||
|
*.zip
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# TypeScript v1 declaration files
|
||||||
|
typings/
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variables file
|
||||||
|
.env
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
|
||||||
|
# next.js build output
|
||||||
|
.next
|
||||||
|
|
||||||
|
# nuxt.js build output
|
||||||
|
.nuxt
|
||||||
|
|
||||||
|
# Nuxt generate
|
||||||
|
dist
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
.vuepress/dist
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
.serverless
|
||||||
|
|
||||||
|
# IDE / Editor
|
||||||
|
.idea
|
||||||
|
|
||||||
|
# Service worker
|
||||||
|
sw.*
|
||||||
|
|
||||||
|
# macOS
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# Vim swap files
|
||||||
|
*.swp
|
|
@ -0,0 +1,69 @@
|
||||||
|
# demo
|
||||||
|
|
||||||
|
## Build Setup
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# install dependencies
|
||||||
|
$ yarn install
|
||||||
|
|
||||||
|
# serve with hot reload at localhost:3000
|
||||||
|
$ yarn dev
|
||||||
|
|
||||||
|
# build for production and launch server
|
||||||
|
$ yarn build
|
||||||
|
$ yarn start
|
||||||
|
|
||||||
|
# generate static project
|
||||||
|
$ yarn generate
|
||||||
|
```
|
||||||
|
|
||||||
|
For detailed explanation on how things work, check out the [documentation](https://nuxtjs.org).
|
||||||
|
|
||||||
|
## Special Directories
|
||||||
|
|
||||||
|
You can create the following extra directories, some of which have special behaviors. Only `pages` is required; you can delete them if you don't want to use their functionality.
|
||||||
|
|
||||||
|
### `assets`
|
||||||
|
|
||||||
|
The assets directory contains your uncompiled assets such as Stylus or Sass files, images, or fonts.
|
||||||
|
|
||||||
|
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/assets).
|
||||||
|
|
||||||
|
### `components`
|
||||||
|
|
||||||
|
The components directory contains your Vue.js components. Components make up the different parts of your page and can be reused and imported into your pages, layouts and even other components.
|
||||||
|
|
||||||
|
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/components).
|
||||||
|
|
||||||
|
### `layouts`
|
||||||
|
|
||||||
|
Layouts are a great help when you want to change the look and feel of your Nuxt app, whether you want to include a sidebar or have distinct layouts for mobile and desktop.
|
||||||
|
|
||||||
|
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/layouts).
|
||||||
|
|
||||||
|
|
||||||
|
### `pages`
|
||||||
|
|
||||||
|
This directory contains your application views and routes. Nuxt will read all the `*.vue` files inside this directory and setup Vue Router automatically.
|
||||||
|
|
||||||
|
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/get-started/routing).
|
||||||
|
|
||||||
|
### `plugins`
|
||||||
|
|
||||||
|
The plugins directory contains JavaScript plugins that you want to run before instantiating the root Vue.js Application. This is the place to add Vue plugins and to inject functions or constants. Every time you need to use `Vue.use()`, you should create a file in `plugins/` and add its path to plugins in `nuxt.config.js`.
|
||||||
|
|
||||||
|
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/plugins).
|
||||||
|
|
||||||
|
### `static`
|
||||||
|
|
||||||
|
This directory contains your static files. Each file inside this directory is mapped to `/`.
|
||||||
|
|
||||||
|
Example: `/static/robots.txt` is mapped as `/robots.txt`.
|
||||||
|
|
||||||
|
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/static).
|
||||||
|
|
||||||
|
### `store`
|
||||||
|
|
||||||
|
This directory contains your Vuex store files. Creating a file in this directory automatically activates Vuex.
|
||||||
|
|
||||||
|
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/store).
|
|
@ -0,0 +1,128 @@
|
||||||
|
export const tabs=[
|
||||||
|
{
|
||||||
|
name:'index',
|
||||||
|
title:'Home',
|
||||||
|
icon:'home'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'startups',
|
||||||
|
icon:'startups',
|
||||||
|
title:'Startups'
|
||||||
|
}, {
|
||||||
|
name:'innovation',
|
||||||
|
icon:'innovationInsights',
|
||||||
|
title:'Innovation Insights'
|
||||||
|
}, {
|
||||||
|
name:'LPLogin',
|
||||||
|
icon:'LPLogin',
|
||||||
|
title:'LP Login'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'joinUs',
|
||||||
|
icon:'joinLightLimX',
|
||||||
|
title:'Join LightLimX'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'contact',
|
||||||
|
icon:'contactUs',
|
||||||
|
title:'Contact Us'
|
||||||
|
},
|
||||||
|
]
|
||||||
|
export const footerLink=[
|
||||||
|
{
|
||||||
|
name:'startups',
|
||||||
|
title:'Startups',
|
||||||
|
type:'link'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'LPLogin',
|
||||||
|
title:'LP Login',
|
||||||
|
type:'link'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'partners',
|
||||||
|
title:'Partners',
|
||||||
|
type:'href',
|
||||||
|
link:'/'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'portfolio',
|
||||||
|
title:'Portfolio',
|
||||||
|
type:'href',
|
||||||
|
link:'/'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'focusAreas',
|
||||||
|
title:'Focus Areas',
|
||||||
|
type:'href',
|
||||||
|
link:'/'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'aboutUs',
|
||||||
|
title:'About Us',
|
||||||
|
type:'href',
|
||||||
|
link:'/'
|
||||||
|
}, {
|
||||||
|
name:'innovation',
|
||||||
|
title:'Innovation Insights',
|
||||||
|
type:'link'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'joinUs',
|
||||||
|
title:'Join LightLimX',
|
||||||
|
type:'link'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'contact',
|
||||||
|
title:'Contact Us',
|
||||||
|
type:'link'
|
||||||
|
},
|
||||||
|
]
|
||||||
|
export const portfolios=[
|
||||||
|
{
|
||||||
|
time:'.3s',
|
||||||
|
img:'Accelerator',
|
||||||
|
title:'Accelerator',
|
||||||
|
content:'We leverage proprietary processes to build market-leading companies from scratch. Our extensive operational support team accelerates the growth of ventures we partner with.',
|
||||||
|
link:'/startups'
|
||||||
|
},{
|
||||||
|
time:'.6s',
|
||||||
|
img:'Investment',
|
||||||
|
title:'Investment',
|
||||||
|
content:'We bring our wealth of venture experience and leverage our global resources to help projects and maximize their potential.',
|
||||||
|
link:'/startups'
|
||||||
|
},{
|
||||||
|
time:'.9s',
|
||||||
|
img:'Growth',
|
||||||
|
title:'Growth',
|
||||||
|
content:'We drive strategic growth, shorten the time to reach global scale, facilitate introductions, but we don’t stop there. ',
|
||||||
|
link:'/startups'
|
||||||
|
},
|
||||||
|
]
|
||||||
|
export const partners=[
|
||||||
|
{
|
||||||
|
img:'images/1.png',
|
||||||
|
link:''
|
||||||
|
}, {
|
||||||
|
img:'images/2.png',
|
||||||
|
link:''
|
||||||
|
}, {
|
||||||
|
img:'images/3.png',
|
||||||
|
link:''
|
||||||
|
}, {
|
||||||
|
img:'images/4.png',
|
||||||
|
link:''
|
||||||
|
}, {
|
||||||
|
img:'images/5.png',
|
||||||
|
link:''
|
||||||
|
}
|
||||||
|
]
|
||||||
|
export const banners=[
|
||||||
|
{
|
||||||
|
img:'images/b.png',
|
||||||
|
},{
|
||||||
|
img:'images/1.png',
|
||||||
|
},{
|
||||||
|
img:'images/2.png',
|
||||||
|
},
|
||||||
|
]
|
|
@ -0,0 +1,63 @@
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Manrope'; /*给自定义字体命名*/
|
||||||
|
src: url('~/assets/fonts/Manrope-Regular.ttf') format('truetype');
|
||||||
|
font-weight:normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Manrope'; /*给自定义字体命名*/
|
||||||
|
src: url('~/assets/fonts/Manrope-Bold.ttf') format('truetype');
|
||||||
|
font-weight:Bold;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
body,dl,dt,dd,ul,ol,li,pre,form,fieldset,input,p,blockquote,th,td{;font-weight:400;margin:0;padding:0}h1,h2,h3,h4,h4,h5{margin:0;padding:0}body{background-color:#f7f7f7;color:#666;font-family:Helvetica,Arial,sans-serif;font-size:14px;text-align:left}select{font-size:14px}table{border-collapse:collapse}fieldset,img{border:0 none}fieldset{margin:0;padding:0}fieldset p{margin:0;padding:0 0 0 8px}legend{display:none}address,caption,em,strong,th,i{font-style:normal;font-weight:400}table caption{margin-left:-1px}hr{border-bottom:1px solid #fff;border-top:1px solid #eee;border-width:1px 0;clear:both;height:2px;margin:5px 0;overflow:hidden}ol,ul{list-style-image:none;list-style-position:outside;list-style-type:none}caption,th{text-align:left}q:before,q:after,blockquote:before,blockquote:after{content:''}.clearfix{clear: both;}.fl{float: left;}.fr{float: right;}html,body{height: 100%}
|
||||||
|
#__layout,#__nuxt{
|
||||||
|
height: 100%;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
body{
|
||||||
|
overflow-x: hidden !important;
|
||||||
|
}
|
||||||
|
div[class*="-h5-wrap"]{
|
||||||
|
width: 100%;
|
||||||
|
max-width: 13rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 1300px) {
|
||||||
|
div[class*="-h5-wrap"]{
|
||||||
|
padding: 0 .15rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
white-space:pre-wrap;
|
||||||
|
//overflow--y: visible;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
div[class*="-h5-wrap"]{
|
||||||
|
padding: 0 .15rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
white-space:pre-wrap;
|
||||||
|
overflow-x:hidden ;
|
||||||
|
height: auto !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.h5-scroll-bar{
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
.h5-scroll-bar::-webkit-scrollbar{
|
||||||
|
width:4px;
|
||||||
|
height:4px;
|
||||||
|
}
|
||||||
|
.h5-scroll-bar::-webkit-scrollbar-track{
|
||||||
|
background: #f6f6f6;
|
||||||
|
border-radius:2px;
|
||||||
|
}
|
||||||
|
.h5-scroll-bar::-webkit-scrollbar-thumb{
|
||||||
|
background: #aaa;
|
||||||
|
border-radius:2px;
|
||||||
|
}
|
||||||
|
.h5-scroll-bar::-webkit-scrollbar-thumb:hover{
|
||||||
|
background: #747474;
|
||||||
|
}
|
||||||
|
.h5-scroll-bar::-webkit-scrollbar-corner{
|
||||||
|
background: #f6f6f6;
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="34.001" height="28.237" viewBox="0 0 34.001 28.237"><g transform="translate(-0.007 -86.803)"><path d="M297.4,421.875l-7.347,7.9,2.14,1.992,3.679-3.959v11.174h3.06V427.814l3.679,3.957,2.139-1.992Z" transform="translate(-280.419 -323.946)"/><path d="M29.3,86.8H4.713A4.706,4.706,0,0,0,.007,91.509v18.825a4.706,4.706,0,0,0,4.706,4.706H9.948v-2.656H4.713a2.052,2.052,0,0,1-2.05-2.05V91.509a2.052,2.052,0,0,1,2.05-2.05H29.3a2.052,2.052,0,0,1,2.05,2.05v18.825a2.052,2.052,0,0,1-2.05,2.05H24.067v2.656H29.3a4.706,4.706,0,0,0,4.706-4.706V91.509A4.706,4.706,0,0,0,29.3,86.8Z"/></g></svg>
|
After Width: | Height: | Size: 625 B |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="7.121" height="11.414" viewBox="0 0 7.121 11.414"><defs><style>.a{fill:none;stroke:#000;stroke-width:2px;}</style></defs><path class="a" d="M378.216,431.015l5,5,5-5" transform="translate(437.429 -377.509) rotate(90)"/></svg>
|
After Width: | Height: | Size: 271 B |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="34" viewBox="0 0 34 34"><defs><style>.a{fill:#929292;}</style></defs><path class="a" d="M43.977,42.025,29.335,27.383a1.38,1.38,0,1,0-1.952,1.952L42.025,43.977,27.383,58.619a1.38,1.38,0,1,0,1.952,1.952L43.977,45.929,58.619,60.571a1.38,1.38,0,1,0,1.952-1.952L45.929,43.977,60.571,29.335a1.38,1.38,0,1,0-1.952-1.952Z" transform="translate(-26.977 -26.977)"/></svg>
|
After Width: | Height: | Size: 420 B |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="30.385" viewBox="0 0 34 30.385"><g transform="translate(-95.645 -160.6)"><path d="M585.8,697.5m-1.6,0a1.6,1.6,0,1,0,1.6-1.6A1.6,1.6,0,0,0,584.2,697.5Z" transform="translate(-469.015 -513.89)"/><path d="M129.468,168.271l-.644-2.06a8.521,8.521,0,0,0-2.576-3.892,6.865,6.865,0,0,0-4.412-1.72H103.454a6.873,6.873,0,0,0-4.412,1.72,8.552,8.552,0,0,0-2.576,3.892l-.644,2.06a3.823,3.823,0,0,0,3.648,4.964h2.344l-2.544,9.015a6.5,6.5,0,0,0,6.1,8.735h14.539a6.5,6.5,0,0,0,6.1-8.735l-2.544-9.015h2.344a3.828,3.828,0,0,0,3.652-4.964Zm-6.187,14.811a.985.985,0,0,0,.04.116,3.638,3.638,0,0,1-3.4,4.924H105.378a3.638,3.638,0,0,1-3.4-4.924c.016-.04.028-.076.04-.116l2.78-9.851h1.4a3.829,3.829,0,0,0,3.78-4.412h5.36a3.829,3.829,0,0,0,3.78,4.412h1.4Zm3.48-12.979a1.152,1.152,0,0,1-.94.476H119.1a1.166,1.166,0,0,1-1.112-1.516l.364-1.168a1.323,1.323,0,0,0-1.264-1.72H108.21a1.326,1.326,0,0,0-1.268,1.72l.364,1.168a1.166,1.166,0,0,1-1.112,1.516H99.475a1.166,1.166,0,0,1-1.112-1.516l.644-2.06a5.127,5.127,0,0,1,4.452-3.752h18.386A5.127,5.127,0,0,1,126.3,167l.644,2.06A1.168,1.168,0,0,1,126.76,170.1Z" transform="translate(0)"/><path d="M373.127,482a6.327,6.327,0,1,0,0,12.655,1.216,1.216,0,1,0,0-2.432,3.9,3.9,0,1,1,3.9-3.9,1.216,1.216,0,0,0,2.432,0A6.339,6.339,0,0,0,373.127,482Z" transform="translate(-260.31 -308.545)"/></g></svg>
|
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24.21" height="24.319" viewBox="0 0 24.21 24.319"><defs><style>.a{fill:#7b7b7b;}</style></defs><path class="a" d="M83.819,66.311A2.188,2.188,0,0,1,86.008,68.5V82.13a2.188,2.188,0,0,1-2.188,2.188H70.188A2.188,2.188,0,0,1,68,82.13V68.5a2.188,2.188,0,0,1,2.188-2.188H83.819Zm-6.8,4a.813.813,0,0,0-.813.8v3.406H72.8a.813.813,0,0,0,.006,1.625h3.406v3.38a.813.813,0,0,0,1.625-.006V76.143h3.38a.813.813,0,0,0-.006-1.625H77.832V71.106a.813.813,0,0,0-.813-.794ZM89.206,60a3,3,0,0,1,3,2.954V73.018a3,3,0,0,1-2.954,3h-1.14A.814.814,0,0,1,88.1,74.4h1.11a1.377,1.377,0,0,0,1.377-1.354V63a1.377,1.377,0,0,0-1.354-1.377H79.192a1.377,1.377,0,0,0-1.377,1.354V64.29a.814.814,0,0,1-1.627.019V63a3,3,0,0,1,2.954-3H89.206Z" transform="translate(-68 -60)"/></svg>
|
After Width: | Height: | Size: 788 B |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="21.414" height="12.121" viewBox="0 0 21.414 12.121"><defs><style>.a{fill:none;stroke:#f49f00;stroke-miterlimit:10;stroke-width:2px;}</style></defs><path class="a" d="M871.933,321.933l10,10-10,10" transform="translate(342.64 -871.226) rotate(90)"/></svg>
|
After Width: | Height: | Size: 300 B |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><defs><style>.a,.b{fill:none;}.b{stroke:#000;stroke-width:2px;}</style></defs><g transform="translate(-373 -411)"><g transform="translate(373 411)"><rect class="a" width="30" height="30"/></g><path class="b" d="M378.216,431.015l5,5,5-5" transform="translate(5.096 -7.203)"/></g></svg>
|
After Width: | Height: | Size: 367 B |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"><defs><style>.a{fill:none;}.b{fill:#1c1717;}</style></defs><g transform="translate(-373 -411)"><rect class="a" width="48" height="48" transform="translate(373 411)"/><path class="b" d="M156.915,265.944v-1.657h6.629v1.657H176.8v3.315H163.544v1.657h-6.629v-1.657H153.6v-3.315Zm9.944-8.287V256h6.629v1.657H176.8v3.315h-3.315v1.657h-6.629v-1.657H153.6v-3.315Z" transform="translate(231.601 171.629)"/></g></svg>
|
After Width: | Height: | Size: 490 B |
After Width: | Height: | Size: 8.5 KiB |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="154.197" height="26.408" viewBox="0 0 154.197 26.408"><defs><style>.a{fill:#fff;}.b{fill:#f49f00;}</style></defs><g transform="translate(3127.067 -1675.422)"><path class="a" d="M-3127.067,1680.121h2.115v17.1h11.68l-.349,1.886h-13.447Z" transform="translate(0 -3.588)"/><rect class="a" width="2.014" height="2.922" transform="translate(-3110.01 1675.422)"/><rect class="a" width="2.014" height="13.408" transform="translate(-3110.01 1682.108)"/><path class="a" d="M-3018.195,1714.083c0,5.11-1.531,8.142-7.019,8.142-5.06,0-6.148-2.95-6.41-4.555h2.067c.427,1.512,1.479,2.858,4.453,2.858,4.264,0,4.926-2.749,4.926-6.362v-.78c-.822,1.707-2.376,2.775-5.216,2.775-3.756,0-6.381-2.948-6.381-6.791,0-4.331,3.155-7.239,6.7-7.239,3.143,0,4.461,1.473,4.892,2.6,0-.7.031-1.836.08-2.223h1.93c-.027,1.292-.027,2.584-.027,3.877Zm-11.5-4.806a4.752,4.752,0,0,0,4.765,5.1c3,0,4.814-1.875,4.814-5.255,0-3.4-1.733-5.219-4.663-5.219C-3028.164,1703.9-3029.7,1706.653-3029.7,1709.277Z" transform="translate(-72.766 -20.395)"/><path class="a" d="M-2952.7,1675.422v9.31c.466-1.055,1.728-3,5.1-3,2.995,0,5.038,1.878,5.038,5.67v8.11h-2.022v-7.76c0-2.413-.915-4.249-3.586-4.249-3.079,0-4.53,2.5-4.53,5.377v6.632h-2.014v-20.094Z" transform="translate(-131.614)"/><path class="a" d="M-2893.207,1689.418h2.739V1685h2.018v4.423h3.611v1.666h-3.611v7.836c0,1.652.437,2.382,1.945,2.382a6.205,6.205,0,0,0,1.37-.125v1.547a5.37,5.37,0,0,1-1.9.231c-2.623,0-3.434-1.183-3.434-3.83v-8.04h-2.739Z" transform="translate(-178.578 -7.31)"/><path class="a" d="M-2844.413,1681.016h4.552v15.12h10.509l-.6,3.651h-14.463Z" transform="translate(-215.838 -4.272)"/><path class="a" d="M-2769.927,1676.477h4.355v3.479h-4.355Zm0,6.072h4.355v13.772h-4.355Z" transform="translate(-272.716 -0.806)"/><path class="a" d="M-2736.067,1704.517c0-1.194,0-2.363-.026-3.556h4.164c.077.536.1,1.131.124,1.629a4.914,4.914,0,0,1,4.193-2c2.434,0,3.612,1.066,4.155,2.256a5.222,5.222,0,0,1,4.637-2.256c2.884,0,5.154,1.721,5.154,5.826v8.319h-4.284v-8.215c0-1.2-.419-2.64-2.226-2.64-1.564,0-2.512.981-2.512,3.251v7.6H-2727V1706.5c0-1.36-.493-2.621-2.229-2.621-1.765,0-2.532,1.272-2.532,3.262v7.593h-4.308Z" transform="translate(-298.552 -19.217)"/><g transform="translate(-3005.732 1678.467)"><path class="b" d="M-2606.187,1691.912c.386.318.886.766,1.487,1.328l1.848,1.886,4.236-4.125-2.771-2.7s-.005,0-.009,0h-12.385a17.619,17.619,0,0,1,3.334,1.033A18.454,18.454,0,0,1-2606.187,1691.912Z" transform="translate(2613.781 -1688.303)"/><path class="b" d="M-2589.642,1699.35l-3.042-2.963.026-.026,3.058-3.122c.6-.562,1.1-1.01,1.487-1.328a18.449,18.449,0,0,1,4.26-2.575,17.63,17.63,0,0,1,3.334-1.033H-2592.9s-.009,0-.009,0l-11.345,11.047q-1.485,1.367-2.97,2.5a17.686,17.686,0,0,1-6.029,2.532s.963.974.963.974h10.46l4.86-4.763.024-.023.023.023,4.86,4.763h10.46s.967-.974.963-.974a17.69,17.69,0,0,1-6.029-2.532Q-2588.157,1700.722-2589.642,1699.35Z" transform="translate(2613.381 -1688.303)"/></g></g></svg>
|
After Width: | Height: | Size: 2.9 KiB |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="32.818" viewBox="0 0 34 32.818"><defs><style>.a{fill:#2e2c2c;}</style></defs><path class="a" d="M33.567,34.168,18.1,18.258a1.509,1.509,0,0,0-1.091-.46h-.032a1.51,1.51,0,0,0-1.119.462L.443,34.17a1.852,1.852,0,0,0-.32,1.843,1.672,1.672,0,0,0,1.415,1.119H3.852v11.6a2.082,2.082,0,0,0,1.782,1.884h6.79c.873,0,1.414-.93,1.414-1.791V43.36H19.3v5.372a1.973,1.973,0,0,0,.609,1.259,1.931,1.931,0,0,0,1.251.625h6.686a1.344,1.344,0,0,0,1.135-.725,2.323,2.323,0,0,0,.336-1.158v-11.6h3.161a1.673,1.673,0,0,0,1.415-1.12,1.854,1.854,0,0,0-.322-1.844ZM26.2,35.508V47.5H22.41v-6a1.223,1.223,0,0,0-.328-.949,1.3,1.3,0,0,0-.926-.273H12.28a1.924,1.924,0,0,0-.956.2,1.116,1.116,0,0,0-.569,1.025v6H6.935V35.253a1.13,1.13,0,0,0-1.3-1.236H5.182l11.8-12.178,11.84,12.178h-.806A1.732,1.732,0,0,0,26.2,35.508Z" transform="translate(-0.006 -17.798)"/></svg>
|
After Width: | Height: | Size: 888 B |
After Width: | Height: | Size: 388 KiB |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="34" viewBox="0 0 34 34"><defs><style>.a{fill:#333;}</style></defs><g transform="translate(-102.4 -102.4)"><path class="a" d="M127.9,130.557V102.4H108.244a5.844,5.844,0,0,0-5.844,5.844v22.313a5.844,5.844,0,0,0,5.844,5.844h13.813A5.844,5.844,0,0,0,127.9,130.557Zm-19.656-24.969h16.469v24.969a2.657,2.657,0,0,1-2.656,2.656H108.244a2.657,2.657,0,0,1-2.656-2.656V108.244A2.657,2.657,0,0,1,108.244,105.588Z" transform="translate(0 0)"/><path class="a" d="M716.8,102.4h2.125v2.125H716.8Z" transform="translate(-588.9 0)"/><path class="a" d="M258.712,115.6a1.594,1.594,0,0,1,.021,2.253l-6.4,6.524-.03.023-.145.132-.006.006.181-.159a1.587,1.587,0,0,1-.344.266l-.051.028a1.581,1.581,0,0,1-1.577-.051l-.076-.051a1.233,1.233,0,0,1-.113-.085l-.07-.064-2.871-2.716a1.594,1.594,0,1,1,2.189-2.317l1.732,1.641,5.306-5.406a1.594,1.594,0,0,1,2.253-.021ZM268.9,102.4a5.844,5.844,0,0,0-5.844,5.844v10.094H268.9a5.844,5.844,0,0,0,5.844-5.844v-4.25A5.844,5.844,0,0,0,268.9,102.4Zm0,3.188a2.657,2.657,0,0,1,2.656,2.656v4.25l-.013.272a2.656,2.656,0,0,1-2.644,2.384h-2.656v-6.906A2.657,2.657,0,0,1,268.9,105.588Z" transform="translate(-138.343 0)"/></g></svg>
|
After Width: | Height: | Size: 1.2 KiB |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="33.301" viewBox="0 0 34 33.301"><g transform="translate(-131.586 -139.307)"><path d="M162.248,318.732H134.924a3.337,3.337,0,0,1-2.431-1.068,3.429,3.429,0,0,1-.9-2.6l1.592-19.678a3.384,3.384,0,0,1,3.327-3.118h24.139a3.384,3.384,0,0,1,3.327,3.118l1.592,19.668a3.429,3.429,0,0,1-.9,2.6,3.31,3.31,0,0,1-2.431,1.077Zm-25.731-23.605a.506.506,0,0,0-.477.486l-1.583,19.678a.593.593,0,0,0,.143.439.46.46,0,0,0,.334.153h27.314a.46.46,0,0,0,.334-.153.577.577,0,0,0,.143-.439l-1.592-19.668a.5.5,0,0,0-.477-.486H136.516Z" transform="translate(0 -146.124)"/><path d="M236.691,147.573h-2.86V144.2a2.233,2.233,0,0,0-2.383-2.031h-9.534a2.226,2.226,0,0,0-2.383,2.031v3.375h-2.86V144.2a5.083,5.083,0,0,1,5.244-4.891h9.534a5.083,5.083,0,0,1,5.244,4.891v3.375Zm-23.358,6.035h26.694v2.86H213.333Z" transform="translate(-78.094)"/><path d="M380.17,507.743a6.209,6.209,0,0,1-6.2-6.2h2.86a3.337,3.337,0,1,0,6.674,0h2.86a6.2,6.2,0,0,1-6.2,6.2Z" transform="translate(-231.555 -346.051)"/></g></svg>
|
After Width: | Height: | Size: 1.0 KiB |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 750.26 389.25"><defs><style>.cls-1{fill:#f49f00;}</style></defs><title>资源 17</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M173.39,82.39c8.82,7.27,20.23,17.49,33.94,30.33l42.19,43.06,96.71-94.17L283,0s-.12.07-.19,0H0A403,403,0,0,1,76.12,23.6C107.08,37.62,144.32,57.53,173.39,82.39Z"/><path class="cls-1" d="M542,252.22,472.5,184.58l.6-.59,69.83-71.27c13.71-12.84,25.12-23.06,33.94-30.33,29.07-24.86,66.3-44.77,97.27-58.79A403,403,0,0,1,750.26,0H467.49c-.07.07-.19,0-.19,0l-259,252.22q-33.9,31.21-67.81,57A403.66,403.66,0,0,1,2.83,367c-.09,0,22,22.25,22,22.25H263.63l111-108.73.54-.53.53.53,111,108.73H725.44s22.08-22.25,22-22.25a403.66,403.66,0,0,1-137.65-57.82Q575.88,283.53,542,252.22Z"/></g></g></svg>
|
After Width: | Height: | Size: 823 B |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="154.197" height="26.408" viewBox="0 0 154.197 26.408"><defs><style>.a{fill:#fff;}.b{fill:#f49f00;}</style></defs><g transform="translate(3127.067 -1675.422)"><path class="a" d="M-3127.067,1680.121h2.115v17.1h11.68l-.349,1.886h-13.447Z" transform="translate(0 -3.588)"/><rect class="a" width="2.014" height="2.922" transform="translate(-3110.01 1675.422)"/><rect class="a" width="2.014" height="13.408" transform="translate(-3110.01 1682.108)"/><path class="a" d="M-3018.195,1714.083c0,5.11-1.531,8.142-7.019,8.142-5.06,0-6.148-2.95-6.41-4.555h2.067c.427,1.512,1.479,2.858,4.453,2.858,4.264,0,4.926-2.749,4.926-6.362v-.78c-.822,1.707-2.376,2.775-5.216,2.775-3.756,0-6.381-2.948-6.381-6.791,0-4.331,3.155-7.239,6.7-7.239,3.143,0,4.461,1.473,4.892,2.6,0-.7.031-1.836.08-2.223h1.93c-.027,1.292-.027,2.584-.027,3.877Zm-11.5-4.806a4.752,4.752,0,0,0,4.765,5.1c3,0,4.814-1.875,4.814-5.255,0-3.4-1.733-5.219-4.663-5.219C-3028.164,1703.9-3029.7,1706.653-3029.7,1709.277Z" transform="translate(-72.766 -20.395)"/><path class="a" d="M-2952.7,1675.422v9.31c.466-1.055,1.728-3,5.1-3,2.995,0,5.038,1.878,5.038,5.67v8.11h-2.022v-7.76c0-2.413-.915-4.249-3.586-4.249-3.079,0-4.53,2.5-4.53,5.377v6.632h-2.014v-20.094Z" transform="translate(-131.614)"/><path class="a" d="M-2893.207,1689.418h2.739V1685h2.018v4.423h3.611v1.666h-3.611v7.836c0,1.652.437,2.382,1.945,2.382a6.205,6.205,0,0,0,1.37-.125v1.547a5.37,5.37,0,0,1-1.9.231c-2.623,0-3.434-1.183-3.434-3.83v-8.04h-2.739Z" transform="translate(-178.578 -7.31)"/><path class="a" d="M-2844.413,1681.016h4.552v15.12h10.509l-.6,3.651h-14.463Z" transform="translate(-215.838 -4.272)"/><path class="a" d="M-2769.927,1676.477h4.355v3.479h-4.355Zm0,6.072h4.355v13.772h-4.355Z" transform="translate(-272.716 -0.806)"/><path class="a" d="M-2736.067,1704.517c0-1.194,0-2.363-.026-3.556h4.164c.077.536.1,1.131.124,1.629a4.914,4.914,0,0,1,4.193-2c2.434,0,3.612,1.066,4.155,2.256a5.222,5.222,0,0,1,4.637-2.256c2.884,0,5.154,1.721,5.154,5.826v8.319h-4.284v-8.215c0-1.2-.419-2.64-2.226-2.64-1.564,0-2.512.981-2.512,3.251v7.6H-2727V1706.5c0-1.36-.493-2.621-2.229-2.621-1.765,0-2.532,1.272-2.532,3.262v7.593h-4.308Z" transform="translate(-298.552 -19.217)"/><g transform="translate(-3005.732 1678.467)"><path class="b" d="M-2606.187,1691.912c.386.318.886.766,1.487,1.328l1.848,1.886,4.236-4.125-2.771-2.7s-.005,0-.009,0h-12.385a17.619,17.619,0,0,1,3.334,1.033A18.454,18.454,0,0,1-2606.187,1691.912Z" transform="translate(2613.781 -1688.303)"/><path class="b" d="M-2589.642,1699.35l-3.042-2.963.026-.026,3.058-3.122c.6-.562,1.1-1.01,1.487-1.328a18.449,18.449,0,0,1,4.26-2.575,17.63,17.63,0,0,1,3.334-1.033H-2592.9s-.009,0-.009,0l-11.345,11.047q-1.485,1.367-2.97,2.5a17.686,17.686,0,0,1-6.029,2.532s.963.974.963.974h10.46l4.86-4.763.024-.023.023.023,4.86,4.763h10.46s.967-.974.963-.974a17.69,17.69,0,0,1-6.029-2.532Q-2588.157,1700.722-2589.642,1699.35Z" transform="translate(2613.381 -1688.303)"/></g></g></svg>
|
After Width: | Height: | Size: 2.9 KiB |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="29.055" viewBox="0 0 34 29.055"><defs><style>.a{fill:#929292;}</style></defs><path class="a" d="M186.756,235.667h30.7a1.648,1.648,0,0,0,0-3.3h-30.7a1.517,1.517,0,0,0-1.649,1.648A1.625,1.625,0,0,0,186.756,235.667Zm30.7,9.685h-30.7A1.517,1.517,0,0,0,185.107,247a1.625,1.625,0,0,0,1.649,1.648h30.7a1.648,1.648,0,0,0,0-3.3Zm0,12.776h-30.7a1.517,1.517,0,0,0-1.649,1.648,1.625,1.625,0,0,0,1.649,1.648h30.7a1.648,1.648,0,1,0,0-3.3Z" transform="translate(-185.107 -232.37)"/></svg>
|
After Width: | Height: | Size: 532 B |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="331.023" height="243.18" viewBox="0 0 331.023 243.18"><defs><style>.a,.b,.c,.d,.e,.f{fill:none;stroke:#f49f00;stroke-miterlimit:10;}.a,.b,.c,.d,.e{stroke-width:0.75px;}.a{opacity:0.1;}.b{opacity:0.2;}.c{opacity:0.3;}.d{opacity:0.4;}.e{opacity:0.5;}.g{fill:#f49f00;}</style></defs><g transform="translate(0.91 0.375)"><path class="a" d="M-2110.917-3433.463l-122.114-121.215,122.114-121.215h-84.974l-79.627,79.04-79.627-79.04h-84.974l122.114,121.215-122.114,121.215h84.974l79.627-79.041,79.627,79.041Z" transform="translate(2440.12 3675.894)"/><path class="b" d="M-2123.787-3442.941l-103.644-102.881,103.644-102.882h-72.122l-67.583,67.086-67.583-67.086H-2403.2l103.644,102.882L-2403.2-3442.941h72.122l67.583-67.085,67.583,67.085Z" transform="translate(2428.094 3667.038)"/><path class="c" d="M-2136.658-3452.419l-85.174-84.546,85.174-84.548h-59.269l-55.539,55.131-55.539-55.131h-59.27l85.174,84.548-85.174,84.546h59.27l55.539-55.13,55.539,55.13Z" transform="translate(2416.068 3658.181)"/><path class="d" d="M-2149.528-3461.9l-66.7-66.213,66.7-66.213h-46.417l-43.5,43.175-43.5-43.175h-46.417l66.7,66.213-66.7,66.213h46.417l43.5-43.175,43.5,43.175Z" transform="translate(2404.042 3649.325)"/><path class="e" d="M-2162.4-3471.375l-48.234-47.878,48.234-47.879h-33.564l-31.452,31.22-31.452-31.22h-33.564l48.233,47.879-48.233,47.878h33.564l31.452-31.22,31.452,31.22Z" transform="translate(2392.016 3640.469)"/><path class="f" d="M-2175.27-3539.942h-20.711l-19.407,19.265-19.408-19.265h-20.711l29.764,29.544-29.764,29.544h20.711l19.408-19.264,19.407,19.264h20.711l-29.764-29.544Z" transform="translate(2379.99 3631.612)"/><g transform="translate(118.095 86.968)"><path class="g" d="M-2171.967-3478.422h-24.009l-69-68.5h24.009Z" transform="translate(2264.98 3546.917)"/><path class="g" d="M-2264.98-3478.422h24.009l69-68.5h-24.009Z" transform="translate(2264.98 3546.917)"/></g></g></svg>
|
After Width: | Height: | Size: 1.9 KiB |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="35.976" viewBox="0 0 34 35.976"><defs><style>.a{fill:#2e2c2c;}</style></defs><g transform="translate(-85.334 -64.643)"><path class="a" d="M559.115,312.532l14.254,2.818a.857.857,0,0,1,.677.691l.014.149v21.5a.858.858,0,0,1-.7.844l-.154.014H559.1l.01-26.011Zm3.427,4.173-.007,18.408h8.1V318.3l-8.088-1.6Z" transform="translate(-454.726 -237.924)"/><path class="a" d="M107.793,65.288a.858.858,0,0,1,.026.213V99.8a.818.818,0,0,1-.818.816H86.191a.858.858,0,0,1-.858-.858V70.823a.858.858,0,0,1,.645-.83l20.77-5.322a.858.858,0,0,1,1.045.617Zm-3.4,3.528-15.625,4v24.37h15.625Z" transform="translate(0)"/><path class="a" d="M400.983,288.384h3.087v8.576h-3.43v-8.576Z" transform="translate(-302.631 -214.747)"/></g></svg>
|
After Width: | Height: | Size: 769 B |
After Width: | Height: | Size: 460 KiB |
|
@ -0,0 +1,202 @@
|
||||||
|
<template>
|
||||||
|
<section class="section-view" :style="isCssStyle" >
|
||||||
|
<div class="section-view-h5-wrap">
|
||||||
|
<h1 class="section-view-title wow fadeInUpBig">About Us</h1>
|
||||||
|
<div class="section-view-content">
|
||||||
|
<div class="section-view-circle wow fadeInUpBig" data-wow-delay=".5s">
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
<div class="section-view-article">
|
||||||
|
<h1 class="section-view-title wow fadeInUpBig" style="text-align: center">About Us</h1>
|
||||||
|
<p class="section-view-article-p wow fadeInUpBig" data-wow-delay=".3s" >LightLimX is an early-stage investment platform. We focus on markets where technology, innovation, and LightLimX can unlock long-term value and drive economic growth.</p>
|
||||||
|
<p class="section-view-article-w wow fadeInUpBig" data-wow-delay=".4s">"To create miracles and give insight into the future together with entrepreneurs" is the original aspiration of LightLimX. As an investment institution with strong curiosity and corporate responsibility, we catalyze technological advancement by connecting blue chip corporations with the brightest startups across the globe.</p>
|
||||||
|
<p class="section-view-article-w wow fadeInUpBig" data-wow-delay=".5s">In addition to making direct venture investments,LightLimX provides financing& insigths& operating expertise to promising the most compelling companies to flourish.To-date, LightLimX has provided advice and support for more than 20 companies, raised more than $15 million in seed and later-stage funding,valued at over $1 billion dollars.</p>
|
||||||
|
<div class="section-view-flower-wrap wow fadeInUpBig" data-wow-delay=".5s">
|
||||||
|
<svg-icon icon-class="flower"></svg-icon>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "AboutUs",
|
||||||
|
props:{
|
||||||
|
cssStyle:{
|
||||||
|
type:Object,
|
||||||
|
default:()=>{
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
isCssStyle(){
|
||||||
|
return this.cssStyle
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.section-view{
|
||||||
|
width: 100%;
|
||||||
|
min-height: 100vh;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background-color: #fff;
|
||||||
|
&-content{
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
&-flower-wrap{
|
||||||
|
margin-top: 0;
|
||||||
|
.svg-icon{
|
||||||
|
width: 1.76rem;
|
||||||
|
height: .21rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-title{
|
||||||
|
padding-top: 1.21rem;
|
||||||
|
margin-bottom: .74rem;
|
||||||
|
font-size: .6rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .84rem;
|
||||||
|
color: #302D2C;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
&-flower-wrap{
|
||||||
|
margin-top: 1.28rem;
|
||||||
|
.svg-icon{
|
||||||
|
width: 1.76rem;
|
||||||
|
height: .21rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-article{
|
||||||
|
padding-top: .39rem;
|
||||||
|
padding-bottom: 1.55rem;
|
||||||
|
.section-view-title{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
&-w{
|
||||||
|
margin-top: .27rem;
|
||||||
|
width: 6.12rem;
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .32rem;
|
||||||
|
color: #302D2C;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
width: 5.79rem;
|
||||||
|
position: relative;
|
||||||
|
padding-left: .33rem;
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .32rem;
|
||||||
|
color: #302D2C;
|
||||||
|
&:before{
|
||||||
|
position: absolute;
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
width: .08rem;
|
||||||
|
height: .77rem;
|
||||||
|
background-color: #F49F00;
|
||||||
|
left: 0;
|
||||||
|
top: .1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-circle{
|
||||||
|
margin-right: 1.96rem;
|
||||||
|
>div{
|
||||||
|
transition: all 1s ease-in;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
max-width: 5.92rem;
|
||||||
|
max-height: 5.92rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 1250px) {
|
||||||
|
.section-view{
|
||||||
|
&-circle{
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
&-content{
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 830px) {
|
||||||
|
.section-view{
|
||||||
|
&-content{
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px){
|
||||||
|
.section-view{
|
||||||
|
margin-top: 0;
|
||||||
|
&-content{
|
||||||
|
flex-direction: column;
|
||||||
|
padding-top: 1rem;
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
}
|
||||||
|
&-flower-wrap{
|
||||||
|
margin-top: .9rem;
|
||||||
|
.svg-icon{
|
||||||
|
width: 3.43rem;
|
||||||
|
height: .41rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-title{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
&-article{
|
||||||
|
padding: 0 .3rem ;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.section-view-title{
|
||||||
|
display: block;
|
||||||
|
padding-top: 0;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: .47rem;
|
||||||
|
font-size: .6rem;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height:.84rem;
|
||||||
|
}
|
||||||
|
&-w{
|
||||||
|
margin-top: .39rem;
|
||||||
|
width: 100%;
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .34rem;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100%;
|
||||||
|
padding-left: .25rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .34rem;
|
||||||
|
&:before{
|
||||||
|
width: .08rem;
|
||||||
|
height: .9rem;
|
||||||
|
left: 0;
|
||||||
|
top: .05rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-circle{
|
||||||
|
margin: 0 .3rem;
|
||||||
|
>div{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,160 @@
|
||||||
|
<template>
|
||||||
|
<div class="axchange-banner">
|
||||||
|
<div class="banner-prev" @click="handleChange('prev')">
|
||||||
|
<van-icon name="arrow-left" class="banner-prev-icon" />
|
||||||
|
</div>
|
||||||
|
<div class="axchange-banner-container">
|
||||||
|
<van-swipe class="axchange-banner" ref="myVanSwipe" :autoplay="6000" :loop="true" >
|
||||||
|
<van-swipe-item v-for="(item, index) in images" :key="index+'_'" @click="handleLink(item.id)">
|
||||||
|
<img v-lazy="assetsUri(item.logo)" style="width: 100%;height: 100%" />
|
||||||
|
</van-swipe-item>
|
||||||
|
<template #indicator>
|
||||||
|
<div ></div>
|
||||||
|
</template>
|
||||||
|
</van-swipe>
|
||||||
|
</div>
|
||||||
|
<div class="banner-next" @click="handleChange('next')">
|
||||||
|
<van-icon name="arrow" class="banner-next-icon" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {assetsUri} from "../../utils";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'Banner',
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
assetsUri
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
images: {
|
||||||
|
default: () => {
|
||||||
|
return []
|
||||||
|
},
|
||||||
|
type: Array
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeDestroy(){
|
||||||
|
window.removeEventListener('resize',this.handleResize)
|
||||||
|
},
|
||||||
|
mounted(){
|
||||||
|
window.addEventListener('resize',this.handleResize)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleResize(){
|
||||||
|
this.$refs.myVanSwipe.resize();
|
||||||
|
},
|
||||||
|
handleChange(method){
|
||||||
|
this.$nextTick(()=>{
|
||||||
|
if(method==='next'){
|
||||||
|
this.$refs.myVanSwipe.next()
|
||||||
|
}else{
|
||||||
|
this.$refs.myVanSwipe.prev()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleLink (id) {
|
||||||
|
return
|
||||||
|
// this.$router.push({ path: 'detail', query: { type: 'banner', id } })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.axchange-banner{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.banner-prev,.banner-next{
|
||||||
|
cursor: pointer;
|
||||||
|
flex-shrink: 0;
|
||||||
|
width: .9rem;
|
||||||
|
height: .9rem;
|
||||||
|
background-color: #342927;
|
||||||
|
border-radius: 50%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
&:hover{
|
||||||
|
background-color: #F49F00;
|
||||||
|
.banner-next-icon{
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.banner-prev-icon{
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon{
|
||||||
|
font-size: .4rem;
|
||||||
|
color: #9B9B9B ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.banner-prev{
|
||||||
|
margin-right: .74rem;
|
||||||
|
} .banner-next{
|
||||||
|
margin-left: .74rem;
|
||||||
|
}
|
||||||
|
.axchange-banner{
|
||||||
|
justify-content: center;
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
.van-swipe-item{
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
.van-icon-volume-o:before{
|
||||||
|
color: #0f4493;
|
||||||
|
}
|
||||||
|
.axchange-banner-container{
|
||||||
|
max-width: 9.72rem;
|
||||||
|
max-height: 6.28rem;
|
||||||
|
flex: 1;
|
||||||
|
height: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 1280px) {
|
||||||
|
.axchange-banner{
|
||||||
|
.axchange-banner-container{
|
||||||
|
max-width: 8rem;
|
||||||
|
}
|
||||||
|
.banner-prev,.banner-next{
|
||||||
|
width: .7rem;
|
||||||
|
height: .7rem;
|
||||||
|
&-icon{
|
||||||
|
font-size: .3rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.banner-prev{
|
||||||
|
margin-right: .35rem;
|
||||||
|
}
|
||||||
|
.banner-next{
|
||||||
|
margin-left: .35rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.axchange-banner{
|
||||||
|
.axchange-banner-container{
|
||||||
|
max-width: 5.20rem;
|
||||||
|
max-height: 3.35rem;
|
||||||
|
}
|
||||||
|
.banner-prev,.banner-next{
|
||||||
|
width: .5rem;
|
||||||
|
height: .5rem;
|
||||||
|
&-icon{
|
||||||
|
font-size: .4rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.banner-prev{
|
||||||
|
margin-right: .35rem;
|
||||||
|
}
|
||||||
|
.banner-next{
|
||||||
|
margin-left: .35rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,173 @@
|
||||||
|
<template>
|
||||||
|
<div class="email-footer">
|
||||||
|
<h1 class="situation-h1">info@lightlimx.com</h1>
|
||||||
|
<span class="situation-tips">Email us to connect</span>
|
||||||
|
<ul class="situation-ul">
|
||||||
|
<li class="situation-li wow fadeInUp" data-wow-delay=".5s" @click="handleLink('https://t.me/lightlimx')">
|
||||||
|
<div class="situation-li-d">
|
||||||
|
<img class="situation-li-img" v-lazy="assetsUri('images/tw.png')" alt="">
|
||||||
|
<span class="situation-li-s">Twitter</span>
|
||||||
|
</div>
|
||||||
|
<p class="situation-li-p">Follow our latest news on Twitter</p>
|
||||||
|
</li> <li class="situation-li wow fadeInUp" data-wow-delay=".5s" @click="handleLink('https://twitter.com/LimXCapital')">
|
||||||
|
<div class="situation-li-d">
|
||||||
|
<img class="situation-li-img" v-lazy="assetsUri('images/te.png')" alt="">
|
||||||
|
<span class="situation-li-s">Telegram</span>
|
||||||
|
</div>
|
||||||
|
<p class="situation-li-p">Subscribe to our Telegram Channel</p>
|
||||||
|
</li> <li class="situation-li wow fadeInUp" data-wow-delay=".5s" @click="handleLink('https://medium.com/@lightlimx')">
|
||||||
|
<div class="situation-li-d">
|
||||||
|
<img class="situation-li-img" v-lazy="assetsUri('images/me.png')" alt="">
|
||||||
|
<span class="situation-li-s">Medium</span>
|
||||||
|
</div>
|
||||||
|
<p class="situation-li-p">Browse our content on Medium</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
assetsUri
|
||||||
|
} from "../../utils";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "EmailFooter",
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
assetsUri
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleLink(link){
|
||||||
|
if(!link){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
window.location.href=link
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.situation{
|
||||||
|
&-h1,&-tips{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
&-h1{
|
||||||
|
margin-top: 1.28rem;
|
||||||
|
font-size: .68rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #302D2C;
|
||||||
|
cursor: pointer;
|
||||||
|
&:hover{
|
||||||
|
/*text-shadow: 0 0 .05rem #FF0000, 0 0 .05rem #6bf403;*/
|
||||||
|
text-stroke:1px #F49F00;
|
||||||
|
-webkit-text-stroke:1px #F49F00;
|
||||||
|
color: #Fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-ul{
|
||||||
|
margin-top: 1rem;
|
||||||
|
padding-bottom: 1.48rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
&-li{
|
||||||
|
margin-bottom: .3rem;
|
||||||
|
cursor: pointer;
|
||||||
|
width: 3.46rem;
|
||||||
|
height: 1.86rem;
|
||||||
|
background: #FFFFFF;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
padding-left: .56rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
transition: all .3s ease-in;
|
||||||
|
&-d{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
&-img{
|
||||||
|
display: block;
|
||||||
|
width: .36rem;
|
||||||
|
height: .36rem;
|
||||||
|
margin-right: .12rem;
|
||||||
|
}
|
||||||
|
&-s{
|
||||||
|
font-size: .18rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #302D2C;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
margin-top: .1rem;
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #302D2C;
|
||||||
|
}
|
||||||
|
&:hover{
|
||||||
|
box-shadow: 0 .03rem .2rem rgba(0, 0, 0, 0.06);
|
||||||
|
border-radius:.1rem;
|
||||||
|
transform: scale(1.01);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-tips{
|
||||||
|
display: block;
|
||||||
|
margin-top: .35rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .48rem;
|
||||||
|
color: #302D2C;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.situation{
|
||||||
|
&-h1{
|
||||||
|
margin-top: 1.49rem;
|
||||||
|
font-size: .6rem;
|
||||||
|
line-height: .62rem;
|
||||||
|
}
|
||||||
|
&-ul{
|
||||||
|
margin-top: .49rem;
|
||||||
|
padding-bottom: 1.01rem;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
&-li{
|
||||||
|
margin-bottom: .3rem;
|
||||||
|
width: 6.90rem;
|
||||||
|
height: 2.60rem;
|
||||||
|
padding-left: .6rem;
|
||||||
|
&-img{
|
||||||
|
width: .86rem;
|
||||||
|
height: .86rem;
|
||||||
|
margin-right: .29rem;
|
||||||
|
}
|
||||||
|
&-s{
|
||||||
|
font-size: .43rem;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
margin-top: .21rem;
|
||||||
|
font-size: .3rem;
|
||||||
|
}
|
||||||
|
&:hover{
|
||||||
|
box-shadow: 0 .03rem .2rem rgba(0, 0, 0, 0.06);
|
||||||
|
border-radius:.1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-tips{
|
||||||
|
margin-top: .2rem;
|
||||||
|
font-size: .3rem;
|
||||||
|
line-height: .48rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,231 @@
|
||||||
|
<template>
|
||||||
|
<div class="filter-input-wrap">
|
||||||
|
<van-field class="filter-input" readonly label-width="auto" placeholder="Filter" v-model="text" >
|
||||||
|
<template #label>
|
||||||
|
<div class="filter-input-label">
|
||||||
|
<svg-icon icon-class="filter"></svg-icon>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #extra>
|
||||||
|
<div class="filter-input-extra" >
|
||||||
|
<div class="filter-input-icon-wrap" @click="handleOptionsShow">
|
||||||
|
<svg-icon icon-class="filter-ar" :class="{active:blockShow}"></svg-icon>
|
||||||
|
</div>
|
||||||
|
<span @click="handleOptionsShow">{{activeText}}</span>
|
||||||
|
<ul class="filter-options" :style="{'display':!blockShow?'none':'block'}" >
|
||||||
|
<li class="filter-options-item" @click="handleItemClick(item)" :class="{'active':active===item.id}" v-for="(item,index) in locations" :key="'local_'+index">{{item.name}}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</van-field>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "FilterInput",
|
||||||
|
props:{
|
||||||
|
locations:{
|
||||||
|
default:()=>[],
|
||||||
|
type:Array
|
||||||
|
},
|
||||||
|
active:{
|
||||||
|
default:'',
|
||||||
|
type:String
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleOptionsShow(){
|
||||||
|
this.blockShow=!this.blockShow
|
||||||
|
},
|
||||||
|
handleItemClick(item){
|
||||||
|
this.blockShow=false
|
||||||
|
this.$emit('select',item)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
activeText(){
|
||||||
|
if(!this.locations){
|
||||||
|
return 'Locations'
|
||||||
|
}
|
||||||
|
const location= this.locations.find((item)=>{
|
||||||
|
return item.id===this.active
|
||||||
|
})
|
||||||
|
return location?location.name:'Locations'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
blockShow:false,
|
||||||
|
text:''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.filter-options{
|
||||||
|
min-width: 100%;
|
||||||
|
position: absolute;
|
||||||
|
min-height: 1.6rem;
|
||||||
|
background: #FFFFFF;
|
||||||
|
padding-left: .24rem;
|
||||||
|
box-shadow: 0 .03rem .06rem rgba(0, 0, 0, 0.16);
|
||||||
|
bottom: 0;
|
||||||
|
transform: translateY(100%);
|
||||||
|
box-sizing: content-box;
|
||||||
|
left: -.2rem;
|
||||||
|
transition: all .3s ease-in;
|
||||||
|
z-index: 1;
|
||||||
|
&-item{
|
||||||
|
width: 100%;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .4rem;
|
||||||
|
color: #302D2C;
|
||||||
|
box-sizing: content-box;
|
||||||
|
padding-left: .24rem;
|
||||||
|
min-height: .4rem;
|
||||||
|
font-size: .16rem;
|
||||||
|
margin-left: -.24rem;
|
||||||
|
background-color: #fff;
|
||||||
|
cursor: pointer;
|
||||||
|
&.active{
|
||||||
|
background-color: #F49F00;
|
||||||
|
color: #Fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.filter-input{
|
||||||
|
height: .6rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: .06rem 0 .06rem .14rem;
|
||||||
|
overflow: initial;
|
||||||
|
|
||||||
|
&-wrap{
|
||||||
|
margin-top: -.3rem;
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
width: 100%;
|
||||||
|
height: .6rem;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0 .03rem .06rem rgba(0, 0, 0, 0.16);
|
||||||
|
}
|
||||||
|
&-extra{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
|
padding-right: .14rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
min-width: 1.53rem;
|
||||||
|
>span{
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: unset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-label{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
.svg-icon{
|
||||||
|
width: .48rem;
|
||||||
|
height: .48rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon-wrap{
|
||||||
|
cursor: pointer;
|
||||||
|
margin-right: .17rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.svg-icon{
|
||||||
|
transition: all .3s ease-in;
|
||||||
|
width: .3rem;
|
||||||
|
height: .3rem;
|
||||||
|
&.active{
|
||||||
|
transform: rotate(180deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.filter-options{
|
||||||
|
min-height: 3.2rem;
|
||||||
|
padding-left: 0;
|
||||||
|
left: 50%;
|
||||||
|
min-width: 2rem;
|
||||||
|
transform: translateX(-50%) translateY(100%);
|
||||||
|
box-sizing: border-box;
|
||||||
|
&-item{
|
||||||
|
line-height: .8rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-left: .5rem;
|
||||||
|
margin-left: 0;
|
||||||
|
min-height: .8rem;
|
||||||
|
font-size: .26rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.filter-input{
|
||||||
|
height: 100%;
|
||||||
|
min-height: .8rem;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
&-extra{
|
||||||
|
min-width: 2.46rem;
|
||||||
|
padding-right: .32rem;
|
||||||
|
}
|
||||||
|
&-wrap{
|
||||||
|
margin-top: -.4rem;
|
||||||
|
margin-left: .15rem;
|
||||||
|
margin-right: .15rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: .8rem;
|
||||||
|
width: auto;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
&-label{
|
||||||
|
.svg-icon{
|
||||||
|
width: .8rem;
|
||||||
|
height: .8rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon-wrap{
|
||||||
|
margin-right: 0;
|
||||||
|
.svg-icon{
|
||||||
|
width: .8rem;
|
||||||
|
height: .8rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style lang="less">
|
||||||
|
.filter-input{
|
||||||
|
.van-field__body{
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.van-field__control{
|
||||||
|
font-size: .18rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #302D2C;
|
||||||
|
&::placeholder{
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #302D2C;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.filter-input{
|
||||||
|
.van-field__control{
|
||||||
|
font-size: .26rem;
|
||||||
|
&::placeholder{
|
||||||
|
font-size: .26rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,264 @@
|
||||||
|
#home-circles,.spin-circle-container{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
#home-hero {
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: hidden;
|
||||||
|
min-height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
padding-top: 0;
|
||||||
|
// background-color: #010101;
|
||||||
|
color: #fff;
|
||||||
|
// background-image: url("../images/home-hero-mobile.jpg");
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center bottom;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
// min-height: 1000px;
|
||||||
|
}
|
||||||
|
#home-hero .primary {
|
||||||
|
font-size: 1.125rem;
|
||||||
|
line-height: 1.8125rem;
|
||||||
|
font-weight: 700;
|
||||||
|
letter-spacing: 0.06em;
|
||||||
|
}
|
||||||
|
#home-hero .hero-circle-text {
|
||||||
|
text-align: center;
|
||||||
|
z-index: 1;
|
||||||
|
// padding: 4rem 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
#home-hero .hero-circle-text p {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #FFFFFF;
|
||||||
|
opacity: 1;
|
||||||
|
line-height: 0.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 991px) {
|
||||||
|
#home-content {
|
||||||
|
// padding-top: 8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-circle-text-container {
|
||||||
|
// padding-top: 18rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
#home-hero .hero-circle-text{
|
||||||
|
bottom: 0.5rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-hero-mobile {
|
||||||
|
padding: 0 1rem;
|
||||||
|
}
|
||||||
|
.home-hero-mobile img {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.heading {
|
||||||
|
max-width: 490px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.primary,
|
||||||
|
.secondary {
|
||||||
|
max-width: 500px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (max-width: 1024px) {
|
||||||
|
#home-hero .container {
|
||||||
|
max-width: 80%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
#home-hero {
|
||||||
|
//overflow: hidden;
|
||||||
|
// background-image: url("../images/home-hero.jpg");
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center bottom;
|
||||||
|
}
|
||||||
|
#home-hero .heading {
|
||||||
|
max-width: 560px;
|
||||||
|
}
|
||||||
|
#home-hero .primary {
|
||||||
|
max-width: 540px;
|
||||||
|
}
|
||||||
|
#home-hero .secondary {
|
||||||
|
max-width: 500px;
|
||||||
|
}
|
||||||
|
#home-hero .hero-circle-text {
|
||||||
|
background: none;
|
||||||
|
position: absolute;
|
||||||
|
// max-width: 520px;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0.7rem ;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#home-hero .hero-circle-text p {
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Spin Circle Containers */
|
||||||
|
.spin-circle-container {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
flex-grow: 1;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spin-outer-container,
|
||||||
|
.spin-inner-container {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#spinOuterCircle,
|
||||||
|
#spinInnerCircle {
|
||||||
|
margin: 10px auto;
|
||||||
|
border: 2px solid #F49F00;
|
||||||
|
position: relative;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner-item,
|
||||||
|
.outer-item {
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 50%;
|
||||||
|
position: absolute;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.inner-item img,
|
||||||
|
.outer-item img {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#spinOuterCircle {
|
||||||
|
width: 600px;
|
||||||
|
height: 600px;
|
||||||
|
}
|
||||||
|
#spinInnerCircle {
|
||||||
|
width: 600px;
|
||||||
|
height: 600px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.outer-item,
|
||||||
|
.inner-item {
|
||||||
|
width: 42px;
|
||||||
|
height: 42px;
|
||||||
|
line-height: 42px;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px){
|
||||||
|
#home-hero .hero-circle-text{
|
||||||
|
bottom: 0.65rem !important
|
||||||
|
}
|
||||||
|
#home-hero{
|
||||||
|
min-height: 530px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.outer-item {
|
||||||
|
width: 68px;
|
||||||
|
height: 68px;
|
||||||
|
line-height: 68px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner-item {
|
||||||
|
width: 48px;
|
||||||
|
height: 48px;
|
||||||
|
line-height: 48px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.outer-item {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner-item {
|
||||||
|
width: 51px;
|
||||||
|
height: 51px;
|
||||||
|
line-height: 51px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (min-width: 1024px) {
|
||||||
|
.outer-item {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
line-height: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner-item {
|
||||||
|
width: 68px;
|
||||||
|
height: 68px;
|
||||||
|
line-height: 68px;
|
||||||
|
}
|
||||||
|
#home-hero .hero-circle-text{
|
||||||
|
// bottom: 5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (min-width: 1399px) {
|
||||||
|
.outer-item {
|
||||||
|
width: 109px;
|
||||||
|
height: 109px;
|
||||||
|
line-height: 109px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner-item {
|
||||||
|
width: 93px;
|
||||||
|
height: 93px;
|
||||||
|
line-height: 93px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#home-hero .hero-circle-text {
|
||||||
|
background: none;
|
||||||
|
position: absolute;
|
||||||
|
// max-width: 520px;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
z-index: 1;
|
||||||
|
text-align: center;
|
||||||
|
// bottom: 2.8rem;
|
||||||
|
}
|
||||||
|
#home-hero .hero-circle-text p {
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 1500px) {
|
||||||
|
#home-hero {
|
||||||
|
// min-height: 790px;
|
||||||
|
}
|
||||||
|
#home-hero .container {
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
}
|
||||||
|
#home-hero .hero-circle-text{
|
||||||
|
bottom: 1rem;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,331 @@
|
||||||
|
<template>
|
||||||
|
<section class="focus-areas-view" :style="isCssStyle">
|
||||||
|
<div class="focus-areas-view-wrap">
|
||||||
|
<h1 class="focus-areas-view-h1 wow fadeInUpBig">Focus Areas</h1>
|
||||||
|
<h6 class="focus-areas-view-h6 wow fadeInUp" data-wow-delay=".3s">The future is crafted by people who understand where things are heading.</h6>
|
||||||
|
<p class="focus-areas-view-p wow fadeIn" data-wow-delay=".5s">The next innovation is already here.We believe that decentralization has the power to transform the global economy and create the largest one time shift in wealth.</p>
|
||||||
|
<div class="focus-areas-view-wheel">
|
||||||
|
<div id="home-hero" class="hero">
|
||||||
|
<div id="home-circles" class="container flex-grow-1 d-flex">
|
||||||
|
<div class="spin-circle-container">
|
||||||
|
<div class="spin-outer-container">
|
||||||
|
<div id="spinOuterCircle">
|
||||||
|
<div class="outer-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/5.png')">
|
||||||
|
</div>
|
||||||
|
<div class="outer-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/2.png')">
|
||||||
|
</div>
|
||||||
|
<div class="outer-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/3.png')">
|
||||||
|
</div>
|
||||||
|
<div class="outer-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/4.png')">
|
||||||
|
</div>
|
||||||
|
<div class="outer-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/5.png')">
|
||||||
|
</div>
|
||||||
|
<div class="outer-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/6.png')">
|
||||||
|
</div>
|
||||||
|
<div class="outer-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/1.png')">
|
||||||
|
</div>
|
||||||
|
<div class="outer-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/2.png')">
|
||||||
|
</div>
|
||||||
|
<div class="outer-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/4.png')">
|
||||||
|
</div>
|
||||||
|
<div class="outer-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/6.png')">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="spin-inner-container">
|
||||||
|
<div id="spinInnerCircle">
|
||||||
|
<div class="inner-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/7.png')">
|
||||||
|
</div>
|
||||||
|
<div class="inner-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/8.png')">
|
||||||
|
</div>
|
||||||
|
<div class="inner-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/9.png')">
|
||||||
|
</div>
|
||||||
|
<div class="inner-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/10.png')">
|
||||||
|
</div>
|
||||||
|
<div class="inner-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/8.png')">
|
||||||
|
</div>
|
||||||
|
<div class="inner-item">
|
||||||
|
<img v-lazy="assetsUri('images/FocusAreas/9.png')">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hero-circle-text-container">
|
||||||
|
<div class="hero-circle-text">
|
||||||
|
<div id="hero-text-1">
|
||||||
|
<p class="wow fadeInUp" data-wow-delay=".3s">We focused exclusively on disruptive innovations related</p>
|
||||||
|
<p class="wow fadeInUp" data-wow-delay=".3s">to the Public chain ecosystem, Web3, NFT, GameFi, Layer2,</p>
|
||||||
|
<p class="wow fadeInUp" data-wow-delay=".3s">DeFi , Metaverse and other fields.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { assetsUri } from "../../utils";
|
||||||
|
import gsap from 'gsap'
|
||||||
|
import ScrollTrigger from './ScrollTrigger.js'
|
||||||
|
import Jquery from 'jquery'
|
||||||
|
gsap.registerPlugin(ScrollTrigger)
|
||||||
|
export default {
|
||||||
|
name: "FocusAreas",
|
||||||
|
props:{
|
||||||
|
cssStyle:{
|
||||||
|
type:Object,
|
||||||
|
default:()=>{
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
assetsUri,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
const _this = this// 赋值vue的this
|
||||||
|
Jquery(window).on('resize', function () {
|
||||||
|
_this.setCircleSizes()
|
||||||
|
ScrollTrigger.refresh()
|
||||||
|
|
||||||
|
if (window.innerWidth < 992) {
|
||||||
|
Jquery('.remove-for-mobile').remove()
|
||||||
|
}
|
||||||
|
}).resize()
|
||||||
|
|
||||||
|
/* Register ScrollTrigger */
|
||||||
|
|
||||||
|
/* Circle Timeline - Always & First for Speed Controls on Desktop */
|
||||||
|
const circleTimeline = gsap.timeline({
|
||||||
|
repeat: -1
|
||||||
|
})
|
||||||
|
|
||||||
|
circleTimeline
|
||||||
|
.to('#spinInnerCircle', {
|
||||||
|
duration: 120,
|
||||||
|
rotation: 360,
|
||||||
|
ease: 'none'
|
||||||
|
})
|
||||||
|
.to('#spinOuterCircle', {
|
||||||
|
duration: 120,
|
||||||
|
rotation: -360,
|
||||||
|
ease: 'none'
|
||||||
|
}, 0)
|
||||||
|
.to('.inner-item', {
|
||||||
|
duration: 120,
|
||||||
|
rotation: -360,
|
||||||
|
ease: 'none'
|
||||||
|
}, 0)
|
||||||
|
.to('.outer-item', {
|
||||||
|
duration: 120,
|
||||||
|
rotation: 360,
|
||||||
|
ease: 'none'
|
||||||
|
}, 0)
|
||||||
|
|
||||||
|
ScrollTrigger.matchMedia({
|
||||||
|
// DESKTOP
|
||||||
|
'(min-width: 992px)': function () {
|
||||||
|
/* Testimonials */
|
||||||
|
|
||||||
|
ScrollTrigger.create({
|
||||||
|
trigger: '#home-testimonials',
|
||||||
|
markers: false,
|
||||||
|
toggleClass: 'active',
|
||||||
|
pin: '#home-testimonials .content',
|
||||||
|
scrub: true,
|
||||||
|
invalidateOnRefresh: true
|
||||||
|
})
|
||||||
|
|
||||||
|
/* Posts */
|
||||||
|
gsap.defaults({ ease: 'power3' })
|
||||||
|
gsap.set('.post-item', { y: 100 })
|
||||||
|
|
||||||
|
ScrollTrigger.batch('.post-item', {
|
||||||
|
onEnter: batch => gsap.to(batch, { opacity: 1, y: 0, stagger: { each: 0.15, grid: [1, 3] }, overwrite: true }),
|
||||||
|
onLeave: batch => gsap.set(batch, { opacity: 0, y: -100, overwrite: true }),
|
||||||
|
onEnterBack: batch => gsap.to(batch, { opacity: 1, y: 0, stagger: 0.15, overwrite: true }),
|
||||||
|
onLeaveBack: batch => gsap.set(batch, { opacity: 0, y: 100, overwrite: true }),
|
||||||
|
markers: false,
|
||||||
|
end: 'bottom+=100px',
|
||||||
|
invalidateOnRefresh: true
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
// TABLET OR PHONE
|
||||||
|
'(min-width: 400px) and (max-width: 991px)': function () {
|
||||||
|
/* Testimonials */
|
||||||
|
gsap.set('.testimonials-container', { y: 0 })
|
||||||
|
|
||||||
|
ScrollTrigger.create({
|
||||||
|
trigger: '#home-testimonials .content',
|
||||||
|
markers: false,
|
||||||
|
pin: true,
|
||||||
|
anticipatePin: true,
|
||||||
|
start: 'top-=120',
|
||||||
|
invalidateOnRefresh: true
|
||||||
|
})
|
||||||
|
|
||||||
|
gsap.set('.testimonial-item', { y: 200 })
|
||||||
|
|
||||||
|
ScrollTrigger.batch('.testimonial-item', {
|
||||||
|
onEnter: batch => gsap.to(batch, { y: 0, overwrite: true }),
|
||||||
|
onLeave: batch => gsap.set(batch, { y: 200, overwrite: true }),
|
||||||
|
onEnterBack: batch => gsap.to(batch, { y: 0, overwrite: true }),
|
||||||
|
onLeaveBack: batch => gsap.set(batch, { y: 200, overwrite: true }),
|
||||||
|
invalidateOnRefresh: true
|
||||||
|
})
|
||||||
|
|
||||||
|
/* Posts */
|
||||||
|
gsap.defaults({ ease: 'power3' })
|
||||||
|
gsap.set('.post-item', { y: 50, opacity: 0 })
|
||||||
|
|
||||||
|
ScrollTrigger.batch('.post-item', {
|
||||||
|
onEnter: batch => gsap.to(batch, { opacity: 1, y: 0, stagger: { each: 0.15, grid: [1, 3] }, overwrite: true }),
|
||||||
|
invalidateOnRefresh: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
setCircleSizes () {
|
||||||
|
const containerWidth = Jquery('.spin-circle-container').width()
|
||||||
|
const innerCircleSize = containerWidth * 0.75
|
||||||
|
const outerCircleOverflow = containerWidth * 0.1
|
||||||
|
const innerCircleOverflow = Math.round((containerWidth - innerCircleSize) * 0.9)
|
||||||
|
const circleSize = containerWidth * 0.05
|
||||||
|
|
||||||
|
Jquery('#spinOuterCircle').css({ width: containerWidth, height: containerWidth })
|
||||||
|
Jquery('.spin-outer-container').css({ top: outerCircleOverflow })
|
||||||
|
|
||||||
|
Jquery('#spinInnerCircle').css({ width: innerCircleSize, height: innerCircleSize })
|
||||||
|
Jquery('.spin-inner-container').css({ top: innerCircleOverflow })
|
||||||
|
|
||||||
|
this.setupSpinContainer('#spinOuterCircle', '.outer-item', containerWidth / 2)
|
||||||
|
this.setupSpinContainer('#spinInnerCircle', '.inner-item', innerCircleSize / 2)
|
||||||
|
},
|
||||||
|
setupSpinContainer (spinContainer, spinContainerItem, spinRadius) {
|
||||||
|
const radius = spinRadius
|
||||||
|
const fields = Jquery(spinContainerItem)
|
||||||
|
const container = Jquery(spinContainer)
|
||||||
|
const width = container.width()
|
||||||
|
const height = container.height()
|
||||||
|
let angle = 0
|
||||||
|
const step = (2 * Math.PI) / fields.length
|
||||||
|
|
||||||
|
fields.each(function () {
|
||||||
|
const x = Math.round(width / 2 + radius * Math.cos(angle) - Jquery(this).width() / 2)
|
||||||
|
const y = Math.round(height / 2 + radius * Math.sin(angle) - Jquery(this).height() / 2)
|
||||||
|
|
||||||
|
Jquery(this).css({
|
||||||
|
left: x + 'px',
|
||||||
|
top: y + 'px'
|
||||||
|
})
|
||||||
|
angle += step
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
isCssStyle(){
|
||||||
|
return this.cssStyle
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped lang="less">
|
||||||
|
@import './index.less';
|
||||||
|
.focus-areas-view{
|
||||||
|
background: url("~/static/images/FocusAreas/FocusAreas_bj.png") no-repeat;
|
||||||
|
width: 100%;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
min-height: 100vh;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-top: .77rem;
|
||||||
|
&-wrap{
|
||||||
|
width: 100%;
|
||||||
|
max-width: 13rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
&-wheel{
|
||||||
|
margin-top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 7.32rem;
|
||||||
|
}
|
||||||
|
&-h1{
|
||||||
|
font-size: .6rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .82rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
&-h6{
|
||||||
|
margin-top: .1rem;
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .22rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
font-size: .22rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .44rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
max-width: 11.22rem;
|
||||||
|
margin: .74rem auto 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px){
|
||||||
|
.focus-areas-view{
|
||||||
|
padding-top: .88rem;
|
||||||
|
&-wheel{
|
||||||
|
margin-top: 1.5rem;
|
||||||
|
height: auto;
|
||||||
|
min-height: 5.30rem;
|
||||||
|
}
|
||||||
|
&-h1{
|
||||||
|
font-size: .6rem;
|
||||||
|
line-height: .82rem;
|
||||||
|
}
|
||||||
|
&-h6{
|
||||||
|
max-width: 5.5rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: .27rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .32rem;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
max-width: 6.9rem;
|
||||||
|
font-size: .3rem;
|
||||||
|
line-height: .4rem;
|
||||||
|
text-align: center;
|
||||||
|
margin: .29rem auto 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,162 @@
|
||||||
|
<template>
|
||||||
|
<div class="innovation-block">
|
||||||
|
<h3 class="innovation-block-h3">Articles</h3>
|
||||||
|
<div class="innovation-block-lists">
|
||||||
|
<div class="innovation-block-item wow fadeInUp" v-for="(item,index) in staticData" :key="'in_'+index" @click="handleLink(item.url)">
|
||||||
|
<img v-lazy="item.logo" class="innovation-block-item-img" alt="">
|
||||||
|
<h4 class="innovation-block-item-t">{{item.title}}</h4>
|
||||||
|
<p class="innovation-block-item-p">{{item.introduce}}</p>
|
||||||
|
<span>{{item.auth}}</span>
|
||||||
|
<small>{{item.created_at}}</small>
|
||||||
|
</div>
|
||||||
|
<div class="innovation-block-item" v-if="staticData.length%3>0">
|
||||||
|
<img src="" style="opacity: 0" class="innovation-block-item-img" alt="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "InnovationBlock",
|
||||||
|
props:{
|
||||||
|
staticData:{
|
||||||
|
default:()=>[],
|
||||||
|
type:Array
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleLink(link){
|
||||||
|
if(!link){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
window.location.href=link
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.innovation-block{
|
||||||
|
padding-top: 1.17rem;
|
||||||
|
&-h3{
|
||||||
|
font-size: .2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #302D2C;
|
||||||
|
}
|
||||||
|
&-lists{
|
||||||
|
margin-top: .58rem;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
&-item{
|
||||||
|
margin-bottom: .72rem;
|
||||||
|
&-img{
|
||||||
|
display: block;
|
||||||
|
width: 3.9rem;
|
||||||
|
height: 2.92rem;
|
||||||
|
}
|
||||||
|
&-t{
|
||||||
|
margin-top: .33rem;
|
||||||
|
font-size: .2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .36rem;
|
||||||
|
color: #302D2C;
|
||||||
|
max-width: 3.45rem;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
max-width: 3.74rem;
|
||||||
|
margin-top: .16rem;
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .26rem;
|
||||||
|
color: #9B9B9B;
|
||||||
|
}
|
||||||
|
>span{
|
||||||
|
margin-top: .24rem;
|
||||||
|
display: block;
|
||||||
|
font-size: .14rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .3rem;
|
||||||
|
color: #9B9B9B;
|
||||||
|
}
|
||||||
|
>small{
|
||||||
|
font-size: .14rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .3rem;
|
||||||
|
color: #9B9B9B;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width:1200px ) {
|
||||||
|
.innovation-block{
|
||||||
|
&-h3{
|
||||||
|
padding-left: .3rem;
|
||||||
|
}
|
||||||
|
&-lists{
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width:802px ) {
|
||||||
|
.innovation-block{
|
||||||
|
&-lists{
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width:768px ) {
|
||||||
|
.innovation-block{
|
||||||
|
padding-top: .5rem;
|
||||||
|
&-h3{
|
||||||
|
margin-top: 0;
|
||||||
|
font-size: .4rem;
|
||||||
|
padding-left: .3rem;
|
||||||
|
}
|
||||||
|
&-lists{
|
||||||
|
margin-top: .42rem;
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
&-item{
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
padding: 0 .3rem;
|
||||||
|
&-img{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
&-t{
|
||||||
|
margin-top: .2rem;
|
||||||
|
font-size: .2rem;
|
||||||
|
line-height: .36rem;
|
||||||
|
max-width: 6.21rem;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
max-width: 6.62rem;
|
||||||
|
margin-top: .18rem;
|
||||||
|
font-size: .28rem;
|
||||||
|
line-height: .34rem;
|
||||||
|
}
|
||||||
|
>span{
|
||||||
|
margin-top: .5rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .3rem;
|
||||||
|
}
|
||||||
|
>small{
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .3rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,188 @@
|
||||||
|
<template>
|
||||||
|
<div class="join-us-tabs " :class="{'mask':isMobile,'expand':isExpand}" >
|
||||||
|
<div class="join-us-tabs-options">
|
||||||
|
<h3 class="join-us-tabs-title">Position</h3>
|
||||||
|
<ul>
|
||||||
|
<li class="join-us-tabs-item" @click="handleSelect(item)" v-for="(item,index) in options" :key="'option_'+index" :class="{'active':active===item.id}">
|
||||||
|
{{item.name}}
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- <div class='join-mask' :class="{'isExpand':isExpand}" v-if="isMobile" @click="isExpand=!isExpand">-->
|
||||||
|
<!-- <van-icon name="arrow-down" class="join-mask-arrow" />-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<div class="join-us-tabs-content" v-html="content"></div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "JoinUsTabs",
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
isMobile:false,
|
||||||
|
isExpand:true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted(){
|
||||||
|
this.handleIsMobile()
|
||||||
|
window.addEventListener('resize',this.handleIsMobile)
|
||||||
|
},
|
||||||
|
props:{
|
||||||
|
options:{
|
||||||
|
default:()=>[],
|
||||||
|
type:Array
|
||||||
|
},
|
||||||
|
active:{
|
||||||
|
default:'',
|
||||||
|
type:String
|
||||||
|
},
|
||||||
|
content:{
|
||||||
|
default:'',
|
||||||
|
type:String
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleSelect(item){
|
||||||
|
this.$emit('handleSelect',item)
|
||||||
|
},
|
||||||
|
handleIsMobile(){
|
||||||
|
const clientWidth=document.documentElement.clientWidth;
|
||||||
|
this.isMobile=clientWidth<=750
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.join-us-tabs{
|
||||||
|
padding-top: .97rem;
|
||||||
|
padding-bottom: 1.57rem;
|
||||||
|
&-options{
|
||||||
|
display: inline-block;
|
||||||
|
max-width: 3.02rem;
|
||||||
|
width: 100%;
|
||||||
|
margin-right: 1.28rem;
|
||||||
|
}
|
||||||
|
&-content{
|
||||||
|
padding-top: .5rem;
|
||||||
|
vertical-align: top;
|
||||||
|
max-width: 8.7rem;
|
||||||
|
display: inline-block;
|
||||||
|
width: calc( 100% - 4.38rem );
|
||||||
|
min-height: 2rem;
|
||||||
|
}
|
||||||
|
.join-mask{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
&-item{
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #302D2C;
|
||||||
|
border-bottom: 1px solid #EDEDED;
|
||||||
|
min-height: .7rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding-left: .14rem;
|
||||||
|
cursor: pointer;
|
||||||
|
&.active,&:hover{
|
||||||
|
color: #F49F00;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-title{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 100%;
|
||||||
|
height: .58rem;
|
||||||
|
background: #342927;
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px){
|
||||||
|
.join-us-tabs{
|
||||||
|
padding-top: .5rem;
|
||||||
|
&.mask{
|
||||||
|
height: 3.5rem;
|
||||||
|
position: relative;
|
||||||
|
overflow-y: hidden;
|
||||||
|
overflow-x: visible;
|
||||||
|
&.expand{
|
||||||
|
height:auto;
|
||||||
|
overflow-y: visible;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.join-mask{
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
text-align: center;
|
||||||
|
&.isExpand{
|
||||||
|
.join-mask-arrow{
|
||||||
|
transform: rotate(-180deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-arrow{
|
||||||
|
transition: all .3s ease-in;
|
||||||
|
line-height: .4rem;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
&:before{
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
height: .85rem;
|
||||||
|
background: linear-gradient(to bottom,transparent 2%,#F8F9F9);
|
||||||
|
background: -ms-linear-gradient(to bottom,transparent 2%,#F8F9F9);
|
||||||
|
background:-moz-linear-gradient(to bottom,transparent 2%,#F8F9F9);/*火狐*/
|
||||||
|
background: -webkit-linear-gradient(to bottom,transparent 2%,#F8F9F9);
|
||||||
|
background: -o-linear-gradient(to bottom,transparent 2%,#F8F9F9)
|
||||||
|
}
|
||||||
|
&:after{
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
min-height: .4rem;
|
||||||
|
background-color: #eee;
|
||||||
|
border-radius: .5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-options{
|
||||||
|
display: block;
|
||||||
|
max-width: 100%;
|
||||||
|
width: 5.18rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
&-content{
|
||||||
|
max-width: 100%;
|
||||||
|
padding-left: .15rem;
|
||||||
|
padding-right: .15rem;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin: 0 auto;
|
||||||
|
min-height: 2rem;
|
||||||
|
}
|
||||||
|
&-item{
|
||||||
|
font-size: .26rem;
|
||||||
|
min-height: .88rem;
|
||||||
|
padding-left: .16rem;
|
||||||
|
border-color: #EDEDED;
|
||||||
|
&.active,&:hover{
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-title{
|
||||||
|
height: .96rem;
|
||||||
|
font-size: .38rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,96 @@
|
||||||
|
<template lang="html">
|
||||||
|
<div class="public-loading" v-if="loading">
|
||||||
|
<div class="public-loading-block">
|
||||||
|
<div class="public-loading-block-loader"></div>
|
||||||
|
<div class="public-loading-block-img">
|
||||||
|
<svg-icon icon-class="loading"></svg-icon>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'loading',
|
||||||
|
components: { },
|
||||||
|
data: () => ({
|
||||||
|
loading: false
|
||||||
|
}),
|
||||||
|
methods: {
|
||||||
|
start() {
|
||||||
|
this.loading = true
|
||||||
|
},
|
||||||
|
finish() {
|
||||||
|
this.loading = false
|
||||||
|
},
|
||||||
|
getLoadingState(){
|
||||||
|
return this.loading
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.public-loading-block-loader {
|
||||||
|
display: block;
|
||||||
|
border: .04rem solid rgba(252,228,199,.3);
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 1.28rem;
|
||||||
|
height: 1.28rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
-webkit-animation: spin 2s linear infinite;
|
||||||
|
animation: spin 2s linear infinite;
|
||||||
|
&:after{
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
width: .12rem;
|
||||||
|
height:.12rem;
|
||||||
|
border-radius: 50%;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: #F5A23D ;
|
||||||
|
margin-top: .22rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes spin {
|
||||||
|
0% { -webkit-transform: rotate(0deg); }
|
||||||
|
100% { -webkit-transform: rotate(360deg); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% { transform: rotate(0deg); }
|
||||||
|
100% { transform: rotate(360deg); }
|
||||||
|
}
|
||||||
|
.public-loading{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
margin: 0 auto;
|
||||||
|
height: 100%;
|
||||||
|
align-items: center;
|
||||||
|
background-color: #292727;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 100;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
&-block{
|
||||||
|
/*margin-top: -100%;*/
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
&-block-img{
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateX(-50%) translateY(-50%);
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
.svg-icon{
|
||||||
|
width: .76rem;
|
||||||
|
height: .76rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,161 @@
|
||||||
|
<template>
|
||||||
|
<section class="layout-footer">
|
||||||
|
<div class="layout-footer-h5-wrap">
|
||||||
|
<div class="layout-footer-d">
|
||||||
|
<div class="layout-footer-d-l">
|
||||||
|
<div class="layout-footer-d-l-l-w">
|
||||||
|
<svg-icon icon-class="footerLogo"></svg-icon>
|
||||||
|
</div>
|
||||||
|
<p>© 2022 LightLimX Ventures Management Co Ltd. All Rights Reserved.</p>
|
||||||
|
</div>
|
||||||
|
<ul class="layout-footer-d-r">
|
||||||
|
<li class="layout-footer-d-r-i" v-for="item in tabs" :key="item.name" @click="handleClick(item)">{{item.title}}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {footerLink} from "~/assets/js/static";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "MyFooter",
|
||||||
|
mounted(){
|
||||||
|
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleClick(item){
|
||||||
|
if(item.name==='innovation'){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(item.type==='href'){
|
||||||
|
if(item.link&&this.$route.path!==item.link){
|
||||||
|
this.$router.push({path:'/#'+item.name})
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
document.getElementById(item.name).scrollIntoView();
|
||||||
|
// console.log(document.getElementById(item.name))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$router.push({path:'/'+item.name})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
tabs:[
|
||||||
|
...footerLink
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.layout-footer{
|
||||||
|
background: #292727;
|
||||||
|
min-height: 2.33rem;
|
||||||
|
&-h5-wrap{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
&-d{
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
&-r{
|
||||||
|
padding-top: .64rem;
|
||||||
|
padding-bottom: .4rem;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
&-i{
|
||||||
|
font-size: .14rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #9B9B9B;
|
||||||
|
width: 25%;
|
||||||
|
margin-bottom: .24rem;
|
||||||
|
cursor: pointer;
|
||||||
|
&:active{
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-l{
|
||||||
|
&-l-w{
|
||||||
|
padding-bottom: .17rem;
|
||||||
|
.svg-icon{
|
||||||
|
width: 1.54rem;
|
||||||
|
height: .26rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
>p{
|
||||||
|
font-size: .12rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #9B9B9B;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.layout-footer{
|
||||||
|
&-h5-wrap{
|
||||||
|
}
|
||||||
|
&-d{
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
&-r{
|
||||||
|
align-self: flex-start;
|
||||||
|
padding-top: .98rem;
|
||||||
|
padding-bottom: .37rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
box-sizing: border-box;
|
||||||
|
&-i{
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
justify-content: flex-start;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-weight: bold;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin-bottom: .3rem;
|
||||||
|
height: .33rem;
|
||||||
|
line-height: .33rem;
|
||||||
|
padding-left: .15rem;
|
||||||
|
&:active{
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-l{
|
||||||
|
padding-top: .5rem;
|
||||||
|
&-l-w{
|
||||||
|
padding-bottom: .3rem;
|
||||||
|
text-align: center;
|
||||||
|
.svg-icon{
|
||||||
|
width: 3rem;
|
||||||
|
height: .5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
>p{
|
||||||
|
text-align: center;
|
||||||
|
max-width: 4.5rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,273 @@
|
||||||
|
<template>
|
||||||
|
<div class="layout-header" id="layout-header" >
|
||||||
|
<div class="layout-header-h5-wrap" :style="{'position':'relative','z-index':'100'}">
|
||||||
|
<div class="layout-header-nav">
|
||||||
|
<div class="logo">
|
||||||
|
<svg-icon icon-class="logo"></svg-icon>
|
||||||
|
</div>
|
||||||
|
<div class="layout-header-tabs" >
|
||||||
|
<van-tabs v-model="active" @change="handleChange"
|
||||||
|
background="transparent"
|
||||||
|
title-inactive-color="#9B9B9B"
|
||||||
|
color="#F49F00"
|
||||||
|
title-active-color="#FFFFFF" >
|
||||||
|
<van-tab
|
||||||
|
:title="item.title"
|
||||||
|
:name="item.name"
|
||||||
|
v-for="(item) in tabs "
|
||||||
|
:key="item.name"></van-tab>
|
||||||
|
</van-tabs>
|
||||||
|
</div>
|
||||||
|
<div class="layout-header-menu" @click="handleToggle">
|
||||||
|
<svg-icon v-if="!isShow" icon-class="menu"></svg-icon>
|
||||||
|
<svg-icon v-if="isShow" icon-class="close"></svg-icon>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<van-popup v-model="isShow" class="layout-header-popup" :overlay="false" :get-container="getContainer" position="top" :style="{ 'min-height': 'auto' ,'z-index':'99 !important'}" >
|
||||||
|
<div class="layout-header-menu-lists">
|
||||||
|
<van-cell-group>
|
||||||
|
<van-cell
|
||||||
|
clickable
|
||||||
|
:class="{'active':item.name===active}"
|
||||||
|
class="layout-header-menu-item"
|
||||||
|
title-class="layout-header-menu-t"
|
||||||
|
:is-link="false"
|
||||||
|
:title="item.title"
|
||||||
|
:name="item.name"
|
||||||
|
v-for="(item) in tabs"
|
||||||
|
@click="handleClick(item)"
|
||||||
|
:key="item.name">
|
||||||
|
<template #icon>
|
||||||
|
<div class="layout-header-menu-icon">
|
||||||
|
<svg-icon :icon-class="item.icon"></svg-icon>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #extra>
|
||||||
|
<div class="layout-header-menu-extra">
|
||||||
|
<van-icon name="arrow" size=".2rem" color="#CBCBCB" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
</van-cell-group>
|
||||||
|
</div>
|
||||||
|
</van-popup>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {tabs} from "~/assets/js/static";
|
||||||
|
export default {
|
||||||
|
name: "MyHeader",
|
||||||
|
watch:{
|
||||||
|
'$route'(old,val){
|
||||||
|
if(old!==val){
|
||||||
|
if(this.$route.name == 'contact-id'){
|
||||||
|
return;
|
||||||
|
}else{
|
||||||
|
this.active=this.$route.name;
|
||||||
|
this.isShow=false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleMenu(){
|
||||||
|
const clientWidth=document.documentElement.clientWidth;
|
||||||
|
if(clientWidth>768){
|
||||||
|
this.isShow=false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getContainer() {
|
||||||
|
return document.querySelector('.layout-header');
|
||||||
|
},
|
||||||
|
handleClick(item){
|
||||||
|
if(item.name==='innovation'){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(this.$route.name===item.name){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.isShow=!this.isShow
|
||||||
|
this.$router.push({name:item.name})
|
||||||
|
},
|
||||||
|
handleChange(name,title){
|
||||||
|
if(name==='innovation'){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(this.$route.name===name){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$router.push({name:name})
|
||||||
|
},
|
||||||
|
handleToggle(){
|
||||||
|
this.isShow=!this.isShow
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created(){
|
||||||
|
this.active=this.$route.name
|
||||||
|
},
|
||||||
|
destroyed(){
|
||||||
|
this.handleMenu()
|
||||||
|
window.removeEventListener('resize',this.handleMenu)
|
||||||
|
},
|
||||||
|
mounted(){
|
||||||
|
window.addEventListener('resize',this.handleMenu)
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isShow:false,
|
||||||
|
active: '',
|
||||||
|
tabs:tabs
|
||||||
|
};
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.layout-header{
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: .96rem;
|
||||||
|
z-index: 2;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: #363231;
|
||||||
|
&-menu{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
&-popup{
|
||||||
|
z-index: 99 !important;
|
||||||
|
}
|
||||||
|
&-nav{
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-tabs{
|
||||||
|
display: flex;
|
||||||
|
height: 100%;
|
||||||
|
align-items: flex-end;
|
||||||
|
}
|
||||||
|
.logo{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
.svg-icon{
|
||||||
|
width: 1.54rem;
|
||||||
|
height: .26rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-h5-wrap{
|
||||||
|
height: 100% !important;
|
||||||
|
display: block;
|
||||||
|
background-color: #363231;
|
||||||
|
overflow-x: initial;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.layout-header{
|
||||||
|
height: .88rem;
|
||||||
|
&-menu{
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
padding: .3rem;
|
||||||
|
&-item{
|
||||||
|
padding-left: .3rem;
|
||||||
|
min-height: 1.09rem;
|
||||||
|
&:after{
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
border-color: #E3E3E3;
|
||||||
|
}
|
||||||
|
&:active,&.active{
|
||||||
|
background-color: #F1F1F1;
|
||||||
|
.layout-header-menu-t{
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: .4rem;
|
||||||
|
color: #2E2C2C;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-t{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: .3rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #302D2C;
|
||||||
|
}
|
||||||
|
&-extra{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
&-icon{
|
||||||
|
padding-right: .3rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.svg-icon{
|
||||||
|
width: .34rem;
|
||||||
|
height: .34rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-lists{
|
||||||
|
padding-top: .88rem;
|
||||||
|
padding-bottom: .89rem;
|
||||||
|
&-item{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.svg-icon{
|
||||||
|
width: .34rem;
|
||||||
|
height: .3rem;
|
||||||
|
}
|
||||||
|
&:active{
|
||||||
|
background-color: #eee;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-nav{
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
&-tabs{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.logo{
|
||||||
|
.svg-icon{
|
||||||
|
width: 2.12rem;
|
||||||
|
height: .36rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style lang="less">
|
||||||
|
.layout-header-tabs{
|
||||||
|
.van-tab{
|
||||||
|
font-size: .14rem;
|
||||||
|
font-weight: bold;
|
||||||
|
font-family: Manrope;
|
||||||
|
color: #9B9B9B;
|
||||||
|
&:hover .van-tab__text{
|
||||||
|
font-family: Manrope;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
&.van-tab--active .van-tab__text{
|
||||||
|
color: #9B9B9B !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.van-tabs{
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.van-tabs__wrap{
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,101 @@
|
||||||
|
<template>
|
||||||
|
<div class="pagination">
|
||||||
|
<el-pagination
|
||||||
|
background
|
||||||
|
:hide-on-single-page="true"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
layout="prev, pager, next"
|
||||||
|
:total="total">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "MyPagination",
|
||||||
|
props:{
|
||||||
|
pagerCount:{
|
||||||
|
type:Number,
|
||||||
|
default:6
|
||||||
|
},
|
||||||
|
// 限制 每页 多少条
|
||||||
|
limit:{
|
||||||
|
type:Number,
|
||||||
|
default:10
|
||||||
|
},
|
||||||
|
// 页数
|
||||||
|
page:{
|
||||||
|
type:Number,
|
||||||
|
default:1
|
||||||
|
},
|
||||||
|
// 总 数
|
||||||
|
total:{
|
||||||
|
type:Number,
|
||||||
|
default:100
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
isCurrent:{
|
||||||
|
get(){
|
||||||
|
return this.page
|
||||||
|
},
|
||||||
|
set(val){
|
||||||
|
return this.$emit('update:current',val)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleClick(item){
|
||||||
|
this.$emit('update:current',item)
|
||||||
|
},
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.$emit('change',val)
|
||||||
|
},
|
||||||
|
myCallback(VAL){
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.pagination{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
&-lists{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
&-prev{
|
||||||
|
margin-right: .1rem;
|
||||||
|
}
|
||||||
|
&-next{
|
||||||
|
margin-left: .1rem;
|
||||||
|
.svg-icon{
|
||||||
|
transform: rotate(180deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-prev,&-next,&-list{
|
||||||
|
width: .48rem;
|
||||||
|
height: .48rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
cursor: pointer;
|
||||||
|
&:active,&:hover{
|
||||||
|
background: #F3F3F3;
|
||||||
|
border-radius: .05rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-list{
|
||||||
|
margin-right: .08rem;
|
||||||
|
&:last-child{
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
&.active{
|
||||||
|
background: #F3F3F3;
|
||||||
|
border-radius: .05rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,62 @@
|
||||||
|
<template>
|
||||||
|
<div class="our-founders">
|
||||||
|
<h2 class="our-founders-t">Our Founders Are Global</h2>
|
||||||
|
<p class="our-founders-d">LightLimX now has offices located in Tokyo,Dubai,Singapore,North America, Asia , allowing us to reach out resources globally.</p>
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "OurFounders"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.our-founders{
|
||||||
|
padding-top: 2rem;
|
||||||
|
padding-bottom: 1.92rem;
|
||||||
|
&-banners{
|
||||||
|
width: 100%;
|
||||||
|
padding: 0 ;
|
||||||
|
}
|
||||||
|
&-t,&-d{
|
||||||
|
text-align: center;
|
||||||
|
font-family: Manrope;
|
||||||
|
}
|
||||||
|
&-t{
|
||||||
|
font-size: .48rem;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .84rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
&-d{
|
||||||
|
max-width: 9rem;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto 1.08rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .48rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.our-founders{
|
||||||
|
padding-bottom: .44rem;
|
||||||
|
padding-top: .7rem;
|
||||||
|
&-banners{
|
||||||
|
padding: 0 .3rem;
|
||||||
|
}
|
||||||
|
&-t{
|
||||||
|
font-size: .4rem;
|
||||||
|
line-height: .84rem;
|
||||||
|
}
|
||||||
|
&-d{
|
||||||
|
max-width: 5.6rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .34rem;
|
||||||
|
margin-bottom: .49rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,92 @@
|
||||||
|
<template>
|
||||||
|
<section class="our-portfolio-view" :style="isCssStyle">
|
||||||
|
<div class="our-portfolio-view-wrap">
|
||||||
|
<h1 class="our-portfolio-view-h1-1 wow fadeInUp" data-wow-delay=".4s" >We Drive Real Value To</h1>
|
||||||
|
<h1 class="our-portfolio-view-h1-1 wow fadeInUp" data-wow-delay=".5s">Our Portfolio</h1>
|
||||||
|
<div class="our-portfolio-view-card">
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "OurPortfolio",
|
||||||
|
props:{
|
||||||
|
cssStyle:{
|
||||||
|
type:Object,
|
||||||
|
default:()=>{
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
isCssStyle(){
|
||||||
|
return this.cssStyle
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.our-portfolio-view{
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-top: 1.65rem;
|
||||||
|
padding-bottom: 1.57rem;
|
||||||
|
&-card{
|
||||||
|
margin-top: 1.40rem;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
&-h1-1{
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
height: .65rem;
|
||||||
|
font-size: .48rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
color: #302D2C;
|
||||||
|
&:last-child{
|
||||||
|
margin-top: .16rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-wrap{
|
||||||
|
width: 100%;
|
||||||
|
max-width: 13rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 1250px) {
|
||||||
|
.our-portfolio-view{
|
||||||
|
&-card{
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px){
|
||||||
|
.our-portfolio-view{
|
||||||
|
padding-top: .51rem;
|
||||||
|
padding-bottom: .51rem;
|
||||||
|
&-h5-wrap{
|
||||||
|
height: 100% !important;
|
||||||
|
}
|
||||||
|
&-card{
|
||||||
|
margin-top: .47rem;
|
||||||
|
flex-direction: column;
|
||||||
|
padding-left: .3rem;
|
||||||
|
padding-right: .3rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
&-h1-1{
|
||||||
|
height: .82rem;
|
||||||
|
font-size: .6rem;
|
||||||
|
&:last-child{
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,156 @@
|
||||||
|
<template>
|
||||||
|
<div class="our-portfolio-item wow fadeInUp" :data-wow-delay="item.time" >
|
||||||
|
<img v-lazy="assetsUri('images/'+item.img+'.png')" class="our-portfolio-item-img" alt="">
|
||||||
|
<h3 class="our-portfolio-item-title">{{item.title}}</h3>
|
||||||
|
<p class="our-portfolio-item-content">{{item.content}}</p>
|
||||||
|
<nuxt-link :to="item.link" tag="a" class="our-portfolio-item-a">Read more<van-icon name="arrow" color="#F49F00" ></van-icon></nuxt-link>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
assetsUri
|
||||||
|
} from "../../utils";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "OurPortfolioItem",
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
assetsUri
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props:{
|
||||||
|
item:{
|
||||||
|
default:()=>{},
|
||||||
|
type:Object
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.our-portfolio-item{
|
||||||
|
max-width: 4.09rem;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 4.97rem;
|
||||||
|
opacity: 1;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all .3s ease-in;
|
||||||
|
&-a{
|
||||||
|
display: block;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .32rem;
|
||||||
|
color: #F49F00;
|
||||||
|
text-decoration: underline;
|
||||||
|
padding-bottom: .70rem;
|
||||||
|
margin-top: .32rem;
|
||||||
|
>i{
|
||||||
|
font-size: .12rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:hover{
|
||||||
|
box-shadow: 0 3px 20px rgba(0, 0, 0, 0.06);
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
&-title{
|
||||||
|
margin-top: .25rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .84rem;
|
||||||
|
color: #342927;
|
||||||
|
}
|
||||||
|
&-content{
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 3.52rem;
|
||||||
|
min-height: 1.18rem;
|
||||||
|
padding-left: .3rem;
|
||||||
|
padding-right: .3rem;
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .32rem;
|
||||||
|
color: #302D2C;
|
||||||
|
}
|
||||||
|
&-img{
|
||||||
|
display: block;
|
||||||
|
width: .88rem;
|
||||||
|
height: .88rem;
|
||||||
|
margin: 77px auto 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 1250px) {
|
||||||
|
.our-portfolio-item{
|
||||||
|
margin-top: .5rem;
|
||||||
|
width: 4.09rem;
|
||||||
|
&:first-child{
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 830px) {
|
||||||
|
.our-portfolio-item{
|
||||||
|
margin-top: .5rem;
|
||||||
|
width: 100%;
|
||||||
|
&:first-child{
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.our-portfolio-item{
|
||||||
|
margin-top: .5rem;
|
||||||
|
max-width: 100%;
|
||||||
|
min-height: 4.97rem;
|
||||||
|
text-align: center;
|
||||||
|
&:first-child{
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
&-a{
|
||||||
|
margin: .45rem auto 0;
|
||||||
|
font-size: .3rem;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .32rem;
|
||||||
|
padding-bottom: 1.1rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
>i{
|
||||||
|
font-size: .24rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:hover{
|
||||||
|
box-shadow: 0 .03rem .2rem rgba(0, 0, 0, 0.06);
|
||||||
|
}
|
||||||
|
&-title{
|
||||||
|
margin-top: .52rem;
|
||||||
|
font-size: .4rem;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .84rem;
|
||||||
|
}
|
||||||
|
&-content{
|
||||||
|
margin: .6rem auto 0;
|
||||||
|
max-width: 6.30rem;
|
||||||
|
min-height: 1.35rem;
|
||||||
|
padding-left: .3rem;
|
||||||
|
padding-right: .3rem;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .34rem;
|
||||||
|
}
|
||||||
|
&-img{
|
||||||
|
display: block;
|
||||||
|
width: 2.42rem;
|
||||||
|
height: 2.42rem;
|
||||||
|
margin: .99rem auto 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,122 @@
|
||||||
|
<template>
|
||||||
|
<div class="partners" id="partners">
|
||||||
|
<h2 class="partners-t">Partners</h2>
|
||||||
|
<h3 class="partners-t-sub">We Partner With The Extraordinary</h3>
|
||||||
|
<p class="partners-d">We are well versed within crypto space with strong partner backing</p>
|
||||||
|
<ul class="partners-l">
|
||||||
|
<li class="partners-l-i wow flipInX" data-wow-delay="0.6s" v-for="(item,index) in partners" :key="'partners_'+index">
|
||||||
|
<img class="partners-l-i-img " v-lazy="assetsUri(item.logo)" alt="">
|
||||||
|
</li>
|
||||||
|
<li class="partners-l-i" v-if="partners.length%4<3||partners.length%3<2"></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
assetsUri
|
||||||
|
} from "../../utils";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "Partners",
|
||||||
|
props:{
|
||||||
|
partners:{
|
||||||
|
default:()=>[],
|
||||||
|
type:Array
|
||||||
|
},
|
||||||
|
showPartners:{
|
||||||
|
default:false,
|
||||||
|
type:Boolean
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
assetsUri,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.partners{
|
||||||
|
width: 100%;
|
||||||
|
&-t,&-t-sub,&-d{
|
||||||
|
text-align: center;
|
||||||
|
color: #Fff;
|
||||||
|
}
|
||||||
|
&-t{
|
||||||
|
font-size: .6rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .84rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
&-sub{
|
||||||
|
font-size: .36rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .84rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-d{
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .33rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
&-l{
|
||||||
|
padding-top: 1rem;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
&-i{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
max-width: 2.80rem;
|
||||||
|
max-height: 1.8rem;
|
||||||
|
margin-bottom: .6rem;
|
||||||
|
cursor: pointer;
|
||||||
|
&-img{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 1200px){
|
||||||
|
.partners{
|
||||||
|
&-l{
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px){
|
||||||
|
.partners{
|
||||||
|
&-t{
|
||||||
|
font-size: .6rem;
|
||||||
|
line-height: .84rem;
|
||||||
|
&-sub{
|
||||||
|
font-size: .36rem;
|
||||||
|
line-height: .84rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-d{
|
||||||
|
max-width: 4.54rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .32rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
&-l{
|
||||||
|
padding-top: .5rem;
|
||||||
|
&-i{
|
||||||
|
margin-bottom: .3rem;
|
||||||
|
max-width: 2.06rem;
|
||||||
|
max-height: 1.33rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,343 @@
|
||||||
|
<template>
|
||||||
|
<div class="portfolio" >
|
||||||
|
<h2 class="portfolio-t wow fadeInUp" >Portfolio</h2>
|
||||||
|
<div class="portfolio-c" id="iPortfolio">
|
||||||
|
<div class="portfolio-c-l">
|
||||||
|
<!-- :style="{'position':position}"-->
|
||||||
|
<div class="portfolio-c-l-fixed" id="ball"
|
||||||
|
:style="{'position':position,'top':top,'bottom':bottom}"
|
||||||
|
>
|
||||||
|
<img class="portfolio-c-l-fixed-img" v-lazy="assetsUri('images/ball.png')" alt="">
|
||||||
|
<span>At LightLimX we believe tomorrow is built today.</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="portfolio-c-r">
|
||||||
|
<ul class="portfolio-c-r-u">
|
||||||
|
<li class="portfolio-c-r-l" v-for="(group,index) in staticData" :key="'_'+index">
|
||||||
|
<h5 class="portfolio-c-r-l-t wow fadeInUp">{{group.title}}</h5>
|
||||||
|
<div class="portfolio-c-r-l-d" >
|
||||||
|
<img v-lazy="assetsUri(item)" data-wow-delay=".4s" class="wow fadeInRight" v-for="(item,ind) in group.images" :key="ind+'_'" alt="">
|
||||||
|
<img v-if="group.images&&(group.images.length%3<3)" style="opacity: 0" alt="">
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="portfolio-card">
|
||||||
|
<div class="portfolio-card-item wow fadeInUp" :data-wow-delay="`${0.4+(index*0.2)}s`" v-for="(item,index) in cards" :key="'cards_'+index">
|
||||||
|
<img v-lazy="assetsUri(item.img)" v-if="item.img" class="portfolio-card-item-img" alt="">
|
||||||
|
<span class="portfolio-card-item-btn" @click="$router.push({path:item.link})">
|
||||||
|
{{item.btnText}}
|
||||||
|
<van-icon name="arrow" class="portfolio-card-item-btn-icon"></van-icon>
|
||||||
|
</span>
|
||||||
|
<p>{{item.text}}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {assetsUri} from "../../utils";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "Portfolio",
|
||||||
|
props:{
|
||||||
|
// staticData:{
|
||||||
|
// default:()=>[],
|
||||||
|
// type:Array
|
||||||
|
// },
|
||||||
|
position:{
|
||||||
|
default:'sticky',
|
||||||
|
type:String
|
||||||
|
},
|
||||||
|
top:{
|
||||||
|
default:'0px',
|
||||||
|
type:String
|
||||||
|
},
|
||||||
|
bottom:{
|
||||||
|
default:'initial',
|
||||||
|
type:String
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
assetsUri,
|
||||||
|
cards:[
|
||||||
|
{
|
||||||
|
img:'images/apply.png',
|
||||||
|
btnText:'Apply For Investment',
|
||||||
|
text:'We invert and partner with projects outside of our accelerator',
|
||||||
|
link:'/contact'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
img:'images/invest.png',
|
||||||
|
btnText:'Invest With Us',
|
||||||
|
text:'Join our 1000-strong deal-sharing investor network',
|
||||||
|
link:'/contact'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
staticData:[
|
||||||
|
{
|
||||||
|
title:'Infrastructure',
|
||||||
|
images:[
|
||||||
|
'images/portfolio/组 723@2x.png',
|
||||||
|
'images/portfolio/组 698@2x.png',
|
||||||
|
'images/portfolio/组 699@2x.png',
|
||||||
|
'images/portfolio/组 722@2x.png',
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
title:'Web 3.0',
|
||||||
|
images:[
|
||||||
|
'images/portfolio/组 713@2x.png',
|
||||||
|
'images/portfolio/组 714@2x.png',
|
||||||
|
'images/portfolio/组 715@2x.png',
|
||||||
|
'images/portfolio/组 718@2x.png',
|
||||||
|
'images/portfolio/组 717@2x.png',
|
||||||
|
'images/portfolio/组 716@2x.png',
|
||||||
|
'images/portfolio/组 864@2x.png',
|
||||||
|
'images/portfolio/组 719@2x.png',
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
title:'GameFi',
|
||||||
|
images:[
|
||||||
|
'images/portfolio/组 712@2x.png',
|
||||||
|
'images/portfolio/组 711@2x.png',
|
||||||
|
'images/portfolio/组 710@2x.png',
|
||||||
|
'images/portfolio/组 707@2x.png',
|
||||||
|
'images/portfolio/组 708@2x.png',
|
||||||
|
'images/portfolio/组 709@2x.png',
|
||||||
|
'images/portfolio/组 706@2x.png',
|
||||||
|
'images/portfolio/组 705@2x.png'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title:'SocialFi',
|
||||||
|
images:[
|
||||||
|
'images/portfolio/组 702@2x.png',
|
||||||
|
'images/portfolio/组 703@2x.png',
|
||||||
|
'images/portfolio/组 704@2x.png',
|
||||||
|
'images/portfolio/组 701@2x.png',
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.portfolio{
|
||||||
|
padding-bottom: 1.04rem;
|
||||||
|
&-card{
|
||||||
|
margin-top: 1.86rem;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
&-item{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: .99rem;
|
||||||
|
>p{
|
||||||
|
text-align: center;
|
||||||
|
max-width: 4.76rem;
|
||||||
|
margin-top: .42rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .48rem;
|
||||||
|
color: #9B9B9B;
|
||||||
|
}
|
||||||
|
&-img{
|
||||||
|
display: block;
|
||||||
|
width: 2.24rem;
|
||||||
|
height: 2.24rem;
|
||||||
|
}
|
||||||
|
&-btn{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-top: .67rem;
|
||||||
|
width: 3.80rem;
|
||||||
|
height: .6rem;
|
||||||
|
background: #EDEDED;
|
||||||
|
border-radius: .1rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #302D2C;
|
||||||
|
line-height: .6rem;
|
||||||
|
cursor: pointer;
|
||||||
|
&-icon{
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: .2rem;
|
||||||
|
color: #342927 ;
|
||||||
|
font-size: .12rem;
|
||||||
|
}
|
||||||
|
&:hover{
|
||||||
|
background-color: #F49F00;
|
||||||
|
transition: background-color .3s ease-in;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
&-t{
|
||||||
|
padding-top: 1.38rem;
|
||||||
|
padding-bottom: .94rem;
|
||||||
|
text-align: center;
|
||||||
|
font-size: .6rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .84rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
&-c{
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
justify-content: flex-end;
|
||||||
|
&-l{
|
||||||
|
&-fixed{
|
||||||
|
width: calc(100% - 7.8rem);
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
transition: all .3s ease-in;
|
||||||
|
&-img{
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
max-width: 5.53rem;
|
||||||
|
max-height: 5.53rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
>span{
|
||||||
|
display: block;
|
||||||
|
max-width: 3.07rem;
|
||||||
|
font-size: .30rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .6rem;
|
||||||
|
color: #9B9B9B;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: -.6rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-r{
|
||||||
|
max-width: 7.8rem;
|
||||||
|
flex: 1;
|
||||||
|
&-u{
|
||||||
|
overflow-x: hidden;
|
||||||
|
padding: 0 .3rem;
|
||||||
|
padding-top: .37rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
&-l{
|
||||||
|
margin-top: .27rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
&-t{
|
||||||
|
display: inline-block;
|
||||||
|
margin: 0 auto .54rem;
|
||||||
|
border: 1px solid #393939;
|
||||||
|
border-radius: .29rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #F49F00;
|
||||||
|
padding: 10px .35rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
&-d{
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
img{
|
||||||
|
display: block;
|
||||||
|
width: 2.06rem;
|
||||||
|
height: 1.33rem;
|
||||||
|
margin-bottom: .36rem;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all .3s ease-in;
|
||||||
|
&:hover{
|
||||||
|
transform: scale(1.1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 1250px) {
|
||||||
|
.portfolio{
|
||||||
|
&-c{
|
||||||
|
&-l{
|
||||||
|
&-fixed{
|
||||||
|
>span{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.portfolio{
|
||||||
|
padding-bottom: 1.04rem;
|
||||||
|
&-card{
|
||||||
|
margin-top: 1.43rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-around;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
&-t{
|
||||||
|
padding-top: 1.43rem;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
&-c{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
position: relative;
|
||||||
|
&-l{
|
||||||
|
&-fixed{
|
||||||
|
width: 100% !important;
|
||||||
|
img{
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
>span{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-r{
|
||||||
|
flex: 1;
|
||||||
|
&-u{
|
||||||
|
padding-top: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
&-l{
|
||||||
|
margin-top: .6rem;
|
||||||
|
&:first-child{
|
||||||
|
margin-top: -0rem;
|
||||||
|
}
|
||||||
|
&-t{
|
||||||
|
margin: 0 auto .54rem;
|
||||||
|
border-radius: .4rem;
|
||||||
|
font-size: .4rem;
|
||||||
|
padding: .10rem .35rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,103 @@
|
||||||
|
<template>
|
||||||
|
<div class="select-div">
|
||||||
|
<div class="select-div-text-wrap" @click="isShow=!isShow">
|
||||||
|
<span class="select-div-text">{{text}}</span>
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
<ul class="select-ul" :style="{'display':!isShow?'none':'block'}" >
|
||||||
|
<li class="select-item" :class="{'active':select===item.id}" @click="handleSelect(item)" v-for="(item,index) in options" :key="'select_'+index">{{item.name}}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props:{
|
||||||
|
options:{
|
||||||
|
default:()=>[],
|
||||||
|
type:Array
|
||||||
|
},
|
||||||
|
select:{
|
||||||
|
default:'',
|
||||||
|
type:String
|
||||||
|
}
|
||||||
|
},
|
||||||
|
name: "PublicSelect",
|
||||||
|
computed:{
|
||||||
|
text(){
|
||||||
|
const findItem=this.options.find((item)=>item.id===this.select);
|
||||||
|
return findItem?findItem.name:''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleSelect(item){
|
||||||
|
this.isShow=false
|
||||||
|
this.$emit('select',item)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
isShow:false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.select{
|
||||||
|
&-div{
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
&-text{
|
||||||
|
&-wrap{
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-ul{
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
transform: translateY(100%);
|
||||||
|
min-height: 2rem;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
box-shadow: 0 .03rem .06rem rgba(0, 0, 0, 0.16);
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
&-item{
|
||||||
|
cursor: pointer;
|
||||||
|
height: .4rem;
|
||||||
|
background-color: #fff;
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .4rem;
|
||||||
|
color: #302D2C;
|
||||||
|
padding-left: .33rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
&.active{
|
||||||
|
background-color: #F49F00;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.select{
|
||||||
|
&-ul{
|
||||||
|
bottom: -.06rem;
|
||||||
|
min-height: 4rem;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
&-item{
|
||||||
|
height: .8rem;
|
||||||
|
font-size: .26rem;
|
||||||
|
line-height: .8rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,178 @@
|
||||||
|
<template>
|
||||||
|
<div class="section-limit" >
|
||||||
|
<div class="section-limit-h5-wrap">
|
||||||
|
<!-- <ball class="b-ball"></ball>-->
|
||||||
|
<!-- <svg-icon icon-class="hstart" ></svg-icon>-->
|
||||||
|
<img v-lazy="'/images/hstart.png'" class="section-limit-start b-ball" alt="">
|
||||||
|
<div class="section-limit-div">
|
||||||
|
<h1 class="section-limit-title wow fadeInDown" >
|
||||||
|
<span>We are LightLimX</span>
|
||||||
|
<!-- <svg-icon icon-class="start" class="section-limit-title-img"></svg-icon>-->
|
||||||
|
</h1>
|
||||||
|
<div class="section-limit-c">
|
||||||
|
<p class="section-limit-title-desc wow fadeInDownBig">
|
||||||
|
We Make The
|
||||||
|
<br/>Impossible Possible.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="section-limit-flower-wrap wow fadeInDownBig">
|
||||||
|
<svg-icon icon-class="hstart" class="section-limit-start c-ball"></svg-icon>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="section-limit-flower-wrap wow fadeInDown">-->
|
||||||
|
<!-- <svg-icon icon-class="flower"></svg-icon>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {assetsUri} from '~/utils/index.js'
|
||||||
|
export default {
|
||||||
|
name: "SectionLimitX",
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
assetsUri
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.section-limit{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
/*min-height: 100vh;*/
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-top: .96rem;
|
||||||
|
&-div{
|
||||||
|
margin-right: .16rem;
|
||||||
|
}
|
||||||
|
&-start{
|
||||||
|
}
|
||||||
|
&-flower-wrap{
|
||||||
|
margin-top: 1rem;
|
||||||
|
.svg-icon{
|
||||||
|
width: 8.95rem;
|
||||||
|
height: 6.59rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.b-ball{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.c-ball{
|
||||||
|
/*transform: scale(2.2);*/
|
||||||
|
}
|
||||||
|
&-c{
|
||||||
|
padding-top: 1.1rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
&-h5-wrap{
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
/*overflow: hidden;*/
|
||||||
|
}
|
||||||
|
&-title{
|
||||||
|
padding-top: 1.05rem;
|
||||||
|
font-size: 1.10rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #FFFFFF;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
word-break: keep-all;
|
||||||
|
white-space: nowrap;
|
||||||
|
&-img{
|
||||||
|
display: block;
|
||||||
|
width: 3.29rem;
|
||||||
|
height: 2.42rem;
|
||||||
|
margin-left: -.88rem;
|
||||||
|
}
|
||||||
|
>span{
|
||||||
|
font-size: .68rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 1.31rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
position: relative;
|
||||||
|
word-break: keep-all;
|
||||||
|
}
|
||||||
|
&-desc{
|
||||||
|
word-break: keep-all;
|
||||||
|
white-space: nowrap;
|
||||||
|
margin-top: 0;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: .44rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
line-height: .72rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px){
|
||||||
|
.section-limit{
|
||||||
|
padding-top: .88rem;
|
||||||
|
&-c{
|
||||||
|
padding-top: .57rem;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.b-ball{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
&-flower-wrap{
|
||||||
|
.c-ball{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-h5-wrap{
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-top: .78rem;
|
||||||
|
flex-direction: column;
|
||||||
|
.b-ball{
|
||||||
|
width: calc( 7.49rem - .3rem);
|
||||||
|
height: 5.51rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-flower-wrap{
|
||||||
|
margin-top: .77rem;
|
||||||
|
.svg-icon{
|
||||||
|
width: 1.57rem;
|
||||||
|
height: .2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-title{
|
||||||
|
padding-top: 1.03rem;
|
||||||
|
font-size: .62rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
&-img{
|
||||||
|
width: 2.32rem;
|
||||||
|
height: 1.64rem;
|
||||||
|
margin-left: -.6rem;
|
||||||
|
}
|
||||||
|
>span{
|
||||||
|
font-size: .6rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 1.31rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
&-desc{
|
||||||
|
margin-top: 0;
|
||||||
|
text-align: center;
|
||||||
|
font-size: .42rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .68rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,52 @@
|
||||||
|
<template>
|
||||||
|
<div class="section-view" :style="isCssStyle">
|
||||||
|
<div class="section-view-h5-wrap">
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "SectionView",
|
||||||
|
props:{
|
||||||
|
cssStyle:{
|
||||||
|
type:Object,
|
||||||
|
default:()=>{
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
isCssStyle(){
|
||||||
|
return this.cssStyle
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
// First we get the viewport height and we multiple it by 1% to get a value for a vh unit
|
||||||
|
// let vh = window.innerHeight * 0.01
|
||||||
|
// // Then we set the value in the --vh custom property to the root of the document
|
||||||
|
// document.documentElement.style.setProperty('--vh', `${vh}px`)
|
||||||
|
//
|
||||||
|
// // We listen to the resize event
|
||||||
|
// window.addEventListener('resize', () => {
|
||||||
|
// // We execute the same script as before
|
||||||
|
// let vh = window.innerHeight * 0.01
|
||||||
|
// console.log(vh);
|
||||||
|
// document.documentElement.style.setProperty('--vh', `${vh}px`)
|
||||||
|
// })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.section-view{
|
||||||
|
width: 100%;
|
||||||
|
min-height: 100vh;
|
||||||
|
box-sizing: border-box;
|
||||||
|
&-h5-wrap{
|
||||||
|
display: block;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,85 @@
|
||||||
|
<template>
|
||||||
|
<div class="situation">
|
||||||
|
<h2 class="situation-t wow fadeInUp" data-wow-delay=".8s">Win-win Situation</h2>
|
||||||
|
<h3 class="situation-t situation-t-h3 wow fadeInUp" data-wow-delay=".8s">Not Just An Investor But A Partner</h3>
|
||||||
|
<p class="situation-d situation-d-first wow fadeInUp" data-wow-delay=".8s">Follow us for worthwhile content. Each week we uncover insights and learnings by entrepreneurs for entrepreneurs.</p>
|
||||||
|
<p class="situation-d situation-d-second wow fadeInUp" data-wow-delay=".8s">In order to ensure multi-party benefits, we will pool our capabilities and resources with our partners to gain insight into market opportunities, and to provide differentiated investment programs to our investors, as well as innovative solutions to our target enterprises.
|
||||||
|
</p>
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
assetsUri
|
||||||
|
} from "../../utils";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "situation",
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
assetsUri
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.situation{
|
||||||
|
&-t,&-d{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-t{
|
||||||
|
font-size: .48rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .84rem;
|
||||||
|
color: #000000;
|
||||||
|
&:first-child{
|
||||||
|
padding-top: 1.38rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-d{
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 9.19rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .48rem;
|
||||||
|
color: #302D2C;
|
||||||
|
&-first{
|
||||||
|
padding-top: .55rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.situation{
|
||||||
|
&-t{
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 6.86rem;
|
||||||
|
font-size: .6rem;
|
||||||
|
line-height: .62rem;
|
||||||
|
&-h3{
|
||||||
|
margin-top: -.3rem;
|
||||||
|
}
|
||||||
|
&:first-child{
|
||||||
|
padding-top: 1.43rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-d{
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .34rem;
|
||||||
|
max-width: 6.9rem;
|
||||||
|
&-first{
|
||||||
|
padding-top: .27rem;
|
||||||
|
}
|
||||||
|
&-second{
|
||||||
|
margin-top: -.28rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,72 @@
|
||||||
|
<template>
|
||||||
|
<div class="startup-block">
|
||||||
|
<h2 class="startup-block-h2 wow fadeInUp" data-wow-delay=".3s">
|
||||||
|
Accelerator Your Startup
|
||||||
|
</h2>
|
||||||
|
<p class="startup-block-p wow fadeInUp" data-wow-delay=".3s">Investing Beyond Investment. From aspiring founders to early stage entrepreneurs,LightLimX are dedicated to creating a thriving atmosphere for all pioneers within our ecosystem.</p>
|
||||||
|
<small class="startup-block-small wow fadeInUp" data-wow-delay=".3s">As serial entrepreneurs, we know what it takes to build innovative businesses from scratch in the difficult markets of Crypto,and we have built a team of 40+ experts, including economists, quants, developers, lawyers, UX experts, and more to provide active investor side support through mentorship and network integration. We know the landscape and keep up with the latest developments.Therefore, we can guide teams when it comes to ideation, tokenomics, and communication.We strive to leverage our experience to help ventures grow from Seed Stage to later round of capital and maximise their value creation.The blockchain world is moving fast,and we help you move faster.</small>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "StartupBlock"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped lang="less">
|
||||||
|
.startup-block{
|
||||||
|
&-h2{
|
||||||
|
padding-top: 1.83rem;
|
||||||
|
max-width:8.12rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-size: .76rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 1.1rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
max-width: 6.34rem;
|
||||||
|
text-align: center;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: 1rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .44rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
&-small{
|
||||||
|
display: block;
|
||||||
|
margin-top: .54rem;
|
||||||
|
text-align: center;
|
||||||
|
font-size: .14rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .28rem;
|
||||||
|
color: #9B9B9B;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.startup-block{
|
||||||
|
&-h2{
|
||||||
|
padding-top: 1.6rem;
|
||||||
|
max-width:6.12rem;
|
||||||
|
font-size: .6rem;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
max-width: 6.9rem;
|
||||||
|
margin-top: 1.77rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .4rem;
|
||||||
|
}
|
||||||
|
&-small{
|
||||||
|
margin-top: 2.26rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .34rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,207 @@
|
||||||
|
<template>
|
||||||
|
<div class="startup-content">
|
||||||
|
<h2 class="startup-content-h2 wow fadeInUp" data-wow-delay=".3s">Join Accelerator</h2>
|
||||||
|
<p class="startup-content-p wow fadeInUp" data-wow-delay=".3s">Each year,we choose over 30 early-stage programs to join our 3-month mentorship-driven accelerators.Once you're selected for an accelerator, you'll be part of the LightLimX community for life.That means you have a hyperconnected platform to expand your business and expand your network with access to a talented group of founders, investors, mentors, and industry leaders.</p>
|
||||||
|
<span class="startup-content-btn wow fadeInUp" @click="$router.push({path:'/contact'})" data-wow-delay=".3s">Apply Now</span>
|
||||||
|
<h2 class="startup-content-h2 startup-content-h2-2 wow fadeInUp" data-wow-delay=".3s">
|
||||||
|
Your Startup Needs Are Covered
|
||||||
|
</h2>
|
||||||
|
<p class="startup-content-desc wow fadeInUp" data-wow-delay=".3s">
|
||||||
|
Modeled after the most effective global programs and built by accelerator veterans, LightLimX will bring you exactly what you need, when you need it.
|
||||||
|
</p>
|
||||||
|
<ul class="startup-content-ul">
|
||||||
|
<li class="startup-content-li wow fadeInUp" data-wow-delay=".5s" v-for="(item,index) in staticData" :key="index+'_startup'">
|
||||||
|
<img v-lazy="assetsUri(item.img)" v-if="item.img" class="startup-content-li-img" alt="" />
|
||||||
|
<h3 class="startup-content-li-h3" >{{item.title}}</h3>
|
||||||
|
<p class="startup-content-li-p" v-html="item.desc"></p>
|
||||||
|
</li>
|
||||||
|
<li class="startup-content-li" style="opacity: 0" v-if="staticData.length%3==2">
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
assetsUri
|
||||||
|
} from "../../utils";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "StartupContent",
|
||||||
|
props:{
|
||||||
|
staticData:{
|
||||||
|
type:Array,
|
||||||
|
default:()=>[]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
assetsUri,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.startup-content{
|
||||||
|
&-desc{
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .44rem;
|
||||||
|
text-align: center;
|
||||||
|
color: #302D2C;
|
||||||
|
max-width: 9.67rem;
|
||||||
|
margin: .72rem auto 0;
|
||||||
|
}
|
||||||
|
&-h2{
|
||||||
|
padding-top: 1.5rem;
|
||||||
|
font-size: .6rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 1.1rem;
|
||||||
|
color: #302D2C;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
margin-top: .72rem;
|
||||||
|
font-size: .2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .4rem;
|
||||||
|
color: #302D2C;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
&-btn{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin: 1.22rem auto 0;
|
||||||
|
width: 3.24rem;
|
||||||
|
height: .6rem;
|
||||||
|
border: 1px solid #9B9B9B;
|
||||||
|
border-radius: .1rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #302D2C;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-bottom: .7rem;
|
||||||
|
&:hover{
|
||||||
|
background-color: #F49F00;
|
||||||
|
transition: background-color .3s ease-in;
|
||||||
|
border-color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-ul{
|
||||||
|
margin-top: .93rem;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
&-li{
|
||||||
|
cursor: pointer;
|
||||||
|
width: 4.09rem;
|
||||||
|
height: 4.23rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
padding-top: .76rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-left: .29rem;
|
||||||
|
padding-right: .29rem;
|
||||||
|
margin-bottom: .32rem;
|
||||||
|
transition: all .3s ease-in;
|
||||||
|
&-h3{
|
||||||
|
margin-top: .32rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #342927;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
margin-top: .32rem;
|
||||||
|
font-size: .16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: .32rem;
|
||||||
|
color: #302D2C;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
&-img{
|
||||||
|
display: block;
|
||||||
|
width: .88rem;
|
||||||
|
height: .88rem;
|
||||||
|
}
|
||||||
|
&:hover{
|
||||||
|
transform: scale(1.01);
|
||||||
|
box-shadow: 0 .03rem .2rem rgba(0, 0, 0, 0.06);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 820px) {
|
||||||
|
.startup-content{
|
||||||
|
&-ul{
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.startup-content{
|
||||||
|
&-desc{
|
||||||
|
font-size: .3rem;
|
||||||
|
line-height: .4rem;
|
||||||
|
max-width: 6.9rem;
|
||||||
|
margin: .28rem auto 0;
|
||||||
|
}
|
||||||
|
&-h2{
|
||||||
|
padding-top: .5rem;
|
||||||
|
&-2{
|
||||||
|
max-width: 6.5rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
line-height: .7rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
margin-top: .28rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .4rem;
|
||||||
|
padding: 0 .3rem;
|
||||||
|
}
|
||||||
|
&-btn{
|
||||||
|
margin: .65rem auto 0;
|
||||||
|
width: 5.18rem;
|
||||||
|
height: .96rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
&-ul{
|
||||||
|
margin-top: .49rem;
|
||||||
|
}
|
||||||
|
&-li{
|
||||||
|
margin: 0 .3rem;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 7rem;
|
||||||
|
padding-top: 1.2rem;
|
||||||
|
padding-left: .29rem;
|
||||||
|
padding-right: .29rem;
|
||||||
|
margin-bottom: .32rem;
|
||||||
|
&-h3{
|
||||||
|
margin-top: .73rem;
|
||||||
|
font-size: .4rem;
|
||||||
|
}
|
||||||
|
&-p{
|
||||||
|
margin-top: .6rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
line-height: .34rem;
|
||||||
|
}
|
||||||
|
&-img{
|
||||||
|
width: 2rem;
|
||||||
|
height: 2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,43 @@
|
||||||
|
<template>
|
||||||
|
<svg :class="svgClass" v-on="$listeners">
|
||||||
|
<use :xlink:href="iconName" />
|
||||||
|
</svg>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'SvgIcon',
|
||||||
|
props: {
|
||||||
|
iconClass: {
|
||||||
|
type: String,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
className: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
iconName () {
|
||||||
|
return `#icon-${this.iconClass}`
|
||||||
|
},
|
||||||
|
svgClass () {
|
||||||
|
if (this.className) {
|
||||||
|
return 'svg-icon ' + this.className
|
||||||
|
} else {
|
||||||
|
return 'svg-icon'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.svg-icon {
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
vertical-align: -0.15em;
|
||||||
|
fill:currentColor;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,22 @@
|
||||||
|
module.exports = {
|
||||||
|
apps : [{
|
||||||
|
name: "Limix",
|
||||||
|
script: "./node_modules/nuxt/bin/nuxt.js",
|
||||||
|
// watch: ["src"],
|
||||||
|
//ignore_watch: ["node_modules", "logger"],
|
||||||
|
//max_memory_restart: "300M",
|
||||||
|
exec_mode: "cluster", // 开启多线程模式,用于负载均衡
|
||||||
|
instances: "max", // 启用多少个实例,可用于负载均衡
|
||||||
|
//autorestart: true,
|
||||||
|
//pm2:true,
|
||||||
|
args: 'start',
|
||||||
|
//kill_timeout: 3000,
|
||||||
|
//instance_var: "INSTANCE_ID",
|
||||||
|
//env: {
|
||||||
|
// NODE_ENV: "development",
|
||||||
|
//},
|
||||||
|
//env_production: {
|
||||||
|
// NODE_ENV: "production",
|
||||||
|
//}
|
||||||
|
}]
|
||||||
|
}
|
|
@ -0,0 +1,44 @@
|
||||||
|
<template>
|
||||||
|
<div class="my-layout" v-if="loading" >
|
||||||
|
<my-header ></my-header>
|
||||||
|
<Nuxt />
|
||||||
|
<my-footer></my-footer>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
import MyHeader from "../components/MyHeader/index";
|
||||||
|
import MyFooter from "../components/MyFooter/index";
|
||||||
|
export default {
|
||||||
|
name: "index",
|
||||||
|
components: {MyFooter, MyHeader },
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
loading:false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mixins:[],
|
||||||
|
mounted(){
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$nuxt.$loading.start()
|
||||||
|
setTimeout(async () =>{
|
||||||
|
await this.$nuxt.$loading.finish();
|
||||||
|
this.loading=!this.$nuxt.$loading.getLoadingState();
|
||||||
|
}, 2000)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
async asyncData(data) {
|
||||||
|
const { params, $http }=data;
|
||||||
|
// const post = await $http.$get(`https://api.nuxtjs.dev/posts/${params.id}`)
|
||||||
|
return { post:'121' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.my-layout{
|
||||||
|
display: block;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,9 @@
|
||||||
|
export default function ({ store, redirect }) {
|
||||||
|
// If the user is not authenticated
|
||||||
|
// if (store.state.loading) {
|
||||||
|
// return redirect('/loading')
|
||||||
|
// }
|
||||||
|
// if (!store.state.loading) {
|
||||||
|
// return redirect('/')
|
||||||
|
// }
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
export default function ({ isHMR, app, store, route, params, error, redirect }) {
|
||||||
|
const defaultLocale = app.i18n.fallbackLocale
|
||||||
|
// If middleware is called from hot module replacement, ignore it
|
||||||
|
if (isHMR) return
|
||||||
|
// Get locale from params
|
||||||
|
const locale = params.lang || defaultLocale
|
||||||
|
if (store.state.locales.indexOf(locale) === -1) {
|
||||||
|
return error({ message: 'This page could not be found.', statusCode: 404 })
|
||||||
|
}
|
||||||
|
// Set locale
|
||||||
|
store.commit('SET_LANG', locale || 'en-US')
|
||||||
|
app.i18n.locale = store.state.locale
|
||||||
|
// If route is /<defaultLocale>/... -> redirect to /...
|
||||||
|
if (locale === defaultLocale && route.fullPath.indexOf('/' + defaultLocale) === 0) {
|
||||||
|
const toReplace = '^/' + defaultLocale + (route.fullPath.indexOf('/' + defaultLocale + '/') === 0 ? '/' : '')
|
||||||
|
const re = new RegExp(toReplace)
|
||||||
|
return redirect(
|
||||||
|
route.fullPath.replace(re, '/')
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,130 @@
|
||||||
|
import redirectSSL from 'redirect-ssl'
|
||||||
|
import serveStatic from 'serve-static'
|
||||||
|
import {resolve} from "path";
|
||||||
|
const baseUrl = process.env.BASE_URL || 'https://api.lightlimx.live/api'
|
||||||
|
export default {
|
||||||
|
loading: '~/components/Loading/index.vue',
|
||||||
|
serverMiddleware: [
|
||||||
|
// redirectSSL.create({
|
||||||
|
// enabled: process.env.NODE_ENV === 'production'
|
||||||
|
// }),
|
||||||
|
{ path: '/static', handler: serveStatic(__dirname + '/static') }
|
||||||
|
],
|
||||||
|
telemetry:false,
|
||||||
|
publicRuntimeConfig: {
|
||||||
|
baseURL: baseUrl,
|
||||||
|
axios: {
|
||||||
|
baseURL: baseUrl
|
||||||
|
}
|
||||||
|
},
|
||||||
|
env: {
|
||||||
|
baseUrl: process.env.BASE_URL || 'http://localhost:3000',
|
||||||
|
apiUrl: '/api'
|
||||||
|
},
|
||||||
|
alias: {
|
||||||
|
'@': resolve(__dirname),
|
||||||
|
'~': resolve(__dirname),
|
||||||
|
style: resolve(__dirname, './assets/style'),
|
||||||
|
images: resolve(__dirname, './assets/images'),
|
||||||
|
data: resolve(__dirname, './assets/data')
|
||||||
|
},
|
||||||
|
// Global page headers: https://go.nuxtjs.dev/config-head
|
||||||
|
head: {
|
||||||
|
title: 'LightLimX',
|
||||||
|
htmlAttrs: {
|
||||||
|
lang: 'en',
|
||||||
|
},
|
||||||
|
bodyAttrs: {
|
||||||
|
class: 'h5-scroll-bar'
|
||||||
|
},
|
||||||
|
meta: [
|
||||||
|
{ charset: 'utf-8' },
|
||||||
|
//width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no
|
||||||
|
{ name: 'viewport', content: 'width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui,viewport-fit=cover' },
|
||||||
|
{ hid: 'description', name: 'description', content: '' },
|
||||||
|
{ name: 'format-detection', content: 'telephone=no' }
|
||||||
|
],
|
||||||
|
link: [
|
||||||
|
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.png' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// Global CSS: https://go.nuxtjs.dev/config-css
|
||||||
|
css: [
|
||||||
|
'~/assets/style/reset.less',
|
||||||
|
'~/assets/style/animate.css',
|
||||||
|
'vant/lib/index.css'
|
||||||
|
],
|
||||||
|
|
||||||
|
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
|
||||||
|
plugins: [
|
||||||
|
{ src: '~/plugins/remJs.js', mode: 'client' },
|
||||||
|
'@/plugins/vant',
|
||||||
|
'~/plugins/axios.js',
|
||||||
|
'~/plugins/vueTooltip.js',
|
||||||
|
// { src: '~/plugins/vueAnimate.js', mode: 'client' },
|
||||||
|
{ src: '~/plugins/vueClipboard.js', mode: 'client' },
|
||||||
|
{ src: '~/plugins/lottieWeb.js', mode: 'client' },
|
||||||
|
{ src: '~/plugins/svgIcon.js', mode: 'client' },
|
||||||
|
{ src: '~/plugins/wow.js', mode: 'client' },
|
||||||
|
{ src: '~/plugins/element.js', mode: 'client' },
|
||||||
|
],
|
||||||
|
router: {
|
||||||
|
// base: '/assets/',
|
||||||
|
middleware: ['authenticated']
|
||||||
|
},
|
||||||
|
// Auto import components: https://go.nuxtjs.dev/config-components
|
||||||
|
components: true,
|
||||||
|
|
||||||
|
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
|
||||||
|
buildModules: [
|
||||||
|
],
|
||||||
|
|
||||||
|
// Modules: https://go.nuxtjs.dev/config-modules
|
||||||
|
modules: [
|
||||||
|
['nuxt-svg-sprite-loader', {
|
||||||
|
symbolId: 'icon-[name]'
|
||||||
|
}],
|
||||||
|
'@nuxtjs/axios'
|
||||||
|
],
|
||||||
|
|
||||||
|
// Build Configuration: https://go.nuxtjs.dev/config-build
|
||||||
|
build: {
|
||||||
|
transpile: ['vue-tooltip'],
|
||||||
|
extractCSS: {
|
||||||
|
// allChunks: true,
|
||||||
|
filename: '[name].css',
|
||||||
|
chunkFilename: '[id].css',
|
||||||
|
ignoreOrder: true
|
||||||
|
},
|
||||||
|
babel: {
|
||||||
|
plugins: [
|
||||||
|
[
|
||||||
|
'component',
|
||||||
|
{
|
||||||
|
'libraryName': 'element-ui',
|
||||||
|
// 'style': false // 不引入对应的css文件
|
||||||
|
'styleLibraryName': 'theme-chalk'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
extend (config, { isDev, isClient }) {
|
||||||
|
if (isClient) {
|
||||||
|
// 排除 nuxt 原配置的影响,Nuxt 默认有vue-loader,会处理svg,img等
|
||||||
|
// 找到匹配.svg的规则,然后将存放svg文件的目录排除
|
||||||
|
const svgRule = config.module.rules.find(rule => rule.test.test('.svg'))
|
||||||
|
svgRule.exclude = [resolve('assets/svg')]
|
||||||
|
// 添加loader规则
|
||||||
|
}
|
||||||
|
config.module.rules.push({
|
||||||
|
test: /\.(mpg|ts|pm4)$/i,
|
||||||
|
loader: 'url-loader',
|
||||||
|
options: {
|
||||||
|
outputPath: '/static/video/',
|
||||||
|
publicPath: '/static/video/'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
"name": "demo",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"dev": "nuxt",
|
||||||
|
"build": "nuxt build",
|
||||||
|
"start": "nuxt start",
|
||||||
|
"generate": "nuxt generate",
|
||||||
|
"pm2": "pm2 start",
|
||||||
|
"deylop": "node ./script/deploy/index.js"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@nuxtjs/axios": "^5.13.6",
|
||||||
|
"animate.css": "^4.1.1",
|
||||||
|
"core-js": "^3.19.3",
|
||||||
|
"element-ui": "^2.15.6",
|
||||||
|
"gsap": "^3.9.1",
|
||||||
|
"jquery": "^3.6.0",
|
||||||
|
"js-cookie": "^3.0.1",
|
||||||
|
"nuxt": "^2.15.8",
|
||||||
|
"vant": "^2.12.36",
|
||||||
|
"vue": "^2.6.14",
|
||||||
|
"vue-pagination-2": "^3.0.91",
|
||||||
|
"vue-server-renderer": "^2.6.14",
|
||||||
|
"vue-template-compiler": "^2.6.14",
|
||||||
|
"webpack": "^4.46.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"archiver": "^4.0.1",
|
||||||
|
"babel-plugin-component": "^1.1.1",
|
||||||
|
"chalk": "^4.0.0",
|
||||||
|
"crypto-js": "^4.1.1",
|
||||||
|
"fs-extra": "^9.0.0",
|
||||||
|
"less": "^4.1.2",
|
||||||
|
"less-loader": "^7.1.0",
|
||||||
|
"lottie-web": "^5.8.1",
|
||||||
|
"lottie-web-vue": "^1.2.1",
|
||||||
|
"moment": "^2.29.1",
|
||||||
|
"node-cmd": "^5.0.0",
|
||||||
|
"node-ssh": "^8.0.0",
|
||||||
|
"nuxt-svg-sprite-loader": "^2.0.7",
|
||||||
|
"redirect-ssl": "^3.0.0",
|
||||||
|
"svg-sprite-loader": "^6.0.11",
|
||||||
|
"v-tooltip": "^2.1.3",
|
||||||
|
"vue-animate-plugin": "^1.0.1",
|
||||||
|
"vue-clipboard2": "^0.3.3"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,229 @@
|
||||||
|
<template>
|
||||||
|
<div class="fullpage-container">
|
||||||
|
<SectionView>
|
||||||
|
<div class="LP-login-conten">
|
||||||
|
<h1>Sign In</h1>
|
||||||
|
<div class="LP-login-input-conten">
|
||||||
|
<div class="LP-login-input"><p>Email address <span style="color:#F49F00">*</span></p><input type="text" name="" id=""></div>
|
||||||
|
<div class="LP-login-input"><p class="Password">Password<span style="color:#F49F00">*</span></p><input class="password-font" type="password" name="" id=""></div></div>
|
||||||
|
<div class="LP-login-confirm-conten">
|
||||||
|
<div class="confirm">
|
||||||
|
<span>LOGIN</span>
|
||||||
|
</div>
|
||||||
|
<p>Forgot password?</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</SectionView>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import animateMixin from '../../utils/animateMixin'
|
||||||
|
import SectionView from "../../components/SectionView/index";
|
||||||
|
export default {
|
||||||
|
name: 'IndexPage',
|
||||||
|
layout:'index',
|
||||||
|
components:{
|
||||||
|
SectionView
|
||||||
|
},
|
||||||
|
mixins:[animateMixin],
|
||||||
|
head() {
|
||||||
|
return {
|
||||||
|
title: this.title,
|
||||||
|
meta: [
|
||||||
|
{
|
||||||
|
hid: 'description',
|
||||||
|
name: 'description',
|
||||||
|
content: 'My custom description'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async asyncData(data) {
|
||||||
|
const { params, $http }=data;
|
||||||
|
// const post = await $http.$get(`https://api.nuxtjs.dev/posts/${params.id}`)
|
||||||
|
return { post:'121' }
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title:'LightLimX-LPLogin',
|
||||||
|
|
||||||
|
opts: {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.LP-login-conten{
|
||||||
|
margin-top: 1.9rem;
|
||||||
|
h1{
|
||||||
|
font-size: 0.36rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.LP-login-input-conten{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 1.2rem;
|
||||||
|
.LP-login-input{
|
||||||
|
margin: 0 auto;
|
||||||
|
input{
|
||||||
|
padding-left: 0.2rem;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
width: 4.3rem;
|
||||||
|
height: 0.58rem;
|
||||||
|
display: block;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border: 1px solid #9B9B9B;
|
||||||
|
opacity: 1;
|
||||||
|
border-radius: 0.1rem;
|
||||||
|
margin-top: 0.15rem;
|
||||||
|
}
|
||||||
|
.password-font{
|
||||||
|
font-family: none;
|
||||||
|
}
|
||||||
|
input:focus {
|
||||||
|
border: 1px solid #F49F00;
|
||||||
|
box-shadow: 0px 3px 6px rgba(244, 159, 0, 0.12);
|
||||||
|
}
|
||||||
|
p{
|
||||||
|
font-size: 0.16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.Password{
|
||||||
|
margin-top: 0.35rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.LP-login-confirm-conten{
|
||||||
|
margin-top: 0.95rem;
|
||||||
|
.confirm{
|
||||||
|
margin: 0 auto;
|
||||||
|
cursor: pointer;
|
||||||
|
width: 2.42rem;
|
||||||
|
height: 0.58rem;
|
||||||
|
background: #F49F00;
|
||||||
|
opacity: 1;
|
||||||
|
border-radius: 0.1rem;
|
||||||
|
span{
|
||||||
|
display: block;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: 0.58rem;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
p{
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.14rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #000000;
|
||||||
|
opacity: 1;
|
||||||
|
margin-top: 0.25rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.LP-login-conten{
|
||||||
|
margin-top: 1.9rem;
|
||||||
|
h1{
|
||||||
|
font-size: 0.6rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.LP-login-input-conten{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
.LP-login-input{
|
||||||
|
margin: 0 auto;
|
||||||
|
input{
|
||||||
|
padding-left: 0.2rem;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
width: 6.5rem;
|
||||||
|
height: 0.8rem;
|
||||||
|
display: block;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border: 1px solid #9B9B9B;
|
||||||
|
opacity: 1;
|
||||||
|
border-radius: 0.1rem;
|
||||||
|
margin-top: 0.15rem;
|
||||||
|
}
|
||||||
|
.password-font{
|
||||||
|
font-family: none;
|
||||||
|
}
|
||||||
|
input:focus {
|
||||||
|
border: 1px solid #F49F00;
|
||||||
|
box-shadow: 0px 3px 6px rgba(244, 159, 0, 0.12);
|
||||||
|
}
|
||||||
|
p{
|
||||||
|
font-size: 0.3rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.Password{
|
||||||
|
margin-top: 0.35rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.LP-login-confirm-conten{
|
||||||
|
margin-top: 0.95rem;
|
||||||
|
.confirm{
|
||||||
|
margin: 0 auto;
|
||||||
|
cursor: pointer;
|
||||||
|
width: 5.18rem;
|
||||||
|
height: 0.96rem;
|
||||||
|
background: #F49F00;
|
||||||
|
opacity: 1;
|
||||||
|
border-radius: 0.1rem;
|
||||||
|
span{
|
||||||
|
display: block;
|
||||||
|
font-size: 0.38rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 0.96rem;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
p{
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #000000;
|
||||||
|
opacity: 1;
|
||||||
|
margin-top: 0.25rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
|
@ -0,0 +1,115 @@
|
||||||
|
<template>
|
||||||
|
<div class="fullpage-container">
|
||||||
|
|
||||||
|
<section-view :css-style="{'background-color':'#fff'}">
|
||||||
|
<div class="Details-conten-img">
|
||||||
|
<img v-lazy="assetsUri('images/ContactUs/Details.png')" alt="">
|
||||||
|
<div class="Details-text">
|
||||||
|
<p>Thank you for submitting</p>
|
||||||
|
<p>the information.</p>
|
||||||
|
<p>We will contact you as soon as possible.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section-view>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import animateMixin from '../../utils/animateMixin'
|
||||||
|
import SectionView from "../../components/SectionView/index";
|
||||||
|
import {assetsUri} from '~/utils/index.js'
|
||||||
|
export default {
|
||||||
|
name: 'IndexPage',
|
||||||
|
layout:'index',
|
||||||
|
components:{
|
||||||
|
SectionView
|
||||||
|
},
|
||||||
|
mixins:[animateMixin],
|
||||||
|
head() {
|
||||||
|
return {
|
||||||
|
title: this.title,
|
||||||
|
meta: [
|
||||||
|
{
|
||||||
|
hid: 'description',
|
||||||
|
name: 'description',
|
||||||
|
content: 'My custom description'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async asyncData(data) {
|
||||||
|
const { params, $http }=data;
|
||||||
|
// const post = await $http.$get(`https://api.nuxtjs.dev/posts/${params.id}`)
|
||||||
|
return { post:'121' }
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
assetsUri,
|
||||||
|
title:'LightLimX',
|
||||||
|
|
||||||
|
opts: {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.Details-conten-img{
|
||||||
|
margin-top: 0.96rem;
|
||||||
|
padding-top: 2rem;
|
||||||
|
img{
|
||||||
|
display: block;
|
||||||
|
width: 20%;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
.Details-text{
|
||||||
|
margin-top: .6rem;
|
||||||
|
p{
|
||||||
|
font-size: 0.28rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 0.5rem;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media screen and (max-width: 768px){
|
||||||
|
.section-view{
|
||||||
|
min-height: 0vh;
|
||||||
|
}
|
||||||
|
.Details-conten-img{
|
||||||
|
margin-top: 0.96rem;
|
||||||
|
padding-top: 2rem;
|
||||||
|
padding-bottom: 3rem;
|
||||||
|
img{
|
||||||
|
display: block;
|
||||||
|
width: 30%;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
.Details-text{
|
||||||
|
margin-top: .6rem;
|
||||||
|
p{
|
||||||
|
font-size: 0.28rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 0.5rem;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
|
@ -0,0 +1,487 @@
|
||||||
|
<template>
|
||||||
|
<div class="fullpage-container">
|
||||||
|
<section-view :css-style="{'background-color':'#000'}" v-lazy:background-image="assetsUri('images/ContactUs/ContactUs_banner.png')" class="contactUs-section-view">
|
||||||
|
<div class="contactUs-div wow fadeInUp">
|
||||||
|
<img v-lazy="assetsUri('images/ContactUs/ContactUs_c.png')" alt="">
|
||||||
|
<h2 class="contactUs-div-t">Contact Us</h2>
|
||||||
|
</div>
|
||||||
|
</section-view>
|
||||||
|
<section-view :css-style="{'background-color':'#fff'}">
|
||||||
|
<div class="contactUs-Why-conten wow fadeInUpBig" data-wow-delay=".8s" >
|
||||||
|
<h1 >Why Partner with us?</h1><p >The original intention of LightLimX is "Create miracles and lead the future together with entrepreneurs". We are investors and entrepreneurs,full of passion, active exploration and persistence in entrepreneurship.Such spirit makes LightLimX and investees the most solid partners. Such core value is also reflected in the value we live by.</p>
|
||||||
|
</div>
|
||||||
|
<div class="contactUs-Why-brie wow fadeInUpBig" data-wow-delay=".8s" >
|
||||||
|
<p >Please contact us if you have an innovative idea.</p>
|
||||||
|
<p >We are willing to turn your dream into real business with our support.</p>
|
||||||
|
</div>
|
||||||
|
<div class="situation-h1 wow fadeInUpBig">Email:info@lightlimx.com</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="LP-login-input-conten ">
|
||||||
|
<div class="LP-login-input wow fadeInUpBig" data-wow-delay=".3s" >
|
||||||
|
<p>Name<span style="color:#F49F00">*</span></p>
|
||||||
|
<input class="inputClass" v-model="from.name" type="text" name="" id="">
|
||||||
|
</div>
|
||||||
|
<div class="LP-login-input wow fadeInUpBig" data-wow-delay=".3s">
|
||||||
|
<p class="Password">mail<span style="color:#F49F00">*</span></p>
|
||||||
|
<input v-model="from.email" class="password-font inputClass" name="" id="">
|
||||||
|
</div>
|
||||||
|
<div class="LP-login-input wow fadeInUpBig" data-wow-delay=".3s">
|
||||||
|
<p class="Password">Organization<span style="color:#F49F00">*</span></p>
|
||||||
|
<input v-model="from.company" class="password-font inputClass" name="" id="">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="LP-login-input wow fadeInUpBig" data-wow-delay=".3s">
|
||||||
|
<p class="Password">Project<span style="color:#F49F00">*</span></p>
|
||||||
|
<public-select @select="handleSelect" class="password-font inputClass" :select.sync="from.project_id" :options="staticData">
|
||||||
|
<div class="svg-icon-wrap" style="padding-right: .35rem">
|
||||||
|
<svg-icon icon-class="cuarr"></svg-icon>
|
||||||
|
</div>
|
||||||
|
</public-select>
|
||||||
|
</div>
|
||||||
|
<div class="LP-login-input wow fadeInUpBig" data-wow-delay=".3s">
|
||||||
|
<p class="Password">More informationt<span style="color:#F49F00">*</span></p>
|
||||||
|
<div class="input-btn-conten">
|
||||||
|
<van-field
|
||||||
|
v-model="from.information"
|
||||||
|
class="input-btn-conten-textarea"
|
||||||
|
rows="1"
|
||||||
|
autosize
|
||||||
|
label=""
|
||||||
|
type="textarea"
|
||||||
|
placeholder=""
|
||||||
|
/>
|
||||||
|
<div class="input-btn-conten-box">
|
||||||
|
<img v-lazy="assetsUri('images/ContactUs/file.png')" alt="">
|
||||||
|
<van-uploader :after-read="onRead" :accept="'.pdf'">
|
||||||
|
<span class="btnx_hover">{{file_name}}</span>
|
||||||
|
</van-uploader>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="LP-login-input-btnFile wow fadeInUp" data-wow-delay=".3s">
|
||||||
|
<span @click="contactUsBtn">Submit</span>
|
||||||
|
</div>
|
||||||
|
</section-view>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import animateMixin from '../../utils/animateMixin'
|
||||||
|
import SectionView from "../../components/SectionView/index";
|
||||||
|
import {assetsUri} from '~/utils/index.js'
|
||||||
|
import PublicSelect from "../../components/PublicSelect/index";
|
||||||
|
export default {
|
||||||
|
name: 'IndexPage',
|
||||||
|
layout:'index',
|
||||||
|
mixins:[animateMixin],
|
||||||
|
components:{
|
||||||
|
PublicSelect,
|
||||||
|
SectionView
|
||||||
|
},
|
||||||
|
head() {
|
||||||
|
return {
|
||||||
|
title: this.title,
|
||||||
|
meta: [
|
||||||
|
{
|
||||||
|
hid: 'description',
|
||||||
|
name: 'description',
|
||||||
|
content: 'My custom description'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async asyncData(data) {
|
||||||
|
const { params, $http }=data;
|
||||||
|
// const post = await $http.$get(`https://api.nuxtjs.dev/posts/${params.id}`)
|
||||||
|
return { post:'121' }
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
staticData:[],
|
||||||
|
from:{
|
||||||
|
name:'',
|
||||||
|
email:'',
|
||||||
|
company:'',
|
||||||
|
project_id:'',
|
||||||
|
logo:'',
|
||||||
|
information:''
|
||||||
|
},
|
||||||
|
file_name:'Attachment Files(.PDF)',
|
||||||
|
assetsUri,
|
||||||
|
title:'LightLimX-Contract Us',
|
||||||
|
opts: {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created(){
|
||||||
|
this.handleLists()
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleSelect(item){
|
||||||
|
this.from.project_id=item.id
|
||||||
|
},
|
||||||
|
async handleLists(){
|
||||||
|
const {baseURL}=this.$config;
|
||||||
|
const res= await this.$axios(baseURL+'/projectType/index?page=1&size=100')
|
||||||
|
if(res.status!==200){
|
||||||
|
return this.$toast(res.data.msg)
|
||||||
|
}
|
||||||
|
const {content,totalElements}=res.data
|
||||||
|
this.staticData=content.map((item)=>{return {...item,id:item.id.toString()}});
|
||||||
|
},
|
||||||
|
// 文件提交
|
||||||
|
contactUsBtn(){
|
||||||
|
if(this.from.name == ''){
|
||||||
|
return this.$toast('Please enter name');
|
||||||
|
}
|
||||||
|
if(this.from.email == ''){
|
||||||
|
return this.$toast('Please enter mail');
|
||||||
|
}
|
||||||
|
if(this.from.company == ''){
|
||||||
|
return this.$toast('Please enter Organization');
|
||||||
|
}
|
||||||
|
if(this.from.project_id == ''){
|
||||||
|
return this.$toast('Please select Project');
|
||||||
|
}
|
||||||
|
if(this.from.information==''){
|
||||||
|
return this.$toast('Please enter More informationt text');
|
||||||
|
}
|
||||||
|
if(this.from.logo == ''){
|
||||||
|
return this.$toast('Please enter More informationt');
|
||||||
|
}
|
||||||
|
const {baseURL}=this.$config;
|
||||||
|
console.log('this.form',this.from)
|
||||||
|
this.$axios.post(baseURL+'/contact/save', this.from, {headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}}).then(res => {
|
||||||
|
this.$toast('Submitted successfully');
|
||||||
|
setTimeout(() => {
|
||||||
|
this.$router.push('/contact/one')
|
||||||
|
}, 500);
|
||||||
|
}).catch(err => {
|
||||||
|
alert(err)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 返回布尔值
|
||||||
|
onRead(file) {
|
||||||
|
const {baseURL}=this.$config;
|
||||||
|
let fd = new FormData()
|
||||||
|
fd.append('file', file.file)
|
||||||
|
this.$axios.post(baseURL+'/uploads/store', fd, {headers: {
|
||||||
|
'Content-Type': 'multipart/form-data'
|
||||||
|
}}).then(res => {
|
||||||
|
this.file_name = res.data.data.name;
|
||||||
|
this.from.logo= res.data.data.image.uri;
|
||||||
|
}).catch(err => {
|
||||||
|
alert(err)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.contactUs-section-view{
|
||||||
|
background-position: center bottom;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
margin-top: 0.95rem;
|
||||||
|
min-height:6.25rem !important;
|
||||||
|
.contactUs-div{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding-top: 1.6rem;
|
||||||
|
img{
|
||||||
|
display: block;
|
||||||
|
width: 15%;
|
||||||
|
}
|
||||||
|
.contactUs-div-t{
|
||||||
|
font-size: 0.72rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #FFFFFF;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.contactUs-Why-conten{
|
||||||
|
padding-top: 1.5rem;
|
||||||
|
h1{
|
||||||
|
font-size: 0.48rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #302D2C;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 0.7rem;
|
||||||
|
}
|
||||||
|
p{
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #302D2C;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 0.4rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.contactUs-Why-brie{
|
||||||
|
margin-top: 1rem;
|
||||||
|
p{
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 0.4rem;
|
||||||
|
color: #302D2C;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.situation-h1{
|
||||||
|
margin-top: 1.5rem;
|
||||||
|
font-size: 0.62rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #302D2C;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.situation-h1:hover{
|
||||||
|
/*text-shadow: 0 0 5px #FF0000, 0 0 5px #6bf403;*/
|
||||||
|
text-stroke:1px #F49F00;
|
||||||
|
-webkit-text-stroke:1px #F49F00;
|
||||||
|
color: #Fff;
|
||||||
|
}
|
||||||
|
.LP-login-input-conten{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 2rem;
|
||||||
|
.LP-login-input{
|
||||||
|
margin: 0 auto;
|
||||||
|
.inputClass{
|
||||||
|
padding-left: 0.2rem;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
width: 8.8rem;
|
||||||
|
height: 0.58rem;
|
||||||
|
display: block;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border: 1px solid #9B9B9B;
|
||||||
|
opacity: 1;
|
||||||
|
border-radius: 0.1rem;
|
||||||
|
margin-top: 0.15rem;
|
||||||
|
}
|
||||||
|
select{
|
||||||
|
outline: none;
|
||||||
|
padding: 0 .2rem;
|
||||||
|
appearance:none;
|
||||||
|
-moz-appearance:none;
|
||||||
|
-webkit-appearance:none;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
height: 0.58rem;
|
||||||
|
width: 9rem;
|
||||||
|
margin-top: 0.15rem;
|
||||||
|
border-radius: 0.1rem;
|
||||||
|
border: solid 1px #9B9B9B;
|
||||||
|
background: url("~/static/images/ContactUs/arrow.png") no-repeat 95% center !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
select::-ms-expand { display: none; }
|
||||||
|
select:focus{
|
||||||
|
border: 1px solid #F49F00;
|
||||||
|
box-shadow: 0px 3px 6px rgba(244, 159, 0, 0.12);
|
||||||
|
}
|
||||||
|
.password-font{
|
||||||
|
// font-family: none;
|
||||||
|
}
|
||||||
|
input:focus {
|
||||||
|
border: 1px solid #F49F00;
|
||||||
|
box-shadow: 0px 3px 6px rgba(244, 159, 0, 0.12);
|
||||||
|
}
|
||||||
|
p{
|
||||||
|
font-size: 0.16rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.Password{
|
||||||
|
margin-top: 0.35rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.input-btn-conten{
|
||||||
|
margin-top: 0.15rem;
|
||||||
|
width: 9rem;
|
||||||
|
min-height: 1.94rem;
|
||||||
|
border: 1px solid #9B9B9B;
|
||||||
|
border-radius: 0.1rem;
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
&-textarea{
|
||||||
|
padding:.2rem .2rem 1rem;
|
||||||
|
background-color: transparent;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
&:after{
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.input-btn-conten-box{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 0.2rem;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
img{
|
||||||
|
margin-left: 0.25rem;
|
||||||
|
width: 10%;
|
||||||
|
}
|
||||||
|
span{
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-left: 0.15rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.LP-login-input-btnFile{
|
||||||
|
margin-top: 1.2rem;
|
||||||
|
padding-bottom: 2.2rem;
|
||||||
|
span{
|
||||||
|
margin: 0 auto;
|
||||||
|
cursor: pointer;
|
||||||
|
display: block;
|
||||||
|
width: 3.5rem;
|
||||||
|
height: .6rem;
|
||||||
|
background: #F49F00;
|
||||||
|
border-radius: .1rem;
|
||||||
|
text-align: center;
|
||||||
|
line-height: .6rem;
|
||||||
|
font-size: .24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #302D2C;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media screen and (max-width: 768px){
|
||||||
|
.contactUs-section-view{
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
background-image: url('~/static/images/ContactUs/ContactUs_banner_h5.jpg') !important;
|
||||||
|
}
|
||||||
|
.contactUs-section-view .contactUs-div img{
|
||||||
|
width: 28%;
|
||||||
|
}
|
||||||
|
.contactUs-Why-conten{
|
||||||
|
padding: 0 0.3rem;
|
||||||
|
padding-top: 0.5rem;
|
||||||
|
}
|
||||||
|
.contactUs-Why-conten h1{
|
||||||
|
font-size: 0.6rem;
|
||||||
|
}
|
||||||
|
.contactUs-Why-conten p{
|
||||||
|
font-size: 0.24rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: 0.35rem;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.contactUs-Why-brie{
|
||||||
|
padding: 0 0.3rem;
|
||||||
|
}
|
||||||
|
.contactUs-Why-brie p{
|
||||||
|
font-size: 0.3rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 0.4rem;
|
||||||
|
color: #302D2C;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.situation-h1{
|
||||||
|
font-size: 0.52rem;
|
||||||
|
}
|
||||||
|
.LP-login-input-conten .LP-login-input{
|
||||||
|
width: 85%;
|
||||||
|
}
|
||||||
|
.LP-login-input-conten .LP-login-input .inputClass{
|
||||||
|
width: 100%;
|
||||||
|
height: 0.8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.LP-login-input-conten{
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
.LP-login-input-conten .LP-login-input p{
|
||||||
|
font-size: 0.3rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
.input-btn-conten{
|
||||||
|
width: 100%;
|
||||||
|
padding-right: 0.2rem;
|
||||||
|
}
|
||||||
|
.LP-login-input-btnFile{
|
||||||
|
margin-top: 1rem;
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
}
|
||||||
|
.input-btn-conten .input-btn-conten-box span{
|
||||||
|
font-size: 0.22rem;
|
||||||
|
}
|
||||||
|
.LP-login-input-btnFile span{
|
||||||
|
|
||||||
|
width: 70%;
|
||||||
|
height: 0.96rem;
|
||||||
|
|
||||||
|
line-height: 0.96rem;
|
||||||
|
font-size: 0.38rem;
|
||||||
|
|
||||||
|
}
|
||||||
|
select{
|
||||||
|
height: 0.96rem !important;
|
||||||
|
width: 104% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.LP-login-input-conten .LP-login-input input{
|
||||||
|
font-size: 0.24rem;
|
||||||
|
}
|
||||||
|
.LP-login-input-conten .LP-login-input select{
|
||||||
|
font-size: 0.24rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<style lang="less">
|
||||||
|
.van-uploader:hover span.btnx_hover{
|
||||||
|
color: #F49F00;
|
||||||
|
text-decoration: underline;
|
||||||
|
font-size: .2rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #F49F00;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,310 @@
|
||||||
|
<template>
|
||||||
|
<div class="fullpage-container">
|
||||||
|
<section-view :css-style="{'background-color':bgColors[0],'transition': 'background-color .3s ease-in'}">
|
||||||
|
<section-limit-x >
|
||||||
|
</section-limit-x>
|
||||||
|
</section-view>
|
||||||
|
<about-us id="aboutUs" :css-style="{'background-color':activeColor,'transition': 'background-color .3s ease-in'}" >
|
||||||
|
<lottie-animation
|
||||||
|
:style="{'opacity':activeColor===bgColors[1]?'1':'0'}"
|
||||||
|
:loop="true"
|
||||||
|
:speed="1000"
|
||||||
|
:autoPlay="true"
|
||||||
|
ref="anim"
|
||||||
|
:animationData="require('@/assets/data/q3.json')"
|
||||||
|
/>
|
||||||
|
</about-us>
|
||||||
|
<focus-areas id="focusAreas" :css-style="{backgroundColor:bgColors[2],'transition': 'background-color .3s ease-in'}"></focus-areas>
|
||||||
|
<our-portfolio id="ourPortfolio" :css-style="{'position':'relative','z-index':'1',backgroundColor:activeColor2,'transition': 'background-color .3s ease-in'}">
|
||||||
|
<our-portfolio-item :style="{'opacity':activeColor2==='#fff'?'1':'0'}" v-for="(item) in portfolios" :key="item.title" :item="item"></our-portfolio-item>
|
||||||
|
</our-portfolio>
|
||||||
|
<div id="portfolio" :style="{'background-color':bgColors[4],'transition': 'background-color .3s ease-in'}">
|
||||||
|
<div class="home-wrap">
|
||||||
|
<portfolio :position="position" :top="top" :bottom="bottom" :staticData="portfolio"></portfolio>
|
||||||
|
<partners :partners="partners" :showPartners="showPartners" ></partners>
|
||||||
|
<our-founders><banner :images="banners"></banner></our-founders>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<section-view id="situation" :css-style="{'background-color':activeColor3,'transition': 'background-color .3s ease-in'}">
|
||||||
|
<situation :style="{'opacity':activeColor3=='#fff'?'1':'0'}">
|
||||||
|
<email-footer ></email-footer>
|
||||||
|
</situation>
|
||||||
|
</section-view>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import LottieAnimation from 'lottie-web-vue'
|
||||||
|
import SectionLimitX from "../components/SectionLimitX/index";
|
||||||
|
import AboutUs from "../components/AboutUs/index";
|
||||||
|
import FocusAreas from "../components/FocusAreas/index";
|
||||||
|
import OurPortfolio from "../components/OurPortfolio/index";
|
||||||
|
import {portfolios} from "../assets/js/static";
|
||||||
|
import OurPortfolioItem from "../components/OurPortfolioItem/index";
|
||||||
|
import SectionView from "../components/SectionView/index";
|
||||||
|
import Portfolio from "../components/Portfolio/index";
|
||||||
|
import Partners from "../components/Partners/index";
|
||||||
|
import OurFounders from "../components/OurFounders/index";
|
||||||
|
import Banner from "../components/Banners/index";
|
||||||
|
import Situation from "../components/Situation/index";
|
||||||
|
import EmailFooter from "../components/EmailFooter/index";
|
||||||
|
import {hanldePortflioData} from "../utils/filter";
|
||||||
|
import animateMixin from '../utils/animateMixin'
|
||||||
|
export default {
|
||||||
|
name: 'IndexPage',
|
||||||
|
layout:'index',
|
||||||
|
mixins:[animateMixin],
|
||||||
|
components:{
|
||||||
|
EmailFooter,
|
||||||
|
Situation,
|
||||||
|
Banner,
|
||||||
|
OurFounders,
|
||||||
|
Partners,
|
||||||
|
Portfolio,
|
||||||
|
SectionView,
|
||||||
|
OurPortfolioItem,
|
||||||
|
OurPortfolio,
|
||||||
|
FocusAreas,
|
||||||
|
AboutUs,
|
||||||
|
SectionLimitX,
|
||||||
|
LottieAnimation
|
||||||
|
},
|
||||||
|
head() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
title: this.title,
|
||||||
|
meta: [
|
||||||
|
{
|
||||||
|
hid: 'description',
|
||||||
|
name: 'description',
|
||||||
|
content: 'My custom description'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created(){
|
||||||
|
this.activeColor=this.bgColors[1]
|
||||||
|
this.activeColor2=this.bgColors[3]
|
||||||
|
this.activeColor3=this.bgColors[5]
|
||||||
|
},
|
||||||
|
mounted(){
|
||||||
|
this.handleScroll()
|
||||||
|
window.addEventListener('scroll',this.handleScroll)
|
||||||
|
|
||||||
|
},
|
||||||
|
async asyncData(config) {
|
||||||
|
const {$axios,$config,payload}=config;
|
||||||
|
if(payload){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// const {baseURL}=$config
|
||||||
|
// const result=await Promise.all([
|
||||||
|
// $axios.$get(`${baseURL}/partners/index?page=1&size=10`),
|
||||||
|
// $axios.$get(`${baseURL}/portfolio/index?page=1&size=99`),
|
||||||
|
// $axios.$get(`${baseURL}/carousel/index?page=1&size=10`),
|
||||||
|
// ])
|
||||||
|
// if(!result.length){
|
||||||
|
// return {}
|
||||||
|
// }
|
||||||
|
// console.log(result[1].content,'result',result[2].content)
|
||||||
|
// if(!result[1].content){
|
||||||
|
// return {partners:result[0].content, banners:result[2].content,}
|
||||||
|
// }
|
||||||
|
// const myPortfolio=await hanldePortflioData(result[1].content)
|
||||||
|
// return {partners:result[0].content, banners:result[2].content,portfolio:myPortfolio}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleScroll(){
|
||||||
|
let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
|
||||||
|
// const opacity = Math.abs(Math.round(scrollTop)) / 300;
|
||||||
|
const clientWidth=document.documentElement.clientWidth;
|
||||||
|
if(clientWidth>768){
|
||||||
|
if(scrollTop>300){
|
||||||
|
this.activeColor=this.bgColors[1]
|
||||||
|
}else if(scrollTop<=300){
|
||||||
|
this.activeColor=this.bgColors[0]
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
this.activeColor=this.bgColors[1]
|
||||||
|
}
|
||||||
|
if(clientWidth<751){
|
||||||
|
this.position='sticky'
|
||||||
|
this.top='0'
|
||||||
|
this.bottom='initial';
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const focusAreasDom= document.getElementById('focusAreas');
|
||||||
|
const ourPortfolioDom= document.getElementById('ourPortfolio');
|
||||||
|
const situationDom= document.getElementById('situation');
|
||||||
|
const focusAreasSetTop=focusAreasDom.offsetTop;
|
||||||
|
const ourPortfolioDomSetTop=ourPortfolioDom.offsetTop;
|
||||||
|
const situationDomTop=situationDom.offsetTop;
|
||||||
|
if(scrollTop>(focusAreasSetTop-300)){
|
||||||
|
this.activeColor=this.bgColors[0]
|
||||||
|
this.activeColor2=this.bgColors[4]
|
||||||
|
}
|
||||||
|
if(scrollTop>(ourPortfolioDomSetTop-300)){
|
||||||
|
this.activeColor2='#fff'
|
||||||
|
}
|
||||||
|
if(scrollTop<(situationDomTop-300)){
|
||||||
|
this.activeColor3=this.bgColors[4]
|
||||||
|
}
|
||||||
|
if(scrollTop>(situationDomTop-300)){
|
||||||
|
this.activeColor3='#fff'
|
||||||
|
}
|
||||||
|
// else if(scrollTop<=300){
|
||||||
|
// this.activeColor=this.bgColors[0]
|
||||||
|
// }
|
||||||
|
const portfolioDom= document.getElementById('iPortfolio');
|
||||||
|
const portfolioOffSetTop=portfolioDom.offsetTop;
|
||||||
|
|
||||||
|
const portfolioHeight=portfolioDom.offsetHeight;
|
||||||
|
const partnersDom= document.getElementById('partners');
|
||||||
|
const partnersSetTop=partnersDom.offsetTop;
|
||||||
|
this.showPartners=scrollTop>(partnersSetTop-300)
|
||||||
|
const layoutHeight= document.getElementById('layout-header').offsetHeight;
|
||||||
|
const ballHeight= document.getElementById('ball').offsetHeight;
|
||||||
|
const portfolioTop=portfolioOffSetTop;
|
||||||
|
if(scrollTop>portfolioTop){
|
||||||
|
if(scrollTop>(portfolioHeight+portfolioTop-ballHeight)){
|
||||||
|
this.position='absolute'
|
||||||
|
this.bottom=0+'px';
|
||||||
|
this.top='initial';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.position='fixed'
|
||||||
|
this.top=layoutHeight+'px';
|
||||||
|
this.bottom='initial';
|
||||||
|
}else if(scrollTop<=portfolioTop){
|
||||||
|
this.position='absolute'
|
||||||
|
this.top='0'
|
||||||
|
this.bottom='initial';
|
||||||
|
}
|
||||||
|
// console.log(portfolioTop,'offSetTop',scrollTop,'clientWidth')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
destroyed(){
|
||||||
|
window.removeEventListener('scroll',this.handleScroll)
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
top:'0',
|
||||||
|
bottom:'initial',
|
||||||
|
position:'sticky',
|
||||||
|
activeColor:'#2E2C2C',
|
||||||
|
activeColor2:'#2E2C2C',
|
||||||
|
activeColor3:'#2E2C2C',
|
||||||
|
showPartners:false,
|
||||||
|
bgColors:[
|
||||||
|
'#2E2C2C','#fff','#000','#fff','#292727','#fff'
|
||||||
|
],
|
||||||
|
partners:[
|
||||||
|
{
|
||||||
|
logo:'images/partners/组 764@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 761@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 762@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 763@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 756@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 757@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 758@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 759@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 755@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 752@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 753@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 754@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 751@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 750@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 749@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 748@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 744@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 745@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 746@2x.png',
|
||||||
|
}, {
|
||||||
|
logo:'images/partners/组 747@2x.png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
logo:'images/partners/组 743@2x.png',
|
||||||
|
},
|
||||||
|
// ------------------------------------
|
||||||
|
{
|
||||||
|
logo:'images/partners/组 742@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 741@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 740@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 736@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 737@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 738@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 739@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 732@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 733@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 734@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 735@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 731@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 730@2x.png',
|
||||||
|
},
|
||||||
|
// --------------------------------
|
||||||
|
{
|
||||||
|
logo:'images/partners/组 729@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 728@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 727@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 726@2x.png',
|
||||||
|
},{
|
||||||
|
logo:'images/partners/组 725@2x.png',
|
||||||
|
}
|
||||||
|
],
|
||||||
|
banners:[
|
||||||
|
{
|
||||||
|
logo:'images/banners/图层 1@2x.png'
|
||||||
|
}, {
|
||||||
|
logo:'images/banners/图层 2@2x.png'
|
||||||
|
}, {
|
||||||
|
logo:'images/banners/图层 3@2x.png'
|
||||||
|
}, {
|
||||||
|
logo:'images/banners/图层-4@2x.png'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
portfolio:[],
|
||||||
|
title:'LightLimX',
|
||||||
|
portfolios
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.home-wrap{
|
||||||
|
/*max-width: 12;*/
|
||||||
|
max-width: 13rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,123 @@
|
||||||
|
<template>
|
||||||
|
<div class="fullpage-container">
|
||||||
|
<section-view :css-style="{'background-color':'#000'}" v-lazy:background-image="assetsUri('images/innovation/innovation.png')" class="innovation-section-view">
|
||||||
|
<div class="innovation-div">
|
||||||
|
<h2 class="innovation-div-t">Innovation Insights</h2>
|
||||||
|
</div>
|
||||||
|
</section-view>
|
||||||
|
<section-view :css-style="{'background-color':'#fff'}">
|
||||||
|
<p v-if="$fetchState.pending">Fetching mountains...</p>
|
||||||
|
<p v-else-if="$fetchState.error">An error occurred :</p>
|
||||||
|
<innovation-block v-else :static-data="staticData"></innovation-block>
|
||||||
|
<my-pagination @change="handleLists" v-if="staticData.length" :page.sync="page" :total="total" :pager-count="9"></my-pagination>
|
||||||
|
<email-footer></email-footer>
|
||||||
|
</section-view>
|
||||||
|
<div class="windows">
|
||||||
|
<span></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import animateMixin from '../../utils/animateMixin'
|
||||||
|
import {
|
||||||
|
assetsUri
|
||||||
|
} from "../../utils";
|
||||||
|
import SectionView from "../../components/SectionView/index";
|
||||||
|
import EmailFooter from "../../components/EmailFooter/index";
|
||||||
|
import InnovationBlock from "../../components/InnovationBlock/index";
|
||||||
|
import MyPagination from "../../components/MyPagination/index";
|
||||||
|
export default {
|
||||||
|
name: "innovation",
|
||||||
|
components: {MyPagination, InnovationBlock, EmailFooter, SectionView},
|
||||||
|
layout:'index',
|
||||||
|
watch: {
|
||||||
|
'$route.query': '$fetch'
|
||||||
|
},
|
||||||
|
mixins:[animateMixin],
|
||||||
|
async fetch() {
|
||||||
|
const {query:{page,size}}=this.$route;
|
||||||
|
if(page){
|
||||||
|
this.page=page
|
||||||
|
}
|
||||||
|
if(size){
|
||||||
|
this.size=size
|
||||||
|
}
|
||||||
|
await this.handleLists(this.page)
|
||||||
|
},
|
||||||
|
fetchOnServer: false,
|
||||||
|
methods:{
|
||||||
|
async handleLists(val){
|
||||||
|
this.page=val;
|
||||||
|
const {baseURL}=this.$config;
|
||||||
|
const res= await this.$axios(baseURL+'/innovation/index?page='+this.page+'&size='+this.size)
|
||||||
|
if(res.status!==200){
|
||||||
|
return this.$toast(res.data.msg)
|
||||||
|
}
|
||||||
|
const {content,totalElements}=res.data
|
||||||
|
this.total=totalElements;
|
||||||
|
this.staticData=content;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
head() {
|
||||||
|
return {
|
||||||
|
title: this.title,
|
||||||
|
meta: [
|
||||||
|
{
|
||||||
|
hid: 'description',
|
||||||
|
name: 'description',
|
||||||
|
content: 'My custom description'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
title:'LightLimX-Innovation Insights',
|
||||||
|
assetsUri,
|
||||||
|
page:1,
|
||||||
|
size:9,
|
||||||
|
total:0,
|
||||||
|
staticData:[]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.innovation{
|
||||||
|
&-section-view{
|
||||||
|
background-position: center bottom;
|
||||||
|
background-size: 100% 2.92rem;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
/*background-size: ;*/
|
||||||
|
padding-top: .95rem;
|
||||||
|
min-height:3.87rem !important;
|
||||||
|
}
|
||||||
|
&-div{
|
||||||
|
padding-top: 1.14rem;
|
||||||
|
text-align: center;
|
||||||
|
&-t{
|
||||||
|
font-size: .48rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: .32rem;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px){
|
||||||
|
.innovation{
|
||||||
|
&-section-view{
|
||||||
|
background-size: auto 6.24rem;
|
||||||
|
padding-top: .88rem;
|
||||||
|
min-height: 6.24rem !important;
|
||||||
|
}
|
||||||
|
&-div{
|
||||||
|
padding-top: 1.99rem;
|
||||||
|
&-t{
|
||||||
|
font-size: .6rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,156 @@
|
||||||
|
<template>
|
||||||
|
<div class="fullpage-container">
|
||||||
|
<section-view :css-style="{'background-color':'#000'}" v-lazy:background-image="assetsUri('images/join/join.png')" class="join-section-view">
|
||||||
|
<div class="join-div">
|
||||||
|
<h2 class="join-div-t">Join LightLimX</h2>
|
||||||
|
</div>
|
||||||
|
</section-view>
|
||||||
|
<div class="join-2-section-view" :style="{'position':'relative','z-index':'1','min-height':'100%','padding-bottom':'.5rem','box-sizing':'border-box'}" >
|
||||||
|
<div class="join-2-section-view-wrap">
|
||||||
|
<filter-input :locations="locations" @select="handleFilterSelect" :active.sync="activeLocation"></filter-input>
|
||||||
|
<join-us-tabs @handleSelect="handleSelect" :active="active" :content="content" :options="positionType"></join-us-tabs>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import animateMixin from '../../utils/animateMixin'
|
||||||
|
import {
|
||||||
|
assetsUri
|
||||||
|
} from "../../utils";
|
||||||
|
import SectionView from "../../components/SectionView/index";
|
||||||
|
import JoinUsTabs from "../../components/JoinUsTabs/index";
|
||||||
|
import FilterInput from "../../components/FilterInput/index";
|
||||||
|
export default {
|
||||||
|
name: "join",
|
||||||
|
components: {FilterInput, JoinUsTabs, SectionView},
|
||||||
|
layout:'index',
|
||||||
|
mixins:[animateMixin],
|
||||||
|
async asyncData(config) {
|
||||||
|
const {$axios,$config,payload}=config;
|
||||||
|
if(payload){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const {baseURL}=$config
|
||||||
|
const {content} =await $axios.$get(`${baseURL}/locations/index?page=1&size=99`)
|
||||||
|
const locations=content.map((item)=>{
|
||||||
|
return {
|
||||||
|
...item,
|
||||||
|
id:item.id.toString()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return {locations}
|
||||||
|
},
|
||||||
|
mounted(){
|
||||||
|
this.activeLocation=this.locations[0].id;
|
||||||
|
this.handlePositions().then((type)=>{
|
||||||
|
this.active=type.length?type[0].id:''
|
||||||
|
this.handlePositionOne()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
async handlePositions(){
|
||||||
|
const {baseURL}=this.$config;
|
||||||
|
const {data:{content,msg},status} = await this.$axios(`${baseURL}/join/index?page=1&size=99&locations_id=${this.activeLocation}`)
|
||||||
|
if(status!==200){
|
||||||
|
return this.$toast(msg)
|
||||||
|
}
|
||||||
|
this.positionType=content.map((item)=>{
|
||||||
|
return {
|
||||||
|
...item.position_type,
|
||||||
|
id:item.id.toString()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return this.positionType
|
||||||
|
},
|
||||||
|
async handlePositionOne(){
|
||||||
|
const {baseURL}=this.$config;
|
||||||
|
const res= await this.$axios(baseURL+'/join/one?id='+this.active)
|
||||||
|
if(res.status!==200){
|
||||||
|
return this.$toast(res.data.msg)
|
||||||
|
}
|
||||||
|
const {data}=res.data
|
||||||
|
this.content=data?data.introduce:'';
|
||||||
|
},
|
||||||
|
handleSelect(item){
|
||||||
|
this.active=item.id;
|
||||||
|
this.handlePositionOne()
|
||||||
|
},
|
||||||
|
handleFilterSelect(item){
|
||||||
|
this.activeLocation=item.id;
|
||||||
|
this.handlePositions().then((type)=>{
|
||||||
|
this.active=type.length?type[0].id:''
|
||||||
|
this.handlePositionOne()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
head() {
|
||||||
|
return {
|
||||||
|
title: this.title,
|
||||||
|
meta: [
|
||||||
|
{
|
||||||
|
hid: 'description',
|
||||||
|
name: 'description',
|
||||||
|
content: 'My custom description'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
title:'LightLimX-Join Us',
|
||||||
|
active:'',
|
||||||
|
locations:[],
|
||||||
|
activeLocation:'1',
|
||||||
|
content:'',
|
||||||
|
assetsUri,
|
||||||
|
positionType:[]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.join-2-section-view{
|
||||||
|
.join-2-section-view-wrap{
|
||||||
|
max-width: 13rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.join{
|
||||||
|
&-section-view{
|
||||||
|
background-position: center bottom;
|
||||||
|
background-size: 100% 4.4rem;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
/*background-size: ;*/
|
||||||
|
padding-top: .95rem;
|
||||||
|
min-height:5.35rem !important;
|
||||||
|
}
|
||||||
|
&-div{
|
||||||
|
padding-top: 1.78rem;
|
||||||
|
text-align: center;
|
||||||
|
&-t{
|
||||||
|
font-size: .48rem;
|
||||||
|
font-family: Manrope;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px){
|
||||||
|
.join{
|
||||||
|
&-section-view{
|
||||||
|
background-size: auto 6.24rem;
|
||||||
|
padding-top: .88rem;
|
||||||
|
min-height: 6.24rem !important;
|
||||||
|
}
|
||||||
|
&-div{
|
||||||
|
padding-top: 1.99rem;
|
||||||
|
&-t{
|
||||||
|
font-size: .6rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,116 @@
|
||||||
|
<template>
|
||||||
|
<div class="fullpage-container">
|
||||||
|
<section-view class="startup-section-view" :css-style="{'background-color':'#000000','background-repeat':'no-repeat'}" v-lazy:background-image="assetsUri('images/startUp.png')">
|
||||||
|
<startup-block></startup-block>
|
||||||
|
</section-view>
|
||||||
|
<section-view :css-style="{'background-color':'#fff'}">
|
||||||
|
<startup-content :static-data="staticData"></startup-content>
|
||||||
|
<email-footer></email-footer>
|
||||||
|
</section-view>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import animateMixin from '../../utils/animateMixin'
|
||||||
|
import {assetsUri} from "../../utils";
|
||||||
|
import SectionView from "../../components/SectionView/index";
|
||||||
|
import StartupBlock from "../../components/StartUpBlock/index";
|
||||||
|
import EmailFooter from "../../components/EmailFooter/index";
|
||||||
|
import StartupContent from "../../components/StartupContent/index";
|
||||||
|
export default {
|
||||||
|
name: "StartupsPage",
|
||||||
|
mixins:[animateMixin],
|
||||||
|
head() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
title: this.title,
|
||||||
|
meta: [
|
||||||
|
{
|
||||||
|
hid: 'description',
|
||||||
|
name: 'description',
|
||||||
|
content: 'My custom description'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
components: {StartupContent, EmailFooter, StartupBlock, SectionView},
|
||||||
|
layout:'index',
|
||||||
|
// async asyncData(config) {
|
||||||
|
// const {$axios,$config,payload}=config;
|
||||||
|
// if(payload){
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
// const {baseURL}=$config
|
||||||
|
// const {content} = await $axios.$get(`${baseURL}/startup/index?page=1&size=10`)
|
||||||
|
// return { staticData:content }
|
||||||
|
// },
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
title:'LightLimX-Startups',
|
||||||
|
assetsUri,
|
||||||
|
isMobile:false,
|
||||||
|
staticData:[
|
||||||
|
{
|
||||||
|
img:'images/startup/1.png',
|
||||||
|
title:'Enterprise & Startup',
|
||||||
|
desc:'Advising well-established enterprises and newly-founded startups for zero-to-one market entry and market expansion strategies.'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
img:'images/startup/2.png',
|
||||||
|
title:'Strategic Planning',
|
||||||
|
desc:'Define your target market,branding & marketing Strategy and plan your roadmap.'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
img:'images/startup/3.png',
|
||||||
|
title:'Tokenomics',
|
||||||
|
desc:'Design mechanisms to create and capture value with tokenomics.'
|
||||||
|
},{
|
||||||
|
img:'images/startup/4.png',
|
||||||
|
title:'Governance',
|
||||||
|
desc:'Set up robust community governance with progressive decentralization.'
|
||||||
|
},{
|
||||||
|
img:'images/startup/5.png',
|
||||||
|
title:'Fundraising',
|
||||||
|
desc:'Pitch Coaching,pitch Deck Design Support,fundraising Strategy.'
|
||||||
|
},{
|
||||||
|
img:'images/startup/6.png',
|
||||||
|
title:'Developer Hub',
|
||||||
|
desc:`Receive guidance from more than 60+top-class</br>developers from leading ecosystems.`
|
||||||
|
},{
|
||||||
|
img:'images/startup/7.png',
|
||||||
|
title:'Community growth',
|
||||||
|
desc:'Build communities while monitoring and improving their social media performance, protecting their reputation.'
|
||||||
|
},{
|
||||||
|
img:'images/startup/8.png',
|
||||||
|
title:'Workshops With Experts',
|
||||||
|
desc:'Get a front-row seat to learn from crypto experts, authors, and successful entrepreneurs.'
|
||||||
|
},{
|
||||||
|
img:'images/startup/9.png',
|
||||||
|
title:'Network of 30+ Mentors',
|
||||||
|
desc:'Our mentors bring a diverse set of skills from various industries to give you key feedback and push you to the next level. They are your long-term allies and champions.'
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.fullpage-container{
|
||||||
|
.startup-section-view{
|
||||||
|
background-size:100% calc(100% - .15rem);
|
||||||
|
background-position: center .96rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.fullpage-container{
|
||||||
|
.startup-section-view{
|
||||||
|
background-size:300% 100%;
|
||||||
|
padding-bottom: .65rem;
|
||||||
|
background-position: center .88rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,53 @@
|
||||||
|
export default function ({ store, redirect, req, router, app: { $axios } }) {
|
||||||
|
// 数据访问前缀
|
||||||
|
$axios.defaults.headers = {
|
||||||
|
Authorization: store.getters.myAuthorization||''
|
||||||
|
}
|
||||||
|
// request拦截器
|
||||||
|
// $axios.onRequest(config => {
|
||||||
|
// if(process.client){
|
||||||
|
// 客户端下,请求进度条开始
|
||||||
|
// NProgress.start();
|
||||||
|
// }
|
||||||
|
// 将获取到token加入到请求头中
|
||||||
|
// });
|
||||||
|
// response拦截器,数据返回后,可以先在这里进行一个简单的判断
|
||||||
|
$axios.interceptors.response.use(
|
||||||
|
response => {
|
||||||
|
if (process.client) {
|
||||||
|
// 客户端下, 请求进度条结束
|
||||||
|
// NProgress.done();
|
||||||
|
}
|
||||||
|
// return response
|
||||||
|
if (response.data.code == 401) {
|
||||||
|
// 返回401,token验证失败,清除客户端cookie
|
||||||
|
// Cookie.remove("token");
|
||||||
|
// 重定向到登录页面, 这里做一个判断,容错:req.url 未定义
|
||||||
|
// if(req.url){
|
||||||
|
// redirect("/sign?ref="+req.url)
|
||||||
|
// }else{
|
||||||
|
// redirect("/sign")
|
||||||
|
// }
|
||||||
|
} else if (response.data.code == 404) {
|
||||||
|
// 重定向到404页面
|
||||||
|
// redirect("/")
|
||||||
|
} else {
|
||||||
|
// 请求接口数据正常,返回数据
|
||||||
|
return response
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
if (process.client) {
|
||||||
|
// NProgress.done();
|
||||||
|
}
|
||||||
|
if (error.response.status == 500) {
|
||||||
|
// http状态500,服务器内部错误,重定向到500页面
|
||||||
|
// redirect("/500.htm")
|
||||||
|
}
|
||||||
|
if (error.response.status == 404) {
|
||||||
|
// http状态500,请求API找不到,重定向到404页面
|
||||||
|
// redirect("/404.html")
|
||||||
|
}
|
||||||
|
return Promise.reject(error.response) // 返回接口返回的错误信息
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
import Vue from 'vue';
|
||||||
|
import { Pagination as ElPagination } from 'element-ui';
|
||||||
|
Vue.use(ElPagination)
|
|
@ -0,0 +1,3 @@
|
||||||
|
import Vue from 'vue'
|
||||||
|
import LottieAnimation from 'lottie-web-vue'
|
||||||
|
Vue.use(LottieAnimation); // add lottie-animation to your global scope
|
|
@ -0,0 +1,25 @@
|
||||||
|
(function(){
|
||||||
|
function bindEvent(type){
|
||||||
|
return (data)=>{
|
||||||
|
const e = new Event(type);
|
||||||
|
e.data = data;
|
||||||
|
window.dispatchEvent(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const event_trigger = bindEvent("hadSetRem")
|
||||||
|
function remCurrent(){
|
||||||
|
const clientWidth=document.documentElement.clientWidth;
|
||||||
|
let fontSize = clientWidth / 19.2 +'px';
|
||||||
|
if(clientWidth<=750){
|
||||||
|
fontSize = clientWidth / 7.5 + 'px';
|
||||||
|
}else if(750<clientWidth&&clientWidth<=1920){
|
||||||
|
fontSize=clientWidth / 19.2 +'px';
|
||||||
|
}
|
||||||
|
document.documentElement.style.fontSize = fontSize;
|
||||||
|
}
|
||||||
|
window.addEventListener('resize',remCurrent)
|
||||||
|
remCurrent()
|
||||||
|
setTimeout(()=>{
|
||||||
|
event_trigger(true)
|
||||||
|
},1000)
|
||||||
|
})()
|
|
@ -0,0 +1,9 @@
|
||||||
|
// plugins/svgIcon.js
|
||||||
|
import Vue from 'vue'
|
||||||
|
import SvgIcon from '@/components/SvgIcon.vue'// Nuxt 默认@指向根目录
|
||||||
|
|
||||||
|
// 注册组件
|
||||||
|
Vue.component('svg-icon', SvgIcon)
|
||||||
|
// 预请求svg组件(通过之前的svg-sprite-loader加载)
|
||||||
|
const req = require.context('@/assets/svg', false, /\.svg$/)
|
||||||
|
req.keys().map(req)
|
|
@ -0,0 +1,8 @@
|
||||||
|
import Vue from 'vue'
|
||||||
|
import Vant,{Lazyload } from 'vant'
|
||||||
|
|
||||||
|
Vue.use(Vant)
|
||||||
|
Vue.use(Lazyload)
|
||||||
|
Vue.use(Lazyload, {
|
||||||
|
lazyComponent: true,
|
||||||
|
});
|
|
@ -0,0 +1,9 @@
|
||||||
|
import Vue from 'vue';
|
||||||
|
import VueAnimate from 'vue-animate-plugin';
|
||||||
|
|
||||||
|
Vue.use(VueAnimate, {
|
||||||
|
valueof: ':', // 表示v-animate指令修饰符中键与值使用什么字符分割,默认使用':'
|
||||||
|
begin: 'begin', // 表示v-animate指令修饰符中动画开始之前的挂钩点的名称,可以通过方式`.begin:onBegin`注入钩子函数,它可以是async function
|
||||||
|
after: 'complete', // 表示v-animate指令修饰符中动画结束之后的挂钩点的名称,`.complete:onComplete`方式注入钩子,它可以是async function
|
||||||
|
callback: null // 表示v-animate指令中,动画部分(包括之后的衔接部分)完全执行完毕后的钩子函数注入口
|
||||||
|
});
|
|
@ -0,0 +1,4 @@
|
||||||
|
import Vue from 'vue'
|
||||||
|
import VueClipboard from 'vue-clipboard2'
|
||||||
|
VueClipboard.config.autoSetContainer = true
|
||||||
|
Vue.use(VueClipboard)
|
|
@ -0,0 +1,4 @@
|
||||||
|
import 'animate.css'
|
||||||
|
import 'vue-fullpage/vue-fullpage.css'
|
||||||
|
import VueFullpage from 'vue-fullpage'
|
||||||
|
Vue.use(VueFullpage)
|
|
@ -0,0 +1,4 @@
|
||||||
|
import Vue from 'vue'
|
||||||
|
import VTooltip from 'v-tooltip'
|
||||||
|
|
||||||
|
Vue.use(VTooltip)
|
|
@ -0,0 +1,514 @@
|
||||||
|
(function () {
|
||||||
|
var MutationObserver; var Util; var WeakMap; var getComputedStyle; var getComputedStyleRX
|
||||||
|
var bind = function (fn, me) { return function () { return fn.apply(me, arguments) } }
|
||||||
|
var indexOf = [].indexOf || function (item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i } return -1 }
|
||||||
|
|
||||||
|
Util = (function () {
|
||||||
|
function Util () {}
|
||||||
|
|
||||||
|
Util.prototype.extend = function (custom, defaults) {
|
||||||
|
var key, value
|
||||||
|
for (key in defaults) {
|
||||||
|
value = defaults[key]
|
||||||
|
if (custom[key] == null) {
|
||||||
|
custom[key] = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return custom
|
||||||
|
}
|
||||||
|
|
||||||
|
Util.prototype.isMobile = function (agent) {
|
||||||
|
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(agent)
|
||||||
|
}
|
||||||
|
|
||||||
|
Util.prototype.createEvent = function (event, bubble, cancel, detail) {
|
||||||
|
var customEvent
|
||||||
|
if (bubble == null) {
|
||||||
|
bubble = false
|
||||||
|
}
|
||||||
|
if (cancel == null) {
|
||||||
|
cancel = false
|
||||||
|
}
|
||||||
|
if (detail == null) {
|
||||||
|
detail = null
|
||||||
|
}
|
||||||
|
if (document.createEvent != null) {
|
||||||
|
customEvent = document.createEvent('CustomEvent')
|
||||||
|
customEvent.initCustomEvent(event, bubble, cancel, detail)
|
||||||
|
} else if (document.createEventObject != null) {
|
||||||
|
customEvent = document.createEventObject()
|
||||||
|
customEvent.eventType = event
|
||||||
|
} else {
|
||||||
|
customEvent.eventName = event
|
||||||
|
}
|
||||||
|
return customEvent
|
||||||
|
}
|
||||||
|
|
||||||
|
Util.prototype.emitEvent = function (elem, event) {
|
||||||
|
if (elem.dispatchEvent != null) {
|
||||||
|
return elem.dispatchEvent(event)
|
||||||
|
} else if (event in (elem != null)) {
|
||||||
|
return elem[event]()
|
||||||
|
} else if (('on' + event) in (elem != null)) {
|
||||||
|
return elem['on' + event]()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Util.prototype.addEvent = function (elem, event, fn) {
|
||||||
|
if (elem.addEventListener != null) {
|
||||||
|
return elem.addEventListener(event, fn, false)
|
||||||
|
} else if (elem.attachEvent != null) {
|
||||||
|
return elem.attachEvent('on' + event, fn)
|
||||||
|
} else {
|
||||||
|
return elem[event] = fn
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Util.prototype.removeEvent = function (elem, event, fn) {
|
||||||
|
if (elem.removeEventListener != null) {
|
||||||
|
return elem.removeEventListener(event, fn, false)
|
||||||
|
} else if (elem.detachEvent != null) {
|
||||||
|
return elem.detachEvent('on' + event, fn)
|
||||||
|
} else {
|
||||||
|
return delete elem[event]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Util.prototype.innerHeight = function () {
|
||||||
|
if ('innerHeight' in window) {
|
||||||
|
return window.innerHeight
|
||||||
|
} else {
|
||||||
|
return document.documentElement.clientHeight
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return Util
|
||||||
|
|
||||||
|
})()
|
||||||
|
|
||||||
|
WeakMap = this.WeakMap || this.MozWeakMap || (WeakMap = (function () {
|
||||||
|
function WeakMap () {
|
||||||
|
this.keys = []
|
||||||
|
this.values = []
|
||||||
|
}
|
||||||
|
|
||||||
|
WeakMap.prototype.get = function (key) {
|
||||||
|
var i, item, j, len, ref
|
||||||
|
ref = this.keys
|
||||||
|
for (i = j = 0, len = ref.length; j < len; i = ++j) {
|
||||||
|
item = ref[i]
|
||||||
|
if (item === key) {
|
||||||
|
return this.values[i]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WeakMap.prototype.set = function (key, value) {
|
||||||
|
var i, item, j, len, ref
|
||||||
|
ref = this.keys
|
||||||
|
for (i = j = 0, len = ref.length; j < len; i = ++j) {
|
||||||
|
item = ref[i]
|
||||||
|
if (item === key) {
|
||||||
|
this.values[i] = value
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.keys.push(key)
|
||||||
|
return this.values.push(value)
|
||||||
|
}
|
||||||
|
|
||||||
|
return WeakMap
|
||||||
|
|
||||||
|
})())
|
||||||
|
|
||||||
|
MutationObserver = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (MutationObserver = (function () {
|
||||||
|
function MutationObserver () {
|
||||||
|
if (typeof console !== 'undefined' && console !== null) {
|
||||||
|
console.warn('MutationObserver is not supported by your browser.')
|
||||||
|
}
|
||||||
|
if (typeof console !== 'undefined' && console !== null) {
|
||||||
|
console.warn('WOW.js cannot detect dom mutations, please call .sync() after loading new content.')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MutationObserver.notSupported = true
|
||||||
|
|
||||||
|
MutationObserver.prototype.observe = function () {}
|
||||||
|
|
||||||
|
return MutationObserver
|
||||||
|
|
||||||
|
})())
|
||||||
|
|
||||||
|
getComputedStyle = this.getComputedStyle || function (el, pseudo) {
|
||||||
|
this.getPropertyValue = function (prop) {
|
||||||
|
var ref
|
||||||
|
if (prop === 'float') {
|
||||||
|
prop = 'styleFloat'
|
||||||
|
}
|
||||||
|
if (getComputedStyleRX.test(prop)) {
|
||||||
|
prop.replace(getComputedStyleRX, function (_, _char) {
|
||||||
|
return _char.toUpperCase()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return ((ref = el.currentStyle) != null ? ref[prop] : void 0) || null
|
||||||
|
}
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
getComputedStyleRX = /(\-([a-z]){1})/g
|
||||||
|
|
||||||
|
this.WOW = (function () {
|
||||||
|
WOW.prototype.defaults = {
|
||||||
|
boxClass: 'wow',
|
||||||
|
animateClass: 'animated',
|
||||||
|
offset: 0,
|
||||||
|
mobile: true,
|
||||||
|
live: true,
|
||||||
|
callback: null,
|
||||||
|
scrollContainer: null
|
||||||
|
}
|
||||||
|
|
||||||
|
function WOW (options) {
|
||||||
|
if (options == null) {
|
||||||
|
options = {}
|
||||||
|
}
|
||||||
|
this.scrollCallback = bind(this.scrollCallback, this)
|
||||||
|
this.scrollHandler = bind(this.scrollHandler, this)
|
||||||
|
this.resetAnimation = bind(this.resetAnimation, this)
|
||||||
|
this.start = bind(this.start, this)
|
||||||
|
this.scrolled = true
|
||||||
|
this.config = this.util().extend(options, this.defaults)
|
||||||
|
if (options.scrollContainer != null) {
|
||||||
|
this.config.scrollContainer = document.querySelector(options.scrollContainer)
|
||||||
|
}
|
||||||
|
this.animationNameCache = new WeakMap()
|
||||||
|
this.wowEvent = this.util().createEvent(this.config.boxClass)
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.init = function () {
|
||||||
|
var ref
|
||||||
|
this.element = window.document.documentElement
|
||||||
|
if ((ref = document.readyState) === 'interactive' || ref === 'complete') {
|
||||||
|
this.start()
|
||||||
|
} else {
|
||||||
|
this.util().addEvent(document, 'DOMContentLoaded', this.start)
|
||||||
|
}
|
||||||
|
return this.finished = []
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.start = function () {
|
||||||
|
var box, j, len, ref
|
||||||
|
this.stopped = false
|
||||||
|
this.boxes = (function () {
|
||||||
|
var j, len, ref, results
|
||||||
|
ref = this.element.querySelectorAll('.' + this.config.boxClass)
|
||||||
|
results = []
|
||||||
|
for (j = 0, len = ref.length; j < len; j++) {
|
||||||
|
box = ref[j]
|
||||||
|
results.push(box)
|
||||||
|
}
|
||||||
|
return results
|
||||||
|
}.call(this))
|
||||||
|
this.all = (function () {
|
||||||
|
var j, len, ref, results
|
||||||
|
ref = this.boxes
|
||||||
|
results = []
|
||||||
|
for (j = 0, len = ref.length; j < len; j++) {
|
||||||
|
box = ref[j]
|
||||||
|
results.push(box)
|
||||||
|
}
|
||||||
|
return results
|
||||||
|
}.call(this))
|
||||||
|
if (this.boxes.length) {
|
||||||
|
if (this.disabled()) {
|
||||||
|
this.resetStyle()
|
||||||
|
} else {
|
||||||
|
ref = this.boxes
|
||||||
|
for (j = 0, len = ref.length; j < len; j++) {
|
||||||
|
box = ref[j]
|
||||||
|
this.applyStyle(box, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!this.disabled()) {
|
||||||
|
this.util().addEvent(this.config.scrollContainer || window, 'scroll', this.scrollHandler)
|
||||||
|
this.util().addEvent(window, 'resize', this.scrollHandler)
|
||||||
|
this.interval = setInterval(this.scrollCallback, 50)
|
||||||
|
}
|
||||||
|
if (this.config.live) {
|
||||||
|
return new MutationObserver((function (_this) {
|
||||||
|
return function (records) {
|
||||||
|
var k, len1, node, record, results
|
||||||
|
results = []
|
||||||
|
for (k = 0, len1 = records.length; k < len1; k++) {
|
||||||
|
record = records[k]
|
||||||
|
results.push(function () {
|
||||||
|
var l, len2, ref1, results1
|
||||||
|
ref1 = record.addedNodes || []
|
||||||
|
results1 = []
|
||||||
|
for (l = 0, len2 = ref1.length; l < len2; l++) {
|
||||||
|
node = ref1[l]
|
||||||
|
results1.push(this.doSync(node))
|
||||||
|
}
|
||||||
|
return results1
|
||||||
|
}.call(_this))
|
||||||
|
}
|
||||||
|
return results
|
||||||
|
}
|
||||||
|
})(this)).observe(document.body, {
|
||||||
|
childList: true,
|
||||||
|
subtree: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.stop = function () {
|
||||||
|
this.stopped = true
|
||||||
|
this.util().removeEvent(this.config.scrollContainer || window, 'scroll', this.scrollHandler)
|
||||||
|
this.util().removeEvent(window, 'resize', this.scrollHandler)
|
||||||
|
if (this.interval != null) {
|
||||||
|
return clearInterval(this.interval)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.sync = function (element) {
|
||||||
|
if (MutationObserver.notSupported) {
|
||||||
|
return this.doSync(this.element)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.doSync = function (element) {
|
||||||
|
var box, j, len, ref, results
|
||||||
|
if (element == null) {
|
||||||
|
element = this.element
|
||||||
|
}
|
||||||
|
if (element.nodeType !== 1) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
element = element.parentNode || element
|
||||||
|
ref = element.querySelectorAll('.' + this.config.boxClass)
|
||||||
|
results = []
|
||||||
|
for (j = 0, len = ref.length; j < len; j++) {
|
||||||
|
box = ref[j]
|
||||||
|
if (indexOf.call(this.all, box) < 0) {
|
||||||
|
this.boxes.push(box)
|
||||||
|
this.all.push(box)
|
||||||
|
if (this.stopped || this.disabled()) {
|
||||||
|
this.resetStyle()
|
||||||
|
} else {
|
||||||
|
this.applyStyle(box, true)
|
||||||
|
}
|
||||||
|
results.push(this.scrolled = true)
|
||||||
|
} else {
|
||||||
|
results.push(void 0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return results
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.show = function (box) {
|
||||||
|
this.applyStyle(box)
|
||||||
|
box.className = box.className + ' ' + this.config.animateClass
|
||||||
|
if (this.config.callback != null) {
|
||||||
|
this.config.callback(box)
|
||||||
|
}
|
||||||
|
this.util().emitEvent(box, this.wowEvent)
|
||||||
|
this.util().addEvent(box, 'animationend', this.resetAnimation)
|
||||||
|
this.util().addEvent(box, 'oanimationend', this.resetAnimation)
|
||||||
|
this.util().addEvent(box, 'webkitAnimationEnd', this.resetAnimation)
|
||||||
|
this.util().addEvent(box, 'MSAnimationEnd', this.resetAnimation)
|
||||||
|
return box
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.applyStyle = function (box, hidden) {
|
||||||
|
var delay, duration, iteration
|
||||||
|
duration = box.getAttribute('data-wow-duration')
|
||||||
|
delay = box.getAttribute('data-wow-delay')
|
||||||
|
iteration = box.getAttribute('data-wow-iteration')
|
||||||
|
return this.animate((function (_this) {
|
||||||
|
return function () {
|
||||||
|
return _this.customStyle(box, hidden, duration, delay, iteration)
|
||||||
|
}
|
||||||
|
})(this))
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.animate = (function () {
|
||||||
|
if ('requestAnimationFrame' in window) {
|
||||||
|
return function (callback) {
|
||||||
|
return window.requestAnimationFrame(callback)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return function (callback) {
|
||||||
|
return callback()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})()
|
||||||
|
|
||||||
|
WOW.prototype.resetStyle = function () {
|
||||||
|
var box, j, len, ref, results
|
||||||
|
ref = this.boxes
|
||||||
|
results = []
|
||||||
|
for (j = 0, len = ref.length; j < len; j++) {
|
||||||
|
box = ref[j]
|
||||||
|
results.push(box.style.visibility = 'visible')
|
||||||
|
}
|
||||||
|
return results
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.resetAnimation = function (event) {
|
||||||
|
var target
|
||||||
|
if (event.type.toLowerCase().indexOf('animationend') >= 0) {
|
||||||
|
target = event.target || event.srcElement
|
||||||
|
return target.className = target.className.replace(this.config.animateClass, '').trim()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.customStyle = function (box, hidden, duration, delay, iteration) {
|
||||||
|
if (hidden) {
|
||||||
|
this.cacheAnimationName(box)
|
||||||
|
}
|
||||||
|
box.style.visibility = hidden ? 'hidden' : 'visible'
|
||||||
|
if (duration) {
|
||||||
|
this.vendorSet(box.style, {
|
||||||
|
animationDuration: duration
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (delay) {
|
||||||
|
this.vendorSet(box.style, {
|
||||||
|
animationDelay: delay
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (iteration) {
|
||||||
|
this.vendorSet(box.style, {
|
||||||
|
animationIterationCount: iteration
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.vendorSet(box.style, {
|
||||||
|
animationName: hidden ? 'none' : this.cachedAnimationName(box)
|
||||||
|
})
|
||||||
|
return box
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.vendors = ['moz', 'webkit']
|
||||||
|
|
||||||
|
WOW.prototype.vendorSet = function (elem, properties) {
|
||||||
|
var name, results, value, vendor
|
||||||
|
results = []
|
||||||
|
for (name in properties) {
|
||||||
|
value = properties[name]
|
||||||
|
elem['' + name] = value
|
||||||
|
results.push(function () {
|
||||||
|
var j, len, ref, results1
|
||||||
|
ref = this.vendors
|
||||||
|
results1 = []
|
||||||
|
for (j = 0, len = ref.length; j < len; j++) {
|
||||||
|
vendor = ref[j]
|
||||||
|
results1.push(elem['' + vendor + (name.charAt(0).toUpperCase()) + (name.substr(1))] = value)
|
||||||
|
}
|
||||||
|
return results1
|
||||||
|
}.call(this))
|
||||||
|
}
|
||||||
|
return results
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.vendorCSS = function (elem, property) {
|
||||||
|
var j, len, ref, result, style, vendor
|
||||||
|
style = getComputedStyle(elem)
|
||||||
|
result = style.getPropertyCSSValue(property)
|
||||||
|
ref = this.vendors
|
||||||
|
for (j = 0, len = ref.length; j < len; j++) {
|
||||||
|
vendor = ref[j]
|
||||||
|
result = result || style.getPropertyCSSValue('-' + vendor + '-' + property)
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.animationName = function (box) {
|
||||||
|
var animationName, error
|
||||||
|
try {
|
||||||
|
animationName = this.vendorCSS(box, 'animation-name').cssText
|
||||||
|
} catch (error) {
|
||||||
|
animationName = getComputedStyle(box).getPropertyValue('animation-name')
|
||||||
|
}
|
||||||
|
if (animationName === 'none') {
|
||||||
|
return ''
|
||||||
|
} else {
|
||||||
|
return animationName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.cacheAnimationName = function (box) {
|
||||||
|
return this.animationNameCache.set(box, this.animationName(box))
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.cachedAnimationName = function (box) {
|
||||||
|
return this.animationNameCache.get(box)
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.scrollHandler = function () {
|
||||||
|
return this.scrolled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.scrollCallback = function () {
|
||||||
|
var box
|
||||||
|
if (this.scrolled) {
|
||||||
|
this.scrolled = false
|
||||||
|
this.boxes = (function () {
|
||||||
|
var j, len, ref, results
|
||||||
|
ref = this.boxes
|
||||||
|
results = []
|
||||||
|
for (j = 0, len = ref.length; j < len; j++) {
|
||||||
|
box = ref[j]
|
||||||
|
if (!(box)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if (this.isVisible(box)) {
|
||||||
|
this.show(box)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
results.push(box)
|
||||||
|
}
|
||||||
|
return results
|
||||||
|
}.call(this))
|
||||||
|
if (!(this.boxes.length || this.config.live)) {
|
||||||
|
return this.stop()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.offsetTop = function (element) {
|
||||||
|
var top
|
||||||
|
while (element.offsetTop === void 0) {
|
||||||
|
element = element.parentNode
|
||||||
|
}
|
||||||
|
top = element.offsetTop
|
||||||
|
while (element = element.offsetParent) {
|
||||||
|
top += element.offsetTop
|
||||||
|
}
|
||||||
|
return top
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.isVisible = function (box) {
|
||||||
|
var bottom, offset, top, viewBottom, viewTop
|
||||||
|
offset = box.getAttribute('data-wow-offset') || this.config.offset
|
||||||
|
viewTop = (this.config.scrollContainer && this.config.scrollContainer.scrollTop) || window.pageYOffset
|
||||||
|
viewBottom = viewTop + Math.min(this.element.clientHeight, this.util().innerHeight()) - offset
|
||||||
|
top = this.offsetTop(box)
|
||||||
|
bottom = top + box.clientHeight
|
||||||
|
return top <= viewBottom && bottom >= viewTop
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.util = function () {
|
||||||
|
return this._util != null ? this._util : this._util = new Util()
|
||||||
|
}
|
||||||
|
|
||||||
|
WOW.prototype.disabled = function () {
|
||||||
|
return !this.config.mobile && this.util().isMobile(navigator.userAgent)
|
||||||
|
}
|
||||||
|
|
||||||
|
return WOW
|
||||||
|
|
||||||
|
})()
|
||||||
|
|
||||||
|
}).call(this)
|
||||||
|
window.WOW=this.WOW
|
|
@ -0,0 +1,63 @@
|
||||||
|
/* eslint-disable */
|
||||||
|
const path = require('path');
|
||||||
|
const fsEx = require('fs-extra');
|
||||||
|
const chalk = require('chalk')
|
||||||
|
const archiver = require('archiver');
|
||||||
|
const fs = require('fs');
|
||||||
|
const root = process.cwd()
|
||||||
|
const moment=require('moment')
|
||||||
|
console.log(chalk.green(`root path :${root}`))
|
||||||
|
const resolve = (url) => {
|
||||||
|
return path.join(root, url)
|
||||||
|
}
|
||||||
|
|
||||||
|
const copy = async (from, to) => {
|
||||||
|
try {
|
||||||
|
await fsEx.copy(resolve(from), resolve(to));
|
||||||
|
console.log(chalk.green(`success:${from}===>${to}`));
|
||||||
|
} catch (error) {
|
||||||
|
console.log(chalk.red(`errors:=>${error}`));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const copyFile = async () => {
|
||||||
|
await Promise.all([
|
||||||
|
copy('/static/', '/server/static/'),
|
||||||
|
copy('/.nuxt/', '/server/.nuxt/'),
|
||||||
|
copy('/ecosystem.config.js', '/server/ecosystem.config.js'),
|
||||||
|
copy('/package.json', '/server/package.json'),
|
||||||
|
copy('/nuxt.config.js', '/server/nuxt.config.js'),
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function zipFile() {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
const archive = archiver('zip', {
|
||||||
|
zlib: {
|
||||||
|
level: 5,
|
||||||
|
},
|
||||||
|
}).on('error', (err) => {
|
||||||
|
reject(err)
|
||||||
|
});
|
||||||
|
const output = fs.createWriteStream(`${root}/Limx${moment(new Date()).format('HH时mm分ss秒')}.zip`)
|
||||||
|
.on('close', (err) => {
|
||||||
|
if (err) {
|
||||||
|
reject(err)
|
||||||
|
}
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
archive.pipe(output);
|
||||||
|
archive.directory(path.join(root, `/server`), `/server`);
|
||||||
|
archive.finalize();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// copyFile();
|
||||||
|
module.exports = {
|
||||||
|
copy,
|
||||||
|
copyFile,
|
||||||
|
zipFile
|
||||||
|
}
|
|
@ -0,0 +1,47 @@
|
||||||
|
/* eslint-disable */
|
||||||
|
const {
|
||||||
|
copyFile,
|
||||||
|
zipFile,
|
||||||
|
} = require('./file');
|
||||||
|
const chalk = require('chalk');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
const root = process.cwd();
|
||||||
|
const node_ssh = require('node-ssh');
|
||||||
|
|
||||||
|
const ssh = new node_ssh();
|
||||||
|
|
||||||
|
const deploy = async() => {
|
||||||
|
await copyFile();
|
||||||
|
await zipFile();
|
||||||
|
// await ssh.connect({
|
||||||
|
// host : '---',
|
||||||
|
// username: '----',
|
||||||
|
// password: '----',
|
||||||
|
// port : --,
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// await ssh.putFile(`${root}/server/server.zip`, '/usr/local/smart-library/server-pkg/server.zip').then(() => {
|
||||||
|
// console.log('The File thing is done');
|
||||||
|
// }, (error) => {
|
||||||
|
// console.log('Something\'s wrong');
|
||||||
|
// console.log(error);
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// await ssh.exec('sh', ['./deploy.sh'], {
|
||||||
|
// cwd: '/usr/local/smart-library/server-pkg',
|
||||||
|
// onStdout(chunk) {
|
||||||
|
// console.log(chalk.green(chunk.toString('utf8')));
|
||||||
|
// },
|
||||||
|
// onStderr(chunk) {
|
||||||
|
// console.log(chalk.red(chunk.toString('utf8')));
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
// console.log('success');
|
||||||
|
process.exit(0);
|
||||||
|
};
|
||||||
|
deploy().catch((e) => {
|
||||||
|
console.log(e);
|
||||||
|
process.exit(0);
|
||||||
|
});
|
|
@ -0,0 +1,2 @@
|
||||||
|
const cmd=require('node-cmd');
|
||||||
|
cmd.run('yarn start');
|
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 293 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 194 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.3 KiB |