Commit 64e82f42 authored by wanli's avatar wanli

更新前端以及修复一处bug

parent e92b215e
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
"vue-codemirror": "^4.0.6", "vue-codemirror": "^4.0.6",
"vue-count-to": "^1.0.13", "vue-count-to": "^1.0.13",
"vue-grid-layout": "^2.3.12", "vue-grid-layout": "^2.3.12",
"vue-loading-spinner": "^1.0.11",
"vue-plyr": "^7.0.0", "vue-plyr": "^7.0.0",
"vue-router": "^3.1.3", "vue-router": "^3.1.3",
"vuex": "^3.1.2" "vuex": "^3.1.2"
......
<!DOCTYPE html> <!DOCTYPE html>
<html lang="cn"> <html lang="zh">
<head id="head"> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript> </noscript>
<div id="app"></div> <div id="app"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.1.1/gsap.min.js"></script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -11,7 +11,7 @@ export default { ...@@ -11,7 +11,7 @@ export default {
mounted() { mounted() {
let divTemp = document.createElement("title"); let divTemp = document.createElement("title");
divTemp.innerHTML = defaultSetting.title; divTemp.innerHTML = defaultSetting.title;
document.getElementById("head").appendChild(divTemp) document.querySelector("head").appendChild(divTemp)
}, },
} }
</script> </script>
...@@ -235,30 +235,30 @@ export function getTopicList(params) { ...@@ -235,30 +235,30 @@ export function getTopicList(params) {
return request({ return request({
url: "/uowap/index", url: "/uowap/index",
method: "get", method: "get",
params, params
}); });
} }
export function addFramework(params) { export function getTabList(params) {
return request({ return request({
url: "/api/v1/evm_store/framework/add", url: "/uowap/index",
method: "post", method: "get",
data: params, params
}); });
} }
export function updateFramework(id, params) { export function getAppList(params) {
return request({ return request({
url: `/api/v1/evm_store/framework/update/${id}`, url: "/uowap/index",
method: "post", method: "get",
data: params, params
}); });
} }
export function deleteFramework(params) { export function getDataList(params) {
return request({ return request({
url: "/api/v1/evm_store/framework/delete", url: "/uowap/index",
method: "post", method: "get",
data: params, params
}); });
} }
...@@ -5,7 +5,6 @@ Vue.use(Router); ...@@ -5,7 +5,6 @@ Vue.use(Router);
/* Layout */ /* Layout */
import Layout from "@/layout"; import Layout from "@/layout";
import DevLayout from "@/layout/developer";
import StoreLayout from "@/layout/store"; import StoreLayout from "@/layout/store";
/** /**
...@@ -74,7 +73,7 @@ export const constantRoutes = [ ...@@ -74,7 +73,7 @@ export const constantRoutes = [
path: 'list', path: 'list',
name: 'AppList', name: 'AppList',
component: () => import('@/views/app-store/list'), component: () => import('@/views/app-store/list'),
meta: { title: '更多应用', icon: 'home' } meta: { title: '游戏', icon: 'home' }
}] }]
}, },
{ {
...@@ -146,22 +145,22 @@ export const constantRoutes = [ ...@@ -146,22 +145,22 @@ export const constantRoutes = [
{ {
path: '/', path: '/',
redirect: '/developer', redirect: '/developer',
component: DevLayout, component: StoreLayout,
children: [{ children: [{
path: 'developer', path: 'developer',
name: 'Developer', name: 'Developer',
component: () => import('@/views/developer/index'), component: () => import('@/views/app-store/developer'),
meta: { title: '开发者中心', icon: 'home' } meta: { title: '开发者中心', icon: 'home' }
}] }]
}, },
{ {
path: '/', path: '/',
redirect: '/docs', redirect: '/docs',
component: Layout, component: StoreLayout,
children: [{ children: [{
path: 'docs', path: 'docs',
name: 'Document', name: 'Document',
component: () => import('@/views/developer/docs'), component: () => import('@/views/app-store/docs'),
meta: { title: '开发文档', icon: 'shangcheng' } meta: { title: '开发文档', icon: 'shangcheng' }
}] }]
}, },
...@@ -252,7 +251,19 @@ export const constantRoutes = [ ...@@ -252,7 +251,19 @@ export const constantRoutes = [
component: () => import('@/views/error-pages/403'), component: () => import('@/views/error-pages/403'),
meta: { title: '403', icon: 'home' } meta: { title: '403', icon: 'home' }
}] }]
} },
{
path: '/',
redirect: '/not-found',
component: StoreLayout,
children: [{
path: 'not-found',
name: 'NotFound',
component: () => import('@/views/error-pages/not-found'),
meta: { title: 'not-found', icon: 'home' }
}]
},
{ path: '*', redirect: '/404', hidden: true }
]; ];
// 404 page must be placed at the end !!! // 404 page must be placed at the end !!!
......
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="top"> <p class="title">应用分类</p>
<label>大家都在用</label> <div class="categories">
</div> <p>分类</p>
<div class="content"> <ul>
<div class="item"> <li
<img src="../../assets/images/evue-logo.png" alt="icon" /> :class="tabIndex == index ? 'active' : ''"
<div class="text"> v-for="(item, index) in tabList"
<p class="title">EVUE</p> :key="index"
<p class="subtitle"> @click="onTabClick(index)"
<star-rating
v-bind:rating="3.5"
v-bind:increment="0.1"
v-bind:max-rating="5"
v-bind:star-size="15"
v-bind:read-only="true"
inactive-color="#9E9E9E"
active-color="#FFC83D"
> >
</star-rating> {{ item.tabName }}
</p> </li>
<p class="subtitle">八零八零八附带上方</p> </ul>
</div> </div>
<button class="install">安装</button> <div class="categories">
</div> <p>子分类</p>
<div class="item"> <ul>
<img src="../../assets/images/evue-logo.png" alt="icon" /> <li
<div class="text"> :class="tabChildIndex == index ? 'active' : ''"
<p class="title">EVUE</p> v-for="(item, index) in tabChildList"
<p class="subtitle"> :key="index"
<star-rating @click="onTabChildClick(index)"
v-bind:rating="3.5"
v-bind:increment="0.1"
v-bind:max-rating="5"
v-bind:star-size="15"
v-bind:read-only="true"
inactive-color="#9E9E9E"
active-color="#FFC83D"
> >
</star-rating> {{ item.tabName }}
</p> </li>
<p class="subtitle">八零八零八附带上方</p> </ul>
</div> </div>
<button class="install">安装</button> <div v-show="!loading" class="content">
</div> <div class="item" v-for="(item, index) in dataList" :key="index">
<div class="item"> <img :src="item.icon" alt="icon" />
<img src="../../assets/images/evue-logo.png" alt="icon" />
<div class="text"> <div class="text">
<p class="title">EVUE</p> <p class="title">{{ item.name }}</p>
<p class="subtitle"> <p class="subtitle">
<star-rating <star-rating
v-bind:rating="3.5" v-bind:rating="3.5"
...@@ -60,107 +44,128 @@ ...@@ -60,107 +44,128 @@
> >
</star-rating> </star-rating>
</p> </p>
<p class="subtitle">八零八零八附带上方</p> <p class="subtitle">{{ item.memo }}</p>
</div>
<button class="install">安装</button>
</div>
<div class="item">
<img src="../../assets/images/evue-logo.png" alt="icon" />
<div class="text">
<p class="title">EVUE</p>
<p class="subtitle">
<star-rating
v-bind:rating="3.5"
v-bind:increment="0.1"
v-bind:max-rating="5"
v-bind:star-size="15"
v-bind:read-only="true"
inactive-color="#9E9E9E"
active-color="#FFC83D"
>
</star-rating>
</p>
<p class="subtitle">八零八零八附带上方</p>
</div>
<button class="install">安装</button>
</div>
<div class="item">
<img src="../../assets/images/evue-logo.png" alt="icon" />
<div class="text">
<p class="title">EVUE</p>
<p class="subtitle">
<star-rating
v-bind:rating="3.5"
v-bind:increment="0.1"
v-bind:max-rating="5"
v-bind:star-size="15"
v-bind:read-only="true"
inactive-color="#9E9E9E"
active-color="#FFC83D"
>
</star-rating>
</p>
<p class="subtitle">八零八零八附带上方</p>
</div>
<button class="install">安装</button>
</div>
<div class="item">
<img src="../../assets/images/evue-logo.png" alt="icon" />
<div class="text">
<p class="title">EVUE</p>
<p class="subtitle">
<star-rating
v-bind:rating="3.5"
v-bind:increment="0.1"
v-bind:max-rating="5"
v-bind:star-size="15"
v-bind:read-only="true"
inactive-color="#9E9E9E"
active-color="#FFC83D"
>
</star-rating>
</p>
<p class="subtitle">八零八零八附带上方</p>
</div> </div>
<button class="install">安装</button> <button class="install">安装</button>
</div> </div>
</div> </div>
<circle5 v-show="loading"></circle5>
</div> </div>
</template> </template>
<script> <script>
import { getTabList, getDataList } from "@/api/app-store";
import { Circle5 } from "vue-loading-spinner";
import StarRating from "vue-star-rating"; import StarRating from "vue-star-rating";
export default { export default {
name: "AppCategory", name: "AppCategory",
components: { components: {
StarRating, StarRating,
Circle5,
}, },
data() { data() {
return {}; return {
loading: false,
tabIndex: 0,
tabChildIndex: 0,
tabList: [],
tabChildList: [],
query: {
method: "internal.getTabDetail",
serviceType: 20,
reqPageNum: 1,
uri: "b2b4752f0a524fe5ad900870f88c11ed",
maxResults: 25,
zone: "",
locale: "zh",
},
dataList: [],
};
},
methods: {
getTabList() {
this.loading = true;
getTabList(this.query)
.then((res) => {
if (res.tabInfo && res.tabInfo.length) {
this.tabList = res.tabInfo;
this.tabChildList = this.tabList[this.tabIndex].tabInfo;
}
})
.catch((err) => {
if (err.tabInfo && err.tabInfo.length) {
this.tabList = err.tabInfo;
this.tabChildList = this.tabList[this.tabIndex].tabInfo;
this.query.uri = this.tabChildList[this.tabChildIndex].realTabId;
this.getDataList();
}
})
.finally(() => {
this.loading = false;
});
},
getDataList() {
getDataList(this.query)
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
if (err.layoutData && err.layoutData.length) {
this.dataList = err.layoutData[0].dataList;
}
});
},
onTabClick(index) {
this.tabIndex = index;
this.tabChildList = this.tabList[index].tabInfo;
this.query.uri = this.tabChildList[this.tabChildIndex].realTabId;
this.getTabList();
},
onTabChildClick(index) {
this.tabChildIndex = index;
this.query.uri = this.tabChildList[this.tabChildIndex].realTabId;
this.getTabList();
},
},
created() {
this.getTabList();
}, },
computed: {},
methods: {},
beforeMount() {},
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
div.app-container { div.app-container {
margin: 20px 0px; margin: 20px 0px;
& > div.top { & > p {
display: flex;
justify-content: space-between;
& > label {
margin: 0px; margin: 0px;
font-size: 20px; font-size: 18px;
} }
& > div.categories {
display: flex;
flex-direction: row;
margin: 20px 0px;
font-size: 14px;
& > p { & > p {
cursor: pointer; width: 100px;
margin: 0px; margin: 0px;
display: inline-flex; }
align-items: center; & > ul {
flex: 1;
display: grid;
grid-column-gap: 10px;
grid-row-gap: 10px;
grid-template-columns: repeat(auto-fill, 100px);
& > li {
cursor: pointer;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 14px; font-size: 14px;
& > img { &.active {
width: 20px; color: #4cd1e0;
height: 20px; }
&:hover {
color: #4cd1e0;
}
} }
} }
} }
......
<template>
<div class="app-container">
<img
src="http://gtms01.alicdn.com/tps/i1/TB1rGYSGFXXXXawXXXXDcMi7VXX-1440-336.png"
/>
<div class="service-group">
<p>开发者实名认证</p>
<p>上传新应用</p>
<p>认领新应用</p>
<p>我的应用</p>
<p>申请推广</p>
</div>
<p style="text-align: center;color: red;">开发者中心尚未完善,敬请期待!!!</p>
<div class="help-group">
<dl class="service">
<dt>管理应用<s></s></dt>
<dd>我的应用</dd>
<dd>上传新应用</dd>
<dd>认领应用</dd>
</dl>
<dl class="service">
<dt>开发者身份管理<s></s></dt>
<dd>开发者实名认证</dd>
<dd>查看开发者身份</dd>
<dd>更换认证支付宝账号</dd>
<dd>修改联系人信息</dd>
</dl>
<dl class="service">
<dt>推广<s></s></dt>
<dd>申请推广</dd>
<dd>应用推广</dd>
<dd>礼包权益</dd>
</dl>
<dl class="service">
<dt>我的账户<s></s></dt>
<dd>我的充值记录</dd>
<dd>我的收益</dd>
<dd>开发票</dd>
</dl>
</div>
<div class="help-group">
<dl class="service">
<dt>EVM服务<s></s></dt>
<dd>云手机助手</dd>
<dd>云空间</dd>
<dd>主题中心</dd>
<dd>应用中心</dd>
</dl>
<dl class="service">
<dt>EVM版本<s></s></dt>
<dd>
<a target="_blank" href="http://www.yunos.com/yunos30.html"
>EVM 3.0</a
>
</dd>
</dl>
<dl class="service">
<dt class="touchable">帮助中心</dt>
<dd><a target="_blank" href="#help/help">帮助中心首页</a></dd>
<dd><a target="_blank" href="#help/agreement">平台协议</a></dd>
<dd><a target="_blank" href="#help/document">开发者文档</a></dd>
<dd><a target="_blank" href="#help/qa">Q&A</a></dd>
</dl>
<dl class="service">
<dt>关注EVM<s></s></dt>
<dd>
<a
class="g-lw-entry"
href="javascript:void(0);"
style="padding: 0; border: none"
>微信公众号</a
>
</dd>
<dd>
<img
width="120"
height="120"
title="扫描二维码关注 EVM 官方公众号"
alt="EVM微信公众号"
src="../../assets/images/evm-mp.jpg"
/>
</dd>
</dl>
</div>
</div>
</template>
<script>
export default {
name: "Developer",
data() {
return {};
},
created() {},
mounted() {},
methods: {},
};
</script>
<style lang="scss">
div.app-container {
& > img {
width: 100%;
height: auto;
}
& > div.service-group {
display: grid;
justify-content: center;
grid-template-columns: repeat(5, 1fr);
grid-template-rows: 1fr;
& > p {
text-align: center;
}
}
& > div.help-group {
margin: 50px 0px;
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
& > dl.service {
& > dt {
margin: 10px 0px;
}
& > dd {
color: grey;
font-size: 14px;
}
}
}
}
</style>
<template> <template>
<div class="container"> <div class="container">
<iframe src="https://www.yuque.com/books/share/07c6dc3d-5343-45dd-a7d2-fd5ccaa05825" height="100%" width="100%" name="demo" scrolling="auto" frameborder="0"></iframe> <iframe
src="https://www.yuque.com/books/share/07c6dc3d-5343-45dd-a7d2-fd5ccaa05825"
height="100%"
width="100%"
name="demo"
scrolling="auto"
frameborder="0"
></iframe>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: "Document", name: "Document",
components: {}, components: {},
...@@ -13,7 +19,6 @@ export default { ...@@ -13,7 +19,6 @@ export default {
}, },
computed: {}, computed: {},
methods: {}, methods: {},
beforeMount() {},
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="top"> <p class="title">应用分类</p>
<label>大家都在用</label> <div class="categories">
</div> <p>分类</p>
<div class="content"> <ul>
<div class="item"> <li
<img src="../../assets/images/evue-logo.png" alt="icon" /> :class="tabIndex == index ? 'active' : ''"
<div class="text"> v-for="(item, index) in tabList"
<p class="title">EVUE</p> :key="index"
<p class="subtitle"> @click="onTabClick(index)"
<star-rating
v-bind:rating="3.5"
v-bind:increment="0.1"
v-bind:max-rating="5"
v-bind:star-size="15"
v-bind:read-only="true"
inactive-color="#9E9E9E"
active-color="#FFC83D"
> >
</star-rating> {{ item.tabName }}
</p> </li>
<p class="subtitle">八零八零八附带上方</p> </ul>
</div> </div>
<button class="install">安装</button> <div class="categories">
</div> <p>子分类</p>
<div class="item"> <ul>
<img src="../../assets/images/evue-logo.png" alt="icon" /> <li
<div class="text"> :class="tabChildIndex == index ? 'active' : ''"
<p class="title">EVUE</p> v-for="(item, index) in tabChildList"
<p class="subtitle"> :key="index"
<star-rating @click="onTabChildClick(index)"
v-bind:rating="3.5"
v-bind:increment="0.1"
v-bind:max-rating="5"
v-bind:star-size="15"
v-bind:read-only="true"
inactive-color="#9E9E9E"
active-color="#FFC83D"
> >
</star-rating> {{ item.tabName }}
</p> </li>
<p class="subtitle">八零八零八附带上方</p> </ul>
</div> </div>
<button class="install">安装</button> <div v-show="!loading" class="content">
</div> <div class="item" v-for="(item, index) in dataList" :key="index">
<div class="item"> <img :src="item.icon" alt="icon" />
<img src="../../assets/images/evue-logo.png" alt="icon" />
<div class="text"> <div class="text">
<p class="title">EVUE</p> <p class="title">{{ item.name }}</p>
<p class="subtitle"> <p class="subtitle">
<star-rating <star-rating
v-bind:rating="3.5" v-bind:rating="3.5"
...@@ -60,107 +44,128 @@ ...@@ -60,107 +44,128 @@
> >
</star-rating> </star-rating>
</p> </p>
<p class="subtitle">八零八零八附带上方</p> <p class="subtitle">{{ item.memo }}</p>
</div>
<button class="install">安装</button>
</div>
<div class="item">
<img src="../../assets/images/evue-logo.png" alt="icon" />
<div class="text">
<p class="title">EVUE</p>
<p class="subtitle">
<star-rating
v-bind:rating="3.5"
v-bind:increment="0.1"
v-bind:max-rating="5"
v-bind:star-size="15"
v-bind:read-only="true"
inactive-color="#9E9E9E"
active-color="#FFC83D"
>
</star-rating>
</p>
<p class="subtitle">八零八零八附带上方</p>
</div>
<button class="install">安装</button>
</div>
<div class="item">
<img src="../../assets/images/evue-logo.png" alt="icon" />
<div class="text">
<p class="title">EVUE</p>
<p class="subtitle">
<star-rating
v-bind:rating="3.5"
v-bind:increment="0.1"
v-bind:max-rating="5"
v-bind:star-size="15"
v-bind:read-only="true"
inactive-color="#9E9E9E"
active-color="#FFC83D"
>
</star-rating>
</p>
<p class="subtitle">八零八零八附带上方</p>
</div>
<button class="install">安装</button>
</div>
<div class="item">
<img src="../../assets/images/evue-logo.png" alt="icon" />
<div class="text">
<p class="title">EVUE</p>
<p class="subtitle">
<star-rating
v-bind:rating="3.5"
v-bind:increment="0.1"
v-bind:max-rating="5"
v-bind:star-size="15"
v-bind:read-only="true"
inactive-color="#9E9E9E"
active-color="#FFC83D"
>
</star-rating>
</p>
<p class="subtitle">八零八零八附带上方</p>
</div> </div>
<button class="install">安装</button> <button class="install">安装</button>
</div> </div>
</div> </div>
<circle5 v-show="loading"></circle5>
</div> </div>
</template> </template>
<script> <script>
import { getTabList, getDataList } from "@/api/app-store";
import { Circle5 } from "vue-loading-spinner";
import StarRating from "vue-star-rating"; import StarRating from "vue-star-rating";
export default { export default {
name: "AppList", name: "AppCategory",
components: { components: {
StarRating, StarRating,
Circle5,
}, },
data() { data() {
return {}; return {
loading: false,
tabIndex: 0,
tabChildIndex: 0,
tabList: [],
tabChildList: [],
query: {
method: "internal.getTabDetail",
serviceType: 20,
reqPageNum: 1,
uri: "56a37d6c494545f98aace3da717845b7",
maxResults: 25,
zone: "",
locale: "zh",
},
dataList: [],
};
},
methods: {
getTabList() {
this.loading = true;
getTabList(this.query)
.then((res) => {
if (res.tabInfo && res.tabInfo.length) {
this.tabList = res.tabInfo;
this.tabChildList = this.tabList[this.tabIndex].tabInfo;
}
})
.catch((err) => {
if (err.tabInfo && err.tabInfo.length) {
this.tabList = err.tabInfo;
this.tabChildList = this.tabList[this.tabIndex].tabInfo;
this.query.uri = this.tabChildList[this.tabChildIndex].realTabId;
this.getDataList();
}
})
.finally(() => {
this.loading = false;
});
},
getDataList() {
getDataList(this.query)
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
if (err.layoutData && err.layoutData.length) {
this.dataList = err.layoutData[0].dataList;
}
});
},
onTabClick(index) {
this.tabIndex = index;
this.tabChildList = this.tabList[index].tabInfo;
this.query.uri = this.tabChildList[this.tabChildIndex].realTabId;
this.getTabList();
},
onTabChildClick(index) {
this.tabChildIndex = index;
this.query.uri = this.tabChildList[this.tabChildIndex].realTabId;
this.getTabList();
},
},
created() {
this.getTabList();
}, },
computed: {},
methods: {},
beforeMount() {},
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
div.app-container { div.app-container {
margin: 20px 0px; margin: 20px 0px;
& > div.top { & > p {
display: flex;
justify-content: space-between;
& > label {
margin: 0px; margin: 0px;
font-size: 20px; font-size: 18px;
} }
& > div.categories {
display: flex;
flex-direction: row;
margin: 20px 0px;
font-size: 14px;
& > p { & > p {
cursor: pointer; width: 100px;
margin: 0px; margin: 0px;
display: inline-flex; }
align-items: center; & > ul {
flex: 1;
display: grid;
grid-column-gap: 10px;
grid-row-gap: 10px;
grid-template-columns: repeat(auto-fill, 100px);
& > li {
cursor: pointer;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 14px; font-size: 14px;
& > img { &.active {
width: 20px; color: #4cd1e0;
height: 20px; }
&:hover {
color: #4cd1e0;
}
} }
} }
} }
......
...@@ -253,6 +253,15 @@ ...@@ -253,6 +253,15 @@
</div> </div>
</div> </div>
</div> </div>
<div v-show="navIndex === 7" class="right">
<p class="title">开放接口</p>
<div class="content">
<div style="width: 100%; height: auto">
<p><input type="text" disabled placeholder="接口密钥" /></p>
<p><button style="width: auto;height: auto;">生成密钥</button></p>
</div>
</div>
</div>
</div> </div>
</template> </template>
<script> <script>
...@@ -269,6 +278,7 @@ export default { ...@@ -269,6 +278,7 @@ export default {
"联系我们", "联系我们",
"设备绑定", "设备绑定",
"我的账号", "我的账号",
"开放接口",
], ],
navIndex: 0, navIndex: 0,
}; };
......
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="top"> <div class="top">
<label>大家都在用</label> <p>
<label @click="toggleMenu('0057c0f3380c49dc9731bdba94420d9c')"
>应用排行</label
>
<label @click="toggleMenu('5734225f9f4441c99553f00d06553831')"
>游戏排行</label
>
</p>
<p>
<span v-for="(item, index) in tabList" :key="index">今日流行</span>
<span>上升最快</span>
<span>本周热议</span>
<span>最近更新</span>
</p>
</div> </div>
<div class="content"> <div class="content">
<div class="item"> <div class="item">
...@@ -128,18 +141,58 @@ ...@@ -128,18 +141,58 @@
</div> </div>
</template> </template>
<script> <script>
import { getDataList } from "@/api/app-store";
import StarRating from "vue-star-rating"; import StarRating from "vue-star-rating";
export default { export default {
name: "AppList", name: "AppRank",
components: { components: {
StarRating, StarRating,
}, },
data() { data() {
return {}; return {
tabIndex: 0,
tabChildIndex: 0,
tabList: [],
tabChildList: [],
dataList: [],
query: {
method: "internal.getTabDetail",
serviceType: 20,
reqPageNum: 1,
uri: "0057c0f3380c49dc9731bdba94420d9c",
maxResults: 25,
zone: "",
locale: "zh",
},
};
}, },
computed: {}, computed: {},
methods: {}, methods: {
beforeMount() {}, getTabList() {
getDataList(this.query)
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
});
},
getDataList() {
getDataList()
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
});
},
toggleMenu(uri) {
console.log(uri);
},
},
created() {
this.getTabList();
},
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
...@@ -148,19 +201,32 @@ div.app-container { ...@@ -148,19 +201,32 @@ div.app-container {
& > div.top { & > div.top {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
& > label { margin-bottom: 20px;
margin: 0px;
font-size: 20px;
}
& > p { & > p {
cursor: pointer;
margin: 0px; margin: 0px;
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
font-size: 14px; font-size: 14px;
& > img { & > label {
width: 20px; cursor: pointer;
height: 20px; margin: 0px 10px;
font-size: 18px;
&:hover {
color: #4cd1e0;
text-decoration: underline;
}
&.active {
color: #4cd1e0;
text-decoration: underline;
}
}
& > span {
cursor: pointer;
margin: 0px 10px;
font-size: 13px;
&.active {
color: #4cd1e0;
}
} }
} }
} }
......
<template>
<div>
<div class="m-index">
<div
class="banner"
style="background: url(http://gtms01.alicdn.com/tps/i1/TB1rGYSGFXXXXawXXXXDcMi7VXX-1440-336.png) no-repeat center 0 #657284;"
>
<a class="btn" href="#newapp/upload"></a>
</div>
<el-col :span="12" :offset="6">
<el-row>
<div class="service-group">
<p class="nav2">
<a class="one one1" href="#certify/certify"></a>
开发者实名认证
</p>
<p class="nav2">
<a class="one one2" href="#newapp/upload"></a>
上传新应用
</p>
<p class="nav2">
<a class="one one3" href="#claim/sift"></a>
认领新应用
</p>
<p class="nav2">
<a class="one one4" href="#myapp/spu_list"></a>
我的应用
</p>
<p class="nav2">
<a class="one one5" href="#generalize"></a>
申请推广
</p>
</div>
</el-row>
</el-col>
</div>
<div style="margin: 50px 0px">
<el-row>
<el-col :span="12" :offset="6">
<el-row>
<el-col :span="6">
<dl class="service">
<dt>EVM服务<s></s></dt>
<dd>
<a target="_blank" href="http://zhushou.yunos.com"
>云手机助手</a
>
</dd>
<dd>
<a target="_blank" href="http://my.yunos.com">云空间</a>
</dd>
<dd>
<a target="_blank" href="http://zhuti.yunos.com">主题中心</a>
</dd>
<dd>
<a target="_blank" href="http://apps.yunos.com">应用中心</a>
</dd>
</dl>
</el-col>
<el-col :span="6">
<dl class="service">
<dt>EVM版本<s></s></dt>
<dd>
<a target="_blank" href="http://www.yunos.com/yunos30.html"
>EVM 3.0</a
>
</dd>
</dl>
</el-col>
<el-col :span="6">
<dl class="service">
<dt class="touchable">帮助中心</dt>
<dd><a target="_blank" href="#help/help">帮助中心首页</a></dd>
<dd><a target="_blank" href="#help/agreement">平台协议</a></dd>
<dd><a target="_blank" href="#help/document">开发者文档</a></dd>
<dd><a target="_blank" href="#help/qa">Q&A</a></dd>
</dl>
</el-col>
<el-col :span="6">
<dl class="service">
<dt>关注EVM<s></s></dt>
<dd>
<a
class="g-lw-entry"
href="javascript:void(0);"
style="padding: 0; border: none"
>微信公众号</a
>
</dd>
<dd>
<img
width="120"
height="120"
title="扫描二维码关注 EVM 官方公众号"
alt="EVM微信公众号"
src="../../assets/images/evm-mp.jpg"
/>
</dd>
</dl>
</el-col>
</el-row>
</el-col>
</el-row>
</div>
</div>
</template>
<script>
export default {
name: "Developer",
data() {
return {};
},
created() {},
mounted() {},
methods: {},
};
</script>
<style lang="scss">
.text {
font-size: 14px;
}
.item {
margin-bottom: 18px;
}
dl.service {
dt {
margin: 15px 0px;
}
dd {
margin-inline-start: 20px !important;
}
}
.service-group {
display: flex;
flex-direction: row;
justify-content: space-around;
& > p {
&.nav2 {
padding: 4px 0 0 106px;
height: 120px;
font-size: 14px;
}
& > a {
width: 15px;
height: 15px;
}
}
}
</style>
This diff is collapsed.
...@@ -55,6 +55,10 @@ module.exports = { ...@@ -55,6 +55,10 @@ module.exports = {
configureWebpack: (config) => { configureWebpack: (config) => {
// debug JS // debug JS
config.devtool = "source-map"; config.devtool = "source-map";
config.externals = {
'gsap': 'gsap'
}
}, },
chainWebpack(config) { chainWebpack(config) {
config.plugins.delete("preload"); // TODO: need test config.plugins.delete("preload"); // TODO: need test
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment