diff --git a/src/components/Container.vue b/src/components/Container.vue
index 36840f2..d29a221 100644
--- a/src/components/Container.vue
+++ b/src/components/Container.vue
@@ -41,6 +41,10 @@ const props = defineProps({
type: Boolean,
default: true,
},
+ titleStyle: {
+ type: [String, Object, Array],
+ default: () => ({}),
+ },
showBottom: {
type: Boolean,
default: true,
@@ -155,6 +159,7 @@ const goCalibration = async () => {
:title="title"
:onBack="onBack"
:whiteBackArrow="whiteBackArrow"
+ :titleStyle="titleStyle"
/>
({}),
+ },
});
const onClick = () => {
@@ -118,7 +122,9 @@ onBeforeUnmount(() => {
mode="widthFix"
/>
-
+
+
+
+
创建约战房
@@ -268,7 +271,7 @@ onLoad(async (options) => {
}
.create-room>view:nth-child(3) {
- margin: 12vw auto;
+ margin: 12vw auto 5vw auto;
position: relative;
display: flex;
align-items: center;
@@ -304,6 +307,13 @@ onLoad(async (options) => {
margin-right: 2px;
}
+.pp-text{
+ color: #fff;
+ text-align: center;
+ font-size: 22rpx;
+ margin-bottom: 20rpx;
+}
+
.warnning {
width: 100%;
height: 100%;
diff --git a/src/pages/grade-intro.vue b/src/pages/grade-intro.vue
index 11784d7..145cbf5 100644
--- a/src/pages/grade-intro.vue
+++ b/src/pages/grade-intro.vue
@@ -1,31 +1,66 @@
-
-
+
+
-
+ v-for="level in levels"
+ :id="`level-${level}`"
+ :key="level"
+ :class="[
+ 'level-node',
+ level < currentLevel ? 'level-node--done' : '',
+ level === currentLevel ? 'level-node--current' : '',
+ ]"
+ >
+
+
+
+
+ {{ level }}
+
-
+
@@ -65,28 +100,80 @@ const { user } = storeToRefs(store);
.level-progress {
width: 100%;
- height: 32rpx;
- display: flex;
- justify-content: center;
- padding-top: 20rpx;
- padding-bottom: 40rpx;
+ white-space: nowrap;
+ padding: 24rpx 0 34rpx;
+ box-sizing: border-box;
}
-.progress-dot {
+.level-track {
+ display: inline-flex;
+ align-items: flex-start;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+}
+
+.level-node {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ width: 72rpx;
+ flex: 0 0 72rpx;
+}
+
+.level-node__top {
display: flex;
align-items: center;
+ width: 100%;
}
-.progress-dot > view:first-child {
- width: 3.8vw;
- height: 3.8vw;
+
+.level-node__dot {
+ width: 28rpx;
+ height: 28rpx;
border-radius: 50%;
- border: 1px solid #fff9;
+ border: 3rpx solid rgba(255, 255, 255, 0.45);
+ box-sizing: border-box;
}
-.progress-dot > view:last-child {
- width: 3.8vw;
- height: 1px;
- margin: 0 2px;
- background-color: #fff9;
+
+.level-node__line {
+ flex: 1;
+ height: 2rpx;
+ background-color: rgba(255, 255, 255, 0.45);
+}
+
+.level-node__label {
+ width: 28rpx;
+ margin-top: 14rpx;
+ color: rgba(255, 255, 255, 0.45);
+ font-size: 24rpx;
+ line-height: 28rpx;
+ text-align: center;
+}
+
+.level-node--done .level-node__dot {
+ background-color: #ffffff;
+ border-color: #ffffff;
+}
+
+.level-node--done .level-node__line {
+ background-color: rgba(255, 255, 255, 0.8);
+}
+
+.level-node--done .level-node__label {
+ color: rgba(255, 255, 255, 0.72);
+}
+
+.level-node--current .level-node__dot {
+ background-color: #fed847;
+ border-color: #fed847;
+}
+
+.level-node--current .level-node__line {
+ background-color: rgba(255, 255, 255, 0.45);
+}
+
+.level-node--current .level-node__label {
+ color: #fed847;
+ font-weight: 700;
}
.body {
diff --git a/src/pages/ranking.vue b/src/pages/ranking.vue
index 8e7a341..32dcb02 100644
--- a/src/pages/ranking.vue
+++ b/src/pages/ranking.vue
@@ -282,8 +282,13 @@ onShow(async () => {
-
+
+
@@ -926,4 +931,19 @@ onShow(async () => {
font-size: 10px !important;
margin-bottom: 7px;
}
+.flex-box{
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 20rpx;
+ padding: 0 10rpx;
+}
+.lf-text{
+ font-size: 22rpx;
+ color: #bf985e;
+}
+.rg-text{
+ font-size: 24rpx;
+ color: #fff;
+}
diff --git a/src/static/bow-target.png b/src/static/bow-target.png
index a175ed6..45354e5 100644
Binary files a/src/static/bow-target.png and b/src/static/bow-target.png differ
diff --git a/src/util.js b/src/util.js
index d9a9e1d..7ac8f72 100644
--- a/src/util.js
+++ b/src/util.js
@@ -1,5 +1,5 @@
export const formatTimestamp = (timestamp) => {
- const date = new Date(timestamp * 1000);
+ const date = new Date(timestamp);
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();