first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
class Ajax {
constructor() {
this.ajax = new XMLHttpRequest();
}
/**
*
* @param {*} params
* {
* url: '',
* data: {
* id: 1,
* page: 2
* },
* header: {
* 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
* }
* }
*/
get(params) {
return new Promise((success, error) => {
var str = ""
for (const key in params.data) {
str += `&${key}=${params.data[key]}`
}
str = str.replace("&", "?")
this.ajax.open("GET", `${params.url}${str}`)
this.ajax.send()
this.readystatechange(success, error)
})
}
post() { }
readystatechange(success, error) {
this.ajax.onreadystatechange = () => {
if (this.ajax.readyState == 4) {
if (this.ajax.status == 200) {
var data = JSON.parse(this.ajax.responseText)
// console.log(data);
success(data)
} else {
error(this.ajax)
}
}
}
}
}
var ajax = new Ajax();

View File

@@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ul>
</ul>
<button class="more">下一页</button>
</body>
<script src="./ajax.js"></script>
<script src="./utils.js"></script>
<script src="./index.js"></script>
</html>

View File

@@ -0,0 +1,40 @@
class Index {
constructor(){
this.page = 1
this.bindEvent()
this.getClassList()
}
bindEvent(){
click(".more",() => {
this.page+=1
this.getClassList()
}
)
}
async getClassList(){
var res = await ajax.get({
url: 'http://127.0.0.1:3000/api/index/class',
data: {
type: 1,
page: this.page
},
});
var data = res.result.items;
data.forEach(v => {
$("ul").innerHTML += `
<li>
<a href="./info.html?url=${v.path}">
<img src="${v.img}" alt="">
<p>${v.title}</p>
</a>
</li>
`
});
}
}
new Index();

View File

@@ -0,0 +1,21 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="main">
<img src="" alt="">
<p class="posttime"></p>
<p class="title"></p>
</div>
</body>
<script src="./ajax.js"></script>
<script src="./utils.js"></script>
<script src="./info.js"></script>
</html>

View File

@@ -0,0 +1,29 @@
class info {
constructor(){
this.getInfo()
}
async getInfo() {
var res = await ajax.get({
url: 'http://127.0.0.1:3000/api/index/info',
data: {
url: query("url")
},
});
document.querySelector("body").innerText
$(".main img").src = res.result.backImg
$(".main .posttime").text(res.result.posttime)
$(".main .title").text(res.result.title)
console.log(res.result);
}
}
new info()

View File

@@ -0,0 +1,38 @@
class Util {
inject() {
Element.prototype.remove = function (removeClassName) {
this.classList.remove(removeClassName);
}
Element.prototype.add = function (addClassName) {
this.classList.add(addClassName);
}
HTMLElement.prototype.text = function (text) {
this.innerText = text;
}
}
query(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
click(className, callback) {
$(className).onclick = (e) => {
callback(e)
}
}
$(className) {
return document.querySelector(className)
}
_(className) {
return document.querySelectorAll(className)
}
}
var { $, _, click, inject, query } = new Util()
inject()