This commit is contained in:
Putoo
2026-06-17 19:22:35 +08:00
parent 5cd6151b96
commit 3b0f1e37ee
40 changed files with 1856 additions and 55 deletions

View File

@@ -1,7 +1,8 @@
<template>
<GameBroadcast :data="broadcast"></GameBroadcast>
<div class="item" style="font-size:15px;">
<span>[在线奖励]:3分钟后可领取.</span>
</div>
</div>
<div class="content">
{{ cityInfo.cityName }}·{{ mapInfo.mapName }}
<Abutton @click="Refresh">刷新</Abutton>
@@ -119,6 +120,7 @@ const mapUser = ref<Array<any>>([]);
const business = ref<Array<any>>([]);
const mapRes = ref<Array<any>>([]);
const messageCount = ref(0);
const broadcast = ref<Array<any>>([]);
// 城内地图显示
const showCity = ref(false);
@@ -144,6 +146,7 @@ const BindData = async (map: string): Promise<void> => {
messageCount.value = result.data.noReadMsg;
business.value = result.data.business;
mapRes.value = result.data.mapRes;
broadcast.value = result.data.broadcast;
MapVent(result.data.mapInfo.near);
onMap.value = mapInfo.value.mapId;
}
@@ -289,4 +292,4 @@ const CollectRes = async () => {
}
</script>
</script>

View File

