This commit is contained in:
@@ -36,6 +36,7 @@ let config = {
|
||||
infoList: '/info/list',
|
||||
tagList: '/tag/list',
|
||||
tagRecommend: '/tag/recommend',
|
||||
tagInfo: '/tag/info',
|
||||
searchHot: '/search/hot',
|
||||
searchKey: '/search/key',
|
||||
}
|
||||
|
||||
@@ -1,6 +1,30 @@
|
||||
class Domestic {
|
||||
constructor() {
|
||||
util.header(
|
||||
`<div class="header_title">分类</div>`,
|
||||
"",
|
||||
""
|
||||
)
|
||||
util.footer()
|
||||
this.getTagListData()
|
||||
}
|
||||
|
||||
|
||||
async getTagListData() {
|
||||
let res = await tagServe.tagList()
|
||||
|
||||
$(".type_list").innerHTML = res.maps(v => {
|
||||
|
||||
return `
|
||||
<li>
|
||||
<a href="./tagListInfo.html?url=${v.url}&title=${v.title}">
|
||||
<div class="text">${v.title}</div>
|
||||
<p class="nums">${v.count}套</p>
|
||||
</a>
|
||||
</li>
|
||||
`
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ class Index {
|
||||
this.getTagRecommend()
|
||||
this.getHomeHotData()
|
||||
this.getHomeListData()
|
||||
this.initSwiper()
|
||||
|
||||
this.event()
|
||||
}
|
||||
|
||||
@@ -39,8 +39,8 @@ class Index {
|
||||
$(".recommend-tag").innerHTML = res.maps(v => {
|
||||
return `
|
||||
<li>
|
||||
<div class="icon">${v.title.substr(0,1)}</div>
|
||||
<div class="title">${v.title}</div>
|
||||
<a class="icon" href="./tagListInfo.html?url=${v.url}&title=${v.title}">${v.title.substr(0,1)}</a>
|
||||
<a class="title" href="./tagListInfo.html?url=${v.url}&title=${v.title}">${v.title}</a>
|
||||
</li>
|
||||
`
|
||||
})
|
||||
@@ -56,14 +56,14 @@ class Index {
|
||||
</div>
|
||||
`
|
||||
})
|
||||
|
||||
this.initSwiper()
|
||||
}
|
||||
|
||||
|
||||
initSwiper() {
|
||||
var mySwiper = new Swiper('.banner', {
|
||||
loop: true, // 循环模式选项
|
||||
|
||||
// 如果需要分页器
|
||||
loop: true,
|
||||
pagination: {
|
||||
el: '.swiper-pagination',
|
||||
},
|
||||
|
||||
@@ -13,7 +13,7 @@ class Info {
|
||||
.then(() => {
|
||||
|
||||
util.header(
|
||||
`<div class="title flex1 ellipsis">${this.title}</div>`,
|
||||
`<div class="header_title flex1 ellipsis">${this.title}</div>`,
|
||||
`
|
||||
<div class="ilist">
|
||||
<i class="iconfont icon-wujiaoxing"></i>
|
||||
@@ -53,11 +53,15 @@ class Info {
|
||||
|
||||
// TODO 找一个合适分享
|
||||
$(".icon-fenxiang").onclick = async () => {
|
||||
await navShare({
|
||||
title: this.title,
|
||||
text: `我这有个好看的,快来看看 ${this.title}`,
|
||||
url: location.href
|
||||
})
|
||||
await navigator.clipboard.writeText(`
|
||||
我这有个好看的,快来看看 ${this.title}
|
||||
${location.href}
|
||||
`)
|
||||
// await navShare({
|
||||
// title: this.title,
|
||||
// text: `我这有个好看的,快来看看 ${this.title}`,
|
||||
// url: location.href
|
||||
// })
|
||||
}
|
||||
|
||||
let sc = $(".icon-wujiaoxing")
|
||||
|
||||
@@ -43,6 +43,7 @@ class Search {
|
||||
let input = $(".header input")
|
||||
|
||||
$(".header .button").onclick = async () => {
|
||||
this.page = 1
|
||||
if (input.value.length != 0) {
|
||||
this.keyword = input.value
|
||||
this.totalArr = []
|
||||
@@ -51,7 +52,13 @@ class Search {
|
||||
util.hidden(".no-search")
|
||||
item(".have-search ul", this.totalArr)
|
||||
util.show(".have-search")
|
||||
this.onscroll()
|
||||
onscroll(async () => {
|
||||
this.page += 1
|
||||
if (this.page <= this.totalPage) {
|
||||
await this.getSearchKeyData()
|
||||
item(".have-search ul", this.totalArr)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
@@ -75,23 +82,6 @@ class Search {
|
||||
this.totalPage = totalPage
|
||||
list.forEach(v => this.totalArr.push(v));
|
||||
}
|
||||
|
||||
// 滚动到底部实现自动加载下一页数据
|
||||
onscroll() {
|
||||
window.onscroll = async () => {
|
||||
var scrollHeight = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);
|
||||
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
|
||||
var clientHeight = window.innerHeight || Math.min(document.documentElement.clientHeight, document.body.clientHeight);
|
||||
|
||||
if (clientHeight + Math.ceil(scrollTop) >= scrollHeight) {
|
||||
this.page += 1
|
||||
if (this.page <= this.totalPage) {
|
||||
await this.getSearchKeyData()
|
||||
item(".have-search ul", this.totalArr)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
new Search
|
||||
37
js/page/tagListInfo.js
Normal file
37
js/page/tagListInfo.js
Normal file
@@ -0,0 +1,37 @@
|
||||
class TagListInfo {
|
||||
page = 1;
|
||||
totalPage = 0;
|
||||
totalArr = []
|
||||
|
||||
constructor() {
|
||||
util.header(
|
||||
`<div class="header_title">${query("title")}</div>`,
|
||||
"",
|
||||
)
|
||||
this.getTagInfoData()
|
||||
}
|
||||
|
||||
async getTagInfoData() {
|
||||
let { totalPage, list } = await tagServe.tagInfo({
|
||||
url: query("url"),
|
||||
page: this.page
|
||||
});
|
||||
|
||||
this.totalPage = totalPage
|
||||
// list.forEach(v => {
|
||||
// this.totalArr.push(v)
|
||||
// });
|
||||
|
||||
this.totalArr = [ ...this.totalArr, ...list ]
|
||||
item(".default-model ul", this.totalArr)
|
||||
onscroll(async () => {
|
||||
this.page += 1
|
||||
if (this.page <= this.totalPage) {
|
||||
await this.getTagInfoData()
|
||||
// item(".default-model ul", list)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
new TagListInfo
|
||||
@@ -8,8 +8,17 @@ class TagServe {
|
||||
// data: data key 和 value 名字一样的时候,可以直接只写一个
|
||||
data
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
async tagInfo (data = {}) {
|
||||
let http = new Ajax()
|
||||
// suc的返回值(ajax请求到的,后端给我们的数据)
|
||||
return await http.get({
|
||||
url: config.urlList.tagInfo,
|
||||
// data: data key 和 value 名字一样的时候,可以直接只写一个
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
async tagRecommend (data = {}) {
|
||||
let http = new Ajax()
|
||||
|
||||
@@ -101,9 +101,6 @@ class Utils {
|
||||
if (r != null) return decodeURIComponent(r[2]); return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
header(content, action, back = `<i class="iconfont icon-fanhui"></i>`) {
|
||||
this.$("body").insertAdjacentHTML('afterbegin', `
|
||||
<div class="header fixed flex ais flex1 border-box p15">
|
||||
@@ -118,6 +115,19 @@ class Utils {
|
||||
}
|
||||
}
|
||||
|
||||
// 滚动到底部实现自动加载下一页数据
|
||||
onscroll(callback) {
|
||||
window.onscroll = async () => {
|
||||
var scrollHeight = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);
|
||||
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
|
||||
var clientHeight = window.innerHeight || Math.min(document.documentElement.clientHeight, document.body.clientHeight);
|
||||
|
||||
if (clientHeight + Math.ceil(scrollTop) >= scrollHeight) {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async navShare(title = "", text = "", url = "") {
|
||||
console.log(navigator.share && navigator.canShare);
|
||||
@@ -145,13 +155,18 @@ class Utils {
|
||||
}
|
||||
|
||||
getItem(key) {
|
||||
let local = localStorage.getItem(key)
|
||||
return local ? JSON.parse(local) : []
|
||||
let local = localStorage.getItem(key)
|
||||
return local ? JSON.parse(local) : []
|
||||
}
|
||||
}
|
||||
|
||||
let u = new Utils
|
||||
let util = u, { $, item, query, navShare, getItem, setItem } = u
|
||||
let util = u,
|
||||
{
|
||||
$, item, query, navShare,
|
||||
getItem, setItem, onscroll
|
||||
}
|
||||
= u
|
||||
|
||||
// let util = new Utils
|
||||
// let $ = (new Utils).$
|
||||
|
||||
Reference in New Issue
Block a user