1.9.6
This commit is contained in:
parent
563a01e3fa
commit
bdf3421b9d
@ -2,7 +2,7 @@
|
||||
/*
|
||||
* @Author: TaoLer <alipey_tao@qq.com>
|
||||
* @Date: 2022-04-13 09:54:31
|
||||
* @LastEditTime: 2022-04-27 14:20:06
|
||||
* @LastEditTime: 2022-04-29 17:24:47
|
||||
* @LastEditors: TaoLer
|
||||
* @Description: 搜索引擎SEO优化设置
|
||||
* @FilePath: \TaoLer\app\admin\controller\Seo.php
|
||||
@ -316,26 +316,72 @@ class Seo extends AdminController
|
||||
public function searchLog()
|
||||
{
|
||||
$time = input('search_time');
|
||||
$name = input('spider_name');
|
||||
$logPath = app()->getRootPath().'runtime/log/browse/'.$time.'.log';
|
||||
$logPath = str_replace('\\','/',$logPath);
|
||||
if(!file_exists($logPath)) return json(['code'=>-1,'msg'=>'还没有要分析的日志哦']);
|
||||
if(!file_exists($logPath)) {
|
||||
return json(['code'=>-1,'msg'=>'还没有要分析的日志哦!']);
|
||||
}
|
||||
$log = file_get_contents($logPath);
|
||||
$log = preg_replace('/\[info\][^\n]*compatible;/', '', $log);
|
||||
|
||||
// 正则蜘蛛
|
||||
preg_match_all('/(.*?)(?:bingbot|Googlebot|Baiduspider|SemrushBot|AhrefsBot|MJ12bot)+[^\n]*\r?\n/',$log,$arr);
|
||||
|
||||
$string = '';
|
||||
foreach($arr[0] as $str) {
|
||||
$str = preg_replace('/\[(.*?)T/', '', $str);
|
||||
$str = preg_replace('/\+08:00\]/', '', $str);
|
||||
$string .= preg_replace('/\/(.*?)\)/', '', $str);
|
||||
switch($name) {
|
||||
case 'Baiduspider':
|
||||
preg_match_all('/(.*?)(?:Baiduspider)+[^\n]*\r?\n/',$log,$arr);
|
||||
break;
|
||||
case 'Bytespider':
|
||||
preg_match_all('/(.*?)(?:Bytespider)+[^\n]*\r?\n/',$log,$arr);
|
||||
break;
|
||||
case 'Googlebot':
|
||||
preg_match_all('/(.*?)(?:Googlebot)+[^\n]*\r?\n/',$log,$arr);
|
||||
break;
|
||||
case 'bingbot':
|
||||
preg_match_all('/(.*?)(?:bingbot)+[^\n]*\r?\n/',$log,$arr);
|
||||
break;
|
||||
default:
|
||||
// 正则全部蜘蛛
|
||||
preg_match_all('/(.*?)(?:bingbot|Googlebot|Baiduspider|Bytespider|SemrushBot|AhrefsBot|MJ12bot)+[^\n]*\r?\n/',$log,$arr);
|
||||
}
|
||||
|
||||
if(strlen($string)) {
|
||||
return json(['code'=>0,'msg'=>'分析成功','data'=>$string]);
|
||||
// $string = '';
|
||||
// foreach($arr[0] as $str) {
|
||||
// $str = preg_replace('/\[(.*?)T/', '', $str);
|
||||
// $str = preg_replace('/\+08:00\]/', '', $str);
|
||||
// $string .= preg_replace('/\/(.*?)\)/', '', $str);
|
||||
// }
|
||||
|
||||
// if(strlen($string)) {
|
||||
// return json(['code'=>0,'msg'=>'分析成功','data'=>$string]);
|
||||
// } else {
|
||||
// return json(['code'=>-1,'msg'=>'还没有蜘蛛来哦']);
|
||||
// }
|
||||
$list = [];
|
||||
if(count($arr[0])) {
|
||||
$list['code']= 0;
|
||||
$list['msg'] = '分析成功';
|
||||
$list['count'] = count($arr[0]);
|
||||
foreach($arr[0] as $k =>$str) {
|
||||
// $str = preg_replace('/\[(.*?)T/', '', $str);
|
||||
// $str = preg_replace('/\+08:00\]/', '', $str);
|
||||
// 时间
|
||||
$str = preg_replace('/\/(.*?)\)/', '', $str);
|
||||
$ptime = "/([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})/";
|
||||
preg_match($ptime, $str,$at);
|
||||
$time = str_replace('T',' ',$at[0]);
|
||||
//$list[$k]['time'] = $time;
|
||||
// ip
|
||||
$pip = '/(?:(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:1[0-9][0-9]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:2[0-5][0-5])|(?:25[0-5])|(?:1[0-9][0-9])|(?:[1-9][0-9])|(?:[1-9]))/';
|
||||
preg_match($pip, $str,$aip);
|
||||
$ip = $aip[0];
|
||||
// url
|
||||
$pattern="/(http|https):\/\/.*$/i";
|
||||
preg_match($pattern, $str,$url);
|
||||
|
||||
$list['data'][] = ['id'=>$k + 1, 'time'=>$time, 'name'=>$name, 'ip'=>$ip, 'url'=>$url[0]];
|
||||
}
|
||||
return json($list);
|
||||
} else {
|
||||
return json(['code'=>-1,'msg'=>'还没有蜘蛛来哦']);
|
||||
return json(['code'=>-1,'msg'=> '没有需要分析的数据']);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -186,6 +186,18 @@
|
||||
<input type="text" name="search_time" id="search_time" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">选择蜘蛛</label>
|
||||
<div class="layui-input-inline">
|
||||
<select type="text" name="spider_name" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<option value="Baiduspider" selected>百度</option>
|
||||
<option value="Bytespider" >头条</option>
|
||||
<option value="Googlebot" >谷歌</option>
|
||||
<option value="bingbot" >bing</option>
|
||||
<option value="" >全部</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-danger" lay-submit lay-filter="search_show_submit">开始分析</button>
|
||||
@ -194,8 +206,10 @@
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分析结果</label>
|
||||
|
||||
<div class="layui-input-block">
|
||||
<textarea type="text" name="search_list" placeholder="搜索引擎抓取结果" class="layui-textarea" style="height: 600px;"></textarea>
|
||||
<table id="spider" lay-filter="spider"></table>
|
||||
<!--textarea type="text" name="search_list" placeholder="搜索引擎抓取结果" class="layui-textarea" style="height: 600px;"></textarea-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -218,11 +232,12 @@
|
||||
base: '/static/admin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index', 'laydate'], function(){
|
||||
}).use(['index', 'laydate', 'table'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
var element =layui.element ;
|
||||
var laydate = layui.laydate;
|
||||
var table = layui.table;
|
||||
|
||||
//执行一个laydate实例
|
||||
laydate.render({
|
||||
@ -232,6 +247,21 @@
|
||||
,value: new Date()
|
||||
});
|
||||
|
||||
//第一个实例
|
||||
table.render({
|
||||
elem: '#spider'
|
||||
,url: "{:url('seo/searchLog')}" //数据接口
|
||||
,page: true //开启分页
|
||||
,cols: [[ //表头
|
||||
{field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'}
|
||||
,{field: 'time', title: '时间', width:160}
|
||||
,{field: 'name', title: '名称', width:120, sort: true}
|
||||
,{field: 'ip', title: 'IP', width:200}
|
||||
,{field: 'url', title: 'URL', minWidth: 200}
|
||||
]]
|
||||
,text: '对不起,加载出现异常!'
|
||||
});
|
||||
|
||||
// baidu push
|
||||
form.on('submit(search_push)', function(data){
|
||||
var field = data.field;
|
||||
@ -328,12 +358,15 @@
|
||||
$.post("{:url('seo/searchLog')}",field,function(res){
|
||||
if(res.code == 0){
|
||||
layer.msg(res.msg,{icon:6,tiye:2000},function(){
|
||||
$("textarea[name='search_list']").html(res.data);
|
||||
//location.reload();
|
||||
//$("textarea[name='search_list']").html(res.data);
|
||||
});
|
||||
} else {
|
||||
layer.open({title:"添加失败",content:res.msg,icon:5,anim:6});
|
||||
}
|
||||
//执行重载
|
||||
table.reload('spider', {
|
||||
where: field
|
||||
});
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
@ -8,6 +8,7 @@ use think\facade\Cookie;
|
||||
use think\facade\Config;
|
||||
use think\facade\Lang;
|
||||
use app\event\UserLogin;
|
||||
use taoler\com\Files;
|
||||
|
||||
class User extends Model
|
||||
{
|
||||
@ -106,20 +107,26 @@ class User extends Model
|
||||
//注册校验
|
||||
public function reg($data)
|
||||
{
|
||||
//随机存入默认头像
|
||||
$code = mt_rand('1','11');
|
||||
$data['user_img'] = "/static/res/images/avatar/$code.jpg";
|
||||
$data['create_time'] = time();
|
||||
$salt = substr(md5($data['create_time']),-6);
|
||||
$data['password'] = substr_replace(md5($data['password']),$salt,0,6);
|
||||
$data['status'] = Config::get('taoler.config.regist_check');
|
||||
$msg = $data['status'] ? '注册成功请登录' : '注册成功,请等待审核';
|
||||
$result = $this->save($data);
|
||||
if ($result) {
|
||||
return ['code'=>1,'msg'=>$msg];
|
||||
} else{
|
||||
return '注册失败';
|
||||
}
|
||||
// public/static/res/images/avatar的所有图片
|
||||
$images = Files::getAllFile('static/res/images/avatar');
|
||||
//随机图片
|
||||
$i = array_rand($images);
|
||||
$img = $images[$i];
|
||||
$data['user_img'] = '/'.str_replace('\\','/',$img);
|
||||
//随机存入默认头像
|
||||
// $code = mt_rand('1','11');
|
||||
// $data['user_img'] = "/static/res/images/avatar/$code.jpg";
|
||||
$data['create_time'] = time();
|
||||
$salt = substr(md5($data['create_time']),-6);
|
||||
$data['password'] = substr_replace(md5($data['password']),$salt,0,6);
|
||||
$data['status'] = Config::get('taoler.config.regist_check');
|
||||
$msg = $data['status'] ? '注册成功请登录' : '注册成功,请等待审核';
|
||||
$result = $this->save($data);
|
||||
if ($result) {
|
||||
return ['code'=>1,'msg'=>$msg];
|
||||
} else{
|
||||
return '注册失败';
|
||||
}
|
||||
}
|
||||
|
||||
//重置密码
|
||||
@ -155,7 +162,6 @@ class User extends Model
|
||||
$user = $this->find($data['user_id']);
|
||||
$salt = substr(md5($user['create_time']),-6);
|
||||
$pwd = substr_replace(md5($data['nowpass']),$salt,0,6);
|
||||
//原注册密码加密规则
|
||||
$data['nowpass'] = md5($pwd);
|
||||
$result = $data['nowpass'] == $user['password'];
|
||||
if(!$result){
|
||||
|
12
composer.lock
generated
12
composer.lock
generated
@ -1602,16 +1602,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v4.4.39",
|
||||
"version": "v4.4.41",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "35237c5e5dcb6593a46a860ba5b29c1d4683d80e"
|
||||
"reference": "58eb36075c04aaf92a7a9f38ee9a8b97e24eb481"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/35237c5e5dcb6593a46a860ba5b29c1d4683d80e",
|
||||
"reference": "35237c5e5dcb6593a46a860ba5b29c1d4683d80e",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/58eb36075c04aaf92a7a9f38ee9a8b97e24eb481",
|
||||
"reference": "58eb36075c04aaf92a7a9f38ee9a8b97e24eb481",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1671,7 +1671,7 @@
|
||||
"dump"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v4.4.39"
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v4.4.41"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -1687,7 +1687,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-02-25T10:38:15+00:00"
|
||||
"time": "2022-04-25T21:15:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "topthink/think-trace",
|
||||
|
@ -464,7 +464,7 @@ body .layui-edit-face .layui-layer-content{padding:0; background-color:#fff; co
|
||||
.detail-hits .layui-btn{border-radius: 0;}
|
||||
.detail-hits .layui-btn+.layui-btn{margin-left: 5px;}
|
||||
.detail-hits .jie-admin{margin-right: 1px;}
|
||||
.detail-body{margin: 10px 0 0; min-height: 306px; line-height: 26px; font-size: 16px; color: #333; word-wrap: break-word;}
|
||||
.detail-body{margin: 10px 0 0; min-height: 50px; line-height: 26px; font-size: 16px; color: #333; word-wrap: break-word;}
|
||||
.detail-body p{margin-bottom:15px;}
|
||||
.detail-body img{max-width: 100%; cursor: pointer;}
|
||||
/*
|
||||
|
@ -12,7 +12,6 @@ var compressImage = {
|
||||
//obj.preview(function(index, file, result){
|
||||
|
||||
//执行实例
|
||||
var index = layer.load(1);
|
||||
var files = obj.pushFile();
|
||||
var filesArry = [];
|
||||
for (var key in files) { //将上传的文件转为数组形式
|
||||
|
File diff suppressed because it is too large
Load Diff
14
vendor/composer/installed.json
vendored
14
vendor/composer/installed.json
vendored
@ -1045,17 +1045,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v4.4.39",
|
||||
"version_normalized": "4.4.39.0",
|
||||
"version": "v4.4.41",
|
||||
"version_normalized": "4.4.41.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "35237c5e5dcb6593a46a860ba5b29c1d4683d80e"
|
||||
"reference": "58eb36075c04aaf92a7a9f38ee9a8b97e24eb481"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/35237c5e5dcb6593a46a860ba5b29c1d4683d80e",
|
||||
"reference": "35237c5e5dcb6593a46a860ba5b29c1d4683d80e",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/58eb36075c04aaf92a7a9f38ee9a8b97e24eb481",
|
||||
"reference": "58eb36075c04aaf92a7a9f38ee9a8b97e24eb481",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1079,7 +1079,7 @@
|
||||
"ext-intl": "To show region name in time zone dump",
|
||||
"symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
|
||||
},
|
||||
"time": "2022-02-25T10:38:15+00:00",
|
||||
"time": "2022-04-25T21:15:06+00:00",
|
||||
"bin": [
|
||||
"Resources/bin/var-dump-server"
|
||||
],
|
||||
@ -1117,7 +1117,7 @@
|
||||
"dump"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v4.4.39"
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v4.4.41"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
10
vendor/composer/installed.php
vendored
10
vendor/composer/installed.php
vendored
@ -5,7 +5,7 @@
|
||||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'reference' => '55487e7d9d3d67406b0dbe02896d285923cec456',
|
||||
'reference' => 'bb712c71c521dd5acc4656bb49ff90285de07458',
|
||||
'name' => 'taoser/taoler',
|
||||
'dev' => true,
|
||||
),
|
||||
@ -146,12 +146,12 @@
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'symfony/var-dumper' => array(
|
||||
'pretty_version' => 'v4.4.39',
|
||||
'version' => '4.4.39.0',
|
||||
'pretty_version' => 'v4.4.41',
|
||||
'version' => '4.4.41.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/var-dumper',
|
||||
'aliases' => array(),
|
||||
'reference' => '35237c5e5dcb6593a46a860ba5b29c1d4683d80e',
|
||||
'reference' => '58eb36075c04aaf92a7a9f38ee9a8b97e24eb481',
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'taoser/taoler' => array(
|
||||
@ -160,7 +160,7 @@
|
||||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'reference' => '55487e7d9d3d67406b0dbe02896d285923cec456',
|
||||
'reference' => 'bb712c71c521dd5acc4656bb49ff90285de07458',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'taoser/think-addons' => array(
|
||||
|
2
vendor/services.php
vendored
2
vendor/services.php
vendored
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// This file is automatically generated at:2022-04-27 14:39:58
|
||||
// This file is automatically generated at:2022-04-29 17:39:41
|
||||
declare (strict_types = 1);
|
||||
return array (
|
||||
0 => 'taoser\\addons\\Service',
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
|
@ -46,8 +46,7 @@ abstract class AbstractDumper implements DataDumperInterface, DumperInterface
|
||||
{
|
||||
$this->flags = $flags;
|
||||
$this->setCharset($charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8');
|
||||
$this->decimalPoint = localeconv();
|
||||
$this->decimalPoint = $this->decimalPoint['decimal_point'];
|
||||
$this->decimalPoint = \PHP_VERSION_ID >= 80000 ? '.' : localeconv()['decimal_point'];
|
||||
$this->setOutput($output ?: static::$defaultOutput);
|
||||
if (!$output && \is_string(static::$defaultOutput)) {
|
||||
static::$defaultOutput = $this->outputStream;
|
||||
@ -122,8 +121,7 @@ abstract class AbstractDumper implements DataDumperInterface, DumperInterface
|
||||
*/
|
||||
public function dump(Data $data, $output = null)
|
||||
{
|
||||
$this->decimalPoint = localeconv();
|
||||
$this->decimalPoint = $this->decimalPoint['decimal_point'];
|
||||
$this->decimalPoint = \PHP_VERSION_ID >= 80000 ? '.' : localeconv()['decimal_point'];
|
||||
|
||||
if ($locale = $this->flags & (self::DUMP_COMMA_SEPARATOR | self::DUMP_TRAILING_COMMA) ? setlocale(\LC_NUMERIC, 0) : null) {
|
||||
setlocale(\LC_NUMERIC, 'C');
|
||||
|
@ -371,7 +371,7 @@ return function (root, x) {
|
||||
if (/\bsf-dump-toggle\b/.test(a.className)) {
|
||||
e.preventDefault();
|
||||
if (!toggle(a, isCtrlKey(e))) {
|
||||
var r = doc.getElementById(a.getAttribute('href').substr(1)),
|
||||
var r = doc.getElementById(a.getAttribute('href').slice(1)),
|
||||
s = r.previousSibling,
|
||||
f = r.parentNode,
|
||||
t = a.parentNode;
|
||||
@ -438,7 +438,7 @@ return function (root, x) {
|
||||
toggle(a);
|
||||
}
|
||||
} else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) {
|
||||
a = a.substr(1);
|
||||
a = a.slice(1);
|
||||
elt.className += ' '+a;
|
||||
|
||||
if (/[\[{]$/.test(elt.previousSibling.nodeValue)) {
|
||||
|
@ -10,7 +10,7 @@
|
||||
<div class="layui-col-md12 content detail">
|
||||
<div class="fly-panel detail-box">
|
||||
{//标题}
|
||||
<h1 style="color:{$article.title_color}; margin:10px 5px 15px 5px;" align="center">{$article.title}</h1>
|
||||
<h1 style="color:{$article.title_color};margin:10px 5px 15px 5px;" align="center">{$article.title}</h1>
|
||||
|
||||
{//作者}
|
||||
<div class="detail-about" align="center">
|
||||
@ -23,7 +23,9 @@
|
||||
<hr style="margin-bottom: 25px">
|
||||
{// 内容}
|
||||
<div class="detail-body photos" style="font-size: 18px;line-height: 200%;" id="content">{$article.content}</div>
|
||||
</div>
|
||||
|
||||
<div class="fly-panel detail-box" >
|
||||
{//管理}
|
||||
{if (($article.upzip !== '') || session('?user_name'))}
|
||||
<div class="detail-assist">
|
||||
@ -31,7 +33,7 @@
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="zip-download"><i class="layui-icon layui-icon-download-circle"></i>{:lang('download files')}: {$article.downloads}次</button>
|
||||
{/notempty}
|
||||
<div class="fly-admin-box" data-id="{$article.id}">
|
||||
{if ($user.auth ?? '')}
|
||||
{if ($user.auth ?? '')}
|
||||
<span class="layui-btn layui-btn-xs jie-admin" type="del"><i class="layui-icon layui-icon-delete"></i></span>
|
||||
{if($article.is_top == 0)}
|
||||
<span class="layui-btn layui-btn-xs jie-admin" type="set" field="top" rank="1"><i class="layui-icon layui-icon-top"></i></span>
|
||||
@ -49,20 +51,16 @@
|
||||
{else /}
|
||||
<span class="layui-btn layui-btn-xs jie-admin" type="set" field="reply" rank="1" style="background-color:#ccc;">{:lang('enable reply')}</span>
|
||||
{/if}
|
||||
<span id="color">{:lang('title color')}</span>
|
||||
{/if}
|
||||
{if(session('user_name')==$article.user.name || ($user.auth ?? ''))}
|
||||
<span class="layui-btn layui-btn-xs jie-admin" type="edit"><a href="{:url('article/edit',['id'=>$article.id])}">{:lang('edit')}</a></span>
|
||||
{/if}
|
||||
<span id="color">{:lang('title color')}</span>
|
||||
{/if}
|
||||
{if(session('user_name')==$article.user.name || ($user.auth ?? ''))}
|
||||
<span class="layui-btn layui-btn-xs jie-admin" type="edit"><a href="{:url('article/edit',['id'=>$article.id])}">{:lang('edit')}</a></span>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<div class="fly-panel detail-box" >
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!--底部栏-->
|
||||
@ -100,7 +98,7 @@ layui.use(['fly', 'face','colorpicker','plyr', 'laypage'], function(){
|
||||
//tpl模板给发布时间赋值
|
||||
$('div.detail-hits').children('span.post-time').each(function(){
|
||||
var othis = $(this), html = othis.html();
|
||||
var string = laytpl('{{ d.time }}').render({
|
||||
var string = laytpl('{{ d.time }}').render({
|
||||
//time: html
|
||||
time: othis.attr('data')
|
||||
});
|
||||
@ -217,7 +215,6 @@ layui.use(['fly', 'face','colorpicker','plyr', 'laypage'], function(){
|
||||
$(function(){
|
||||
$(".photos").on("click","img",function(){
|
||||
var _this = $(this);
|
||||
console.log(_this);
|
||||
imgShow("#outerdiv", "#innerdiv", "#bigimg", _this);
|
||||
});
|
||||
});
|
||||
@ -260,7 +257,6 @@ layui.use(['fly', 'face','colorpicker','plyr', 'laypage'], function(){
|
||||
$(this).fadeOut("fast");
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<div id="outerdiv" style="position:fixed;top:0;left:0;background:rgba(0,0,0,0.7);z-index:2;width:100%;height:100%;display:none;">
|
||||
@ -270,30 +266,6 @@ layui.use(['fly', 'face','colorpicker','plyr', 'laypage'], function(){
|
||||
|
||||
{:hook('markdownhook')}
|
||||
|
||||
<script>
|
||||
//扫码阅读
|
||||
$("#rdown").hover(function(){
|
||||
$("#phonedl").show().stop();
|
||||
},function(){
|
||||
$("#phonedl").hide().stop();
|
||||
});
|
||||
|
||||
$("#phonedl").hover(function(){
|
||||
$("#phonedl").show().stop();
|
||||
},function(){
|
||||
$("#phonedl").hide().stop();
|
||||
});
|
||||
|
||||
function PhoneDown(){
|
||||
layer.open({
|
||||
title: "扫码查阅",
|
||||
skin: 'layui-layer',
|
||||
content: "<img src='/qrcode/?text={$Request.domain}{:url('article/detail',['id' => $article.id])}&size=230'>"
|
||||
});
|
||||
}
|
||||
//推送百度收录服务
|
||||
</script>
|
||||
|
||||
{volist name="push_js" id="vo"}
|
||||
{$vo.jscode|raw}
|
||||
{/volist}
|
||||
|
@ -44,7 +44,9 @@
|
||||
<hr>
|
||||
{// 内容}
|
||||
<div class="detail-body photos" id="content">{$article.content}</div>
|
||||
</div>
|
||||
|
||||
<div class="fly-panel detail-box" >
|
||||
{//管理}
|
||||
{if (($article.upzip !== '') || session('?user_name'))}
|
||||
<div class="detail-assist">
|
||||
@ -79,10 +81,6 @@
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<div class="fly-panel detail-box" >
|
||||
|
||||
</div>
|
||||
|
||||
{//评论}
|
||||
<div class="fly-panel detail-box" id="flyReply">
|
||||
<span style="font-size:18px;">评论 {$article.comments_count}</span>
|
||||
|
@ -1,3 +1,12 @@
|
||||
<!--
|
||||
* @Author: TaoLer <alipey_tao@qq.com>
|
||||
* @Date: 2021-12-06 16:04:51
|
||||
* @LastEditTime: 2022-04-29 15:08:24
|
||||
* @LastEditors: TaoLer
|
||||
* @Description: 搜索引擎SEO优化设置
|
||||
* @FilePath: \TaoLer\view\taoler\index\user\index.html
|
||||
* Copyright (c) 2020~2022 http://www.aieok.com All rights reserved.
|
||||
-->
|
||||
{extend name="public/user" /}
|
||||
|
||||
{block name="content"}
|
||||
@ -21,15 +30,12 @@
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="{:url('user/set')}"><i class="layui-icon"></i><cite>修改信息</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="{:url('user/set#avatar')}"><i class="layui-icon"></i><cite>修改头像</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="{:url('user/set#pass')}"><i class="layui-icon"></i><cite>修改密码</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="/user/set/#bind"><i class="layui-icon"></i><cite>帐号绑定</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="{:url('article/add')}"><i class="layui-icon"></i><cite>发表新帖</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="/column/share/"><i class="layui-icon"></i><cite>查看分享</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="{:url('user/post#collection')}"><i class="layui-icon"></i><cite>我的收藏</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="#"><i class="layui-icon"></i><cite>帐号绑定</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="#"><i class="layui-icon"></i><cite>查看分享</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4 LAY_search "> <a href="javascript:;"><i class="layui-icon"></i><cite>搜索资源</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="{:url('user/post/#collection')}"><i class="layui-icon"></i><cite>我的收藏</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="/jie/15697/"><i class="layui-icon"></i><cite>成为赞助商</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="/jie/2461/"><i class="layui-icon"></i><cite>关注公众号</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="http://www.test.com/doc/"><i class="layui-icon"></i><cite>文档</cite></a> </li>
|
||||
<li class="layui-col-sm3 layui-col-xs4"> <a href="http://www.test.com/demo/"><i class="layui-icon"></i><cite>示例</cite></a> </li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -39,10 +45,10 @@
|
||||
|
||||
{block name="script"}
|
||||
<script>
|
||||
var replyUrl = "{:url('index/reply')}";
|
||||
var signStatusUrl = "{:url('sign/status')}";
|
||||
var signInUrl = "{:url('sign/sign')}";
|
||||
var signRuleUrl = "{:url('sign/getsignrule')}";
|
||||
var signJsonUrl = "{:url('sign/signJson')}";
|
||||
var replyUrl = "{:url('index/reply')}";
|
||||
var signStatusUrl = "{:url('sign/status')}";
|
||||
var signInUrl = "{:url('sign/sign')}";
|
||||
var signRuleUrl = "{:url('sign/getsignrule')}";
|
||||
var signJsonUrl = "{:url('sign/signJson')}";
|
||||
</script>
|
||||
{/block}
|
Loading…
Reference in New Issue
Block a user