This commit is contained in:
Putoo
2026-05-23 18:36:37 +08:00
parent 05e340801f
commit dbace8a8b2
27 changed files with 729 additions and 52 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

View File

@@ -53,4 +53,9 @@ onMounted(() => {
<style>
/* 页面级样式可以在这里定义 */
/* 全局样式已移至 src/assets/css/style.css */
:root{
--van-base-font: initial !important;
}
</style>

View File

@@ -120,6 +120,26 @@ a:focus {
height: 20px;
border: none;
}
.serch{
display: flex;
align-items: flex-end;
}
.search-ipt{
width: 80px;
font-size: 11px;
padding: 0 ;
}
.ipt-btn{
width: 61px;
height: 21px;
font-size: 13px;
border: none;
margin-top: 5px;
background: url(/css/images/btn_b_gold.gif) no-repeat;
color: #af4c00;
}
.chat {
word-wrap: break-word;
}
@@ -173,4 +193,4 @@ a:focus {
border-color: #d2d2d2;
background: 0 0;
color: #666;
}
}

View File

@@ -1,7 +1,7 @@
<template>
<div class="common">
<Abar href="/">状态</Abar>.
<Abar href="/">物品</Abar>.
<Abar href="/bag">物品</Abar>.
<Abar href="/chat">聊天</Abar>
</div>
<div class="common">

View File

@@ -2,6 +2,7 @@
<div class="main">
<slot />
</div>
<div class="clear"></div>
<div class="content ">
<button class="btn btn-ret" @click="GoBack">返回</button><br />
<Abar href="/map">返回游戏</Abar>

125
Web/src/pages/bag/index.vue Normal file
View File

@@ -0,0 +1,125 @@
<template>
<div class="content">
我的物品.<Abutton @click="Refresh">刷新</Abutton> <br>
金元: {{ bagInfo.gold }}<br />
金贝: {{ bagInfo.cowry }} <br />
负重:{{ bagInfo.onWeight }}/{{ bagInfo.maxWeight }} <br />
{{ bagInfo.copper }}<br />
<Abar href="/">交易记录</Abar><br>
<Abar href="/">赠送记录</Abar>
</div>
<div class="content">
<div class="common">
<Acheak @click="ChangeBag('0')" :on-value="type" on-cheak="0">装备</Acheak>|
<Acheak @click="ChangeBag('1')" :on-value="type" on-cheak="1">药品</Acheak>|
<Acheak @click="ChangeBag('2')" :on-value="type" on-cheak="2">物品</Acheak>|
<Acheak @click="ChangeBag('3')" :on-value="type" on-cheak="3">坐骑</Acheak>
</div>
<div class="common">
</div>
<div class="common serch">
搜索内容<input type="text" class="search-ipt" v-model="serch">&nbsp;
<button class="ipt-btn" name="serch" @click="BindData">搜索</button>
</div>
<div class="common">
<div v-if="type == '0'">
<Acheak @click="ChangeChildBag('0')" :on-value="type_ch" on-cheak="0">全部</Acheak>.
<Acheak @click="ChangeChildBag('1')" :on-value="type_ch" on-cheak="1">穿戴</Acheak>.
<Acheak @click="ChangeChildBag('2')" :on-value="type_ch" on-cheak="2">到期</Acheak>
</div>
<div v-if="type == '2'">
<Acheak @click="ChangeChildBag('0')" :on-value="type_ch" on-cheak="0">全部</Acheak>.<Acheak
@click="ChangeChildBag('1')" :on-value="type_ch" on-cheak="1">宝石</Acheak>.<Acheak
@click="ChangeChildBag('2')" :on-value="type_ch" on-cheak="2">九宫</Acheak>.<Acheak
@click="ChangeChildBag('3')" :on-value="type_ch" on-cheak="3">圣痕</Acheak>.<Acheak
@click="ChangeChildBag('4')" :on-value="type_ch" on-cheak="4">宝箱</Acheak>.<Acheak
@click="ChangeChildBag('5')" :on-value="type_ch" on-cheak="5">材料</Acheak>.<Acheak
@click="ChangeChildBag('6')" :on-value="type_ch" on-cheak="6">图纸</Acheak>.<Acheak
@click="ChangeChildBag('7')" :on-value="type_ch" on-cheak="7">卡片</Acheak>.<Acheak
@click="ChangeChildBag('8')" :on-value="type_ch" on-cheak="8">货物</Acheak>.<Acheak
@click="ChangeChildBag('9')" :on-value="type_ch" on-cheak="9">其他</Acheak>
</div>
</div>
</div>
<div class="content">
暂无道具.
</div>
<div class="content">
<Pagination :currentPage="currentPage" :limit="10" :total="total" @pageChange="handlePageChange" />
</div>
</template>
<script setup lang="ts">
definePageMeta({
layout: layout.default,
middleware: 'page-loading'
})
const currentPage = ref<number>(1);
const total = ref<number>(0);
const bagInfo = ref<any>({});
const data = ref<Array<any>>([]);
const type = ref('0');
const type_ch = ref('0');
const serch = ref('');
onMounted(async () => {
try {
let result = await BagService.GetUserBagData();
if (result.code == 0) {
bagInfo.value = result.data;
await BindData();
}
console.log(result);
}
finally {
PageLoading.Close();
}
})
const BindData = async (): Promise<void> => {
let result = await MapService.GetMapUser(currentPage.value);
if (result.code == 0) {
data.value = result.data.data;
total.value = result.data.total;
console.log(result);
}
else {
MessageExtend.ShowDialog("提示", result.msg);
}
};
/**切换背包 */
const ChangeBag = async (_type: string): Promise<void> => {
type.value = _type;
await BindData();
}
const ChangeChildBag = async (ch: string): Promise<void> => {
type_ch.value = ch;
await BindData();
}
/**刷新 */
const Refresh = async (): Promise<void> => {
serch.value = '';
MessageExtend.LoadingToast("刷新中...");
currentPage.value = 1;
await BindData();
MessageExtend.LoadingClose();
PageExtend.ScrollToTop();
}
/**翻页 */
const handlePageChange = async (page: number): Promise<void> => {
currentPage.value = page;
await BindData();
};
</script>

View File

@@ -4,12 +4,12 @@
<Abar href="/news">*更新内容早知道</Abar>
</div>
<div class="title">
<Acheak @click="BindData('0')" :on-value="type" on-cheak="0">公共</Acheak>.
<Acheak @click="BindData('1')" :on-value="type" on-cheak="1">队伍</Acheak>.
<Acheak @click="BindData('2')" :on-value="type" on-cheak="2">帮派</Acheak>.
<Acheak @click="BindData('3')" :on-value="type" on-cheak="3">全区</Acheak>.
<Acheak @click="BindData('4')" :on-value="type" on-cheak="4">全服</Acheak>.
<Acheak @click="BindData('5')" :on-value="type" on-cheak="5">系统</Acheak>
<Acheak @click="ChangeChat('0')" :on-value="type" on-cheak="0">公共</Acheak>.
<Acheak @click="ChangeChat('1')" :on-value="type" on-cheak="1">队伍</Acheak>.
<Acheak @click="ChangeChat('2')" :on-value="type" on-cheak="2">帮派</Acheak>.
<Acheak @click="ChangeChat('3')" :on-value="type" on-cheak="3">全区</Acheak>.
<Acheak @click="ChangeChat('4')" :on-value="type" on-cheak="4">全服</Acheak>.
<Acheak @click="ChangeChat('5')" :on-value="type" on-cheak="5">系统</Acheak>
</div>
<div class="content">
<GameChat :data="data" :show-time="1"></GameChat>
@@ -54,18 +54,15 @@ const sign = ref('');
onMounted(async () => {
try {
await BindData(type.value);
await BindData();
}
finally {
PageLoading.Close();
}
})
const BindData = async (typeid: string): Promise<void> => {
if (type.value != typeid) {
type.value = typeid;
}
let result = await ChatService.GetChatData(Number(typeid), currentPage.value);
const BindData = async (): Promise<void> => {
let result = await ChatService.GetChatData(Number(type.value), currentPage.value);
if (result.code == 0) {
data.value = result.data.data;
goodsCount.value = result.data.sendGoodsCount
@@ -80,7 +77,7 @@ const BindData = async (typeid: string): Promise<void> => {
/**刷新 */
const Refresh = async (): Promise<void> => {
MessageExtend.LoadingToast("刷新中...");
await BindData(type.value);
await BindData();
MessageExtend.LoadingClose();
PageExtend.ScrollToTop();
}
@@ -88,7 +85,7 @@ const Refresh = async (): Promise<void> => {
/**翻页 */
const handlePageChange = async (page: number): Promise<void> => {
currentPage.value = page;
await BindData(type.value);
await BindData();
};
/**发送消息 */
@@ -105,7 +102,7 @@ const SendChat = async (): Promise<void> => {
send = true;
if (result.code == 0) {
sign.value = '';
await BindData(type.value);
await BindData();
PageExtend.ScrollToTop();
}
else {
@@ -115,4 +112,13 @@ const SendChat = async (): Promise<void> => {
}
/**切换频道 */
const ChangeChat = async (typeid: string): Promise<void> => {
if (type.value != typeid) {
type.value = typeid;
}
currentPage.value = 1;
await BindData();
};
</script>

View File

@@ -14,16 +14,16 @@
</div>
<div class="content">
您看到:
<a class="" href="/Map/Index/MapUser/16_27?sid=W6Wg8iH9gY7wIBNSEdtFcQ3KbI5YiKDo">1111
</a>
<Abar href="/map/user" v-if="mapUser.length>0">
<span v-for="item in mapUser">{{item.nick}} &nbsp;</span>
</Abar>
</div>
<div class="content">
<div class="item" v-for="item in npcData">
<Abar href="">{{ item.npcName }}{{ item.tips }}</Abar>
</div>
</div>
<div class="content">
</div>
<div class="content">
请选择出口:<br />
<span v-if="mapDong.mapId != ''">东:<Abutton @click="BindData(mapDong.mapId)">{{ mapDong.name }}</Abutton></span>
@@ -34,9 +34,7 @@
</div>
<div class="content">
<Abutton @click="ShowCityProp">城内地图</Abutton>.<a class=""
href="/Business/Help/Index?sid=W6Wg8iH9gY7wIBNSEdtFcQ3KbI5YiKDo">帮助</a>.<a class=""
href="/Privilege/Purdiam/MapTo?sid=W6Wg8iH9gY7wIBNSEdtFcQ3KbI5YiKDo">传送</a><br />
<Abutton @click="ShowCityProp">城内地图</Abutton>.<Abar href="/">寻路</Abar><br />
</div>
<div class="content">
{{ mapInfo.tips }}
@@ -67,6 +65,7 @@ const cityInfo = ref<any>({});
const npcData = ref<Array<any>>([]);
const chatData = ref<Array<any>>([]);
const cityShow = ref<Array<any>>([]);
const mapUser = ref<Array<any>>([]);
// 城内地图显示
const showCity = ref(false)
@@ -88,6 +87,7 @@ const BindData = async (map: string): Promise<void> => {
npcData.value = result.data.npcData;
chatData.value = result.data.chatData;
cityShow.value = result.data.cityShow;
mapUser.value = result.data.nearUser;
MapVent(result.data.mapInfo.near);
onMap.value = mapInfo.value.mapId;
console.log(result.data);

View File

@@ -0,0 +1,61 @@
<template>
<div class="content">
附近的人.<Abutton @click="Refresh">刷新</Abutton>
</div>
<div class="content">
<div class="item" v-for="(item, index) in data" :key="index">
{{ index + 1 }}.<GameUser :data="item" :show-icon="0"></GameUser>
</div>
<span v-if="data.length == 0">暂无玩家.</span>
</div>
<div class="content">
<Pagination :currentPage="currentPage" :limit="10" :total="total" @pageChange="handlePageChange" />
</div>
</template>
<script setup lang="ts">
definePageMeta({
layout: layout.default,
middleware: 'page-loading'
})
const currentPage = ref<number>(1);
const total = ref<number>(0);
const data = ref<Array<any>>([]);
onMounted(async () => {
try {
await BindData();
}
finally {
PageLoading.Close();
}
})
const BindData = async (): Promise<void> => {
let result = await MapService.GetMapUser(currentPage.value);
if (result.code == 0) {
data.value = result.data.data;
total.value = result.data.total;
}
else {
MessageExtend.ShowDialog("提示", result.msg);
}
};
/**刷新 */
const Refresh = async (): Promise<void> => {
MessageExtend.LoadingToast("刷新中...");
currentPage.value = 1;
await BindData();
MessageExtend.LoadingClose();
PageExtend.ScrollToTop();
}
/**翻页 */
const handlePageChange = async (page: number): Promise<void> => {
currentPage.value = page;
await BindData();
};
</script>

View File

@@ -6,4 +6,12 @@ export class MapService {
static async GetMapData(map: string) {
return await ApiService.Request("get", "/Map/Map/GetMapData", { map });
}
/**
* 获取地图在线玩家
* GET /Map/Map/GetMapUser
*/
static async GetMapUser(page: number) {
return await ApiService.Request("get", "/Map/Map/GetMapUser", { page });
}
}

View File

@@ -0,0 +1,9 @@
export class BagService {
/**
* 获取背包信息
* GET /User/Bag/GetUserBagData
*/
static async GetUserBagData() {
return await ApiService.Request("get", "/User/Bag/GetUserBagData");
}
}