完善博客页面申请

This commit is contained in:
liyukun 2021-10-17 01:58:38 +08:00
parent 488ab94020
commit 7bb6b1b835
13 changed files with 286 additions and 173 deletions

View File

@ -1,36 +0,0 @@
# apeblog
#### Description
猿博博客系统
#### Software Architecture
Software architecture description
#### Installation
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
#### Gitee Feature
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

113
README.md
View File

@ -1,113 +0,0 @@
# apeblog
#### 介绍
猿博博客系统
## 主要特性
源码开源无加密
TP6框架
使用最新的 ThinkPHP 6.0框架开发
标准接口
标准接口、主题机制、二次开发更方便
无缝事件机制 行为扩展更方便,方便二次开发
后台快速生成表单后台应用form-builder 无需写页面快速增删改查
强大的后台权限管理、后台多种角色、多重身份权限管理,权限可以控制到每一步操作
#### 安装教程
## 自动安装
1. 上传文件到网站根目录
2. 运行composer install 安装依赖
3. 修改目录权限linux系统777
/public
/runtime
4. 配置好域名,在浏览器里打开域名,根据安装向导进行安装
5. 后台登录 http://域名/admin
## 手动安装
1.创建数据库,倒入数据库文件
数据库文件目录/public/install/learn.sql
2.修改数据库连接文件
配置文件路径/.env
~~~
APP_DEBUG = true
[APP]
DEFAULT_TIMEZONE = Asia/Shanghai
[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1 #数据库连接地址
DATABASE = test #数据库名称
USERNAME = username #数据库登录账号
PASSWORD = password #数据库登录密码
HOSTPORT = 3306 #数据库端口
CHARSET = utf8
DEBUG = true
[LANG]
default_lang = zh-cn
~~~
3.执行composer安装
~~~
comoposer install
~~~
4.创建目录并修改目录权限linux系统777
~~~
mkdir public/upload
mkdir runtime
chmod -R 777 public/upload
chmod -R 777 runtime
~~~
5.访问:
http://域名
6.后台登录:
http://域名/admin
默认账号admin 密码123456
#### 使用说明
> 运行环境要求PHP7.1+。
> 开启Redis扩展
## 特别感谢
[笔下光年 / Light Year Admin 一个基于Bootstrap v3.3.7的后台HTML模板。](https://gitee.com/yinqi/Light-Year-Admin-Template)
[xaboy / form-builder PHP表单生成器使用PHP快速生成现代化的form表单。](https://gitee.com/xaboy/form-builder)
[cfn / PaiAdmin PaiAdmin 派后台管理系统](https://gitee.com/leapy/pai)
## 文档
[TP6开发手册](https://www.kancloud.cn/manual/thinkphp6_0/content)
[FormBuilder](http://php.form-create.com/)
[Light Year Admin](http://www.itshubao.com/doc-lyear/lyear.html)
[Workerman](http://doc.workerman.net/)
## 联系我
邮箱1099438829@qq.com
## 版权信息
ape-blog 遵循Apache2开源协议发布并提供免费使用。
本项目包含的第三方源码和二进制文件之版权信息另行标注。
版权所有Copyright © 2019-2020 by 木子的忧伤 (https://www.apecloud.cn)
All rights reserved。

View File

@ -481,7 +481,7 @@ function tpl_get_article_list($cid, $row, $orderby, $table = 'article', $type =
break;
case 'tag':
//读取指定tag的文章
$documentListModel = $documentListModel->where('a.keywords', 'like', "%$where%");
$documentListModel = $documentListModel->where('a.keywords', 'like', "$where%");
break;
}

View File

@ -1,6 +1,10 @@
<?php
namespace app\index\controller;
use app\admin\service\UtilService as Util;
use app\common\model\FriendLink as friendLinkModel;
use app\Request;
/**
* 应用入口
* Class Index
@ -25,4 +29,49 @@ class Index extends Base
$this->assign('cid',false);
return $this->fetch();
}
/**
* 友链申请
* @param Request $request
* @return string
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author 李玉坤
* @date 2021-10-17 1:03
*/
public function applylink(Request $request)
{
if(request()->isPost()){
$data = Util::postMore([
['id',''],
['title',''],
['url',''],
['image',''],
['description',''],
]);
if ($data['title'] == "") return app("json")->fail("链接名称不能为空");
if ($data['url'] == "") return app("json")->fail("链接地址不能为空");
//判断下用户是否存在
$info = friendLinkModel::where('url',$data['url'])->find();
if ($info){
return app("json")->fail("记录已存在");
}
$data['status'] = 0;
$res = friendLinkModel::create($data);
if($res){
$this->success('申请成功,请耐心等待审核');
} else {
$this->error('提交失败,请联系站长查看');
}
} else {
//清除可能存在的栏目分类树id
cache('curr_category_patent_id',false);
//模板兼容性标签
$this->assign('id',false);
$this->assign('cid',false);
return $this->fetch();
}
}
}

View File

@ -1 +1 @@
#comment_addface{position:relative}.conment-face-plane{position:absolute;transition:.15s;box-shadow:0 5px 10px rgba(0,0,0,.2);border:1px solid rgba(0,0,0,.2);border-radius:6px;top:100%;padding:10px;background:#fff;max-width:300px;z-index:9999;opacity:1;visibility:hidden}.popover-btn-face{margin-top:10px}.popover-btn{border-radius:4px;display:inline-block;transition:.15s;vertical-align:middle;padding:.3em .5em;text-align:center;line-height:1.44;border:0;outline:0}
#comment_addface{position:relative}.conment-face-plane{position:absolute;transition:.15s;box-shadow:0 5px 10px rgba(0,0,0,.2);border:1px solid rgba(0,0,0,.2);border-radius:6px;top:100%;padding:10px;background:#fff;max-width:300px;z-index:9999;opacity:1;visibility:hidden}.popover-btn-face{margin-top:10px}.popover-btn{border-radius:4px;display:inline-block;transition:.15s;vertical-align:middle;padding:.3em .5em;text-align:center;line-height:1.44;border:none;outline:none;cursor:pointer}

View File

@ -1 +1 @@
#login-plane,.msgbox{display:flex;justify-content:center}.container-main{margin-top:70px}.reg-plane-main{max-width:440px;margin:auto;background:#fff;padding:10px}.login-main{position:relative;max-width:440px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.15);margin:30px;border-radius:4px;overflow:hidden}.login-form{padding:10px 20px 20px 20px}.input-login{display:inline-block;width:100%;height:37px;padding:10px 10px 10px 34px;line-height:16px;font-size:14px;color:#333;font-weight:400;border:0;border-bottom:1px solid #ddd;background:0;outline:0;box-sizing:border-box;margin-bottom:10px}.input-warning{border-bottom-color:red}#login-note{background:#fffbe5;color:#5c3c00;padding:8px;visibility:hidden}.code-plane{display:flex}.ico-login{position:relative;top:30px;font-size:20px;left:8px;color:#999}.login-button{margin-top:20px;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;user-select:none;width:100%;font-size:16px;color:#fff;background:#3ca5f6;border:0;margin-bottom:5px;border-radius:3px;text-indent:0;outline:0;padding:10px 16px;display:block;cursor:pointer}.login-button:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.msgbox-content{position:absolute;display:inline-block;background:#f0f9eb;color:#6bc440;padding:10px 50px;border-radius:4px;vertical-align:middle;border:2px solid #e1f3d8;font-size:14px;top:0;z-index:999;transition:.5s;opacity:0}.msgbox-content-show{top:10%;visibility:visible;opacity:1}.login-title{display:flex;justify-content:space-between;align-items:center}@media screen and (max-width:400px){body .login-main{box-shadow:none;margin:0}}.login-background{background-repeat:no-repeat!important;background-size:cover!important}.usercenter-plane{display:flex;justify-content:space-between;margin:10px}.usercenter-left{flex-basis:30%}.usercenter-right{flex-basis:70%;background-color:#fff;padding:10px;margin-left:10px}.usercenter-userinfo{margin-bottom:10px;background-color:#fff;padding:30px 10px;text-align:center}.usercenter-menu{padding:10px;background-color:#fff}.usercenter-info-item{margin-top:10px;display:flex;align-content:flex-start}.usercenter-form-input{padding:6px;border:1px solid #dcdfe6;outline:0;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.usercenter-info-title{flex-basis:20%;max-width:200px;margin-bottom:30px;font-size:14px;color:#999;user-select:none}.usercenter-info-text{font-size:14px;color:#999;user-select:none}.usercenter-info-text p{margin:6px 0}.usercenter-info-h3{margin:10px 0 30px 0;font-weight:300}.usercenter-form-input:focus{border-color:var(--Maincolor)}.usercenter-info-login{color:#999}.usercenter-info-body{flex-basis:70%}.usercenter-form-description{width:100%}.usercenter-info-description{margin-top:0!important;font-size:14px;color:#999}.usercenter-menu-item{padding:6px 0;position:relative;cursor:pointer}.usercenter-menu-item-active{color:var(--Maincolor)}.usercenter-a{color:var(--Maincolor);cursor:pointer;margin-left:10px}.send-mail-btn{width:80px!important}.layui-layer-content #avatar-plane{margin:auto}.layui-layer-content{padding:10px}.thirdparty-plane{padding:20px 0 10px 0}.thirdparty-plane img{width:20px;margin-bottom:4px}.login-thirdparty-btn{padding:2px;border:1px solid #d7dae2;border-radius:3px}.login-thirdparty-btn a{color:unset;font-size:14px}.userinfo-infoplnae{background-color:#fff;text-align:center;width:100%;border-radius:3px;padding:10px}.userinfo-metas-plane{background-color:#fff;width:100%;border-radius:3px;text-align:center;margin-top:10px;padding:10px}.userinfo-tabs{display:flex;justify-content:center;font-size:16px}.userinfo-tabs-item{padding:0 20px;position:relative;transition:.3s;cursor:pointer}.userinfo-tabs-item:after{position:absolute;height:4px;content:"";display:block;background-color:var(--Maincolor);width:0;left:50%;bottom:-10px;visibility:hidden;opacity:0;transition:all .3s}.userinfo-tabs-item:hover.userinfo-tabs-item:after{visibility:visible;opacity:1;width:50%;left:25%}.userinfo-tabs-item-active:after{visibility:visible;opacity:1;width:50%;left:25%}
#login-plane,.msgbox{display:flex;justify-content:center}.container-main{margin-top:70px}.reg-plane-main{max-width:440px;margin:auto;background:#fff;padding:10px}.login-main{position:relative;max-width:440px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.15);margin:30px;border-radius:4px;overflow:hidden}.login-form{padding:10px 20px 20px 20px}.input-login{display:inline-block;width:100%;height:37px;padding:10px 10px 10px 34px;line-height:16px;font-size:14px;color:#333;font-weight:400;border:none;border-bottom:1px solid #ddd;background:none;outline:0;box-sizing:border-box;margin-bottom:10px}.input-warning{border-bottom-color:red}#login-note{background:#fffbe5;color:#5c3c00;padding:8px;visibility:hidden}.code-plane{display:flex}.ico-login{position:relative;top:30px;font-size:20px;left:8px;color:#999}.login-button{margin-top:20px;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;user-select:none;width:100%;font-size:16px;color:#fff;background:#3ca5f6;border:0;margin-bottom:5px;border-radius:3px;text-indent:0;outline:0;padding:10px 16px;display:block;cursor:pointer}.login-button:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.msgbox-content{position:absolute;display:inline-block;background:#f0f9eb;color:#6bc440;padding:10px 50px;border-radius:4px;vertical-align:middle;border:2px solid #e1f3d8;font-size:14px;top:0;z-index:999;transition:0.5s;opacity:0}.msgbox-content-show{top:10%;visibility:visible;opacity:1}.login-title{display:flex;justify-content:space-between;align-items:center}@media screen and (max-width:400px){body .login-main{box-shadow:none;margin:0}}.login-background{background-repeat:no-repeat!important;background-size:cover!important}.usercenter-plane{display:flex;justify-content:space-between;margin:10px}.usercenter-left{flex-basis:30%}.usercenter-right{flex-basis:70%;background-color:#fff;padding:10px;margin-left:10px}.usercenter-userinfo{margin-bottom:10px;background-color:#fff;padding:30px 10px;text-align:center}.usercenter-menu{padding:10px;background-color:#fff}.usercenter-info-item{margin-top:10px;display:flex;align-content:flex-start}.usercenter-form-input{padding:6px;border:1px solid #dcdfe6;outline:none;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.usercenter-info-title{flex-basis:20%;max-width:200px;margin-bottom:30px;font-size:14px;color:#999;user-select:none}.usercenter-info-text{font-size:14px;color:#999;user-select:none}.usercenter-info-text p{margin:6px 0}.usercenter-info-h3{margin:10px 0 30px 0;font-weight:300}.usercenter-form-input:focus{border-color:var(--Maincolor)}.usercenter-info-login{color:#999}.usercenter-info-body{flex-basis:70%}.usercenter-form-description{width:100%}.usercenter-info-description{margin-top:0!important;font-size:14px;color:#999}.usercenter-menu-item{padding:6px 0;position:relative;cursor:pointer}.usercenter-menu-item-active{color:var(--Maincolor)}.usercenter-a{color:var(--Maincolor);cursor:pointer;margin-left:10px}.send-mail-btn{width:80px!important}.layui-layer-content #avatar-plane{margin:auto}.layui-layer-content{padding:10px}.thirdparty-plane{padding:20px 0 10px 0}.thirdparty-plane img{width:20px;margin-bottom:4px}.login-thirdparty-btn{padding:2px;border:1px solid #d7dae2;border-radius:3px}.login-thirdparty-btn a{color:unset;font-size:14px}.userinfo-infoplnae{background-color:#fff;text-align:center;width:100%;border-radius:3px;padding:10px}.userinfo-metas-plane{background-color:#fff;width:100%;border-radius:3px;text-align:center;margin-top:10px;padding:10px}.userinfo-tabs{display:flex;justify-content:center;font-size:16px}.userinfo-tabs-item{padding:0 20px;position:relative;transition:.3s;cursor:pointer}.userinfo-tabs-item:after{position:absolute;height:4px;content:"";display:block;background-color:var(--Maincolor);width:0;left:50%;bottom:-10px;visibility:hidden;opacity:0;transition:all .3s}.userinfo-tabs-item:hover.userinfo-tabs-item:after{visibility:visible;opacity:1;width:50%;left:25%}.userinfo-tabs-item-active:after{visibility:visible;opacity:1;width:50%;left:25%}

View File

@ -1,3 +1,4 @@
/**
移动适配
*/.mobile-menu-btn,.mobile-search-btn{display:none;padding:10px}@media screen and (max-width:1040px){body .user-menu-pc-search{display:none}body .header-menu{display:none!important}body .header-logo img{height:40px}body .mobile-search-btn{display:block}body .mobile-menu-btn,.mobile-search-btn{display:block}.menu-header-list>.menu-item-has-children:after,.user-menu:after{display:none}body .menu-header-list>.menu-item>a:before{display:none!important}body .menu-header-list>.menu-item{padding:0}header .current-menu-item:before{display:none!important}body .ad-plane-post{padding:10px;margin-top:-10px}body .menu-header-list{flex-direction:column}body .sub-menu{width:100%}body .user-sub-menu{width:100%;left:unset}.m-dropdown{display:block;position:absolute;right:3px;top:0;width:50px;text-align:center;line-height:62px;transition:all .3s ease-out 0s}body .sub-menu-show{visibility:visible;opacity:1}body .sub-menu-hide{visibility:hidden!important;opacity:0!important;top:60px!important}body .sub-menu .sub-menu{left:0;top:100%}}@media screen and (max-width:800px){body .slide-title{font-size:20px}body .post-item-sticky{padding:2px 4px}::-webkit-scrollbar{width:4px!important;height:4px!important}body .post-item-meta-author{display:none}body .index-top-postcard-item{margin-bottom:10px}body .carousel{margin-bottom:10px}body .index-top-postcard-item{flex-basis:49%}body .post-qrcode-btn{display:none}body .post-content{padding:15px}body .post-info{margin-bottom:10px}body .post-info-right{display:none}body .post-item-thumbnail{flex:35%;flex-shrink:0}body .post-item h2{font-size:18px}body .mobile-menu-btn,.mobile-search-btn{display:block}body .sidebar,.footer-container{display:none}body .header-main{justify-content:space-between}body .go-top-plane{display:none}body .post-main{margin:0;margin-bottom:10px;flex-basis:95%!important}body .header-logo img{height:40px}body .html-main{justify-content:center}.footer-container .footer-left{flex:100%;flex-shrink:0}.footer-container .footer-right,.footer-container .footer-aside-box,.footer-container .menu-footer-plane{display:none}.frinds-links{display:none}body .c-downbtn-item{width:100%}body .usercenter-plane{display:block}body .usercenter-menu{margin-bottom:10px}body .usercenter-right{margin-left:0}body .header-zhanwei{min-height:50px!important}}@media screen and (max-width:500px){body .cat-item{font-size:12px}body .post-item-tags{display:none}body .index-top-postcard-item{flex-basis:48%}body .post-item h2{font-size:16px}body .pageobj-item{display:none}body .commentlist{padding:0 20px}body .commentlist>.comment>.children{padding-left:30px}body .comment-pub-time{font-size:12px}body .commentlist>.comment>.children>.comment{padding:0 10px}body .comment-metadata{margin-left:10px}body .comment-btn-reply{opacity:1;visibility:visible}body .comment-reply-link{font-size:12px}body .top-divider{min-height:60px}body .c-downbtn-item{display:block}body .c-downbtn-describe{margin-bottom:10px}body .post-turn-page-plane,body .post-info-left{display:none}body .post-title{margin-bottom:0}body #reward-plane img{max-width:150px}body .post-pop-plane{padding:10px}}@media screen and (max-width:1384px){#post-catalog{visibility:hidden!important}#post-catalog-bar{visibility:hidden!important}}@media screen and (max-width:500px){body .post-content{padding:10px}.post-item-content{display:none}body .logged-in-as{display:none}body .post-item-info-type1{display:none}}@media screen and (max-width:360px){body .theme-copyright{display:none}}.drawer-menu-plane-show{visibility:visible!important;left:0!important;opacity:1!important}.drawer-menu-plane{opacity:0;display:flex;visibility:hidden;position:fixed;top:0;left:-100px;right:0;bottom:0;overflow:hidden;z-index:9999;transition:all .3s ease-out 0s}.drawer-menu-list{position:relative;flex:70%;max-width:400px;background:#fff;overflow-y:auto}.drawer-menu-write{flex:30%;background:#000;opacity:.4}.mobile-menu-header-list .menu-item{padding:10px}.dialog-search-plane-show{visibility:visible!important}.dialog-search-plane-show .dialog-plane{opacity:1!important;top:0!important}.dialog-search-plane{display:flex;visibility:hidden;position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:9999;justify-content:center;align-items:center}.dialog-mask{position:absolute;top:0;left:0;right:0;bottom:0;opacity:.4;background:#000}.dialog-plane{padding:10px;top:-100px;transition:all .3s ease-out 0s;opacity:0;position:relative;flex:70%;max-width:400px;background:#fff;z-index:99999;height:150px;border-radius:4px;text-align:center}.dialog-plane h2{font-size:20px;font-weight:500;padding:6px 10px}.dialog-plane .search-form{padding:20px}
*/
.mobile-menu-btn,.mobile-search-btn{display:none;padding:10px}@media screen and (max-width:1040px){body .user-menu-pc-search{display:none}body .header-menu{display:none!important}body .header-logo img{height:40px}body .mobile-search-btn{display:block}body .mobile-menu-btn,.mobile-search-btn{display:block}.menu-header-list > .menu-item-has-children:after,.user-menu:after{display:none}body .menu-header-list > .menu-item > a:before{display:none!important}body .menu-header-list > .menu-item{padding:0}header .current-menu-item:before{display:none!important}body .ad-plane-post{padding:10px;margin-top:-10px}body .menu-header-list{flex-direction:column}body .sub-menu{width:100%}body .user-sub-menu{width:100%;left:unset}.m-dropdown{display:block;position:absolute;right:3px;top:0;width:50px;text-align:center;line-height:62px;transition:all .3s ease-out 0s}body .sub-menu-show{visibility:visible;opacity:1}body .sub-menu-hide{visibility:hidden!important;opacity:0!important;top:60px!important}body .sub-menu .sub-menu{left:0;top:100%}}@media screen and (max-width:800px){body .slide-title{font-size:20px}body .post-item-sticky{padding:2px 4px}::-webkit-scrollbar{width:4px!important;height:4px!important}body .post-item-meta-author{display:none}body .index-top-postcard-item{margin-bottom:10px}body .carousel{margin-bottom:10px}body .index-top-postcard-item{flex-basis:49%}body .post-qrcode-btn{display:none}body .post-content{padding:15px}body .post-info{margin-bottom:10px}body .post-info-right{display:none}body .post-item-thumbnail{flex:35%;flex-shrink:0}body .post-item h2{font-size:18px}body .mobile-menu-btn,.mobile-search-btn{display:block}body .sidebar,.footer-container{display:none}body .header-main{justify-content:space-between}body .go-top-plane{display:none}body .post-main{margin:0;margin-bottom:10px;flex-basis:95%!important}body .header-logo img{height:40px}body .html-main{justify-content:center}.footer-container .footer-left{flex:100%;flex-shrink:0}.footer-container .footer-right,.footer-container .footer-aside-box,.footer-container .menu-footer-plane{display:none}.frinds-links{display:none}body .c-downbtn-item{width:100%}body .usercenter-plane{display:block}body .usercenter-menu{margin-bottom:10px}body .usercenter-right{margin-left:0}body .header-zhanwei{min-height:50px!important}}@media screen and (max-width:500px){body .cat-item{font-size:12px}body .post-item-tags{display:none}body .index-top-postcard-item{flex-basis:48%}body .post-item h2{font-size:16px}body .pageobj-item{display:none}body .commentlist{padding:0 20px}body .commentlist > .comment > .children{padding-left:30px}body .comment-pub-time{font-size:12px}body .commentlist > .comment > .children > .comment{padding:0 10px}body .comment-metadata{margin-left:10px}body .comment-btn-reply{opacity:1;visibility:visible}body .comment-reply-link{font-size:12px}body .top-divider{min-height:60px}body .c-downbtn-item{display:block}body .c-downbtn-describe{margin-bottom:10px}body .post-turn-page-plane,body .post-info-left{display:none}body .post-title{margin-bottom:0}body #reward-plane img{max-width:150px}body .post-pop-plane{padding:10px}}@media screen and (max-width:1384px){#post-catalog{visibility:hidden!important}#post-catalog-bar{visibility:hidden!important}}@media screen and (max-width:500px){body .post-content{padding:10px}.post-item-content{display:none}body .logged-in-as{display:none}body .post-item-info-type1{display:none}}@media screen and (max-width:360px){body .theme-copyright{display:none}}.drawer-menu-plane-show{visibility:visible!important;left:0!important;opacity:1!important}.drawer-menu-plane{opacity:0;display:flex;visibility:hidden;position:fixed;top:0;left:-100px;right:0;bottom:0;overflow:hidden;z-index:9999;transition:all .3s ease-out 0s}.drawer-menu-list{position:relative;flex:70%;max-width:400px;background:#fff;overflow-y:auto}.drawer-menu-write{flex:30%;background:#000;opacity:0.4}.mobile-menu-header-list .menu-item{padding:10px}.dialog-search-plane-show{visibility:visible!important}.dialog-search-plane-show .dialog-plane{opacity:1!important;top:0!important}.dialog-search-plane{display:flex;visibility:hidden;position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:9999;justify-content:center;align-items:center}.dialog-mask{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0.4;background:#000}.dialog-plane{padding:10px;top:-100px;transition:all .3s ease-out 0s;opacity:0;position:relative;flex:70%;max-width:400px;background:#fff;z-index:99999;height:150px;border-radius:4px;text-align:center}.dialog-plane h2{font-size:20px;font-weight:500;padding:6px 10px}.dialog-plane .search-form{padding:20px}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
.links-plane{display:grid;grid-template-columns:repeat(auto-fill,32%);grid-column-gap:5px;justify-content:space-between}.links-item{border:1px solid #f0f0f0;border-radius:4px;padding:10px;top:0;position:relative;transition:.3s;margin-bottom:10px}.links-item-empty{visibility:hidden}@media screen and (max-width:800px){body .links-plane{grid-template-columns:repeat(auto-fill,45%)}}@media screen and (max-width:500px){body .links-item img{width:24px}body .links-plane{grid-template-columns:repeat(auto-fill,100%)}body .link-description{display:none}}.links-item:hover{top:-5px}.links-item>a{display:flex}.links-item img{width:48px;max-width:unset}.link-info-plane{margin-left:10px}.link-title{font-size:14px;color:#3c3c3c;white-space:nowrap;font-weight:600}.link-description{font-size:14px;color:#8f8f8f}.links-item>a{color:#333!important}
.links-plane{display:grid;grid-template-columns:repeat( auto-fill,32%);grid-column-gap:5px;justify-content:space-between}.links-item{border:1px solid #f0f0f0;border-radius:4px;padding:10px;top:0;position:relative;transition:.3s;margin-bottom:10px}.links-item-empty{visibility:hidden}@media screen and (max-width:800px){body .links-plane{grid-template-columns:repeat( auto-fill,45%)}}@media screen and (max-width:500px){body .links-item img{width:24px}body .links-plane{grid-template-columns:repeat( auto-fill,100%)}body .link-description{display:none}}.links-item:hover{top:-5px}.links-item > a{display:flex}.links-item img{width:48px;max-width:unset}.link-info-plane{margin-left:10px}.link-title{font-size:14px;color:#3c3c3c;white-space:nowrap;font-weight:600}.link-description{font-size:14px;color:#8f8f8f}.links-item > a{color:#333!important}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,226 @@
<!doctype html>
<html lang="zh">
<head>
<title>{:web_config("title")}</title>
<meta name="keywords" content="{:web_config('keywords')}">
<meta name="description" content="{:web_config('description')}">
{include file="public/head" /}
<style>
:root {
--Maincolor: #409EFF !important;
--MaincolorHover: #409EFF !important;
--fontSelectedColor: #3390ff !important;
}
#nprogress .bar {
background: var(--Maincolor) !important;
}
</style>
<link rel="stylesheet" href="__CSS__/page-links.css" />
<link rel="stylesheet" href="__CSS__/comment-module.css" />
</head>
<body>
<script>NProgress.start();</script>
<div id="app">
{include file="public/header" /}
<div class="top-divider"></div>
<main class="container">
<div class="html-main">
<div class="post-main">
<div class="post-content-body">
<div class="post-content">
<h1 class="post-title">
申请友情链接
</h1>
<div class="post-content-post">
<div class="post-content-content">
<p>
本站开放申请友情链接,只和
<span style="color: #ff0000;">
<strong>
技术博客
</strong>
</span>
做友链资源站不要来留言并且需要博客文章超过50篇。
</p>
<div class="title-plane">
<p>
本站信息
</p>
<div>
网站名称Lovestu
</p>
<p>
网站地址https://www.lovestu.com
</p>
<p>
网站描述原创WordPress主题设计师爱学习爱代码爱生活。
</p>
<p>
</div>
</div>
<p>
请做好友链以后,在本页面留言。我会回复。
</p>
<div class="links-plane">
{zz:flink pagesize="5"}
<div class="links-item">
<a href="{$field['url']}" target="_blank">
<div>
{notempty name="$field['image']"}
<img class="frinds-links-icon img-lazyload" src="{$field['image']}" data-original="{$field['image']}"
onerror="javascript:this.src='__IMG__/chrome.png'" class="link-icon" alt="">
{else /}
<img class="frinds-links-icon img-lazyload" src="__IMG__/chrome.png" data-original="__IMG__/chrome.png"
onerror="javascript:this.src='__IMG__/chrome.png'" class="link-icon" alt="">
{/notempty}
</div>
<div class="link-info-plane">
<div class="link-title">
{$field['title']}
</div>
<div class="link-description">
{$field['description']}
</div>
</div>
</a>
</div>
{/zz:flink}
</div>
</div>
<div class="post-tool-plane">
</div>
</div>
</div>
</div>
<div id="comments" class="responsesWrapper">
<div class="reply-title">
发表评论
</div>
<div id="respond" class="comment-respond">
<h3 id="reply-title" class="comment-reply-title">
<small>
<a rel="nofollow" id="cancel-comment-reply-link" href="/applylink#respond"
style="display:none;">
取消回复
</a>
</small>
</h3>
<form action="https://www.lovestu.com/wp-comments-post.php" method="post"
id="form_comment" class="comment-form">
<div class="comment_userinput">
<div class="comment-form-author">
<input id="author" name="title" placeholder="标题(*)" type="text" value="" size="30" class="required">
</div>
<div class="comment-form-url">
<input id="url" name="url" placeholder="网址" type="text" value="" size="30">
</div>
<div class="comment-form-email">
<input id="email" name="image" type="text" placeholder="图标(*)" value="" class="required">
</div>
</div>
<div class="comment-user-plane">
<div class="logged-in-as">
<img class="comment-user-avatar" width="48" height="auto" src="https://cravatar.cn/avatar/?s=48&d=mm&r=g"
alt="">
</div>
<div class="comment_form_textarea_box">
<textarea class="comment_form_textarea" name="comment" id="comment" placeholder="网站介绍"
rows="5">
</textarea>
</div>
</div>
<div style="display: none" class="comment-form-cookies-consent">
<input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent"
type="checkbox" value="yes" checked="checked">
</div>
<div class="form-submit">
<div style="text-align: right">
<input name="submit" type="submit" id="submit" class="button primary-btn"
value="发表申请" />
</div>
<input type='hidden' name='comment_post_ID' value='421' id='comment_post_ID'
/>
<input type='hidden' name='comment_parent' id='comment_parent' value='0'
/>
</div>
</form>
</div>
<script type='text/javascript' src='__JS__/comment-reply.min.js?ver=5.1.1'>
</script>
<script type='text/javascript'>
$('body').on('click', '.comment-reply-link', function(e) {
addComment.moveForm("li-comment-" + $(this).attr('data-commentid'), $(this).attr('data-commentid'), "respond", $(this).attr('data-postid'));
console.log("li-comment-" + $(this).attr('data-commentid'), $(this).attr('data-commentid'), "respond", $(this).attr('data-postid'));
e.stopPropagation();
return false;
});
$(document).click(function(e) {
$('.conment-face-plane').css("opacity", "0");
$('.conment-face-plane').css("visibility", "hidden");
e.stopPropagation();
});
$('body').on('click', '.img-pace', function(e) {
$('.comment_form_textarea').val($('.comment_form_textarea').val() + '[f=' + $(this).attr('facename') + ']')
});
$('body').on('click', '.popover-btn-face', function(e) {
if ($('.conment-face-plane').css("visibility") == 'visible') {
$('.conment-face-plane').css("opacity", "0");
$('.conment-face-plane').css("visibility", "hidden");
} else {
$('.conment-face-plane').css("opacity", "1");
$('.conment-face-plane').css("visibility", "visible");
}
e.stopPropagation();
});
</script>
</div>
</div>
<div class="sidebar">
<div class="sidebar-box-list">
<div class="aside-box">
<form class="search-form" action="{:url('/index/article/search')}" method="get" role="search">
<div class="search-form-input-plane">
<input type="text" class="search-keyword" name="kw" placeholder="搜索内容" value=""/>
</div>
<div>
<button type="submit" class="search-submit" value="&#xf002;">搜索</button>
</div>
</form>
</div>
<div class="aside-box">
<h2 class="widget-title">热门阅读</h2>
{zz:arclist row="6" type="where" orderby="view desc"}
<div class="hot-post-widget-item">
<div>
<span class="hot-post-widget-item-num">{$i}</span>
<span class="hot-post-widget-item-title">
<a href="{$field['url']}">{:cn_substr($field['title'],15)}</a>
</span>
</div>
<div class="hot-post-widget-item-meta">
<div>{$field['create_time']}</div>
<div>
<a href="#">{:cn_substr($field['category_title'],5)}</a>
</div>
</div>
</div>
{/zz:arclist}
</div>
{zz:advert row="3" type="2"}
<div class="aside-box">
<h2 class="widget-title">{$field['title']}</h2>
<a href="{$field['url']}" target="_blank">
<img width="300" height="191" src="{$field['image']}"
class="image wp-image-559 attachment-medium size-medium" alt=""
loading="lazy" style="max-width: 100%; height: auto;">
</a>
</div>
{/zz:advert}
</div>
</div>
</div>
</main>
{include file="public/footer" /}
</div>
</body>
</html>

View File

@ -254,12 +254,12 @@
<div class="list-plane-title">
<div>友情链接 <span class="list-plane-linksdescribe">欢迎添加友情链接</span>
</div>
<a href="applylink/index1.html" class="frinds-links-apply">申请友链</a>
<a href="{:url('applylink')}" class="frinds-links-apply">申请友链</a>
</div>
<div class="frinds-links-list">
{zz:flink pagesize="5"}
<li>
<a href="{$field['url']}" title="{$field['description']}" target="_blank">
<a href="{$field['url']}" title="{$field['title']}" target="_blank">
{notempty name="$field['image']"}
<img class="frinds-links-icon img-lazyload" src="{$field['image']}" data-original="{$field['image']}"
onerror="javascript:this.src='__IMG__/chrome.png'">

View File

@ -1,15 +0,0 @@
清理模板中无用的功能
修正右侧模板的数据
文章tag的改造tag插入tag表记录id然后跳转对应的链接为什么写tag表是因为需要排序和右侧列表
设计添加tag时候插入 tag表 tag包含 tag_name 文章id 获取时候查询这个这个表
修改一些调用喂RPC方式后期课题考虑替换这个
评论没修复
标签云没修复
文章相关内容没修复