This commit is contained in:
Putoo
2026-06-09 17:51:12 +08:00
parent 9f3e4871a4
commit 46bacd1e38
10 changed files with 279 additions and 24 deletions

View File

@@ -62,7 +62,7 @@
<!-- 城内地图 -->
<GamePopup v-model:show="showCity" title="【城市地图】">
<!-- 自定义内容 -->
<div class="">
<div class="" style="margin-top: 10px;">
<span v-for="(item, index) in cityShow" :key="index">
<Abutton @click="ChangeMap(item.mapId)">{{ item.mapName }}</Abutton>
<br v-if="(index + 1) % 4 == 0">

View File

@@ -35,7 +35,7 @@
</div>
耐久:{{ equInfo.durability }}<br>
<span v-if="equInfo.suitCode != '0' && equInfo.suitCode != ''">
套装:<Abar href="/">{{ suitInfo.suitName }}</Abar><br>
套装:<Abar :href='"/prop/suit?no=" + equInfo.suitCode'>{{ suitInfo.suitName }}</Abar><br>
</span>
特性:{{ EquTool.GetEquAttrName(equInfo.equAttr, 0) }}<br>
<span v-if="equInfo.holeCount > 0">
@@ -96,7 +96,7 @@
</div>
耐久:{{ equData.maxdurability }}/{{ equData.durability }}<br>
<span v-if="equData.suitCode != '0' && equData.suitCode != ''">
套装:<Abar href="/">{{ suitInfo.suitName }}</Abar><br>
套装:<Abar :href='"/prop/suit?no=" + equData.suitCode'>{{ suitInfo.suitName }}</Abar><br>
</span>
特性:{{ EquTool.GetEquAttrName(equData.equAttr, 0) }}<br>
<span v-if="equData.holeCount > 0">
@@ -117,7 +117,7 @@
</div>
<div class="common" v-if="myUserId == equData.userId && equData.isAppr == 1">
<span>
<Abutton>穿戴装备</Abutton><br>
<Abutton @click="UpOrDownEqu">穿戴装备</Abutton><br>
</span>
<span>
<Abutton>洗练</Abutton><br>
@@ -129,7 +129,7 @@
<Abutton>升星</Abutton><br>
</span>
<span>
<Abutton>绑定</Abutton><br>
<Abutton @click="LockEqu">{{ equData.isLock == 0 ? "绑定" : "解绑" }}</Abutton><br>
</span>
<span>
<Abar href="">寄售</Abar><br>
@@ -186,4 +186,22 @@ const BindData = async (): Promise<void> => {
}
};
/**穿/卸装备 */
const UpOrDownEqu = async () => {
alert(ueId);
}
/**绑定装备 */
const LockEqu = async () => {
MessageExtend.LoadingToast("操作中...");
let result = await EquService.EquLock(ueId);
MessageExtend.LoadingClose();
if (result.code == 0) {
await BindData();
MessageExtend.Notify(result.msg, "success");
}
else {
MessageExtend.ShowDialog("绑定装备", result.msg);
}
}
</script>

View File

@@ -0,0 +1,57 @@
<template>
<div class="content">
套装介绍
</div>
<div class="content">
套装名称{{ data.suitName }}<br>
套装介绍<span v-html="data.sign"></span><br>
</div>
<div class="content">
---套装部件---<br>
<div class="item" v-for="item in onEqu">
<Abar :href='"/prop/equ?id=" + item.equId'>{{ item.equName }}</Abar>
</div>
</div>
<div class="content">
---套装属性---<br>
<div v-for="item in suitAttr">
<div class="content" v-for="attr in item.attrItem">
<span>{{ item.type == 0 ? "✧" : "✡" }}</span>
<span>{{ attr.tip }}</span>
</div>
</div>
</div>
</template>
<script setup lang="ts">
definePageMeta({
layout: layout.default,
middleware: 'page-loading'
})
const data = ref<any>({});
const onEqu = ref<Array<any>>([]);
const suitAttr = ref<Array<any>>([]);
onMounted(async () => {
try {
await BindData();
}
finally {
PageLoading.Close();
}
})
const BindData = async (): Promise<void> => {
let suitCode = PageExtend.QueryString("no");
let result = await EquService.GetEquSuitInfo(suitCode);
if (result.code == 0) {
data.value = result.data;
onEqu.value = result.data.onEqu;
suitAttr.value = result.data.attr;
}
else {
MessageExtend.ShowDialog("提示", result.msg);
}
};
</script>

View File

