diff --git a/src/apis.js b/src/apis.js
index 243c34c..fa8e4f6 100644
--- a/src/apis.js
+++ b/src/apis.js
@@ -216,10 +216,11 @@ export const getPractiseAPI = async (id) => {
return request("GET", `/user/practice/get?id=${id}`);
};
-export const createRoomAPI = (gameType, teamSize) => {
+export const createRoomAPI = (gameType, teamSize, targetType) => {
return request("POST", "/user/createroom", {
gameType,
teamSize,
+ targetType,
});
};
diff --git a/src/components/CreateRoom.vue b/src/components/CreateRoom.vue
index 549b9ab..e34d7d7 100644
--- a/src/components/CreateRoom.vue
+++ b/src/components/CreateRoom.vue
@@ -18,6 +18,7 @@ const props = defineProps({
});
const battleMode = ref(1);
+const targetMode = ref(1);
const loading = ref(false);
const roomNumber = ref("");
@@ -35,13 +36,14 @@ const createRoom = debounce(async () => {
try {
const result = await createRoomAPI(
battleMode.value === 2 ? 2 : 1,
- battleMode.value === 2 ? 10 : size
+ battleMode.value === 2 ? 10 : size,
+ targetMode.value*20,
);
if (result.number) {
props.onConfirm();
await joinRoomAPI(result.number);
uni.navigateTo({
- url: "/pages/battle-room?roomNumber=" + result.number,
+ url: "/pages/battle-room?roomNumber=" + result.number + "&target=" + targetMode.value,
});
}
} catch (error) {
@@ -53,7 +55,11 @@ const createRoom = debounce(async () => {
-
+
{
乱斗模式(3-10人)
+
+
+ (targetMode = 1)"
+ >
+ 20厘米全环靶
+
+ (targetMode = 2)"
+ >
+ 40厘米全环靶
+
+
创建房间
@@ -91,6 +116,7 @@ const createRoom = debounce(async () => {
display: flex;
flex-direction: column;
align-items: center;
+ padding-top: 44rpx;
}
.container > image:first-child {
width: 45%;
@@ -105,6 +131,50 @@ const createRoom = debounce(async () => {
justify-content: center;
margin-bottom: 15px;
}
+.target-options-header{
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 24rpx;
+}
+.target-options-header-title-img{
+ width: 196rpx;
+ height: 40rpx;
+}
+.target-options-header-title{
+ width: 112rpx;
+ height: 40rpx;
+ font-family: PingFang SC, PingFang SC;
+ font-weight: 400;
+ font-size: 28rpx;
+ text-align: center;
+ font-style: normal;
+ text-transform: none;
+ color: #FFEFBA;
+ margin: 0 18rpx;
+}
+.target-options-header-line-left{
+ width: 214rpx;
+ height: 0rpx;
+ border-radius: 0rpx 0rpx 0rpx 0rpx;
+ border: 1rpx solid;
+ border-image: linear-gradient(90deg, rgba(133, 119, 96, 0), rgba(133, 119, 96, 1)) 1 1;
+}
+.target-options-header-line-right{
+ width: 214rpx;
+ height: 0rpx;
+ border-radius: 0rpx 0rpx 0rpx 0rpx;
+ border: 1rpx solid;
+ border-image: linear-gradient(90deg, rgba(133, 119, 96, 1), rgba(133, 119, 96, 0)) 1 1;
+}
+.target-options {
+ width: 100%;
+ padding: 0 10px;
+ display: flex;
+ gap: 12px;
+ justify-content: center;
+ margin-bottom: 15px;
+}
.battle-btn {
width: 45%;
height: 55px;
diff --git a/src/components/SModal.vue b/src/components/SModal.vue
index 5ac9769..ffcebb8 100644
--- a/src/components/SModal.vue
+++ b/src/components/SModal.vue
@@ -88,6 +88,7 @@ watch(
transform: translateY(100%);
transition: all 0.3s ease;
position: relative;
+ background-color: #372E1D;
}
.modal-content > image:first-child {
width: 100%;
diff --git a/src/pages/friend-battle.vue b/src/pages/friend-battle.vue
index bd36307..b7e4072 100644
--- a/src/pages/friend-battle.vue
+++ b/src/pages/friend-battle.vue
@@ -169,7 +169,7 @@ onLoad(async (options) => {
{{ warnning }}