One 许增宝

移动Web端安徽理工大学图书查询系统
因为学校的图书查询系统只适合在 PC 端使用,在移动端使用的话体验很差,不具有响应式的效果,于是就想着做一个移动端...
扫描右侧二维码阅读全文
06
2019/05

移动Web端安徽理工大学图书查询系统

因为学校的图书查询系统只适合在 PC 端使用,在移动端使用的话体验很差,不具有响应式的效果,于是就想着做一个移动端的图书查询系统!

1.主要原理图

项目实现原理图.png

2.实现思路及源码

1.图书数据的获取

  想从学校服务器里面拿数据的话,认为非常难,毕竟涉及到数据的安全性,所以就想着去爬取学校图书的数据,关于爬虫技术的话有很多,网上更多的是基于Python的爬虫,但是我用的是基于Java的,因为最近在学Java!所用到的主要有下面几个方面的知识:

  1. HTMl、CSS 以及 JavaScript 三门语言的基本知识
  2. Java 的基础知识
  3. 网络通信的基础
  4. Jsp 的基本使用
  5. Jsoup 包的使用

  首先分析url结构及网页源代码,url 如下:
http://210.45.147.188:8080/opac/openlink.php?location=ALL&title=java&doctype=ALL&lang_code=ALL&match_flag=forward&displaypg=20&showmode=table&orderby=DESC&sort=CATA_DATE&onlylendable=no&count=274&with_ebook=on&page=2
  其中title对应的是搜索关键字,page对应的是页数,弄明白这两个就好做了,然后分析网页源代码,其中内容部分源代码如下:


源代码

