Files
ClassContent/项目合集/最新写真app/fontend/js/page/info.js
2025-03-16 23:01:07 +08:00

95 lines
2.6 KiB
JavaScript

// 每一个页面都应该有一个init方法
// 用来做初始化
let infoData = {}
let likeData = JSON.parse(localStorage.getItem("like")) || []
const init = async () => {
header(
`<div class="flex ai-c">
<i class="iconfont icon-wujiaoxing "></i>
<i class="iconfont icon-fenxiang"></i>
</div>`,
)
getInfoList()
bindEvent()
}
const getInfoList = async () => {
infoData = await infoList({ id: query("id") })
$(".header_title").innerText = infoData.title
item(".recommend-model ul", infoData.recommend)
innerMaps(
".info .img_arr",
infoData.src_list,
(v, i) => `<a href="${v}" class="js-smartPhoto" data-id="${i}">
<img data-src="${v}" class="lazyload" data-sizes="auto" alt="">
</a>`
)
_(".img_arr img").click(v => {
new SmartPhoto(".js-smartPhoto", {
resizeStyle: 'fit'
});
});
}
const bindEvent = () => {
_(".all").click(v => {
$(".info").classList.replace("hidden", "show")
})
_(".icon-fenxiang").click(async v => {
await navigator.clipboard.writeText(stripIndents`
我发现一个好看的,快来看看: 《${infoData.title}
${location.href}
`);
alert("已粘贴,快分享给朋友吧")
})
// 在这判断 写真是否收藏
// foreach map filter
// 如果写真已经被收藏在本地,那么将图标改为收藏状态(实心)
likeData.filter(v => v.id == query("id") ? v : null).length != 0
? $(".icon-wujiaoxing").classList.add("icon-wujiaoxing1")
: null
_(".icon-wujiaoxing").click(async v => {
// $(".icon-wujiaoxing").classList.toggle("icon-wujiaoxing1")
// 取消收藏
if ($(".icon-wujiaoxing").classList.contains("icon-wujiaoxing1")) {
$(".icon-wujiaoxing").classList.remove("icon-wujiaoxing1")
likeData = likeData.filter((v,i) => {
if (v.id != query("id")) {
return v
}
})
localStorage.setItem("like", JSON.stringify(likeData))
// 收藏
} else {
likeData.push({
id: query("id"),
title: infoData.title,
thumbnail: infoData.src_list[0],
time: query("time"),
view: query("view")
})
localStorage.setItem("like", JSON.stringify(likeData))
$(".icon-wujiaoxing").classList.add("icon-wujiaoxing1")
}
})
}
init()