After Width: | Height: | Size: 356 KiB |
After Width: | Height: | Size: 102 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 191 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 6.5 KiB |
@ -1,145 +0,0 @@ |
|||||||
<template> |
|
||||||
<el-container> |
|
||||||
<el-header class="header"> |
|
||||||
<el-row :gutter="12"> |
|
||||||
<el-col :span="12"> |
|
||||||
<el-image class="logo img" :src="require('@/assets/logo.png')" alt="logo"/> |
|
||||||
</el-col> |
|
||||||
<el-col :span="12" :offset="12"> |
|
||||||
<el-row :gutter="12" class="nav"> |
|
||||||
<el-col :span="8"> |
|
||||||
<el-link>工具</el-link> |
|
||||||
</el-col> |
|
||||||
<el-col :span="8"> |
|
||||||
<el-link @click="$router.push({name:'FirApps'})">登录</el-link> |
|
||||||
</el-col> |
|
||||||
<el-col :span="8"> |
|
||||||
<el-link @click="$router.push({name:'FirRegist'})">注册</el-link> |
|
||||||
</el-col> |
|
||||||
</el-row> |
|
||||||
</el-col> |
|
||||||
</el-row> |
|
||||||
|
|
||||||
</el-header> |
|
||||||
<div> |
|
||||||
<div class="main"> |
|
||||||
<div class="top"> |
|
||||||
<img :src="require('@/assets/bg.jpeg')" alt="topimg"> |
|
||||||
</div> |
|
||||||
<div class="topplayer-top"> |
|
||||||
<div class="word">FLY 应用 分发平台</div> |
|
||||||
<el-button @click="$router.push({name:'FirApps'})">开始分发 ></el-button> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<el-footer> |
|
||||||
<el-divider/> |
|
||||||
<FirFooter></FirFooter> |
|
||||||
</el-footer> |
|
||||||
</el-container> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script> |
|
||||||
import FirFooter from "@/components/FirFooter"; |
|
||||||
|
|
||||||
export default { |
|
||||||
name: "FirIndex", |
|
||||||
components: {FirFooter}, |
|
||||||
} |
|
||||||
</script> |
|
||||||
|
|
||||||
<style scoped> |
|
||||||
* { |
|
||||||
margin: 0; |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.header { |
|
||||||
width: 100%; |
|
||||||
height: 120px; |
|
||||||
} |
|
||||||
|
|
||||||
.header .img { |
|
||||||
width: 300px; |
|
||||||
height: 85px; |
|
||||||
padding-left: 100px; |
|
||||||
padding-top: 8px; |
|
||||||
} |
|
||||||
|
|
||||||
.header .logo { |
|
||||||
float: left; |
|
||||||
} |
|
||||||
|
|
||||||
.header .nav { |
|
||||||
float: right; |
|
||||||
padding-right: 80px; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
.header .nav .el-col { |
|
||||||
margin-right: 20px; |
|
||||||
float: left; |
|
||||||
list-style: none; |
|
||||||
width: 80px; |
|
||||||
height: 60px; |
|
||||||
line-height: 100px; |
|
||||||
color: #7d7d7d; |
|
||||||
font-size: 15px; |
|
||||||
font-weight: bolder; |
|
||||||
} |
|
||||||
|
|
||||||
.header .nav .el-link:hover { |
|
||||||
color: #47477d; |
|
||||||
font-size: 16px; |
|
||||||
cursor: pointer; |
|
||||||
touch-action: manipulation; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
.main .top { |
|
||||||
margin-top: 60px; |
|
||||||
width: 100%; |
|
||||||
height: 700px; |
|
||||||
} |
|
||||||
|
|
||||||
.main .top img { |
|
||||||
width: 100%; |
|
||||||
height: 700px; |
|
||||||
} |
|
||||||
|
|
||||||
.main .topplayer-top { |
|
||||||
width: 500px; |
|
||||||
height: 300px; |
|
||||||
position: absolute; |
|
||||||
top: 400px; |
|
||||||
margin-top: -150px; |
|
||||||
z-index: 2; |
|
||||||
right: 50%; |
|
||||||
margin-right: -250px; |
|
||||||
} |
|
||||||
|
|
||||||
.main .topplayer-top .word { |
|
||||||
padding-top: 100px; |
|
||||||
color: #ffffff; |
|
||||||
font-size: 45px; |
|
||||||
font-weight: bolder; |
|
||||||
text-align: center; |
|
||||||
font-family: "微软雅黑"; |
|
||||||
} |
|
||||||
|
|
||||||
.main .topplayer-top button { |
|
||||||
width: 200px; |
|
||||||
height: 60px; |
|
||||||
margin-top: 50px; |
|
||||||
color: #ffffff; |
|
||||||
background: #f5704f; |
|
||||||
font-family: 微软雅黑; |
|
||||||
text-align: center; |
|
||||||
font-weight: bolder; |
|
||||||
font-size: 14px; |
|
||||||
border-radius: 8px; /*圆角*/ |
|
||||||
margin-left: 150px; |
|
||||||
} |
|
||||||
|
|
||||||
</style> |
|
@ -0,0 +1,267 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<div class="main"> |
||||||
|
<div class="top"> |
||||||
|
<el-carousel :interval="5000" arrow="always" height="600px"> |
||||||
|
<el-carousel-item v-for="item in swiperList" :key="item.title"> |
||||||
|
<div :style="{backgroundImage:`url(${item.img})`}" class="bpic"> |
||||||
|
<div class="topplayer-top"> |
||||||
|
<div class="word">{{ item.title }}</div> |
||||||
|
<div class="content">{{ item.content }}</div> |
||||||
|
|
||||||
|
<!-- <el-button @click="$router.push({name:'FirApps'})">开始分发 ></el-button>--> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-carousel-item> |
||||||
|
</el-carousel> |
||||||
|
|
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div id="whyChooseUs"> |
||||||
|
<div class="container"> |
||||||
|
<div class="whyChooseUs-title text-center"> |
||||||
|
<p>为什么选择我们的服务</p> |
||||||
|
<p>THE REASON TO CHOOSING US</p> |
||||||
|
</div> |
||||||
|
<el-row :gutter="20"> |
||||||
|
<el-col :span="6" v-for="(item,index) in serverList" :key="index"> |
||||||
|
<div class="server-block" |
||||||
|
onmouseenter="this.style.color='#28f';this.style.borderColor='#28f'" |
||||||
|
onmouseleave="this.style.color='#666';this.style.borderColor='#ccc'"> |
||||||
|
<img class="center-block" :src="item.logo" alt="logo"> |
||||||
|
<p class="text-center">{{item.title}}</p> |
||||||
|
<div |
||||||
|
class="text-center" |
||||||
|
v-html="item.content" |
||||||
|
onmouseenter="this.style.color='#28f'" |
||||||
|
onmouseleave="this.style.color='#ccc'" |
||||||
|
></div> |
||||||
|
</div> |
||||||
|
</el-col> |
||||||
|
</el-row> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<el-container id="contactUs"> |
||||||
|
<el-main class="contactUs-container"> |
||||||
|
<div class="content">您身边的应用托管分发</div> |
||||||
|
<div class="content">7x24小时提供出色的不间断服务</div> |
||||||
|
<el-button |
||||||
|
onmouseleave="this.style.borderColor='#ffffff'; this.style.backgroundColor='#ffffff'; this.style.color='#3f3f3f';" |
||||||
|
onmouseenter="this.style.backgroundColor='transparent'; this.style.borderColor='#ffffff'; this.style.color='#ffffff';" |
||||||
|
>联系我们 |
||||||
|
</el-button> |
||||||
|
<div class="contactUs-contactWay"> |
||||||
|
<span/> |
||||||
|
<span/> |
||||||
|
<span/> |
||||||
|
</div> |
||||||
|
</el-main> |
||||||
|
</el-container> |
||||||
|
|
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
name: "FirIndex", |
||||||
|
data() { |
||||||
|
return { |
||||||
|
swiperList: [ |
||||||
|
{ |
||||||
|
img: require("@/assets/imgs/banner2.jpg"), |
||||||
|
path: "", |
||||||
|
title: '超级签名', |
||||||
|
content: '自定义超级签签名,不再为频繁填写udid打包而烦恼', |
||||||
|
}, |
||||||
|
{ |
||||||
|
img: require("@/assets/imgs/banner1.png"), |
||||||
|
path: "", |
||||||
|
title: '内测托管', |
||||||
|
content: '一键上传应用,扫描二维码下载', |
||||||
|
}, |
||||||
|
{ |
||||||
|
img: require("@/assets/imgs/banner_2.jpg"), |
||||||
|
path: "", |
||||||
|
title: '应用合并', |
||||||
|
content: '扫描同一个二维码,根据设备类型自动下载对应的 iOS 或 Android 应用', |
||||||
|
}, |
||||||
|
{ |
||||||
|
img: require("@/assets/imgs/banner_1.jpg"), |
||||||
|
path: "", |
||||||
|
title: '权限控制', |
||||||
|
content: '灵活的访问权限控制,密码授权,下载页展示,管理应用', |
||||||
|
}, |
||||||
|
|
||||||
|
], |
||||||
|
serverList: [ |
||||||
|
{ |
||||||
|
logo: require("@/assets/imgs/tel.png"), |
||||||
|
title: "核心优势1", |
||||||
|
content: "<p>由专业客服提供人工服务</p>负责疑难问题和故障受理" |
||||||
|
}, |
||||||
|
{ |
||||||
|
logo: require("@/assets/imgs/computer.png"), |
||||||
|
title: "核心优势2", |
||||||
|
content: "<p>可定制私有化部署</p>帮助客户进行私有操作" |
||||||
|
}, |
||||||
|
{ |
||||||
|
logo: require("@/assets/imgs/qq.png"), |
||||||
|
title: "核心优势3", |
||||||
|
content: "<p>利用QQ微信等提供在线解答</p>帮助用户快速准确解决问题和故障" |
||||||
|
}, |
||||||
|
{ |
||||||
|
logo: require("@/assets/imgs/skill.png"), |
||||||
|
title: "核心优势4", |
||||||
|
content: "<p>由技术支持工程师,负责问题解答</p>需求受理及故障受理" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
* { |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
.main .top { |
||||||
|
margin-top: 10px; |
||||||
|
width: 100%; |
||||||
|
height: 600px; |
||||||
|
} |
||||||
|
|
||||||
|
.main .top .bpic { |
||||||
|
width: 100%; |
||||||
|
height: 600px; |
||||||
|
} |
||||||
|
|
||||||
|
.main .topplayer-top { |
||||||
|
width: 800px; |
||||||
|
height: 300px; |
||||||
|
position: absolute; |
||||||
|
top: 220px; |
||||||
|
margin-top: -150px; |
||||||
|
z-index: 2; |
||||||
|
right: 50%; |
||||||
|
margin-right: -400px; |
||||||
|
} |
||||||
|
|
||||||
|
.word { |
||||||
|
padding-top: 100px; |
||||||
|
color: #ffffff; |
||||||
|
font-size: 45px; |
||||||
|
font-weight: bolder; |
||||||
|
text-align: center; |
||||||
|
font-family: "微软雅黑"; |
||||||
|
} |
||||||
|
|
||||||
|
.content { |
||||||
|
padding-top: 30px; |
||||||
|
color: #ffffff; |
||||||
|
font-size: 20px; |
||||||
|
font-weight: bolder; |
||||||
|
text-align: center; |
||||||
|
font-family: "微软雅黑"; |
||||||
|
} |
||||||
|
|
||||||
|
.main .topplayer-top button { |
||||||
|
width: 200px; |
||||||
|
height: 60px; |
||||||
|
margin-top: 50px; |
||||||
|
color: #ffffff; |
||||||
|
background: #f5704f; |
||||||
|
font-family: 微软雅黑; |
||||||
|
text-align: center; |
||||||
|
font-weight: bolder; |
||||||
|
font-size: 14px; |
||||||
|
border-radius: 8px; /*圆角*/ |
||||||
|
margin-left: 150px; |
||||||
|
} |
||||||
|
|
||||||
|
#contactUs { |
||||||
|
margin-top: 60px; |
||||||
|
color: #fff; |
||||||
|
height: 400px; |
||||||
|
text-align: center; |
||||||
|
background: url("../../assets/imgs/contact_us_bg.jpg") 0 0 no-repeat; |
||||||
|
background-size: 100% 100%; |
||||||
|
transition: all ease 0.6s; |
||||||
|
} |
||||||
|
|
||||||
|
#contactUs .contactUs-container { |
||||||
|
padding-top: 50px; |
||||||
|
} |
||||||
|
|
||||||
|
#contactUs .contactUs-container button { |
||||||
|
width: 300px; |
||||||
|
height: 50px; |
||||||
|
margin-top: 40px; |
||||||
|
} |
||||||
|
|
||||||
|
#contactUs .contactUs-container .contactUs-contactWay span { |
||||||
|
display: inline-block; |
||||||
|
width: 48px; |
||||||
|
height: 48px; |
||||||
|
margin: 30px; |
||||||
|
} |
||||||
|
|
||||||
|
#contactUs .contactUs-container .contactUs-contactWay span:nth-of-type(1) { |
||||||
|
background: url("../../assets/imgs/weixin.png") 0 0 no-repeat; |
||||||
|
background-size: 100% 100%; |
||||||
|
} |
||||||
|
|
||||||
|
#contactUs .contactUs-container .contactUs-contactWay span:nth-of-type(2) { |
||||||
|
background: url("../../assets/imgs/weibo.png") 0 0 no-repeat; |
||||||
|
background-size: 100% 100%; |
||||||
|
} |
||||||
|
|
||||||
|
#contactUs .contactUs-container .contactUs-contactWay span:nth-of-type(3) { |
||||||
|
background: url("../../assets/imgs/twitter.png") 0 0 no-repeat; |
||||||
|
background-size: 100% 100%; |
||||||
|
} |
||||||
|
|
||||||
|
/* 为什么选择我们 */ |
||||||
|
#whyChooseUs { |
||||||
|
padding: 100px; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
#whyChooseUs .whyChooseUs-title { |
||||||
|
margin-bottom: 50px; |
||||||
|
} |
||||||
|
|
||||||
|
#whyChooseUs .whyChooseUs-title p:nth-of-type(1) { |
||||||
|
font-size: 25px; |
||||||
|
font-weight: 500; |
||||||
|
} |
||||||
|
|
||||||
|
#whyChooseUs .whyChooseUs-title p:nth-of-type(2) { |
||||||
|
font-size: 14px; |
||||||
|
} |
||||||
|
|
||||||
|
#whyChooseUs .server-block { |
||||||
|
padding: 50px 20px; |
||||||
|
border: 1px solid #ccc; |
||||||
|
border-bottom: 5px solid #ccc; |
||||||
|
} |
||||||
|
|
||||||
|
#whyChooseUs .server-block img { |
||||||
|
width: 48px; |
||||||
|
height: 48px; |
||||||
|
} |
||||||
|
|
||||||
|
#whyChooseUs .server-block > p { |
||||||
|
font-size: 20px; |
||||||
|
margin: 30px 0; |
||||||
|
} |
||||||
|
|
||||||
|
#whyChooseUs .server-block > div { |
||||||
|
color: #ccc; |
||||||
|
} |
||||||
|
|
||||||
|
</style> |
@ -0,0 +1,164 @@ |
|||||||
|
<template> |
||||||
|
<el-container> |
||||||
|
<div style="background-color:rgba(162, 193, 230, 0.18);"> |
||||||
|
<el-header class="header"> |
||||||
|
<el-row :gutter="12"> |
||||||
|
<el-col :span="12"> |
||||||
|
<el-image class="logo img" :src="require('@/assets/logo.png')" alt="logo"/> |
||||||
|
</el-col> |
||||||
|
<el-col :span="12" :offset="12"> |
||||||
|
<el-row :gutter="12" class="nav"> |
||||||
|
<el-col :span="8"> |
||||||
|
<el-link @click="$router.push({name:'FirIndex'})">首页</el-link> |
||||||
|
</el-col> |
||||||
|
<el-col :span="8"> |
||||||
|
<el-link @click="$router.push({name:'FirService'})">服务</el-link> |
||||||
|
</el-col> |
||||||
|
<el-col :span="8"> |
||||||
|
<el-link @click="$router.push({name:'FirApps'})">登录</el-link> |
||||||
|
</el-col> |
||||||
|
<el-col :span="8"> |
||||||
|
<el-link @click="$router.push({name:'FirRegist'})">注册</el-link> |
||||||
|
</el-col> |
||||||
|
|
||||||
|
</el-row> |
||||||
|
</el-col> |
||||||
|
</el-row> |
||||||
|
</el-header> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div> |
||||||
|
<router-view/> |
||||||
|
</div> |
||||||
|
<el-tooltip placement="top" content="回到顶部"> |
||||||
|
<back-to-top :custom-style="myBackToTopStyle" :visibility-height="300" :back-position="50" |
||||||
|
transition-name="fade"/> |
||||||
|
</el-tooltip> |
||||||
|
<el-footer> |
||||||
|
<el-divider/> |
||||||
|
<FirFooter/> |
||||||
|
</el-footer> |
||||||
|
</el-container> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import FirFooter from "@/components/FirFooter"; |
||||||
|
import BackToTop from "@/components/base/BackToTop"; |
||||||
|
|
||||||
|
export default { |
||||||
|
name: "FirIndex", |
||||||
|
components: {FirFooter, BackToTop}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
myBackToTopStyle: { |
||||||
|
right: '80px', |
||||||
|
bottom: '100px', |
||||||
|
width: '40px', |
||||||
|
height: '40px', |
||||||
|
'border-radius': '4px', |
||||||
|
'line-height': '45px', |
||||||
|
background: '#e7eaf1' |
||||||
|
}, |
||||||
|
swiperList: [ |
||||||
|
{ |
||||||
|
img: require("@/assets/imgs/banner2.jpg"), |
||||||
|
path: "", |
||||||
|
title: '超级签名', |
||||||
|
content: '自定义超级签签名,不再为频繁填写udid打包而烦恼', |
||||||
|
}, |
||||||
|
{ |
||||||
|
img: require("@/assets/imgs/banner1.png"), |
||||||
|
path: "", |
||||||
|
title: '内测托管', |
||||||
|
content: '一键上传应用,扫描二维码下载', |
||||||
|
}, |
||||||
|
{ |
||||||
|
img: require("@/assets/imgs/banner_2.jpg"), |
||||||
|
path: "", |
||||||
|
title: '应用合并', |
||||||
|
content: '扫描同一个二维码,根据设备类型自动下载对应的 iOS 或 Android 应用', |
||||||
|
}, |
||||||
|
{ |
||||||
|
img: require("@/assets/imgs/banner_1.jpg"), |
||||||
|
path: "", |
||||||
|
title: '权限控制', |
||||||
|
content: '灵活的访问权限控制,密码授权,下载页展示,管理应用', |
||||||
|
}, |
||||||
|
|
||||||
|
], |
||||||
|
serverList: [ |
||||||
|
{ |
||||||
|
logo: require("@/assets/imgs/tel.png"), |
||||||
|
title: "核心优势1", |
||||||
|
content: "<p>由专业客服提供人工服务</p>负责疑难问题和故障受理" |
||||||
|
}, |
||||||
|
{ |
||||||
|
logo: require("@/assets/imgs/computer.png"), |
||||||
|
title: "核心优势2", |
||||||
|
content: "<p>可定制私有化部署</p>帮助客户进行私有操作" |
||||||
|
}, |
||||||
|
{ |
||||||
|
logo: require("@/assets/imgs/qq.png"), |
||||||
|
title: "核心优势3", |
||||||
|
content: "<p>利用QQ微信等提供在线解答</p>帮助用户快速准确解决问题和故障" |
||||||
|
}, |
||||||
|
{ |
||||||
|
logo: require("@/assets/imgs/skill.png"), |
||||||
|
title: "核心优势4", |
||||||
|
content: "<p>由技术支持工程师,负责问题解答</p>需求受理及故障受理" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
* { |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.header { |
||||||
|
width: 100%; |
||||||
|
height: 120px; |
||||||
|
} |
||||||
|
|
||||||
|
.header .img { |
||||||
|
width: 300px; |
||||||
|
height: 85px; |
||||||
|
padding-left: 100px; |
||||||
|
padding-top: 8px; |
||||||
|
} |
||||||
|
|
||||||
|
.header .logo { |
||||||
|
float: left; |
||||||
|
} |
||||||
|
|
||||||
|
.header .nav { |
||||||
|
float: right; |
||||||
|
padding-right: 80px; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
.header .nav .el-col { |
||||||
|
margin-right: 20px; |
||||||
|
float: left; |
||||||
|
list-style: none; |
||||||
|
width: 80px; |
||||||
|
height: 60px; |
||||||
|
line-height: 100px; |
||||||
|
color: #7d7d7d; |
||||||
|
font-size: 15px; |
||||||
|
font-weight: bolder; |
||||||
|
} |
||||||
|
|
||||||
|
.header .nav .el-link:hover { |
||||||
|
color: #47477d; |
||||||
|
font-size: 16px; |
||||||
|
cursor: pointer; |
||||||
|
touch-action: manipulation; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
</style> |
@ -0,0 +1,149 @@ |
|||||||
|
<template> |
||||||
|
<div class="Service"> |
||||||
|
<div> |
||||||
|
<h3>我们的服务</h3> |
||||||
|
<p style="color:#b2b2b2">The Best Service You Never See</p> |
||||||
|
</div> |
||||||
|
<div class="Service-container"> |
||||||
|
<el-row :gutter="20"> |
||||||
|
<el-col :span="6" v-for="(item,index) in serviceList" :key="index"> |
||||||
|
<div class="Service-item Service-item-wrapper"> |
||||||
|
<div class="Service-item-top"> |
||||||
|
<h4>{{item.title}}</h4> |
||||||
|
<i/> |
||||||
|
<p>{{item.eng_title}}</p> |
||||||
|
</div> |
||||||
|
<div class="Service-item-img"> |
||||||
|
<img :src="item.img" alt="服务"> |
||||||
|
</div> |
||||||
|
<div class="Service-item-border"></div> |
||||||
|
</div> |
||||||
|
|
||||||
|
</el-col> |
||||||
|
</el-row> |
||||||
|
|
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
name: "FirService", |
||||||
|
data() { |
||||||
|
return { |
||||||
|
serviceList: [ |
||||||
|
{ |
||||||
|
id: 'section-1', |
||||||
|
title: '高性能应用分发', |
||||||
|
eng_title: 'High performance app distribution', |
||||||
|
img: require('@/assets/imgs/service1.jpg') |
||||||
|
}, { |
||||||
|
id: 'section-2', |
||||||
|
title: 'iOS超级签名', |
||||||
|
eng_title: 'IOS super signature', |
||||||
|
img: require('@/assets/imgs/service2.jpg') |
||||||
|
}, { |
||||||
|
id: 'section-3', |
||||||
|
title: '多维下载权限', |
||||||
|
eng_title: 'Multi download permission', |
||||||
|
img: require('@/assets/imgs/service3.jpg') |
||||||
|
}, { |
||||||
|
id: 'section-4', |
||||||
|
title: '应用自定义域名', |
||||||
|
eng_title: 'Custom domain name', |
||||||
|
img: require('@/assets/imgs/service4.jpg') |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
}, |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
.Service { |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
.Service-container { |
||||||
|
width: 1170px; |
||||||
|
padding: 30px 50px; |
||||||
|
margin-right: auto; |
||||||
|
margin-left: auto; |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item { |
||||||
|
margin-bottom: 50px; |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item-wrapper { |
||||||
|
cursor: pointer; |
||||||
|
background: rgba(244, 244, 244, 1); |
||||||
|
overflow: hidden; |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item-top { |
||||||
|
width: 100%; |
||||||
|
height: 120px; |
||||||
|
/*padding: 30px;*/ |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item-top > i { |
||||||
|
display: inline-block; |
||||||
|
width: 25px; |
||||||
|
height: 2px; |
||||||
|
background: #28f; |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item-top > p { |
||||||
|
color: #b2b2b2; |
||||||
|
opacity: 0; |
||||||
|
transform: translateY(10px); |
||||||
|
transition: all .5s ease; |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item-img { |
||||||
|
width: 100%; |
||||||
|
overflow: hidden; |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item-img img { |
||||||
|
width: 100%; |
||||||
|
transition: all 0.5s ease; |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item-border { |
||||||
|
position: absolute; |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
right: 0; |
||||||
|
bottom: 0; |
||||||
|
margin: auto; |
||||||
|
z-index: 9999999; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
transition: all 0.5s ease; |
||||||
|
border: 1px solid #000; |
||||||
|
opacity: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item-wrapper:hover .Service-item-top > i { |
||||||
|
opacity: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item-wrapper:hover .Service-item-top > p { |
||||||
|
opacity: 1; |
||||||
|
transform: translateY(-10px); |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item-wrapper:hover .Service-item-img > img { |
||||||
|
transform: scale(1.1, 1.1); |
||||||
|
} |
||||||
|
|
||||||
|
.Service-item-wrapper:hover > .Service-item-border { |
||||||
|
/*opacity: 1;*/ |
||||||
|
width: 90%; |
||||||
|
height: 90%; |
||||||
|
} |
||||||
|
</style> |
@ -1,21 +0,0 @@ |
|||||||
.DS_Store |
|
||||||
node_modules |
|
||||||
/dist |
|
||||||
|
|
||||||
# local env files |
|
||||||
.env.local |
|
||||||
.env.*.local |
|
||||||
|
|
||||||
# Log files |
|
||||||
npm-debug.log* |
|
||||||
yarn-debug.log* |
|
||||||
yarn-error.log* |
|
||||||
|
|
||||||
# Editor directories and files |
|
||||||
.idea |
|
||||||
.vscode |
|
||||||
*.suo |
|
||||||
*.ntvs* |
|
||||||
*.njsproj |
|
||||||
*.sln |
|
||||||
*.sw? |
|
@ -1,5 +0,0 @@ |
|||||||
module.exports = { |
|
||||||
presets: [ |
|
||||||
'@vue/cli-plugin-babel/preset' |
|
||||||
] |
|
||||||
} |
|
@ -1,45 +0,0 @@ |
|||||||
{ |
|
||||||
"name": "fir_download", |
|
||||||
"version": "0.1.0", |
|
||||||
"private": true, |
|
||||||
"scripts": { |
|
||||||
"serve": "vue-cli-service serve", |
|
||||||
"build": "vue-cli-service build", |
|
||||||
"lint": "vue-cli-service lint" |
|
||||||
}, |
|
||||||
"dependencies": { |
|
||||||
"axios": "^0.19.2", |
|
||||||
"core-js": "^3.6.4", |
|
||||||
"qrcodejs2": "^0.0.2", |
|
||||||
"vue": "^2.6.11", |
|
||||||
"vue-router": "^3.1.6", |
|
||||||
"webpack-bundle-analyzer": "^3.6.1" |
|
||||||
}, |
|
||||||
"devDependencies": { |
|
||||||
"@vue/cli-plugin-babel": "^4.2.0", |
|
||||||
"@vue/cli-plugin-eslint": "^4.2.0", |
|
||||||
"@vue/cli-service": "^4.2.0", |
|
||||||
"babel-eslint": "^10.0.3", |
|
||||||
"eslint": "^6.7.2", |
|
||||||
"eslint-plugin-vue": "^6.1.2", |
|
||||||
"vue-template-compiler": "^2.6.11" |
|
||||||
}, |
|
||||||
"eslintConfig": { |
|
||||||
"root": true, |
|
||||||
"env": { |
|
||||||
"node": true |
|
||||||
}, |
|
||||||
"extends": [ |
|
||||||
"plugin:vue/essential", |
|
||||||
"eslint:recommended" |
|
||||||
], |
|
||||||
"parserOptions": { |
|
||||||
"parser": "babel-eslint" |
|
||||||
}, |
|
||||||
"rules": {} |
|
||||||
}, |
|
||||||
"browserslist": [ |
|
||||||
"> 1%", |
|
||||||
"last 2 versions" |
|
||||||
] |
|
||||||
} |
|
@ -1,17 +0,0 @@ |
|||||||
<!DOCTYPE html> |
|
||||||
<html lang="en"> |
|
||||||
<head> |
|
||||||
<meta charset="utf-8"> |
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0"> |
|
||||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> |
|
||||||
<title>App下载</title> |
|
||||||
</head> |
|
||||||
<body> |
|
||||||
<noscript> |
|
||||||
<strong>We're sorry but fly doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> |
|
||||||
</noscript> |
|
||||||
<div id="download"></div> |
|
||||||
<!-- built files will be auto injected --> |
|
||||||
</body> |
|
||||||
</html> |
|
@ -1,77 +0,0 @@ |
|||||||
<template> |
|
||||||
<div id="download" ref="download"> |
|
||||||
<router-view></router-view> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script> |
|
||||||
|
|
||||||
export default { |
|
||||||
name: 'download', |
|
||||||
data() { |
|
||||||
return { |
|
||||||
} |
|
||||||
}, |
|
||||||
} |
|
||||||
</script> |
|
||||||
|
|
||||||
<style> |
|
||||||
body { |
|
||||||
background-color: rgba(0, 166, 224, 0.18) |
|
||||||
} |
|
||||||
|
|
||||||
@font-face {font-family: "iconfont"; |
|
||||||
src: url('./assets/icon/iconfont.eot?t=1583637102320'); /* IE9 */ |
|
||||||
src: url('./assets/icon/iconfont.eot?t=1583637102320#iefix') format('embedded-opentype'), /* IE6-IE8 */ |
|
||||||
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), |
|
||||||
url('./assets/icon/iconfont.woff?t=1583637102320') format('woff'), |
|
||||||
url('./assets/icon/iconfont.ttf?t=1583637102320') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ |
|
||||||
url('./assets/icon/iconfont.svg?t=1583637102320#iconfont') format('svg'); /* iOS 4.1- */ |
|
||||||
} |
|
||||||
|
|
||||||
.iconfont { |
|
||||||
font-family: "iconfont" !important; |
|
||||||
font-size: 16px; |
|
||||||
font-style: normal; |
|
||||||
-webkit-font-smoothing: antialiased; |
|
||||||
-moz-osx-font-smoothing: grayscale; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-android:before { |
|
||||||
content: "\e61d"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-android1:before { |
|
||||||
content: "\e616"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-android2:before { |
|
||||||
content: "\e62a"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-ios:before { |
|
||||||
content: "\e60c"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-IOS:before { |
|
||||||
content: "\e68c"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-ios1:before { |
|
||||||
content: "\e601"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-ios2:before { |
|
||||||
content: "\e64b"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-Android:before { |
|
||||||
content: "\e6d4"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-android3:before { |
|
||||||
content: "\e625"; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
</style> |
|
Before Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 30 KiB |
@ -1,53 +0,0 @@ |
|||||||
@font-face {font-family: "iconfont"; |
|
||||||
src: url('iconfont.eot?t=1583637102320'); /* IE9 */ |
|
||||||
src: url('iconfont.eot?t=1583637102320#iefix') format('embedded-opentype'), /* IE6-IE8 */ |
|
||||||
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), |
|
||||||
url('iconfont.woff?t=1583637102320') format('woff'), |
|
||||||
url('iconfont.ttf?t=1583637102320') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ |
|
||||||
url('iconfont.svg?t=1583637102320#iconfont') format('svg'); /* iOS 4.1- */ |
|
||||||
} |
|
||||||
|
|
||||||
.iconfont { |
|
||||||
font-family: "iconfont" !important; |
|
||||||
font-size: 16px; |
|
||||||
font-style: normal; |
|
||||||
-webkit-font-smoothing: antialiased; |
|
||||||
-moz-osx-font-smoothing: grayscale; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-android:before { |
|
||||||
content: "\e61d"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-android1:before { |
|
||||||
content: "\e616"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-android2:before { |
|
||||||
content: "\e62a"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-ios:before { |
|
||||||
content: "\e60c"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-IOS:before { |
|
||||||
content: "\e68c"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-ios1:before { |
|
||||||
content: "\e601"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-ios2:before { |
|
||||||
content: "\e64b"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-Android:before { |
|
||||||
content: "\e6d4"; |
|
||||||
} |
|
||||||
|
|
||||||
.icon-android3:before { |
|
||||||
content: "\e625"; |
|
||||||
} |
|
||||||
|
|
@ -1,72 +0,0 @@ |
|||||||
{ |
|
||||||
"id": "", |
|
||||||
"name": "", |
|
||||||
"font_family": "iconfont", |
|
||||||
"css_prefix_text": "icon-", |
|
||||||
"description": "", |
|
||||||
"glyphs": [ |
|
||||||
{ |
|
||||||
"icon_id": "217325", |
|
||||||
"name": "android", |
|
||||||
"font_class": "android", |
|
||||||
"unicode": "e61d", |
|
||||||
"unicode_decimal": 58909 |
|
||||||
}, |
|
||||||
{ |
|
||||||
"icon_id": "1261088", |
|
||||||
"name": "android", |
|
||||||
"font_class": "android1", |
|
||||||
"unicode": "e616", |
|
||||||
"unicode_decimal": 58902 |
|
||||||
}, |
|
||||||
{ |
|
||||||
"icon_id": "1410210", |
|
||||||
"name": "android", |
|
||||||
"font_class": "android2", |
|
||||||
"unicode": "e62a", |
|
||||||
"unicode_decimal": 58922 |
|
||||||
}, |
|
||||||
{ |
|
||||||
"icon_id": "1420800", |
|
||||||
"name": "IOS", |
|
||||||
"font_class": "ios", |
|
||||||
"unicode": "e60c", |
|
||||||
"unicode_decimal": 58892 |
|
||||||
}, |
|
||||||
{ |
|
||||||
"icon_id": "1546553", |
|
||||||
"name": "IOS", |
|
||||||
"font_class": "IOS", |
|
||||||
"unicode": "e68c", |
|
||||||
"unicode_decimal": 59020 |
|
||||||
}, |
|
||||||
{ |
|
||||||
"icon_id": "2075064", |
|
||||||
"name": "ios", |
|
||||||
"font_class": "ios1", |
|
||||||
"unicode": "e601", |
|
||||||
"unicode_decimal": 58881 |
|
||||||
}, |
|
||||||
{ |
|
||||||
"icon_id": "2325952", |
|
||||||
"name": "ios", |
|
||||||
"font_class": "ios2", |
|
||||||
"unicode": "e64b", |
|
||||||
"unicode_decimal": 58955 |
|
||||||
}, |
|
||||||
{ |
|
||||||
"icon_id": "3965518", |
|
||||||
"name": "Android", |
|
||||||
"font_class": "Android", |
|
||||||
"unicode": "e6d4", |
|
||||||
"unicode_decimal": 59092 |
|
||||||
}, |
|
||||||
{ |
|
||||||
"icon_id": "13302922", |
|
||||||
"name": "android", |
|
||||||
"font_class": "android3", |
|
||||||
"unicode": "e625", |
|
||||||
"unicode_decimal": 58917 |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
Before Width: | Height: | Size: 16 KiB |
@ -1,11 +0,0 @@ |
|||||||
import Vue from 'vue' |
|
||||||
import Download from "@/Download"; |
|
||||||
import router from "@/router/download"; |
|
||||||
|
|
||||||
|
|
||||||
Vue.config.productionTip = false; |
|
||||||
|
|
||||||
new Vue({ |
|
||||||
render: h => h(Download), |
|
||||||
router, |
|
||||||
}).$mount('#download'); |
|
@ -1,115 +0,0 @@ |
|||||||
import Axios from 'axios' |
|
||||||
const https = require('https'); |
|
||||||
Axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; |
|
||||||
Axios.defaults.withCredentials = true; |
|
||||||
Axios.defaults.httpsAgent = new https.Agent({ |
|
||||||
keepAlive: true |
|
||||||
}); |
|
||||||
|
|
||||||
const DOMAIN = 'https://fly.harmonygames.cn'; |
|
||||||
const APIPATH='/api/v1/fir/server'; |
|
||||||
let USERSEVER = DOMAIN+APIPATH; |
|
||||||
|
|
||||||
|
|
||||||
function getData(url, params = {}, callBack) { |
|
||||||
|
|
||||||
|
|
||||||
var uri = ''; |
|
||||||
var keys = Object.keys(params); |
|
||||||
var values = Object.values(params); |
|
||||||
for (var i = 0; i < keys.length; i++) { |
|
||||||
var key = keys[i]; |
|
||||||
var value = values[i]; |
|
||||||
uri = uri + key + "=" + value; |
|
||||||
if (i < keys.length - 1) { |
|
||||||
uri = uri + "&" |
|
||||||
} |
|
||||||
} |
|
||||||
if (uri !== "") { |
|
||||||
uri = "?" + uri |
|
||||||
} |
|
||||||
url = url + uri; |
|
||||||
Axios |
|
||||||
.get(url, params) |
|
||||||
.then(function (response) { |
|
||||||
callBack(response.data); |
|
||||||
let x = ''; |
|
||||||
if (x !== '') { |
|
||||||
alert(x) |
|
||||||
} |
|
||||||
}) |
|
||||||
.catch(function (error) { |
|
||||||
|
|
||||||
if (error && error.response) { |
|
||||||
switch (error.response.status) { |
|
||||||
case 400: |
|
||||||
error.message = '请求错误(400)'; |
|
||||||
break; |
|
||||||
case 401: |
|
||||||
error.message = '未授权,请重新登录(401)'; |
|
||||||
break; |
|
||||||
case 403: |
|
||||||
error.message = '拒绝访问(403)'; |
|
||||||
break; |
|
||||||
case 404: |
|
||||||
error.message = '请求出错(404)'; |
|
||||||
break; |
|
||||||
case 408: |
|
||||||
error.message = '请求超时(408)'; |
|
||||||
break; |
|
||||||
case 500: |
|
||||||
error.message = '服务器错误(500)'; |
|
||||||
break; |
|
||||||
case 501: |
|
||||||
error.message = '服务未实现(501)'; |
|
||||||
break; |
|
||||||
case 502: |
|
||||||
error.message = '网络错误(502)'; |
|
||||||
break; |
|
||||||
case 503: |
|
||||||
error.message = '服务不可用(503)'; |
|
||||||
break; |
|
||||||
case 504: |
|
||||||
error.message = '网络超时(504)'; |
|
||||||
break; |
|
||||||
case 505: |
|
||||||
error.message = 'HTTP版本不受支持(505)'; |
|
||||||
break; |
|
||||||
default: |
|
||||||
error.message = `连接出错(${error.response.status})!`; |
|
||||||
} |
|
||||||
} else { |
|
||||||
error.message = '连接服务器失败!'; |
|
||||||
} |
|
||||||
if (error.message === 'Network Error') { |
|
||||||
alert('网络连接失败') |
|
||||||
} |
|
||||||
|
|
||||||
callBack({"code":-1}); |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**根据短链接获取应用信息 */ |
|
||||||
export function getShortAppinfo(callBack, params) { |
|
||||||
getData( |
|
||||||
USERSEVER + '/short/' + params.short , |
|
||||||
params, |
|
||||||
data => { |
|
||||||
callBack(data); |
|
||||||
}, |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
/**获取下载的url */ |
|
||||||
export function getdownloadurl(callBack, params) { |
|
||||||
getData( |
|
||||||
USERSEVER + '/install/'+params.app_id , |
|
||||||
params.data, |
|
||||||
data => { |
|
||||||
callBack(data); |
|
||||||
}, |
|
||||||
); |
|
||||||
} |
|
@ -1,26 +0,0 @@ |
|||||||
import Vue from 'vue' |
|
||||||
//1.先导入
|
|
||||||
import VueRouter from 'vue-router' |
|
||||||
//2.一定先use 一下
|
|
||||||
Vue.use(VueRouter); |
|
||||||
|
|
||||||
// 解决push 同一个路由的错误
|
|
||||||
const originalPush = VueRouter.prototype.push; |
|
||||||
VueRouter.prototype.push = function push(location) { |
|
||||||
return originalPush.call(this, location).catch(err => err) |
|
||||||
}; |
|
||||||
|
|
||||||
import FirDownload from "@/components/FirDownload"; |
|
||||||
const router = new VueRouter({ |
|
||||||
mode:'history', |
|
||||||
routes: [ |
|
||||||
{ |
|
||||||
path: '/:short', |
|
||||||
name: 'FirDownload', |
|
||||||
component: FirDownload |
|
||||||
} |
|
||||||
] |
|
||||||
}); |
|
||||||
|
|
||||||
|
|
||||||
export default router; |
|
@ -1,27 +0,0 @@ |
|||||||
// const WebpackBundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
|
|
||||||
//
|
|
||||||
// module.exports = {
|
|
||||||
// configureWebpack: {
|
|
||||||
// plugins: [new WebpackBundleAnalyzerPlugin()]
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
|
|
||||||
module.exports = { |
|
||||||
pages: { |
|
||||||
index: { |
|
||||||
// page 的入口
|
|
||||||
entry: 'src/main.js', |
|
||||||
// 模板来源
|
|
||||||
template: 'public/short.html', |
|
||||||
// 在 dist/short.html 的输出
|
|
||||||
filename: 'short.html', |
|
||||||
// 当使用 title 选项时,
|
|
||||||
// template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
|
|
||||||
title: '应用下载', |
|
||||||
// 在这个页面中包含的块,默认情况下会包含
|
|
||||||
// 提取出来的通用 chunk 和 vendor chunk。
|
|
||||||
chunks: ['chunk-vendors', 'chunk-common', 'index'] |
|
||||||
}, |
|
||||||
} |
|
||||||
}; |
|