<table width="100%" border="0" cellpadding="5" cellspacing="1" id="result_content" class="table_line">
                <tbody><tr bgcolor="#d8d8d8">
                    <td class="greytext" width="3%"></td>
                    <td class="greytext" width="35%">题名</td>
                    <td class="greytext" width="22%">责任者</td>
                    <td class="greytext" width="20%">出版信息</td>
                    <td class="greytext" width="12%">索书号</td>
                    <td class="greytext" width="8%">文献类型</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">21</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=4e796b725757454b694b705446485273656e78784d513d3d&amp;list=1">Java项目开发全程实录.第4版</a></td> 
                    <td class="whitetext">明日科技编著</td>   
                    <td class="whitetext">清华大学出版社 2018</td>
                    <td class="whitetext">TP312JA/M682-4D</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">22</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=2b495055596a747a646d76357a4f554a6566776954773d3d&amp;list=1">Java从小白到大牛</a></td> 
                    <td class="whitetext">关东升著</td>   
                    <td class="whitetext">清华大学出版社 2018</td>
                    <td class="whitetext">TP312JA/G262</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">23</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=4f446c616e4445372b4a432f586a75575336536f43673d3d&amp;list=1">神经网络编程实战:Java语言实现</a></td> 
                    <td class="whitetext">(巴西) 法比奥·M. 索尔, (巴西) 艾伦·M. F. 索萨著</td>   
                    <td class="whitetext">机械工业出版社 2018</td>
                    <td class="whitetext">TP183/S291</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">24</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=4c6f5a4a77706a345a4151655532574f57462b4a55773d3d&amp;list=1">Java 9模块化开发:核心原则与实践</a></td> 
                    <td class="whitetext">Sander Mak, Paul Bakker著</td>   
                    <td class="whitetext">机械工业出版社 2018</td>
                    <td class="whitetext">TP312JA/M446A22</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">25</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=30506f323766736a4b4342576c72334f7255496b5a513d3d&amp;list=1">漫画面向对象编程:Java语言版</a></td> 
                    <td class="whitetext">李思, 徐云飞, 郑琳著</td>   
                    <td class="whitetext">人民邮电出版社 2018</td>
                    <td class="whitetext">TP312JA/L719</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">26</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=474b69316b4d594b6f45574e74366371444b4e732b413d3d&amp;list=1">Java语言程序设计与数据结构,基础篇,Comprehensive version</a></td> 
                    <td class="whitetext">(美) 梁勇著</td>   
                    <td class="whitetext">机械工业出版社 2018.06</td>
                    <td class="whitetext">TP312JA</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">27</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=696a6b744e50306e784942693369765664384d6236673d3d&amp;list=1">Java攻略:Java常见问题的简单解法:simple Solutions to difficult problems in Java 8 and 9</a></td> 
                    <td class="whitetext">(美)肯·寇森(Ken Kousen)著</td>   
                    <td class="whitetext">人民邮电出版社 2018</td>
                    <td class="whitetext">TP312JA/K716A28</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">28</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=315a694c455a484f70516f773948524d4c502b7848673d3d&amp;list=1">Java程序设计基础与实践:题库版</a></td> 
                    <td class="whitetext">周洪利, 许宏丽, 周围编著</td>   
                    <td class="whitetext">清华大学出版社 2018.09</td>
                    <td class="whitetext">TP312JA</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">29</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=365366676d31614e30364d4930495a723146416f52773d3d&amp;list=1">Java从入门到精通:精粹版</a></td> 
                    <td class="whitetext">张玉宏编著</td>   
                    <td class="whitetext">人民邮电出版社 2018.08</td>
                    <td class="whitetext">TP312JA</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">30</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=367a65433575736d33664b515a614e4b624c6c5172773d3d&amp;list=1">Java程序开发案例课堂</a></td> 
                    <td class="whitetext">刘春茂, 李琪编著</td>   
                    <td class="whitetext">清华大学出版社 2018</td>
                    <td class="whitetext">TP312JA/L224</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">31</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=414951686f46584f61455567616d754f5039624c45513d3d&amp;list=1">Java函数式编程</a></td> 
                    <td class="whitetext">(法) Pierre-Yves Saumont著</td>   
                    <td class="whitetext">电子工业出版社 2018</td>
                    <td class="whitetext">TP312JA/S533</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">32</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=5675743775324d746337374b5a706b746d71414955413d3d&amp;list=1">JavaScript前端开发案例教程</a></td> 
                    <td class="whitetext">黑马程序员编著</td>   
                    <td class="whitetext">人民邮电出版社 2018</td>
                    <td class="whitetext">TP312JA/H514</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">33</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=416b59394b51684d4a6d743750647855322b386d50413d3d&amp;list=1">Java Web开发案例课堂</a></td> 
                    <td class="whitetext">刘玉红, 侯永岗编著</td>   
                    <td class="whitetext">清华大学出版社 2018</td>
                    <td class="whitetext">TP312JA/L919</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">34</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=4a456a43333448786b764b4d6d797a715a79786475673d3d&amp;list=1">JavaScript ES6函数式编程入门经典</a></td> 
                    <td class="whitetext">(印) Anto Aravinth著</td>   
                    <td class="whitetext">清华大学出版社 2018</td>
                    <td class="whitetext">TP312JA/A565</td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">35</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=7a50324e6b51305a73506f344c6b664c706256412f673d3d&amp;list=1">Java课程设计.3版</a></td> 
                    <td class="whitetext">耿祥义,张跃平编著</td>   
                    <td class="whitetext">清华大学出版社 2018.01</td>
                    <td class="whitetext"></td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">36</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=326137654530617156636e3235726f414968347333413d3d&amp;list=1">Java 8实战</a></td> 
                    <td class="whitetext">(英) Raoul-Gabriel Urma, (意) Mario Fusco, (英) Alan Mycroft著</td>   
                    <td class="whitetext">人民邮电出版社 2016.04</td>
                    <td class="whitetext"></td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">37</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=636a32305441696f734e2f4a5676704f4c32316552413d3d&amp;list=1">Java Web程序设计:慕课版</a></td> 
                    <td class="whitetext">梁永先, 李树强, 朱林主编</td>   
                    <td class="whitetext">人民邮电出版社 2016.04</td>
                    <td class="whitetext"></td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">38</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=597055444453696d5853326a593051776a35536e33513d3d&amp;list=1">Java EE项目开发教程.第3版</a></td> 
                    <td class="whitetext">郑阿奇主编</td>   
                    <td class="whitetext">电子工业出版社 2018</td>
                    <td class="whitetext"></td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">39</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=35594472437530306133594169756d6f3479686d6d673d3d&amp;list=1">Java程序设计应用与实践</a></td> 
                    <td class="whitetext">朱林,左梅,郁佳佳主编</td>   
                    <td class="whitetext">西南交通大学出版社 2017</td>
                    <td class="whitetext"></td>
                    <td class="whitetext">中文图书</td>
                </tr>
                    
                <tr bgcolor="#FFFFFF">
                    <td class="whitetext">40</td>
                    <td class="whitetext"><a target="_blank" class="blue" href="item.php?marc_no=4f56437962746e68787a486a746b5a2b3151563830413d3d&amp;list=1">Java多线程编程核心技术</a></td> 
                    <td class="whitetext">高洪岩著</td>   
                    <td class="whitetext">机械工业出版社 2015.06</td>
                    <td class="whitetext"></td>
                    <td class="whitetext">中文图书</td>
                </tr>
        </tbody></table>


  分析可以得出搜索的图书列表被包裹在table标签内部,其中每本书籍的信息被包裹在td标签内部,这些都明白了后需要做的就是该如何获取这些信息了!

