初始化项目结构

master
Gary 1 month ago
commit 1e4ed18d81

5
.idea/.gitignore vendored

@ -0,0 +1,5 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="cn.fjdmy.uniapp.UniappProjectDataService">
<option name="basePath" value="$PROJECT_DIR$" />
<option name="generalBasePath" value="$PROJECT_DIR$" />
<option name="manifestPath" value="$PROJECT_DIR$/manifest.json" />
<option name="pagesPath" value="$PROJECT_DIR$/pages.json" />
<option name="scanNum" value="1" />
<option name="type" value="store" />
<option name="uniapp" value="true" />
<option name="uniappHx" value="true" />
<option name="vueVersion" value="2" />
</component>
</project>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
<excludeFolder url="file://$MODULE_DIR$/temp" />
<excludeFolder url="file://$MODULE_DIR$/tmp" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/exercise-front.iml" filepath="$PROJECT_DIR$/.idea/exercise-front.iml" />
</modules>
</component>
</project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

@ -0,0 +1,17 @@
<script>
export default {
onLaunch: function() {
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
</script>
<style>
/*每个页面公共css */
</style>

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
CSS.supports('top: constant(a)'))
document.write(
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<title></title>
<!--preload-links-->
<!--app-context-->
</head>
<body>
<div id="app"><!--app-html--></div>
<script type="module" src="/main.js"></script>
</body>
</html>

@ -0,0 +1,22 @@
import App from './App'
// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
...App
})
app.$mount()
// #endif
// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
const app = createSSRApp(App)
return {
app
}
}
// #endif

@ -0,0 +1,72 @@
{
"name" : "exercise-front",
"appid" : "__UNI__26691F9",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
/* 5+App */
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
},
/* */
"modules" : {},
/* */
"distribute" : {
/* android */
"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios */
"ios" : {},
/* SDK */
"sdkConfigs" : {}
}
},
/* */
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "",
"setting" : {
"urlCheck" : false
},
"usingComponents" : true
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics" : {
"enable" : false
},
"vueVersion" : "2"
}