@@ -1 +1,80 @@
<template></template>
<template>
<div class="content">
队伍资料
</div>
<div class="content">
名称{{ team.name }}<br>
成员({{ user.length }}/{{ team.count }})<br>
分类{{ codeTips }}<br>
队长<GameUser :data="master" :show-icon="0"></GameUser>
<span>{{ masterOnline ? "(在线)" : "(离线)" }}</span><br>
<div>
<span v-if="member.length == 0">
->暂无队员.
</span>
<div v-for="item in member">
队员<GameUser :data="item.user" :show-icon="0"></GameUser>
<span>{{ item.isOnline == 1 ? "(在线)" : "(离线)" }}</span>
</div>
</div>
<div>
<Abutton @click="JoinTeam">加入队伍</Abutton>
</div>
</div>
</template>
<script setup lang="ts">
definePageMeta({
layout: layout.default,
middleware: 'page-loading'
})
const state = ref(0);
const codeTips = ref('');
const team = ref<any>({});
const user = ref<Array<any>>([]);
const master = ref<any>({});
const masterOnline = ref(false);
const member = ref<Array<any>>([]);
onMounted(async () => {
try {
await BindData();
}
finally {
PageLoading.Close();
}
})
const BindData = async (): Promise<void> => {
let teamId = PageExtend.QueryString("id");
let result = await TeamService.GetTeamInfo(teamId);
if (result.code == 0) {
state.value = result.data.state;
team.value = result.data.team;
user.value = result.data.user;
codeTips.value = result.data.codeTips;
let masterInfo = user.value.find(it => it.user.userId == team.value.masterId);
master.value = masterInfo.user;
masterOnline.value = masterInfo.isOnline;
member.value = user.value.filter(it => it.user.userId != team.value.masterId);
}
else {
MessageExtend.ShowDialog("提示", result.msg);
}
};
const JoinTeam = async () => {
let teamId = PageExtend.QueryString("id");
MessageExtend.LoadingToast("加入中...");
let result = await TeamService.JoinTeam(teamId);
MessageExtend.LoadingClose();
if (result.code == 0) {
PageExtend.Redirect("/user/team");
}
else {
MessageExtend.ShowDialog("加入队伍", result.msg);
}
}
</script>

View File

@@ -1,7 +1,9 @@
<template>
<div class="content">
<Abar :href='"/user/message/read?id=" + userData.userNo'>私聊</Abar>. <Abar :href='"/user/gift/give?no="+userData.userNo'>送礼物</Abar>. <Abar href="/user/interact/dou">逗一下</Abar><br />
<Abar href="/user/master/add">拜师</Abar>. <Abar :href='"/trade/user?no="+userData.userNo'>交易</Abar>. <Abar href="/bag/give">送道具</Abar><br>
<Abar :href='"/user/message/read?id=" + userData.userNo'>私聊</Abar>. <Abar
:href='"/user/gift/give?no=" + userData.userNo'>送礼物</Abar>. <Abar href="/user/interact/dou">逗一下</Abar><br />
<Abar href="/user/master/add">拜师</Abar>. <Abar :href='"/trade/user?no=" + userData.userNo'>交易</Abar>. <Abar
href="/bag/give">送道具</Abar><br>
<Abutton @click="FriendHandle">{{ isFriend ? "删除好友" : "加好友" }}</Abutton>
<span v-if="isEnemy == false">
.<Abutton @click="AddEnemy">加仇人</Abutton>
@@ -39,11 +41,15 @@
装饰: <br>
套装: <br>
帮会: <br>
队伍:<br>
<div v-if="team.state == 1">
队伍:<Abar :href='"/user/team/info?id=" + team.team.teamId'>{{ team.team.name }}</Abar>
</div>
</div>
<div class="content"></div>
</template>
<script setup lang="ts">
import Team from './team/team.vue';
definePageMeta({
layout: layout.default,
@@ -56,7 +62,7 @@ const online = ref(0);
const onMap = ref('');
const isFriend = ref(false);
const isEnemy = ref(false);
const team = ref<any>({});
onMounted(async () => {
try {
await BindData();
@@ -79,6 +85,7 @@ const BindData = async (): Promise<void> => {
onMap.value = result.data.onMapName;
isFriend.value = result.data.isFriend;
isEnemy.value = result.data.isEnemy;
team.value = result.data.team;
console.log(result);
}
else if (result.code == 101) {

View File

@@ -6,4 +6,28 @@ export class EquService {
static async GetEquInfo(equId: number, ueId: string) {
return await ApiService.Request("get", "/Equ/GetEquInfo", { equId, ueId });
}
/**
* 获取套装详情
* GET /Equ/GetEquSuitInfo
*/
static async GetEquSuitInfo(suitCode: string) {
return await ApiService.Request("get", "/Equ/GetEquSuitInfo", { suitCode });
}
/**
* 绑定操作
* GET /Equ/EquLock
*/
static async EquLock(ueId: string) {
return await ApiService.Request("get", "/Equ/EquLock", { ueId });
}
/**
* 穿/卸装备
* GET /Equ/DownOrUpEqu
*/
static async DownOrUpEqu(ueId: string) {
return await ApiService.Request("get", "/Equ/DownOrUpEqu", { ueId });
}
}