2.图书数据获取代码

   既然要获取图书数据,那么肯定得创建一个类去存储这些获取的数据,从获取列表可以看出来,每本书包含书名、作者、出版社、类型及索书号等信息,于是定义的类代码如下(由于目前个人技术及精力有限,所以没有考虑将数据存储数据库):


源代码

package cn.onexzb.library;


public class LibraryBook {
    
    private String book;           // 书名
    private String author;         // 作者
    private String publishers;       // 出版社
    private String callnum;        // 索书号
    private String type;           // 类型
    // 构造函数
    public LibraryBook(String book, String author, String publishers, String callnum, String type) {
        super();
        this.book = book;
        this.author = author;
        this.publishers = publishers;
        this.callnum = callnum;
        this.type = type;
    }
    
    public String getBook() {
        return book;
    }
    public void setBook(String book) {
        this.book = book;
    }
    public String getAuthor() {
        return author;
    }
    public void setAuthor(String author) {
        this.author = author;
    }
    public String getPublishers() {
        return publishers;
    }
    public void setPublishers(String publishers) {
        this.publishers = publishers;
    }
    public String getCallnum() {
        return callnum;
    }
    public void setCallnum(String callnum) {
        this.callnum = callnum;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
}


   现在该做的应该算是这个项目的难点吧,因为个人在实现的过程中遇到了很多坑,每个坑都把我折磨的要死,比如Windows端与Linux端在传输参数的时候的解码方式不一致问题,不解决这个问题的话,用户在前台如果输入中文关键字的话会查询不到任何数据,还有就是数据的获取问题,因为本来想多实现一点功能,比如图书图书详情,但是后来中途又没做了,因为发现学校图书馆图书详情页面的源代码很乱,基本上每一本都不一致,这个功能我应该会在下一个版本更新,废话这么多,代码如下:

源代码

package cn.onexzb.library;

import java.io.IOException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.List;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class BookSpider {
    public static List<LibraryBook> librarybooks = new ArrayList<>();
    public static List<String> temp = new ArrayList<>();
    public static String keywords;
    public static ArrayList<LibraryBook> spiderBooks( String keywords ) throws IOException {
        
        int page = 1;
        int webpage = 0;
        BookSpider.keywords = URLDecoder.decode(keywords, "utf-8");    // 获取关键字并解码
        Document doc = Jsoup.connect("http://210.45.147.188:8080/opac/openlink.php?location=ALL&title="
                                    +keywords+"&doctype=ALL&lang_code=ALL&match_flag=forward&displaypg=20"
                                   + "&showmode=table&orderby=DESC&sort=CATA_DATE&onlylendable=no&count=274"
                                   + "&with_ebook=on&page=" + page).get();                                     //获取页面所有源代码
        
        webpage = Integer.valueOf(doc.getElementsByAttributeValue("color", "black").text().split(" ")[0]);    // 获取页码数据
        
        librarybooks.clear();         //清空上一次的缓存
        while(page != webpage) {      //遍历每一页数据
        
        Elements trElements=doc.getElementsByAttributeValue("bgcolor", "#FFFFFF");         //获取图书列表
        
        for(Element tdElement:trElements){
            Elements td = tdElement.getElementsByClass("whitetext");
            String book = td.get(1).text();
            String author = td.get(2).text();
            String publishers = td.get(3).text();
            String callnum = td.get(4).text();
            String type = td.get(5).text();
            librarybooks.add(new LibraryBook(book, author, publishers, callnum, type));
        }
        page++;
    }    
        
        return (ArrayList<LibraryBook>) librarybooks;
    }    
}    

3.前端页面的构建

  个人对前端不是很了解,所以认为前端写的很烂,就不一步步说了,主要也就两个页面,一个是index.jsp,另一个是list.jsp,前端美化花了我很大的功夫,很多都不会!下面是前端实现所经历的历程图:

