aerwen_u_site/pages/search/details/[id].vue
2024-06-10 23:22:45 +08:00

396 lines
21 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<Head>
<Title>{{ dataDetail.news_title }}-{{ tdk?.tdk_title }}</Title>
<Meta :content=tdk?.tdk_keyword name="keywords" />
<Meta :content=tdk?.tdk_description name="description" />
</Head>
<Header></Header>
<div class="container details-pos-box">
<div class="details-big-box row">
<!-- 左边 -->
<div class="details-left-box col-lg-8 col-md-6 col-sm-12">
<div class="preview-box">
<Magnify :imgSrc='checkimg' :imgBigSrc='checkimg' :imgBigRect='imgBigRect' rate="200">
</Magnify>
<div class="exzoom">
<div class="exzoom_nav">
<p class="exzoom_nav_inner">
<span v-for="(item, i) in detail_list_img" :key="i" @mouseenter="changetype">
<span :class="count - 1 == i ? 'exzoom_span current' : 'exzoom_span'">
<img :src="item" width="60">
</span>
</span>
</p>
</div>
</div>
<p class="exzoom_btn">
<a href="javascript:void(0);" class="exzoom_prev_btn" @click="exzoo_click(0)">
<el-icon>
<Back />
</el-icon>
</a>
<a href="javascript:void(0);" class="exzoom_next_btn" @click="exzoo_click(1)">
<el-icon>
<Right />
</el-icon>
</a>
</p>
</div>
<div clas="left-detail-pos-box">
<div class="left-detail-box">
<div class="left-detail-title">简介</div>
<div class="left-detail-content">{{ dataDetail.intro }}</div>
</div>
<div class="content-line"></div>
<div class="left-detail-box">
<div class="left-detail-title">描述</div>
<div class="left-detail-content" v-html="dataDetail.content"></div>
</div>
</div>
</div>
<!-- 右边边 -->
<div class="details-right-box col-lg-4 col-md-6 col-sm-12">
<h1 class="details-title">Horse Animset Pro (Riding System)</h1>
<div class="content-user-box">
<div class="content-user-img-box">
<el-avatar class="content-user-img" :size="30" :src=dataDetail.user_img />
<div class="content-user-name f1">{{ dataDetail.user_name }}</div>
</div>
<div class="content-user-content-box">
<div class="content-rate-icon-box">
<div class="content-category">{{ dataDetail.categoty_name }}</div>
</div>
<div class="content-rate-line">|</div>
<div class="content-rate-icon-box">
<el-icon class="content-rate-icon">
<StarFilled />
</el-icon>
<div class="content-rate-num">({{ dataDetail.collect_num }})</div>
</div>
</div>
</div>
<div class="content-price">{{ dataDetail.price ? 0 : "免费" }}</div>
<div class="content-line"></div>
<div class="content-rate-icon-box detail-icon-box">
<el-icon class="content-rate-icon detail-rate-icon">
<View />
</el-icon>
<div class="content-rate-num detail-rate-text">{{ dataDetail.view_num }} 浏览量</div>
</div>
<!-- <div class="play-btn-box">
<button class="play-btn">
<div class="btn-text">P L A Y</div>
<div id="clip">
<div id="leftTop" class="corner"></div>
<div id="rightBottom" class="corner"></div>
<div id="rightTop" class="corner"></div>
<div id="leftBottom" class="corner"></div>
</div>
<span id="rightArrow" class="arrow"></span>
<span id="leftArrow" class="arrow"></span>
</button>
</div> -->
<div class="btn-box">
<button class="btn" @click="redirectToAnotherProject(dataDetail.download_link)">下载工程</button>
<div class="btn-collect">
<img @click="handleCollect" :src=collectImg>
</div>
</div>
<div class="btn-box">
<button class="btn btn-child"
@click="redirectToAnotherProject(dataDetail.material_link)">下载资源</button>
</div>
<div class="btn-box">
<button class="btn btn-child" @click="redirectToAnotherProject(dataDetail.note_link)">查看笔记</button>
</div>
<div class="right-detail-intro-pos-box">
<div class="content-line"></div>
<div class="rightd-detail-intro-box">
<div class="rightd-detail-intro-title">文件大小</div>
<div class="rightd-detail-intro-content">{{ dataDetail.flie_size }}</div>
</div>
<div class="rightd-detail-intro-box">
<div class="rightd-detail-intro-title">发布日期</div>
<div class="rightd-detail-intro-content">{{ dataDetail.send_time }}</div>
</div>
<div class="rightd-detail-intro-box">
<div class="rightd-detail-intro-title">Unity 版本</div>
<div class="rightd-detail-intro-content">{{ dataDetail.unity_version }}</div>
</div>
<div class="rightd-detail-intro-box">
<div class="rightd-detail-intro-title">URP 支持</div>
<div class="rightd-detail-intro-content">{{ dataDetail.is_urp ? '支持' : '不支持' }}</div>
</div>
<div class="Instructions">仅供交流学习研究使用,版权归原作者所有,禁止商业使用。【如有侵权请联系删除】</div>
</div>
<!-- <div class="content-line"></div> -->
<!-- 评论 -->
<div class="right-comment-pos-box">
<div class="left-detail-title">评论</div>
<div class="right-comment-input-box">
<div class="content-comment-user-img-box">
<el-avatar class="content-comment-user-img" :size="50" :src=dataDetail.user_img />
<div class="content-user-name f1">{{ dataDetail.user_name }}</div>
</div>
<div class="comment-input-box">
<el-input v-model="commentContent" :rows="3" type="textarea" placeholder="欢迎您留下宝贵的见解!" />
</div>
</div>
<div class="comment-btn">
<el-button type="primary" @click="handleSendComment">发送评论</el-button>
</div>
<div v-for="item in dataDetail.comment_list">
<div class="custom-comment-big-box">
<div class="custom-comment-avatar">
<el-avatar class="content-comment-user-img" :size="45" :src=item.user_img />
</div>
<div class="custom-comment-content-box">
<div class="custom-comment-content-user-name">{{ item.user_name }}</div>
<div class="custom-comment-content-text">{{ item.comment_content }}</div>
<div class="custom-comment-content-time">{{ item.send_time }}</div>
</div>
</div>
<div class="content-line"></div>
</div>
</div>
</div>
</div>
<!-- <div class="details-pos-box">
<div class="details-title-box">
<div class="details-title"></div>
</div>
</div> -->
</div>
<Final></Final>
<PopupMessageUs></PopupMessageUs>
</template>
<script setup>
import { View } from '@element-plus/icons-vue';
import { ElMessage } from 'element-plus'
// 预对接
let dataDetail = ref({
id: 1,
title: "Horse Animset Pro (Riding System)",
user_id: 1,
user_img: "https://thirdwx.qlogo.cn/mmopen/vi_32/PiajxSqBRaEKo3fnCIM2dHYJnMj04OIHwFqgFs84camsicv6MticPsXKBsoQQPhSJCW6IiaUBZy7ib0LdUhwr9WuRuDI33ibN4xmZR6kia9r9zaaWCAxTia0yiawRWg/132",
user_name: "西瓜西了西",
collect_num: 3086,
view_num: 506,
categoty_name: "模型 > 动物",
price: 0,
download_link: "https://drive.aerwen.net/d/aerwen/unity%E6%BA%90%E7%A0%81/Class/%E9%A1%BA%E8%81%8C%E5%AD%A6%E4%B9%A0%E9%80%9A%E8%AF%BE%E7%A8%8B/%E7%BB%93%E8%AF%BE/9%E4%BB%BB%E5%8A%A1%EF%BC%9A%E5%88%86%E6%95%B0%E7%BB%9F%E8%AE%A1.unitypackage",
material_link: "",
note_link: "https://blog.csdn.net/weixin_60435181/article/details/139512841?spm=1001.2014.3001.5501",
is_collect: false,
is_urp: false,
flie_size: "8.2MB",
send_time: "2024-03-01",
unity_version: "2019.4.23或更高",
comment_list: [
{
user_id: 1,
user_img: "https://thirdqq.qlogo.cn/ek_qqapp/AQIMauLMSKSQoxA7pKYDZXYRTtVrZrOjiarOroKgySzPZibMamTMEfys5XN3vCQwRQzCajRylXORhbmTSDZCTIV0djV5ybY2dOF0cqxYQzgicmQ7pXFLXs/100",
user_name: "hqbb",
send_time: "2024-03-03",
comment_content: "大佬牛逼!",
},
{
user_id: 1,
user_img: "https://blender.kim/wp-content/themes/zibll/img/avatar-default.png",
user_name: "music键",
send_time: "2024-03-03",
comment_content: "6666",
},
{
user_id: 1,
user_img: "https://blender.kim/wp-content/themes/zibll/img/avatar-default.png",
user_name: "123",
send_time: "2024-03-03",
comment_content: "6666",
},
{
user_id: 1,
user_img: "https://blender.kim/wp-content/themes/zibll/img/avatar-default.png",
user_name: "测试",
send_time: "2024-03-03",
comment_content: "6666",
},
{
user_id: 1,
user_img: "https://blender.kim/wp-content/themes/zibll/img/avatar-default.png",
user_name: "music键",
send_time: "2024-03-03",
comment_content: "6666",
},
{
user_id: 1,
user_img: "https://blender.kim/wp-content/themes/zibll/img/avatar-default.png",
user_name: "music键",
send_time: "2024-03-03",
comment_content: "6666",
},
],
intro: "Riding System using the Animal Controller to make your character Ride any creature",
content: "<p><span style=\"color: rgb(33, 33, 33); background-color: rgb(255, 255, 255); font-size: 16px;\"><strong>✅✅升级至 4.2+ ✅✅<br></strong></span></p><p style=\"text-align: start;\">已移除大量脚本,所以为了顺利升级,请遵循以下步骤:</p><p style=\"text-align: start;\">1- 移除 [Malbers Animation\\Common] 文件夹</p><p style=\"text-align: start;\">2- 将 [Horse Animset Pro 4.2+] 再次导入项目<br><a href=\"https://malbersanimations.gitbook.io/animal-controller/quickstart/upgrading-to-ac-1.2-hap-4.2\" target=\"_blank\" style=\"text-align: start;\">升级过程中的常见问题 (AC)</a><br><br><br></p><p style=\"text-align: start;\">这就是你的终极骑行系统!<br><span style=\"color: rgb(33, 33, 33); background-color: rgb(255, 255, 255); font-size: 16px;\"><strong>高质量的动画<br></strong></span></p><p style=\"text-align: start;\">Horse AnimSet Pro(HAP) 是一套动画框架和骑行系统控制器基于根运动适合于任何人形角色。该资源开始时就像是一个简单的马模型和动画包但经过不断发展它已经成为一套强大而灵活的骑行控制器。它包括一个来自于标准资源的基础角色控制器但可以与你创建的更高级的角色控制器搭配使用也可以与商店中任何让人惊叹的角色控制器TCP 或 FPC搭配使用。</p><p style=\"text-align: start;\">该资源包在不断扩展,每次更新都推出了更多功能和动画效果!<br></p><p style=\"text-align: start;\"><a href=\"http://bit.ly/HAPIntegrations\" target=\"_blank\">集成</a> | <a href=\"http://bit.ly/2DuntpT\" target=\"_blank\">骑上任何生物</a> | <a href=\"http://bit.ly/HorseWebGL\" target=\"_blank\">网络演示</a> | <a href=\"http://goo.gl/BLTI4t\" target=\"_blank\">论坛</a> | <a href=\"http://bit.ly/MalbersHAPDoc\" target=\"_blank\">手册<br><br><span style=\"color: rgb(33, 33, 33); background-color: rgb(255, 255, 255); font-size: 16px;\"><strong>⚙ 功能 ⚙<br></strong></span></a></p><p style=\"text-align: start;\">马:</p><p style=\"text-align: start;\">- 80 个动画剪辑</p><p style=\"text-align: start;\">- 2 种马的风格(现实、多边形艺术)</p><p style=\"text-align: start;\">- 针对每种马的风格提供多种纹理集合</p><p style=\"text-align: start;\">- LOD</p><p style=\"text-align: start;\">- 盔甲、缰绳和马鞍</p><p style=\"text-align: start;\">- 针对缰绳和马鬃的 Unity 布料模拟不能用于 Unity 2019</p><p style=\"text-align: start;\">- 声音</p><p style=\"text-align: start;\">- 基础脚步系统(足迹声音和足迹粒子)</p><p style=\"text-align: start;\">- 用于管理所有 Malbers Animations 生物的动物控制器</p><p style=\"text-align: start;\">- 状态:游泳、摔倒、跳跃、攻击、死亡、行走、小跑、慢跑、疾驰、冲刺</p><p style=\"text-align: start;\">- 定向伤害系统</p><p style=\"text-align: start;\">- 扫射</p><p style=\"text-align: start;\">- 镜头基础输入</p><p style=\"text-align: start;\">- 地形校正</p><p style=\"text-align: start;\">- 支持 NavMesh Agent。基础 AI</p><p style=\"text-align: start;\">- 移动端友好</p><p style=\"text-align: start;\">骑行者:</p><p style=\"text-align: start;\">- 132 个动画剪辑(可用于人形角色设定,以获得更好的兼容性)</p><p style=\"text-align: start;\">- 附带 1 个纹理集合的牛仔模型</p><p style=\"text-align: start;\">- 骑行者系统TCP 和 FPC</p><p style=\"text-align: start;\">- 骑行者战斗系统:弓箭、手枪、混战(即将推出长矛、步枪、魔法物品、投掷物)</p><p style=\"text-align: start;\">- 非常非常基础的库存系统,用以演示骑行者 - 战斗系统与外部库存的兼容性。</p><p style=\"text-align: start;\">实用工具:</p><p style=\"text-align: start;\">- 材料更换器</p><p style=\"text-align: start;\">- 混合形状管理器</p><p style=\"text-align: start;\">- 网格更换器</p><p style=\"text-align: start;\">- 动画器消息行为</p><p style=\"text-align: start;\">- 动画器声音行为</p><p style=\"text-align: start;\">- 头部瞄准</p><p style=\"text-align: start;\">- 武器(模型、纹理和脚本)</p><p style=\"text-align: start;\">- 动物基础 AI</p><p style=\"text-align: start;\">- 带镜头状态的基础镜头设置系统。</p><p style=\"text-align: start;\">- 兼容所有 Malbers 动物<br><span style=\"color: rgb(33, 33, 33); background-color: rgb(255, 255, 255); font-size: 16px;\"><em>- 兼容 Invector TCP、Ootii MC即将推出更多集成未来更新<br></em></span></p><p style=\"text-align: start;\">联系人:<a href=\"mailto:malbers.shark87@gmail.com\" target=\"_blank\">malbers.shark87@gmail.com</a></p><p style=\"text-align: start;\">查看日志以了解版本变化</p><p style=\"text-align: start;\"><br></p><p style=\"text-align: start;\"><br></p>"
})
let detail_list_img = ref([
"https://assetstore-cdn-china-v1.unitychina.cn/key-image/b7ede01a-3ccc-4155-9383-33a6976056c1.webp",
"https://assetstore-cdn-china-v1.unitychina.cn/package-screenshot/0f73facc-8e8c-4b94-8de3-67ca8386f5ac.webp",
"https://assetstore-cdn-china-v1.unitychina.cn/package-screenshot/1cc96654-37ad-4b7f-ae1b-0dead9d9fd76.webp",
"https://assetstore-cdn-china-v1.unitychina.cn/package-screenshot/57f984e4-94b7-4bac-bb56-10ee96bf03a2.webp",
"https://assetstore-cdn-china-v1.unitychina.cn/package-screenshot/57f984e4-94b7-4bac-bb56-10ee96bf03a2.webp",
"https://assetstore-cdn-china-v1.unitychina.cn/package-screenshot/57f984e4-94b7-4bac-bb56-10ee96bf03a2.webp",
"https://assetstore-cdn-china-v1.unitychina.cn/package-screenshot/57f984e4-94b7-4bac-bb56-10ee96bf03a2.webp",
"https://assetstore-cdn-china-v1.unitychina.cn/package-screenshot/57f984e4-94b7-4bac-bb56-10ee96bf03a2.webp",
])
// 参数
const { l, locale } = useI18n();
const route = useRoute()
const checkimg = ref('https://assetstore-cdn-china-v1.unitychina.cn/key-image/b7ede01a-3ccc-4155-9383-33a6976056c1.webp')
const imgBigRect = ref({ h: 50, w: 50, l: 51, t: 0 })
const count = ref(1)
const collectImg = ref("/img/details/heart_null.png")
const commentContent = ref("")
// 方法
const changetype = function () {
let element = document.getElementsByClassName('exzoom_span')
for (let i = 0; i < element.length; i++) {
element[i].addEventListener('mouseenter', function () {
for (let s = 0; s < element.length; s++) {
element[s].classList.remove('current')
}
element[i].classList.add('current')
count.value = i + 1;
checkimg.value = detail_list_img.value[count.value - 1]
});
}
console.log(checkimg.value);
}
const exzoo_click = function (val) {
if (val == 1) {
if (count.value == detail_list_img.value.length) {
count.value = 1
checkimg.value = detail_list_img.value[count.value - 1]
} else {
// console.log(checkimg.value);
count.value++
checkimg.value = detail_list_img.value[count.value - 1]
}
} else {
if (count.value <= 1) {
count.value = detail_list_img.value.length
checkimg.value = detail_list_img.value[count.value - 1]
} else {
count.value--
checkimg.value = detail_list_img.value[count.value - 1]
}
}
console.log(checkimg.value);
}
// 点击收藏
const handleCollect = function () {
if (dataDetail.value.is_collect == false) {
collectImg.value = "/img/details/heart_full.png"
dataDetail.value.is_collect = true
ElMessage({
message: '收藏成功!',
type: 'success',
})
}
else {
collectImg.value = "/img/details/heart_null.png"
dataDetail.value.is_collect = false
ElMessage({
message: '取消收藏',
type: 'success',
})
}
}
// 初始化收藏状态
const setCollect = function () {
if (dataDetail.value.is_collect == true) {
collectImg.value = "/img/details/heart_full.png"
}
else {
collectImg.value = "/img/details/heart_null.png"
}
}
// 访问其他网站
const redirectToAnotherProject = function (url) {
const returnUrl = window.location.href;
// window.open = url + '?returnUrl=' + encodeURIComponent(returnUrl);//本页面打开
window.open(url);//新标签打开
}
// 发送评论
const handleSendComment = function () {
}
onMounted(() => {
fontSizeReactive({
880: 1,
480: 1,
})
setCollect()
})
// --- 接口对接 ---
// 获取新闻详情
// useFetch('/api/news/getinfoArticleInfo', { params: { news_id: route.params.id, locale: locale.value } }).then(res => {
// dataDetail.value = JSON.parse(res.data.value).data
// })
// 获取Tdk
let tdk = ref({})
useFetch('/api/tdk/getTdk', { params: { tdk_type: 1, locale: locale.value } }).then(res => {
tdk.value = JSON.parse(res.data.value).data
})
// 添加流量访问
useFetch('/api/flow/addFlowRecord', { params: { flow_target: route.name } })
</script>
<style scoped src="~/assets/css/business/list/list_details/index.scss"></style>
<style scoped src="~/assets/css/business/list/list_details/media.scss"></style>