let time_format = "YYYY-MM-DD HH:mm:ss"; //获取地址栏参数 function getUrlParam(name) { let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 let r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null) return decodeURI(r[2]); return null; //返回参数值 } //构建文章列表 function build_article_list(articles, position) { position.empty(); $.each(articles, function (index, item) { let h = $("

" + item.title + "" + (item.top ? " [置顶]" : "") + "

"); let p1 = $("

").append(item.summary); let p2 = $("

").append("分类:" + item.category.name + "
").append("" + item.simpleUser.username + " 最后修改于 " + moment(new Date(item.lastEditTime)).format(time_format) + ""); $("
").css("padding-bottom", "3px").css("padding-top", "3px").append(h).append(p1).append(p2).appendTo(position); }); } //构建分页数据 function build_page_info(pageIndex, pageSize, totalCount) { let _pages = Math.floor((totalCount - 1) / pageSize) + 1; let result = { page: pageIndex, size: pageSize, total: totalCount, pages: _pages, hasPreviousPage: pageIndex !== 1, hasNextPage: pageIndex < _pages, beforePages: [], afterPages: [], } for (let i = (pageIndex <= 3 ? 1 : pageIndex - 2); i < pageIndex; i++) { result.beforePages.push(i); } for (let i = pageIndex + 1; i <= (pageIndex <= result.pages - 2 ? pageIndex + 2 : _pages); i++) { result.afterPages.push(i); } return result; } //构建分页条 function build_page_nav(page_info, position) { position.empty(); let ul = $("").addClass("pagination"); let firstPageLi = $("
  • ").append("首页").val(1); let prePageLi = $("
  • ").append($("").append("«")).val(page_info.page - 1); if (!page_info.hasPreviousPage) { firstPageLi.addClass("disabled"); prePageLi.addClass("disabled"); } let lastPageLi = $("
  • ").append($("").append("末页")).val(page_info.pages); let nextPageLi = $("
  • ").append($("").append("»")).val(page_info.page + 1); if (page_info.hasNextPage === false) { lastPageLi.addClass("disabled"); nextPageLi.addClass("disabled"); } ul.append(firstPageLi).append(prePageLi); $.each(page_info.beforePages, function (index, item) { let numLi = $("
  • ").append("" + item + "").val(item); numLi.appendTo(ul); }); ul.append("
  • " + page_info.page + "
  • "); $.each(page_info.afterPages, function (index, item) { let numLi = $("
  • ").append("" + item + "").val(item); numLi.appendTo(ul); }); ul.append(nextPageLi).append(lastPageLi); let navEle = $("").append(ul); navEle.appendTo(position); } //注销 function logout() { $.ajax("/logout", { type: "POST", success: function () { $(window).attr('location', '/login.html'); }, statusCode: { 403: function () { $(window).attr('location', '/login.html'); } } }) } //检查是否已登录 function check_login() { $.ajax({ url: "/account/online", type: "GET", async: false, statusCode: { 403: function () { $(window).attr('location', '/login.html'); } } }); } /** * str { String } 完整字符串 * target { String } 目标对象,要查找的字符串 */ function searchStrEach(str, target) { let sum = 0; for (let key of str) { if (key == target) { sum++; } } return sum; } /** * 获取邮箱验证码 */ function getCode(flag) { let _data = "email=" + $("#new_email").val(); let btn = $(this); btn.attr("disabled", true); if (flag) { _data += "qq=" + $("#qq_number").val() + "&signup_code=" + $("#signup_code").val() + "&signup=true"; } else { _data += "&signup=false"; } $.ajax("/account/email_code", { type: "POST", data: _data, dataType: 'json', success: function () { toastr.success("邮件已发送,请查收"); setTimeout(function () { btn.attr('disabled', false); }, 30000); }, statusCode: { 400: function (XMLHttpRequest) { toastr.warning(XMLHttpRequest.responseJSON); btn.attr('disabled', true); }, 401: function (XMLHttpRequest) { toastr.warning(XMLHttpRequest.responseJSON); btn.attr('disabled', true); }, 403: function (XMLHttpRequest) { toastr.warning(XMLHttpRequest.responseJSON); btn.attr('disabled', true); } } }) } //显示捐赠模态框 function show_donate() { $("#donate_form")[0].reset(); $("#donate_modal").modal({ backdrop: "static" }); } //捐赠表单提交点击事件 $("#donate_btn").on("click", function () { $("#donate_form").submit(); }); //搜索按钮点击事件 function to_search() { $(window).attr("location","/search.html?key=" + $("#search_key").val()); }