This commit is contained in:
Putoo
2026-05-22 18:47:25 +08:00
parent 0016ef7e83
commit 7d263d2b96
16 changed files with 527 additions and 40 deletions

View File

@@ -0,0 +1,99 @@
<template>
<!-- 游戏风格弹出层 -->
<van-popup v-model:show="visible" round :style="{ padding: '0px' }" closeable close-icon="close">
<div class="popup-header">
<div class="popup-title">
{{ title }}
</div>
</div>
<div class="popup-content">
<slot></slot>
</div>
</van-popup>
</template>
<script setup lang="ts">
const props = defineProps({
// 字段名、类型、默认值
isShow: Boolean,
title: String
})
const visible = ref(props.isShow)
</script>
<style scoped>
/* 弹出层整体样式 */
:deep(.game-popup) {
width: 82%;
max-width: 360px;
border-radius: 20px !important;
background: linear-gradient(135deg, #1e1e2f 0%, #292947 100%);
overflow: hidden;
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5);
}
/* 标题栏 */
.popup-header {
position: relative;
padding: 18px 20px;
text-align: center;
}
/* 标题文字 */
.popup-title {
margin-top: -8px;
font-size: 18px;
font-weight: bold;
letter-spacing: 1px;
}
/* 关闭按钮 */
.close-btn {
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-50%);
padding: 4px;
}
/* 内容区域 */
.popup-content {
margin-top: -35px;
padding: 15px 15px;
color: #e0e0e0;
font-size: 15px;
line-height: 1.6;
min-height: 80px;
}
/* 底部按钮栏 */
.popup-footer {
display: flex;
justify-content: flex-end;
gap: 12px;
padding: 14px 20px;
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* 按钮通用样式 */
.footer-btn {
border-radius: 12px !important;
padding: 6px 18px !important;
font-size: 14px !important;
}
/* 取消按钮 */
.cancel-btn {
color: #b0b0b0 !important;
border-color: #444455 !important;
background: transparent !important;
}
/* 确认按钮 */
.confirm-btn {
background: linear-gradient(90deg, #7b43ff, #5c3dff) !important;
border: none !important;
}
</style>

View File

@@ -33,8 +33,8 @@
</div>
</div>
<div class="content">
<Abar href="/">*公聊频道发言规范</Abar><br />
<Abar href="/">*游戏用户守则规范</Abar>
<Abar href="/customer/chat">*公聊频道发言规范</Abar><br />
<Abar href="/customer/rule">*游戏用户守则规范</Abar>
</div>
</template>
<script setup lang="ts">
@@ -82,7 +82,6 @@ const Refresh = async (): Promise<void> => {
MessageExtend.LoadingToast("刷新中...");
await BindData(type.value);
MessageExtend.LoadingClose();
MessageExtend.Notify("刷新成功!", "success");
PageExtend.ScrollToTop();
}

View File

@@ -0,0 +1,34 @@
<template>
<div class="content">
公共聊天规范
</div>
<div class="content">
为了给各位玩家营造一个健康规范和谐的聊天环境现对聊天室做出相关规定请各位玩家自觉遵守如有违反官方客服将会根据本规定进行相应的处理<br>
公聊规定<br>
1不得在刷屏刷屏指在公聊频道短时间内出现同样或相似信息5遍及5遍以上<br>
2不得侮辱诽谤谩骂恐吓他人或进行其他恶意攻击<br>
3不得在聊天室发布含有挑衅性质的言辞<br>
4不得在聊天室宣传外网或群链接<br>
5不得在聊天室发布未经航海时代官方允许的商业广告<br>
6禁止在聊天室发表传播违反国家法律规定的言论包含但不限于泄露国家机密宣传封建迷信民族歧视散布谣言制造恐慌等<br>
<br>
处罚措施<br>
违反以上规定受到管理员和其他玩家的提醒后应立即改正<br>
1对于拒不改正者官方客服将根据情节严重与否做出相应的警告封禁处理<br>
2对于屡次违反规定者官方客服将根据情节严重程度做出相应的封禁处理<br>
</div>
</template>
<script setup lang="ts">
definePageMeta({
layout: layout.default,
middleware: 'page-loading'
})
onMounted(async () => {
try {
}
finally {
PageLoading.Close();
}
})
</script>

View File

@@ -0,0 +1,37 @@
<template>
<div class="content">
用户守则
</div>
<div class="content">
游戏用户守则<br>
帐号清理规则<br>
①官方有权对长期未登录游戏的账号做出账号回收处理<br>
账号管理规则<br>
冒充官方人员或游戏币商人在游戏中行骗者发布虚假信息者官方有权长期封禁其帐号<br>
提高安全防范意识妥善保管帐号和密码因帐号被盗造成的游戏损失都不会得到游戏管理团队任何形式的补偿由玩家自行负责<br>
所有注册帐号只可用于玩家进行正常的游戏不得用于对游戏进行恶意攻击或破坏官方有权对任何不符合游戏规则的帐号进行封号<br>
玩家游戏时使用的角色名等自定义命名均不得使用违反国家法规带侮辱性的词语官方字眼和游戏内NPC怪物等游戏资源名字不得故意注册和其他玩家相似的名字如有违反官方有权强制要求其更改或封禁帐号<br>
辱骂官方人员者诋毁游戏者官方有权封禁其帐号<br>
游戏漏洞规则<br>
驰骋四海游戏运营团队鼓励玩家报告游戏中出现的问题和漏洞一经证实将获得奖励<br>
所有利用游戏中的漏洞进行非法谋利或恶意攻击的行为被严格禁止一经发现帐号将被封禁<br>
<br>
<br>
航海时代游戏运营团队保留解释更改和添加游戏规则的权利本守则自公布之时起生效<br>
2022.5.26<br>
</div>
</template>
<script setup lang="ts">
definePageMeta({
layout: layout.default,
middleware: 'page-loading'
})
onMounted(async () => {
try {
}
finally {
PageLoading.Close();
}
})
</script>

View File

@@ -5,16 +5,16 @@
<div class="content">
{{ cityInfo.cityName }}·{{ mapInfo.mapName }}
<Abutton @click="Refresh">刷新</Abutton>
<Abar href="">任务</Abar>
<Abar href="">消息</Abar>
<Abar href="/task/">任务</Abar>
<Abar href="/message/">消息</Abar>
</div>
<div class="notification">
<GameChat :data="chatData" :show-time="0"></GameChat>
<GameChat :data="chatData" :show-time="0"></GameChat>
</div>
<div class="content">
您看到:
<a class="" href="/Map/Index/MapUser/16_27?sid=W6Wg8iH9gY7wIBNSEdtFcQ3KbI5YiKDo">
<a class="" href="/Map/Index/MapUser/16_27?sid=W6Wg8iH9gY7wIBNSEdtFcQ3KbI5YiKDo">1111
</a>
</div>
<div class="content">
@@ -34,7 +34,7 @@
</div>
<div class="content">
<a class="" href="/Map/Index/MapCity/16_27?sid=W6Wg8iH9gY7wIBNSEdtFcQ3KbI5YiKDo">城内地图</a>.<a class=""
<Abutton @click="ShowCityProp">城内地图</Abutton>.<a class=""
href="/Business/Help/Index?sid=W6Wg8iH9gY7wIBNSEdtFcQ3KbI5YiKDo">帮助</a>.<a class=""
href="/Privilege/Purdiam/MapTo?sid=W6Wg8iH9gY7wIBNSEdtFcQ3KbI5YiKDo">传送</a><br />
</div>
@@ -45,16 +45,30 @@
<MapMenu></MapMenu>
</div>
<Footer></Footer>
<!-- 城内地图 -->
<GamePopup v-model:show="showCity" title="【城市地图】">
<!-- 自定义内容 -->
<div class="">
<span v-for="(item, index) in cityShow" :key="index">
<Abutton @click="ChangeMap(item.mapId)">{{ item.mapName }}</Abutton>
<br v-if="(index + 1) % 4 == 0">
</span>
</div>
</GamePopup>
</template>
<script setup lang="ts">
definePageMeta({
layout: layout.empty,
middleware: 'page-loading'
})
const onMap = ref('');
const mapInfo = ref<any>({});
const cityInfo = ref<any>({});
const npcData = ref<Array<any>>([]);
const chatData = ref<Array<any>>([]);
const cityShow = ref<Array<any>>([]);
// 城内地图显示
const showCity = ref(false)
onMounted(async () => {
try {
@@ -73,7 +87,9 @@ const BindData = async (map: string): Promise<void> => {
cityInfo.value = result.data.cityInfo;
npcData.value = result.data.npcData;
chatData.value = result.data.chatData;
cityShow.value = result.data.cityShow;
MapVent(result.data.mapInfo.near);
onMap.value = mapInfo.value.mapId;
console.log(result.data);
}
@@ -87,7 +103,6 @@ const Refresh = async (): Promise<void> => {
MessageExtend.LoadingToast("刷新中...");
await BindData("");
MessageExtend.LoadingClose();
MessageExtend.Notify("刷新成功!", "success");
}
@@ -103,4 +118,18 @@ const MapVent = (near: Array<any>): void => {
mapBei.value = near.find(item => item.positition == '北');
}
/**城市地图切换 */
const ShowCityProp = () => {
showCity.value = true;
}
let changLock = true;//切换锁
const ChangeMap = async (mapId: string): Promise<void> => {
if (mapId != onMap.value && changLock) {
changLock = false;
await BindData(mapId);
changLock = true;
}
showCity.value = false;
};
</script>

View File

@@ -0,0 +1 @@
<template></template>

View File

@@ -0,0 +1,3 @@
<template>
</template>