diff --git a/src/components/AppBackground.vue b/src/components/AppBackground.vue
index d27542a..103a8a9 100644
--- a/src/components/AppBackground.vue
+++ b/src/components/AppBackground.vue
@@ -37,6 +37,12 @@ onMounted(() => {
src="../static/app-bg3.png"
:style="{ height: capsuleHeight + 'px' }"
/>
+
diff --git a/src/components/BattleFooter.vue b/src/components/BattleFooter.vue
index e4e869e..8058aa3 100644
--- a/src/components/BattleFooter.vue
+++ b/src/components/BattleFooter.vue
@@ -1,4 +1,6 @@
+
+
+
+ {{ tips }}
+ ({{ currentRound }}/{{ totalRound }})
+
+
+
+
+
diff --git a/src/components/ShootProgress2.vue b/src/components/ShootProgress2.vue
new file mode 100644
index 0000000..98b2edd
--- /dev/null
+++ b/src/components/ShootProgress2.vue
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+ 剩余{{ remain }}秒
+
+
+
+
+
diff --git a/src/components/TeamAvatars.vue b/src/components/TeamAvatars.vue
new file mode 100644
index 0000000..ffd7edd
--- /dev/null
+++ b/src/components/TeamAvatars.vue
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+ {{ isRed ? "红队" : "蓝队" }}
+
+ {{ team[0].name }}
+
+
+
+
diff --git a/src/constants.js b/src/constants.js
index f29ddf6..23705de 100644
--- a/src/constants.js
+++ b/src/constants.js
@@ -174,3 +174,25 @@ export const getBattleResultTips = (
}
return "";
};
+
+export const RoundImages = {
+ "round1":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slggifbnw9snvs.png",
+ "round2":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slgf0swue5xzpd.png",
+ "round3":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slglkylhmq8beb.png",
+ "round4":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slggc88nasmxf5.png",
+ "round5":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slgeloitb8mixf.png",
+ "round6":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slgsjbyyuu1des.png",
+ "round7":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slgdysd1wqulj5.png",
+ "round8":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slgm82ny3qjd8m.png",
+}
+
+export const RoundGoldImages = {
+ "round1":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slg7kfzzwwiwcb.png",
+ "round2":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slgs5htghfh3a9.png",
+ "round3":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slgc9ge3paqkba.png",
+ "round4":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slgehduk96yurp.png",
+ "round5":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slgefz3hdmwbnz.png",
+ "round6":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slgeyb4cqwezgc.png",
+ "round7":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slggu3tlh97v5p.png",
+ "round8":"https://static.shelingxingqiu.com/attachment/2025-08-13/dc12slgszmdtmaotch.png",
+}
\ No newline at end of file
diff --git a/src/pages.json b/src/pages.json
index 08ba596..018f411 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -6,6 +6,9 @@
{
"path": "pages/battle-result"
},
+ {
+ "path": "pages/team-battle"
+ },
{
"path": "pages/point-book-edit"
},
diff --git a/src/pages/battle-room.vue b/src/pages/battle-room.vue
index 1f00bd7..8bc65c3 100644
--- a/src/pages/battle-room.vue
+++ b/src/pages/battle-room.vue
@@ -17,7 +17,12 @@ const room = ref({});
const roomNumber = ref("");
const owner = ref({});
const opponent = ref({});
-const players = ref([]);
+const players = ref([
+ { name: "player1", team: 1 },
+ { name: "player2", team: 0 },
+ { name: "player3", team: 2 },
+ { name: "player4", team: 1 },
+]);
const showModal = ref(false);
const battleType = ref(0);
@@ -225,6 +230,8 @@ onHide(() => {});
弓箭手们,人都到齐了吗?
1v1比赛即将开始!
+ 2v2比赛即将开始!
+ 3v3比赛即将开始!
大乱斗即将开始!
复制房间号
@@ -263,6 +270,41 @@ onHide(() => {});
:total="room.count || 10"
:players="players"
/>
+
+
+
+
+
+
+ 创建者
+
+
+
+
+
+
+
+ 23232323232
+
+
+
+
+
+
+ 22222
+
+
+
+
{});
border-radius: 20px;
position: relative;
}
+.all-players {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ height: 83vw;
+}
+.all-players > image:first-child {
+ position: absolute;
+ width: 100%;
+}
+.all-players > image:nth-child(2) {
+ width: 25vw;
+ position: relative;
+}
+.all-players > view {
+ position: relative;
+ width: 42vw;
+ height: 42vw;
+ margin-top: 7vw;
+}
+.all-players > view > view {
+ position: absolute;
+ left: 50%;
+ top: 50%;
+}
+/* 4个头像 - 正方形排列 */
+.all-players > view > view:nth-child(1):nth-last-child(4) {
+ transform: translate(-50%, -50%) rotate(-30deg) translateY(-21.5vw)
+ rotate(30deg);
+}
+.all-players > view > view:nth-child(2):nth-last-child(3) {
+ transform: translate(-50%, -50%) rotate(-120deg) translateY(-21.5vw)
+ rotate(120deg);
+}
+.all-players > view > view:nth-child(3):nth-last-child(2) {
+ transform: translate(-50%, -50%) rotate(-210deg) translateY(-21.5vw)
+ rotate(210deg);
+}
+.all-players > view > view:nth-child(4):nth-last-child(1) {
+ transform: translate(-50%, -50%) rotate(-300deg) translateY(-21.5vw)
+ rotate(300deg);
+}
+/* 6个头像 - 六边形排列 */
+.all-players > view > view:nth-child(1):nth-last-child(6) {
+ transform: translate(-50%, -50%) rotate(-30deg) translateY(-21vw)
+ rotate(30deg);
+}
+.all-players > view > view:nth-child(2):nth-last-child(5) {
+ transform: translate(-50%, -50%) rotate(-90deg) translateY(-21vw)
+ rotate(90deg);
+}
+.all-players > view > view:nth-child(3):nth-last-child(4) {
+ transform: translate(-50%, -50%) rotate(-150deg) translateY(-21vw)
+ rotate(150deg);
+}
+.all-players > view > view:nth-child(4):nth-last-child(3) {
+ transform: translate(-50%, -50%) rotate(-210deg) translateY(-21vw)
+ rotate(210deg);
+}
+.all-players > view > view:nth-child(5):nth-last-child(2) {
+ transform: translate(-50%, -50%) rotate(-270deg) translateY(-21vw)
+ rotate(270deg);
+}
+.all-players > view > view:nth-child(6):nth-last-child(1) {
+ transform: translate(-50%, -50%) rotate(-330deg) translateY(-21vw)
+ rotate(330deg);
+}
+.all-players > view > view > text {
+ position: absolute;
+ background-color: #fed847;
+ font-size: 8px;
+ border-radius: 10px;
+ padding: 1px 0px;
+ bottom: -20%;
+ left: calc(50% - 15px);
+ width: 30px;
+ text-align: center;
+}
+.choose-side {
+ display: flex;
+}
+.choose-side > view {
+ width: 50%;
+}
+.choose-side > view:first-child > view {
+ background: linear-gradient(270deg, #6a1212 0%, rgba(74, 0, 0, 0) 100%);
+}
+.choose-side > view:last-child > view {
+ background: linear-gradient(270deg, rgba(13, 0, 74, 0) 0%, #172a86 100%);
+}
+.choose-side-left-item,
+.choose-side-right-item {
+ display: flex;
+ align-items: center;
+ color: #fff;
+ border-radius: 12px;
+ padding: 10px;
+ align-items: center;
+ margin: 10px 5px;
+ position: relative;
+}
+.choose-side-left-item {
+ justify-content: flex-end;
+}
+.choose-side-left-item > text,
+.choose-side-right-item > text {
+ margin: 10px;
+ max-width: 100px;
+}
+.choose-side-left-item > button:first-child,
+.choose-side-right-item > button:last-child {
+ position: absolute;
+ top: 0;
+}
+.choose-side-left-item > button:first-child > image,
+.choose-side-right-item > button:last-child > image {
+ width: 28px;
+}
+.choose-side-left-item > button:first-child {
+ left: 0;
+}
+
+.choose-side-right-item > button:last-child {
+ right: 0;
+}
+.choose-side-left-item > button:last-child,
+.choose-side-right-item > button:first-child {
+ background-color: #fff;
+ border-radius: 50%;
+ width: 38px;
+ height: 38px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.choose-side-left-item > button:last-child > image,
+.choose-side-right-item > button:first-child > image {
+ width: 18px;
+}
diff --git a/src/pages/friend-battle.vue b/src/pages/friend-battle.vue
index 72dde77..a0c577c 100644
--- a/src/pages/friend-battle.vue
+++ b/src/pages/friend-battle.vue
@@ -117,6 +117,7 @@ const onCreateRoom = async () => {
src="https://static.shelingxingqiu.com/attachment/2025-07-15/dbcejys872iyun92h6.png"
mode="widthFix"
/>
+
@@ -190,39 +191,43 @@ const onCreateRoom = async () => {
position: absolute;
width: 100%;
}
-.create-room > view {
- margin: 0 30px;
- padding-top: 12%;
+.create-room > image:nth-of-type(2) {
+ padding: 15px;
+ width: 25vw;
+ position: relative;
+}
+.create-room > view:nth-child(3) {
+ margin: 12vw auto;
position: relative;
display: flex;
- flex-direction: column;
+ align-items: center;
+ justify-content: center;
}
.create-room > view > image:first-child {
- width: 18vw;
- transform: translateX(30%);
+ width: 19vw;
+ transform: translateY(-60%);
border-radius: 50%;
+ position: relative;
}
.create-room > view > image:nth-child(2) {
- width: 36vw;
- transform: translateX(55%) translateY(-40px);
+ width: 37vw;
+ position: relative;
}
.create-room > view > view:nth-child(3) {
- width: 18vw;
- height: 18vw;
+ position: relative;
+ width: 19vw;
+ height: 19vw;
border-radius: 50%;
background-color: #ccc;
display: flex;
justify-content: center;
align-items: center;
- transform: translate(290%, -75px);
+ transform: translateY(60%);
}
.create-room > view > view:nth-child(3) > image {
width: 20px;
margin-right: 2px;
}
-.create-room > view:last-child {
- transform: translateY(-100%);
-}
.warnning {
width: 100%;
height: 100%;
diff --git a/src/pages/team-battle.vue b/src/pages/team-battle.vue
new file mode 100644
index 0000000..739832e
--- /dev/null
+++ b/src/pages/team-battle.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/static/add-grey.png b/src/static/add-grey.png
new file mode 100644
index 0000000..12d584e
Binary files /dev/null and b/src/static/add-grey.png differ
diff --git a/src/static/app-bg4.png b/src/static/app-bg4.png
new file mode 100644
index 0000000..5362be7
Binary files /dev/null and b/src/static/app-bg4.png differ
diff --git a/src/static/room-notfound-title.png b/src/static/room-notfound-title.png
new file mode 100644
index 0000000..93b653d
Binary files /dev/null and b/src/static/room-notfound-title.png differ
diff --git a/src/static/row-bg.png b/src/static/row-bg.png
deleted file mode 100644
index f7b8792..0000000
Binary files a/src/static/row-bg.png and /dev/null differ
diff --git a/src/static/title-2v2.png b/src/static/title-2v2.png
new file mode 100644
index 0000000..f1f40b5
Binary files /dev/null and b/src/static/title-2v2.png differ
diff --git a/src/static/title-3v3.png b/src/static/title-3v3.png
new file mode 100644
index 0000000..b2c87ee
Binary files /dev/null and b/src/static/title-3v3.png differ