@@ -72,7 +72,9 @@
强化等级:{{ equData.intensifyLev }}<br>
</span>
<span v-if="equAwaken.length > 0">
<Abar href="">装备特性:{{ equAwaken[0].name }}({{ equAwaken[0].lev }})</Abar><br>
<Abar :href='"/user/equ/awaken?ue=" + equData.ueId'>装备特性:{{ equAwaken[0].name }}({{ equAwaken[0].lev
}})
</Abar><br>
</span>
附魔:{{ equMent.name }}<br>
负重:{{ equData.weight }}<br>
@@ -114,28 +116,58 @@
<div v-if="equData.isAppr == 0">
(*该装备需要鉴定)
</div>
<div class="common" v-if="myUserId == equData.userId && equData.isAppr == 1">
<span>
<div class="common" v-if="myUserId == equData.userId">
<span v-if="equData.isAppr == 1">
<Abutton @click="UpOrDownEqu">{{ equData.isOn == 1 ? "卸下装备" : "穿戴装备" }}</Abutton><br>
</span>
<span>
<Abutton>觉醒</Abutton><br>
<span v-if="equData.isAppr == 1 && equData.isIntensify == 1">
<Abar :href='"/user/equ/up?ue=" + equData.ueId'>强化</Abar><br>
</span>
<span>
<span v-if="equData.isAppr == 1">
<Abutton @click="btnOpenAwaken">觉醒</Abutton><br>
</span>
<span v-if="equData.isAppr == 1">
<Abutton>洗练</Abutton><br>
</span>
<span>
<Abutton @click="LockEqu">{{ equData.isLock == 0 ? "绑定" : "解绑" }}</Abutton><br>
</span>
<span>
<Abar href="">寄售</Abar><br>
<span v-if="equData.isOn == 0 && equData.isDeal == 1">
<Abar href="/">寄售</Abar><br>
</span>
<span>
<!-- <span>
<Abutton>个性化</Abutton><br>
</span>
</span> -->
</div>
</div>
</div>
<!--觉醒-->
<GamePopup v-model:show="showAwaken" title="【觉醒装备】" style="width: 60%;min-height: 30%;">
<!-- 自定义内容 -->
<div class="content">
<div v-if="equAwaken.length == 0">
装备暂未觉醒.
</div>
<div v-else>
特性名称{{ equAwaken[0].name }} <br>
觉醒等级{{ equAwaken[0].lev }} <br>
特性效果{{ EquTool.GetEquAttrName(equAwaken[0].awaken, 0) }}<br>
</div>
<div>
<strong>觉醒所需</strong><br>
<GamePropVerify :data="awakenProp.needs"></GamePropVerify>
</div>
</div>
<div class="content" style="max-height: 300px;text-align: center; margin-top: 15px;;" v-if="awakenProp.result">
<van-button type="success" @click="btnEquAwaken(1)">
觉醒装备
</van-button>
<van-button type="danger" @click="btnEquAwaken(0)" v-if="equAwaken.length > 0" style="margin-left: 5px;">
重置觉醒
</van-button>
</div>
</GamePopup>
</template>
<script setup lang="ts">
@@ -165,7 +197,6 @@ onMounted(async () => {
const BindData = async (): Promise<void> => {
let equId = PageExtend.QueryString("id");
let result = await EquService.GetEquInfo(Number(equId), ueId);
if (result.code == 0) {
equData.value = result.data.equData;
@@ -175,7 +206,6 @@ const BindData = async (): Promise<void> => {
equAwaken.value = result.data.equData.equAwaken;
equMent.value = result.data.equData.equMent;
gemMent.value = result.data.equData.gemMent;
console.log(result);
}
else {
MessageExtend.ShowDialog("提示", result.msg);
@@ -209,4 +239,40 @@ const LockEqu = async () => {
MessageExtend.ShowDialog("绑定装备", result.msg);
}
}
/**觉醒装备 */
const showAwaken = ref(false);
const awakenProp = ref<any>({});
const btnOpenAwaken = async () => {
MessageExtend.LoadingToast("觉醒初始化中...");
let result = await EquService.GetEquAwakenInfo(ueId);
MessageExtend.LoadingClose();
if (result.code == 0) {
showAwaken.value = true;
awakenProp.value = result.data;
}
else {
MessageExtend.ShowDialog("装备觉醒", result.msg);
}
}
const btnEquAwaken = async (type: number) => {
MessageExtend.LoadingToast("觉醒中...");
let result = await EquService.HandleEquAwaken(ueId, type);
MessageExtend.LoadingClose();
if (result.code == 0) {
if (result.data.state == 1) {
MessageExtend.ShowToast(result.msg, "success");
}
else {
MessageExtend.ShowToast(result.msg, "fail");
}
equAwaken.value = result.data.awaken;
awakenProp.value = result.data.result;
}
else {
MessageExtend.ShowDialog("装备觉醒", result.msg);
}
}
</script>

View File

@@ -54,7 +54,7 @@
<span v-if="item.isAppr == 0">(未鉴定)</span>
<span v-if="item.useEndTime < onTime" style="color: red;">(过期)</span>
<span v-if="item.durability < 1" style="color: red;">(损坏)</span>
<span v-if="item.isLock == 1" style="color: green;">()</span>
<span v-if="item.isLock == 1" style="color: green;">()</span>
</div>
</div>
<div class="common" v-if="type == '1'">

View File

@@ -0,0 +1,48 @@
<template>
<div class="content">
觉醒属性<br>
名称{{ equData.equName }}<br>
<span v-if="equData.equName != equData.unitEquName">
装备名称{{ equData.unitEquName }}<br>
</span>
部位{{ EquTool.GetEquPlaceName(equData.code) }}<br>
等级{{ equData.lev }}
</div>
<div class="content" v-if="equAwaken.length > 0">
特性名称{{ equAwaken[0].name }} <br>
觉醒等级{{ equAwaken[0].lev }} <br>
特性效果{{ EquTool.GetEquAttrName(equAwaken[0].awaken, 0) }}<br>
</div>
</template>
<script setup lang="ts">
definePageMeta({
layout: layout.default,
middleware: 'page-loading'
})
const equData = ref<any>({});
const equAwaken = ref<Array<any>>([]);
let ueId = PageExtend.QueryString("ue");
onMounted(async () => {
try {
await BindData();
}
finally {
PageLoading.Close();
}
})
const BindData = async (): Promise<void> => {
let result = await EquService.GetEquInfo(0, ueId);
if (result.code == 0) {
equData.value = result.data.equData;
equAwaken.value = result.data.equData.equAwaken;
}
else {
MessageExtend.ShowDialog("提示", result.msg);
}
};
</script>

View File

@@ -0,0 +1,147 @@
<template>
<div class="content">
装备强化<br>
名称: <GameEqu :equ-data="equData" :show-url="false"></GameEqu><br>
<span v-if="equData.equName != equData.unitEquName">
装备名称:{{ equData.unitEquName }}<br>
</span>
部位:{{ EquTool.GetEquPlaceName(equData.code) }}<br>
等级:{{ equData.lev }}<br>
</div>
<div class="content">
当前强化等级:{{ equData.intensifyLev }}
</div>
<div class="content" v-if="isMax == false">
强化所需:<br>
<div class="common" v-for="item in needs">
<span v-if="item.code == 'Goods'">
<Abar :href='"/prop/goods?id=" + item.parameter'>{{ item.name }}</Abar>:({{ item.onCount }}/{{
item.count }})
<span style="color: red;" v-if="item.isAsk == 0">(不满足)</span>
</span>
<span v-else-if="item.code == 'copper'">
{{ item.name }}:({{ GameTool.FormatCopper(item.onCount) }}/ {{ GameTool.FormatCopper(item.count) }})
<span style="color: red;" v-if="item.isAsk == 0">(不满足)</span>
</span>
<span v-else>
{{ item.name }}:({{ item.onCount }}/{{ item.count }})
<span style="color: red;" v-if="item.isAsk == 0">(不满足)</span>
</span>
<span v-if="item.needItem.length > 0">
<Abutton @click="ChangeProp(item)">更换</Abutton>
</span>
</div>
</div>
<div class="content" v-if="isMax == isMax && verifyData.result == true">
[<Abutton @click="btnHandleEquUp">立即强化</Abutton>]
</div>
<div class="clear"></div>
<div class="content" style="font-size: 16px;;">
强化说明:<br>
1.强化仅在成功后扣除()龙泉水<br>
2.强化等级上限100级<br>
3.强化所需的其他材料可以通过游戏内获得龙泉水可以通过商城/活动获得<br>
4.使用龙泉水装备会不可交易,使用正龙泉水装备自动为可交易状态<br>
</div>
<GamePopup v-model:show="showChange" title="【切换材料】" style="width: 60%;max-height: 30%;">
<!-- 自定义内容 -->
<div class="content" style="max-height: 300px;margin-top: 15px;;">
<div class="item" v-for="(item, index) in changeData" :key="index">
{{ index + 1 }}.<Abutton @click="ChangePropOk(item)">{{ item.name }}×{{ item.count }}</Abutton>
</div>
</div>
</GamePopup>
</template>
<script setup lang="ts">
definePageMeta({
layout: layout.default,
middleware: 'page-loading'
})
const equData = ref<any>({});
const isMax = ref(true);
const verifyData = ref<any>({});
const needs = ref<Array<any>>([]);
let ueId = PageExtend.QueryString("ue");
onMounted(async () => {
try {
await BindData();
}
finally {
PageLoading.Close();
}
})
const BindData = async (): Promise<void> => {
let result = await EquService.GetEquUpInfo(ueId);
console.log(result);
if (result.code == 0) {
equData.value = result.data.equData;
isMax.value = result.data.isMax;
verifyData.value = result.data.result;
needs.value = verifyData.value.needs;
}
else {
MessageExtend.ShowDialogEvent("强化装备", result.msg, () => {
PageExtend.RedirectTo("/prop/equ?ue=" + ueId);
});
}
};
const changeNum = ref(0);
const changeData = ref<Array<any>>([]);
const showChange = ref(false);
const ChangeProp = (data: any) => {
changeNum.value = data.id;
changeData.value = data.needItem;
showChange.value = true;
}
const ChangePropOk = async (data: any) => {
MessageExtend.LoadingToast("切换中...");
needs.value.forEach(it => {
if (it.id == changeNum.value) {
it.name = data.name;
it.code = data.code;
it.parameter = data.parameter;
it.count = data.count;
}
});
let _needs = JSON.stringify(needs.value);
let result = await BagService.CheckUserProp(_needs);
console.log(result);
MessageExtend.LoadingClose();
if (result.code == 0) {
verifyData.value = result.data;
needs.value = verifyData.value.needs;
showChange.value = false;
}
else {
MessageExtend.ShowDialog("材料切换", result.msg);
}
}
/**强化装备 */
const btnHandleEquUp = async () => {
MessageExtend.LoadingToast("强化中...");
let _needs = JSON.stringify(needs.value);
let result = await EquService.HandleEquUp(ueId, _needs);
MessageExtend.LoadingClose();
if (result.code == 0) {
if (result.data.state == 1) {
MessageExtend.ShowToast("强化成功!", "success");
}
else {
MessageExtend.ShowToast("强化失败!", "fail");
}
equData.value = result.data.equData;
isMax.value = result.data.isMax;
verifyData.value = result.data.result;
needs.value = verifyData.value.needs;
}
else {
MessageExtend.ShowDialog("强化装备", result.msg);
}
}
</script>