@ -0,0 +1,17 @@
{
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/index/index",
"style": {
"navigationStyle": "custom"
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
"uniIdRouter": {}
}

@ -0,0 +1,240 @@
<template>
<scroll-view class="background" scroll-y="true">
<view class="transition">
<!-- NBA图片过渡界面 -->
<image v-show="showNBA" src="@/static/transition/nba.png" class="transition_nba"></image>
<!-- Logo图片过渡界面 -->
<image v-show="showLogo" src="@/static/transition/logo.png" class="transition_logo"></image>
<!-- 签名 -->
<view v-show="showSignature" class="transition_signature">
<text class="transition_text">体育直播可视化系统</text>
<text class="transition_text">102201435 龚嘉伟</text>
</view>
</view>
<!-- 内容 -->
<!-- v-show="!showNBA && !showLogo && !showSignature"-->
<view class="content">
<!-- 顶部Logo部分 -->
<view class="top_logo">
<image src="@/static/transition/nba.png" class="top_logo_nba"></image>
<image src="@/static/transition/logo.png" class="top_logo_all_sport"></image>
</view>
<!-- 过渡线 -->
<image src="@/static/content/line/line.png" class="line1"></image>
<!-- 篮球比赛部分 -->
<view class="basketball_match">
<image src="@/static/content/basketball_court.png" class="image"></image>
</view>
<!-- 过渡线 -->
<image src="@/static/content/line/line.png" class="line2"></image>
<view class="team_statics">
</view>
<view class="human_statics">
</view>
</view>
</scroll-view>
</template>
<script>
export default {
data() {
return {
nbaDuration: 2000, // NBA
logoDuration: 2000, // Logo
signatureDuration: 2000, //
wolf_score: 0,
laker_score: 0,
showNBA: true, // NBA true
showLogo: false, // Logo
showSignature: false, //
};
},
onLoad() {
this.transition();
},
methods: {
transition() {
// NBA
setTimeout(() => {
this.showNBA = false; // NBA
this.showLogo = true; // Logo
// Logo
setTimeout(() => {
this.showLogo = false; // Logo
this.showSignature = true; //
//
setTimeout(() => {
this.showSignature = false; //
}, this.signatureDuration);
}, this.logoDuration);
}, this.nbaDuration);
},
},
};
</script>
<style>
/* 定义图片渐变消失动画 */
@keyframes fadeOut {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
.background {
position: relative;
background-color: #000000; /* 黑色背景 */
height: 100vh; /* 设置背景高度覆盖视口 */
overflow: auto; /* 启用滚动 */
z-index: -1;
/*过渡界面部分*/
.transition{
.transition_nba {
position: absolute;
height: 40%;
width: 20%;
left: 40%;
top: 30%;
opacity: 1; /* 初始透明度 */
animation: fadeOut 2s ease-out forwards; /* 动画定义 */
}
.transition_logo {
position: absolute;
height: 40%;
width: 30%;
left: 35%;
top: 30%;
opacity: 1; /* 初始透明度 */
animation: fadeOut 2s ease-out forwards; /* 动画定义 */
}
.transition_signature {
position: absolute;
top: 40%;
width: 100%;
text-align: center; /* 居中对齐 */
color: #ffffff; /* 白色文字 */
font-size: 50px; /* 调整字体大小 */
line-height: 1.5; /* 设置行高 */
font-weight: bold; /* 加粗 */
opacity: 1; /* 初始透明度 */
animation: fadeOut 2s ease-out forwards; /* 动画定义 */
.transition_text{
display: block; /* 强制换行 */
margin-bottom: 5px; /* 设置行间距(可选) */
}
}
}
/*过渡部分结束*/
/*具体内容部分*/
.content{
position: absolute;
width: 100%;
height: 100%;
z-index: 0;
.top_logo{
position: absolute;
width: 100%;
height: 10%;
border: 2px solid #ffffff;
z-index: 1;
.top_logo_nba{
position: absolute;
height: 80%;
width: 5%;
top: 10%;
margin: 0 auto;
display: block;
}
.top_logo_signature{
position: absolute;
width: 100%;
height: 25%;
margin: 0 auto;
display: block;
text-align: center;
color: #ffffff;
font-size: 20px;
line-height: 1.5;
font-weight: bold;
.transition_text{
display: block;
margin-bottom: 5px;
}
}
.top_logo_all_sport {
position: absolute;
height: 89%;
width: 9%;
top: 5%;
left: 89%;
margin: 0 auto;
display: block;
}
}
.line1{
position: absolute;
width: 80%;
height: 2px;
left: 10%;
top: 12%;
background-color: #ffffff;
z-index: 1;
}
.basketball_match{
position: absolute;
width: 100%;
height: 87%;
top: 13%;
z-index: 1;
border: #c8c7cc 2px solid;
.image{
width: 90%;
height: 90%;
left: 5%;
top: 3%;
}
}
.line2{
position: absolute;
width: 80%;
height: 2px;
left: 10%;
top: 12%;
background-color: #ffffff;
z-index: 1;
}
.team_statics{
}
.human_statics{
}
}
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

@ -0,0 +1,10 @@
uni.addInterceptor({
returnValue (res) {
if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) {
return res;
}
return new Promise((resolve, reject) => {
res.then((res) => res[0] ? reject(res[0]) : resolve(res[1]));
});
},
});

@ -0,0 +1,76 @@
/**
* uni-app
*
* uni-app https://ext.dcloud.net.cn使
* 使scss使 import 便App
*
*/
/**
* App使
*
* 使scss scss 使 import
*/
/* 颜色变量 */
/* 行为相关颜色 */
$uni-color-primary: #007aff;
$uni-color-success: #4cd964;
$uni-color-warning: #f0ad4e;
$uni-color-error: #dd524d;
/* 文字基本颜色 */
$uni-text-color:#333;//
$uni-text-color-inverse:#fff;//
$uni-text-color-grey:#999;//
$uni-text-color-placeholder: #808080;
$uni-text-color-disable:#c0c0c0;
/* 背景颜色 */
$uni-bg-color:#ffffff;
$uni-bg-color-grey:#f8f8f8;
$uni-bg-color-hover:#f1f1f1;//
$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//
/* 边框颜色 */
$uni-border-color:#c8c7cc;
/* 尺寸变量 */
/* 文字尺寸 */
$uni-font-size-sm:12px;
$uni-font-size-base:14px;
$uni-font-size-lg:16px;
/* 图片尺寸 */
$uni-img-size-sm:20px;
$uni-img-size-base:26px;
$uni-img-size-lg:40px;
/* Border Radius */
$uni-border-radius-sm: 2px;
$uni-border-radius-base: 3px;
$uni-border-radius-lg: 6px;
$uni-border-radius-circle: 50%;
/* 水平间距 */
$uni-spacing-row-sm: 5px;
$uni-spacing-row-base: 10px;
$uni-spacing-row-lg: 15px;
/* 垂直间距 */
$uni-spacing-col-sm: 4px;
$uni-spacing-col-base: 8px;
$uni-spacing-col-lg: 12px;
/* 透明度 */
$uni-opacity-disabled: 0.3; //
/* 文章场景相关 */
$uni-color-title: #2C405A; //
$uni-font-size-title:20px;
$uni-color-subtitle: #555555; //
$uni-font-size-subtitle:26px;
$uni-color-paragraph: #3F536E; //
$uni-font-size-paragraph:15px;
Loading…
Cancel
Save