  1. 这是开始的,搜索只能看到图书名
    IMG_2972.PNG
  2. 这是第二次的,能看到个框框
    IMG_2970.JPG
  3. 这是后来美化的,后来觉得每个板块连在一起很不美观,所以又把它们分割开了
    IMG_2971.PNG

4.这是分割后的页面,也是目前所用的页面
QQ截图20190506220809.png

具体代码如下,css我都在一个页面给出了,因为目前项目结构还不算复杂,js也没用到,懒得再弄文件夹:


源代码

<!-- index.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta name="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>安理图书馆</title>
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<style type="text/css">

body{
 background-color: #cfd3d7;
}

.header .schoolbadge h2{
    margin-top: 30%;
    font-family: "微软雅黑";
}

.content div form .form-group .form-control{
    border-radius:30px;
}



.content div form{
    margin-top: 20px;
    margin-right: 66px;
    margin-left: 66px;
    text-align: center;
}


}

</style>

</head>
</head>
<body >
 <div class="row header">
    <div class="schoolbadge">
        <h2 align="center">安徽理工大学图书馆</h2>
    </div>
 </div>

    <div class="row content">
        <div class="col-xs-12 col-sm-12">
            <form class="" action="list.jsp">
                <div class="form-group">
                  <input type="text" class="form-control" placeholder="Search" name="keywords" >
                </div>
               </form>
        </div>
    </div>
    
</body>
</html>
<!-- list.jsp -->

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="cn.onexzb.library.*" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="java.net.URLDecoder" %>
<!DOCTYPE html>
<html>
<head>
<meta name="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>安理图书馆</title>
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<style type="text/css">

body{
 background-color: #cfd3d7;
}


.header div form{
    width:auto;
    height:90px;
    margin-top: 10px;
    margin-right: 50px;
    margin-left: 50px;
    text-align: center;
}

.header div form .form-group .form-control{
    border-radius:30px;
}

.header div form .form-group  p{
    color: #7D7C7F;
    font-family: "微软雅黑";
}


.content{
    margin-right: 50px;
    margin-left: 50px;
    text-align: center;
    height: auto;
}

.content .booklist{
    padding:5px;
    border-radius:30px;
    background-color: #f0f3f5;
    text-align: center;
    height: auto;
}

.content .booklist .font{
    padding-top:5px;
    color: #004280;
}

.content .booklist .detail{
    background-color: fdfdfd;
    text-align: center;
    height: auto;
    padding: 10px;    
    color: #BBBBBB;
}

hr{
    width:60%;
}

</style>

</head>
</head>
<body >

    <div class="row header">
        <div class="col-xs-12 col-sm-12">
            <form class="" action="list.jsp">
                <div class="form-group">
                <p>安徽理工大学图书查询系统</p>
                  <input type="text" class="form-control" placeholder="Search" name="keywords" >
                </div>
                <hr>
               </form>
        </div>
    </div>

    <%
     LibraryBook jspbook = null;
     String keywords = new String(request.getParameter("keywords").getBytes("iso-8859-1"),"utf-8");
     keywords = request.getParameter("keywords").toString();
     List books  = BookSpider.spiderBooks(keywords);
     for (int i = 0; i < books.size(); i++){
         jspbook = (LibraryBook)(books.get(i));
         %>
    <div class="row content">
        <div class="booklist">
            <div class="font"></div>
            <div class="font">
                <h4><%=i + 1 + "." + jspbook.getBook() %> </h4>
                
            </div>
            <div class="detail">
            <p>    <strong>作者:</strong> <%=jspbook.getAuthor() %> </p>
            <p>    <strong>出版社:</strong> <%=jspbook.getPublishers() %> </p>
            <p> <strong>文献类型:</strong> <%=jspbook.getType() %> </p>
            <p>    <strong>索书号:</strong> <%=jspbook.getCallnum() %> </p>
            </div>
        </div>
    </div>
    <hr>
<%} %>


</body>
</html>

总结和期望:

  1. 这个是目前最初版本,只要学校不封我服务器IP地址的话,我会一直更新的功能的,目前这个版本用户体验很差;
  2. 目前发现存在的 Bug 和不足如下:

    1. 搜索不存在的关键词不会有任何提示,只会返回空页面;
    2. 搜索栏不等固定顶部,会被划走;
    3. 搜索关键字“睡眠革命”会出现多个相同的结果;
    4. 电脑端打开页面会出现布局错乱现象;

期望:

  会在下一个版本改完上面提到的所有 bug 以及不足,并尽最大努力实现图书详情页以及图书具体在哪个位置,然后把页面再美化一下!

最后修改:2019 年 05 月 06 日 11 : 49 PM

发表评论

1 条评论

  1. hysteria

    安徽工业大学小菜鸟路过,膜拜大佬