规范化
This commit is contained in:
parent
002d647e04
commit
641e2400e6
@ -9,10 +9,11 @@ use app\admin\model\AuthRule as AuthRuleModel;
|
||||
|
||||
class AuthRule extends AdminController
|
||||
{
|
||||
//权限列表
|
||||
/**
|
||||
* 菜单列表
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//获取权限列表
|
||||
if(Request::isAjax()){
|
||||
|
||||
$rule = new AuthRuleModel();
|
||||
@ -34,15 +35,15 @@ class AuthRule extends AdminController
|
||||
|
||||
}
|
||||
|
||||
//权限树
|
||||
/**
|
||||
*权限树
|
||||
* 支持获取三级菜单
|
||||
*/
|
||||
public function tree()
|
||||
{
|
||||
|
||||
//$res = $this->treeTr($this->getMenus());
|
||||
//var_dump($res);
|
||||
/*
|
||||
支持获取三级菜单
|
||||
*/
|
||||
|
||||
$result = $this->getMenus(1);
|
||||
|
||||
$count = count($result);
|
||||
@ -72,14 +73,11 @@ class AuthRule extends AdminController
|
||||
$children[] = ['id'=>$j['id'],'title'=>$j['title'],'pid'=>$j['pid'],'children'=>$chichi]; //子数据
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$data[] = ['id'=>$v['id'],'title'=>$v['title'],'pid'=>$v['pid'],'children'=>$children];
|
||||
|
||||
$data[] = ['id'=>$v['id'],'title'=>$v['title'],'pid'=>$v['pid'],'children'=>$children];
|
||||
}
|
||||
|
||||
//构造一个顶级菜单pid=0的数组。把权限放入顶级菜单下子权限中
|
||||
$tree['data'][] = ['id'=>0,'title'=>'顶级','pid'=>0,'children'=>$data];
|
||||
//构造一个顶级菜单pid=0的数组。把权限放入顶级菜单下子权限中
|
||||
$tree['data'][] = ['id'=>0,'title'=>'顶级','pid'=>0,'children'=>$data];
|
||||
}
|
||||
|
||||
return json($tree);
|
||||
@ -88,7 +86,6 @@ class AuthRule extends AdminController
|
||||
//添加权限
|
||||
public function add()
|
||||
{
|
||||
//
|
||||
if(Request::isAjax()){
|
||||
$data = Request::param();
|
||||
$plevel = Db::name('auth_rule')->field('level')->find($data['pid']);
|
||||
@ -106,6 +103,7 @@ class AuthRule extends AdminController
|
||||
return json(['code'=>-1,'msg'=>'添加权限失败']);
|
||||
}
|
||||
}
|
||||
|
||||
$rule = new AuthRuleModel();
|
||||
$auth_rules = $rule->authRuleTree();
|
||||
View::assign('AuthRule',$auth_rules);
|
||||
|
@ -164,20 +164,16 @@ class Index extends AdminController
|
||||
//动态信息
|
||||
public function news()
|
||||
{
|
||||
$page = Request::param('page');
|
||||
$url = $this->api.'/v1/news?'.Request::query();
|
||||
$news = Cache::get('news'.$page);
|
||||
if(is_null($news)){
|
||||
$data = Request::only(['page', 'limit']);
|
||||
$url = $this->api.'/v1/news?'.'page='.$data['page'].'&'.'limit='.$data['limit'];
|
||||
$news = Cache::get('news'.$data['page'].'_'.$data['limit']);
|
||||
if(empty($news)){
|
||||
$news = Api::urlGet($url);
|
||||
Cache::set('news'.$page,$news,600);
|
||||
if($news->code == 0){
|
||||
Cache::set('news'.$data['page'].'_'.$data['limit'],$news,600);
|
||||
}
|
||||
}
|
||||
|
||||
if($news){
|
||||
return $news;
|
||||
}else{
|
||||
return json(['code'=>-1,'msg'=>'稍后获取内容...']);
|
||||
}
|
||||
|
||||
return $news;
|
||||
}
|
||||
|
||||
//提交反馈
|
||||
|
@ -1,6 +1,5 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
app\middleware\AdminLoginCookie::class,
|
||||
app\middleware\Auth::class,
|
||||
];
|
@ -16,13 +16,20 @@ class AuthRule extends Model
|
||||
{
|
||||
$query->where('id', $value );
|
||||
}
|
||||
//登陆校验
|
||||
/**
|
||||
* 权限树
|
||||
*/
|
||||
public function authRuleTree()
|
||||
{
|
||||
$authRules = $this->order('sort asc')->select();
|
||||
return $this->sort($authRules);
|
||||
//return $this->sort($authRules);
|
||||
return $authRules;
|
||||
}
|
||||
|
||||
/**
|
||||
* id,pid,菜单排序
|
||||
* @var $data 数据
|
||||
* @var $pid 父级id
|
||||
*/
|
||||
public function sort($data,$pid=0)
|
||||
{
|
||||
static $arr = array();
|
||||
|
@ -22,14 +22,14 @@
|
||||
|
||||
<script type="text/html" id="toolbar">
|
||||
<div class="layui-btn-group" style="padding-bottom: 10px;">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-admin" data-type="add">离线安装</button>
|
||||
</div>
|
||||
<button type="button" class="layui-btn layui-btn-sm" lay-event="onlineAddons">在线</button>
|
||||
<button type="button" class="layui-btn layui-btn-sm" lay-event="installed">已安装</button>
|
||||
<button type="button" class="layui-btn layui-btn-sm" lay-event="freeAddons">免费</button>
|
||||
<button type="button" class="layui-btn layui-btn-sm" lay-event="payAddons">付费</button>
|
||||
</div>
|
||||
<div class="layui-btn-group" style="padding-bottom: 10px;">
|
||||
<button type="button" class="layui-btn layui-btn-sm" lay-event="installed">已安装</button>
|
||||
<button type="button" class="layui-btn layui-btn-sm" lay-event="onlineAddons">在线</button>
|
||||
<button type="button" class="layui-btn layui-btn-sm" lay-event="freeAddons">免费</button>
|
||||
<button type="button" class="layui-btn layui-btn-sm" lay-event="payAddons">付费</button>
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-admin" data-type="add">离线安装</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="addons-installed-tool">
|
||||
|
@ -27,13 +27,13 @@
|
||||
<label class="layui-form-label">状态</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="sec">
|
||||
<option value="">选择状态</option>
|
||||
<option value="">选择状态</option>
|
||||
<option value="1">正常</option>
|
||||
<option value="5">禁止</option>
|
||||
<option value="6">待审</option>
|
||||
<option value="5">禁止</option>
|
||||
<option value="6">待审</option>
|
||||
<option value="2">置顶</option>
|
||||
<option value="3">加精</option>
|
||||
<option value="4">禁评</option>
|
||||
<option value="3">加精</option>
|
||||
<option value="4">禁评</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@ -53,40 +53,40 @@
|
||||
<script type="text/html" id="imgTpl">
|
||||
<img style="display: inline-block; width: 50%; height: 100%;" src= "{{ d.avatar }}">
|
||||
</script>
|
||||
<script type="text/html" id="title">
|
||||
<a href="{$domain}/jie/{{d.id}}.html" target="_blank">{{d.title}}</a>
|
||||
</script>
|
||||
<script type="text/html" id="title">
|
||||
<a href="{$domain}/jie/{{d.id}}.html" target="_blank">{{d.title}}</a>
|
||||
</script>
|
||||
<script type="text/html" id="buttonTpl">
|
||||
{{# if(d.top == 1){ }}
|
||||
<button class="layui-btn layui-btn-xs">置顶</button>
|
||||
<button class="layui-btn layui-btn-xs">是</button>
|
||||
{{# } else { }}
|
||||
<button class="layui-btn layui-btn-primary layui-btn-xs">正常</button>
|
||||
<button class="layui-btn layui-btn-primary layui-btn-xs">否</button>
|
||||
{{# } }}
|
||||
</script>
|
||||
<script type="text/html" id="buttonHot">
|
||||
<script type="text/html" id="buttonHot">
|
||||
{{# if(d.hot == 1){ }}
|
||||
<button class="layui-btn layui-btn-xs">加精</button>
|
||||
<button class="layui-btn layui-btn-xs">是</button>
|
||||
{{# } else { }}
|
||||
<button class="layui-btn layui-btn-primary layui-btn-xs">正常</button>
|
||||
<button class="layui-btn layui-btn-primary layui-btn-xs">否</button>
|
||||
{{# } }}
|
||||
</script>
|
||||
<script type="text/html" id="buttonReply">
|
||||
<script type="text/html" id="buttonReply">
|
||||
{{# if(d.reply == 1){ }}
|
||||
<button class="layui-btn layui-btn-primary layui-btn-xs">正常</button>
|
||||
<button class="layui-btn layui-btn-primary layui-btn-xs">否</button>
|
||||
{{# } else { }}
|
||||
<button class="layui-btn layui-btn-xs">禁评</button>
|
||||
<button class="layui-btn layui-btn-xs">禁</button>
|
||||
{{# } }}
|
||||
</script>
|
||||
<script type="text/html" id="buttonCheck">
|
||||
<script type="text/html" id="buttonCheck">
|
||||
{if condition="checkRuleButton('admin/forum/check')"}
|
||||
<input type="checkbox" name="check" lay-skin="switch" lay-filter="forumcheck" lay-text="通过|{{# if(d.check == -1){ }}禁止{{# } }} {{# if(d.check == 0){ }}待审{{# } }}" {{# if(d.check == 1){ }} checked {{# } }} id="{{d.id}}" >
|
||||
{else /}<button class="layui-btn layui-btn-xs layui-btn-radius layui-btn-disabled">无权限</button>{/if}
|
||||
<input type="checkbox" name="check" lay-skin="switch" lay-filter="forumcheck" lay-text="通过|{{# if(d.check == -1){ }}禁止{{# } }} {{# if(d.check == 0){ }}待审{{# } }}" {{# if(d.check == 1){ }} checked {{# } }} id="{{d.id}}" >
|
||||
{else /}<button class="layui-btn layui-btn-xs layui-btn-radius layui-btn-disabled">无权限</button>{/if}
|
||||
</script>
|
||||
<script type="text/html" id="table-forum-list">
|
||||
{if condition="checkRuleButton('admin/forum/listdel')"}
|
||||
{if condition="checkRuleButton('admin/forum/listdel')"}
|
||||
<!--a class="layui-btn layui-btn-disabled layui-btn-xs" lay-event="edit" ><i class="layui-icon layui-icon-edit"></i>编辑</a-->
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i></a>
|
||||
{else /}<a class="layui-btn layui-btn-danger layui-btn-xs layui-btn-disabled"><i class="layui-icon layui-icon-delete"></i></a>{/if}
|
||||
{else /}<a class="layui-btn layui-btn-danger layui-btn-xs layui-btn-disabled"><i class="layui-icon layui-icon-delete"></i></a>{/if}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -5,11 +5,12 @@
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md8">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"><i class="layui-icon layui-icon-voice"></i><a id="up_version" lay-href="{:url('Upgrade/index')}"></a></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"><i class="layui-icon layui-icon-voice"></i><a id="up_version" lay-href="{:url('Upgrade/index')}"></a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">快捷方式</div>
|
||||
@ -74,6 +75,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">待办事项</div>
|
||||
@ -120,6 +122,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">数据概览</div>
|
||||
@ -138,55 +141,55 @@
|
||||
<div class="layui-card">
|
||||
<div class="layui-tab layui-tab-brief layadmin-latestData">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">官方动态</li>
|
||||
<li class="layui-this">官方动态</li>
|
||||
<li>发送反馈</li>
|
||||
<li>今周发帖</li>
|
||||
<li>今周评论</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content">
|
||||
|
||||
<div class="layui-tab-item layui-show">
|
||||
|
||||
<div class="layui-tab-item layui-show">
|
||||
<table id="LAY-index-topnews"></table>
|
||||
</div>
|
||||
<div class="layui-tab-item layui-form-text">
|
||||
<div class="layui-form layui-form-pane">
|
||||
<div class="layui-row layui-col-space12 layui-form-item" >
|
||||
<div class="layui-col-md5">
|
||||
<label class="layui-form-label">发送类型</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="type" lay-verify="required" lay-filter="type">
|
||||
<option value="1">问题资讯</option>
|
||||
<option value="2">提交BUG</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md7">
|
||||
<label for="L_title" class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="L_title" name="title" required lay-verify="required" autocomplete="off" class="layui-input" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<div class="layui-input-block">
|
||||
<textarea id="L_content" name="content" required lay-verify="content" autocomplete="off" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="text" name="post" lay-verify="required" autocomplete="off" class="layui-input layui-hide" value="{$insurl}">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button type="submit" class="layui-btn " lay-filter="cunsult-add" lay-submit id="cunsult-add">立即发布</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<table id="LAY-index-topreply" lay-filter="LAY-index-topreply"></table>
|
||||
<script type="text/html" id="tao-reply">
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
|
||||
</script>
|
||||
</div>
|
||||
<div class="layui-form layui-form-pane">
|
||||
<div class="layui-row layui-col-space12 layui-form-item" >
|
||||
<div class="layui-col-md5">
|
||||
<label class="layui-form-label">发送类型</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="type" lay-verify="required" lay-filter="type">
|
||||
<option value="1">问题资讯</option>
|
||||
<option value="2">提交BUG</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md7">
|
||||
<label for="L_title" class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="L_title" name="title" required lay-verify="required" autocomplete="off" class="layui-input" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<div class="layui-input-block">
|
||||
<textarea id="L_content" name="content" required lay-verify="content" autocomplete="off" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="text" name="post" lay-verify="required" autocomplete="off" class="layui-input layui-hide" value="{$insurl}">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button type="submit" class="layui-btn " lay-filter="cunsult-add" lay-submit id="cunsult-add">立即发布</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<table id="LAY-index-topreply" lay-filter="LAY-index-topreply"></table>
|
||||
<script type="text/html" id="tao-reply">
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-tab-item">
|
||||
<table id="LAY-index-topSearch"></table>
|
||||
</div>
|
||||
@ -210,7 +213,7 @@
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<tr>
|
||||
<td>当前系统</td>
|
||||
<td>
|
||||
<script type="text/html" template>
|
||||
@ -227,7 +230,7 @@
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td>核心框架</td>
|
||||
<td>
|
||||
<script type="text/html" template>
|
||||
@ -235,7 +238,7 @@
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td>PHP版本</td>
|
||||
<td>
|
||||
<script type="text/html" template>
|
||||
@ -251,7 +254,7 @@
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td>运行时间</td>
|
||||
<td>
|
||||
<script type="text/html" template>
|
||||
@ -259,7 +262,7 @@
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td>当前授权</td>
|
||||
<td>
|
||||
<script type="text/html" template>
|
||||
@ -267,7 +270,6 @@
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
@ -46,7 +46,7 @@
|
||||
<a href="javascript:;"><i class="layui-icon layui-icon-login-weibo"></i></a>
|
||||
<a href="{:url('admin/login/reg')}" class="layadmin-user-jump-change layadmin-link">注册帐号</a>
|
||||
</div-->
|
||||
{:hook('socialhook')}
|
||||
{:hook('socialhook')}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -93,8 +93,6 @@
|
||||
|
||||
form.render();
|
||||
|
||||
|
||||
|
||||
//回车登陆
|
||||
$(document).keydown(function(e){
|
||||
if(e.keyCode == 13){
|
||||
@ -107,41 +105,35 @@
|
||||
|
||||
//请求登入接口
|
||||
admin.req({
|
||||
type: "post"
|
||||
,url: '{:url('login/index')}' //实际使用请改成服务端真实接口
|
||||
type: "post"
|
||||
,url: "{:url('login/index')}" //实际使用请改成服务端真实接口
|
||||
,data: obj.field
|
||||
,success: function(res){
|
||||
if(res.code == 0){
|
||||
if(res.code == 0){
|
||||
/*
|
||||
//请求成功后,写入 access_token
|
||||
layui.data(setter.tableName, {
|
||||
key: setter.request.tokenName
|
||||
,value: res.data.access_token
|
||||
});
|
||||
//请求成功后,写入 access_token
|
||||
layui.data(setter.tableName, {
|
||||
key: setter.request.tokenName
|
||||
,value: res.data.access_token
|
||||
});
|
||||
*/
|
||||
//登入成功的提示与跳转
|
||||
layer.msg('登入成功', {
|
||||
offset: '15px'
|
||||
,icon: 1
|
||||
,time: 1000
|
||||
}, function(){
|
||||
location.href = "{:url('index/index')}"; //后台主页
|
||||
});
|
||||
} else {
|
||||
layer.open({
|
||||
title:'登陆失败',
|
||||
content:res.msg,
|
||||
icon:5,
|
||||
anim:6
|
||||
});
|
||||
layui.jquery('#LAY-user-get-vercode').attr('src', '{:captcha_src()}?'+Math.random());
|
||||
}
|
||||
//登入成功的提示与跳转
|
||||
layer.msg('登入成功', {
|
||||
offset: '15px'
|
||||
,icon: 1
|
||||
,time: 1000
|
||||
}, function(){
|
||||
location.href = "{:url('index/index')}"; //后台主页
|
||||
});
|
||||
} else {
|
||||
layer.open({title:'登陆失败', content:res.msg, icon:5, anim:6});
|
||||
layui.jquery('#LAY-user-get-vercode').attr('src', '{:captcha_src()}?'+Math.random());
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
return false;
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -18,10 +18,13 @@ use think\facade\Lang;
|
||||
*/
|
||||
class AdminController extends \app\BaseController
|
||||
{
|
||||
// 初始化
|
||||
/**
|
||||
* 初始化菜单
|
||||
*/
|
||||
protected function initialize()
|
||||
{
|
||||
//权限auth检查
|
||||
$this->aid = Session::get('admin_id');
|
||||
//$this->checkAuth();
|
||||
$this->getMenu();
|
||||
//系统配置
|
||||
@ -47,7 +50,7 @@ class AdminController extends \app\BaseController
|
||||
}
|
||||
|
||||
$menu = !empty($menu) ? array2tree($menu) : [];
|
||||
return View::assign('menu', $menu);
|
||||
View::assign('menu', $menu);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -15,7 +15,9 @@ use app\BaseController as BaseCtrl;
|
||||
*/
|
||||
class BaseController extends BaseCtrl
|
||||
{
|
||||
// 初始化
|
||||
/**
|
||||
* 初始化系统,导航,用户
|
||||
*/
|
||||
protected function initialize()
|
||||
{
|
||||
$this->uid = Session::get('user_id');
|
||||
@ -23,6 +25,7 @@ class BaseController extends BaseCtrl
|
||||
$this->showSystem();
|
||||
//显示分类导航
|
||||
$this->showNav();
|
||||
//用户
|
||||
$this->showUser($this->uid);
|
||||
|
||||
}
|
||||
|
@ -1,33 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace app\middleware;
|
||||
use think\facade\Session;
|
||||
use think\facade\Cookie;
|
||||
use think\facade\Db;
|
||||
use think\facade\Config;
|
||||
|
||||
class AdminLoginCookie
|
||||
{
|
||||
public function handle($request, \Closure $next)
|
||||
{
|
||||
//登陆前获取加密的Cookie
|
||||
$cooAuth = Cookie::get('adminAuth');
|
||||
if(!empty($cooAuth)){
|
||||
$resArr = explode(':',$cooAuth);
|
||||
$userId = end($resArr);
|
||||
//检验用户
|
||||
$user = Db::name('admin')->where('id',$userId)->find();
|
||||
if(!is_null($user)){
|
||||
//验证cookie
|
||||
$salt = Config::get('taoler.salt');
|
||||
$auth = md5($user['username'].$salt).":".$userId;
|
||||
if($auth==$cooAuth){
|
||||
Session::set('admin_name',$user['username']);
|
||||
Session::set('admin_id',$userId);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
@ -5,6 +5,9 @@ namespace app\middleware;
|
||||
|
||||
use taoser\think\Auth as UserAuth;
|
||||
use think\facade\Session;
|
||||
use think\facade\Cookie;
|
||||
use think\facade\Db;
|
||||
use think\facade\Config;
|
||||
|
||||
class Auth
|
||||
{
|
||||
@ -17,8 +20,28 @@ class Auth
|
||||
*/
|
||||
public function handle($request, \Closure $next)
|
||||
{
|
||||
//访问路径
|
||||
$path = app('http')->getName().'/'.stristr($request->pathinfo(),".html",true);
|
||||
//var_dump($path);
|
||||
//登陆前获取加密的Cookie
|
||||
$cooAuth = Cookie::get('adminAuth');
|
||||
|
||||
if(!empty($cooAuth)){
|
||||
$resArr = explode(':',$cooAuth);
|
||||
$userId = end($resArr);
|
||||
//检验用户
|
||||
$user = Db::name('admin')->where('id',$userId)->find();
|
||||
if(!empty($user)){
|
||||
//验证cookie
|
||||
$salt = Config::get('taoler.salt');
|
||||
$auth = md5($user['username'].$salt).":".$userId;
|
||||
if($auth==$cooAuth){
|
||||
Session::set('admin_name',$user['username']);
|
||||
Session::set('admin_id',$userId);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//没有登录及当前非登录页重定向登录页
|
||||
if(!Session::has('admin_id') && $path !== 'admin/login/index' && !stristr($request->pathinfo(),"captcha.html") )
|
||||
{
|
||||
@ -43,6 +66,6 @@ class Auth
|
||||
return json(['code'=>-1,'msg'=>'无权限']);
|
||||
}
|
||||
}
|
||||
return $next($request);
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
|
@ -29,8 +29,8 @@ return [
|
||||
'deny_app_list' => [],
|
||||
|
||||
// 异常页面的模板文件
|
||||
//'exception_tmpl' => app()->getThinkPath() . 'tpl/think_exception.tpl',
|
||||
'exception_tmpl' => app()->getAppPath() . '404.html',
|
||||
'exception_tmpl' => app()->getThinkPath() . 'tpl/think_exception.tpl',
|
||||
//'exception_tmpl' => app()->getAppPath() . '404.html',
|
||||
|
||||
// 错误显示信息,非调试模式有效
|
||||
'error_message' => '页面错误!请稍后再试~',
|
||||
|
@ -16,13 +16,13 @@ return [
|
||||
// 数据库类型
|
||||
'type' => 'mysql',
|
||||
// 服务器地址
|
||||
'hostname' => '',
|
||||
'hostname' => '127.0.0.1',
|
||||
// 数据库名
|
||||
'database' => '',
|
||||
'database' => 'taoler',
|
||||
// 用户名
|
||||
'username' => '',
|
||||
'username' => 'taoler',
|
||||
// 密码
|
||||
'password' => '',
|
||||
'password' => 'taoler2022',
|
||||
// 端口
|
||||
'hostport' => '3306',
|
||||
// 数据库连接参数
|
||||
@ -30,7 +30,7 @@ return [
|
||||
// 数据库编码默认采用utf8
|
||||
'charset' => 'utf8',
|
||||
// 数据库表前缀
|
||||
'prefix' => '',
|
||||
'prefix' => 'tao_',
|
||||
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
|
||||
'deploy' => 0,
|
||||
// 数据库读写是否分离 主从式有效
|
||||
|
@ -1,219 +1,264 @@
|
||||
//网站app版本发布
|
||||
|
||||
layui.define(['table', 'form','upload'], function(exports){
|
||||
var $ = layui.jquery
|
||||
,table = layui.table
|
||||
,form = layui.form
|
||||
,upload = layui.upload;
|
||||
layui.define(["table", "form", "upload"], function (exports) {
|
||||
var $ = layui.jquery,
|
||||
table = layui.table,
|
||||
form = layui.form,
|
||||
upload = layui.upload;
|
||||
|
||||
function addList(type)
|
||||
{
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: addonsList ,
|
||||
data: {type:type},
|
||||
dataType: 'json',
|
||||
success: function (res) {
|
||||
//渲染表格
|
||||
table.render({
|
||||
elem: '#addons-list',
|
||||
toolbar: '#toolbar',
|
||||
defaultToolbar: [],
|
||||
url: addonsList + '?type='+ type,
|
||||
cols: [
|
||||
res['col']
|
||||
]
|
||||
, page: true
|
||||
, limit: 10
|
||||
, height: 'full-220'
|
||||
, text: '对不起,加载出现异常!'
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
addList('installed');
|
||||
|
||||
//头工具栏事件
|
||||
table.on('toolbar(addons-list)', function(obj){
|
||||
var checkStatus = table.checkStatus(obj.config.id);
|
||||
switch(obj.event){
|
||||
case 'installed':
|
||||
addList("installed");
|
||||
break;
|
||||
case 'onlineAddons':
|
||||
addList("onlineAddons");
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(addons-list)', function(obj){
|
||||
var data = obj.data;
|
||||
|
||||
if(obj.event === 'del'){
|
||||
layer.prompt({
|
||||
formType: 1
|
||||
,title: '敏感操作,请验证口令'
|
||||
}, function(value, index){
|
||||
layer.close(index);
|
||||
layer.confirm('真的删除行么', function(index){
|
||||
$.post(addonsDelete,{name:data.name},function (res) {
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg,{icon:6,time:2000});
|
||||
} else {
|
||||
layer.open({tiele:'修改失败',content:res.msg,icon:5,anim:6});
|
||||
}
|
||||
});
|
||||
|
||||
table.reload('addons-list');
|
||||
layer.close(index);
|
||||
function addList(type) {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: addonsList,
|
||||
data: { type: type },
|
||||
dataType: "json",
|
||||
success: function (res) {
|
||||
//渲染表格
|
||||
table.render({
|
||||
elem: "#addons-list",
|
||||
toolbar: "#toolbar",
|
||||
defaultToolbar: [],
|
||||
url: addonsList + "?type=" + type,
|
||||
cols: [res["col"]],
|
||||
page: true,
|
||||
limit: 10,
|
||||
height: "full-220",
|
||||
text: "对不起,加载出现异常!",
|
||||
});
|
||||
});
|
||||
} else if(obj.event === 'edit'){
|
||||
var tr = $(obj.tr);
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '编辑插件'
|
||||
,content: addonsEdit + '?id='+ data.id
|
||||
,maxmin: true
|
||||
,area: ['400px', '620px']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'LAY-addons-submit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field; //获取提交的字段
|
||||
|
||||
//提交 Ajax 成功后,静态更新表格中的数据
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:addonsEdit,
|
||||
data:field,
|
||||
daType:"json",
|
||||
success:function (res){
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg,{icon:6,time:2000});
|
||||
} else {
|
||||
layer.open({tiele:'修改失败',content:res.msg,icon:5,anim:6});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
table.reload('addons-list'); //数据刷新
|
||||
layer.close(index); //关闭弹层
|
||||
});
|
||||
|
||||
submit.trigger('click');
|
||||
}
|
||||
,success: function(layero, index){
|
||||
|
||||
}
|
||||
});
|
||||
} else if (obj.event === 'start'){
|
||||
//提交 Ajax 成功后,静态更新表格中的数据
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:addonsStart,
|
||||
data:{name:data.name},
|
||||
daType:"json",
|
||||
success:function (res){
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg,{icon:6,time:2000});
|
||||
} else {
|
||||
layer.open({tiele:'修改失败',content:res.msg,icon:5,anim:6});
|
||||
}
|
||||
}
|
||||
});
|
||||
} else if(obj.event === 'shutdown'){
|
||||
//提交 Ajax 成功后,静态更新表格中的数据
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:addonsShut,
|
||||
data:{name:data.name},
|
||||
daType:"json",
|
||||
success:function (res){
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg,{icon:6,time:2000});
|
||||
} else {
|
||||
layer.open({tiele:'修改失败',content:res.msg,icon:5,anim:6});
|
||||
}
|
||||
}
|
||||
});
|
||||
} else if(obj.event === 'install'){
|
||||
//安装插件
|
||||
$.post(addonsInstall,{name:data.name,version:data.version},function (res) {
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg,{icon:6,time:2000});
|
||||
} else {
|
||||
layer.open({tiele:'修改失败',content:res.msg,icon:5,anim:6});
|
||||
}
|
||||
});
|
||||
} else if(obj.event === 'config'){
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '配置插件'
|
||||
,content: addonsConfig + '?name='+ data.name
|
||||
,maxmin: true
|
||||
,area: ['780px', '90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'LAY-addons-config-submit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field; //获取提交的字段
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:addonsConfig,
|
||||
data:field,
|
||||
daType:"json",
|
||||
success:function (res){
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg,{icon:6,time:2000});
|
||||
} else {
|
||||
layer.open({tiele:'修改失败',content:res.msg,icon:5,anim:6});
|
||||
}
|
||||
}
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
,success: function(layero, index){
|
||||
var forms = layero.find('iframe').contents().find('.layui-form');
|
||||
var button = forms.find('button');
|
||||
//事件委托
|
||||
forms.on('click','button',function (data) {
|
||||
var even = this.getAttribute('lay-event');
|
||||
var names = this.dataset.name;
|
||||
if(even == 'addInput'){
|
||||
var html = '<div class="layui-form-item"><label class="layui-form-label"></label><div class="layui-input-inline">\n' +
|
||||
' <input type="text" name="'+ names +'[key][]" value="" placeholder="key" autocomplete="off" class="layui-input input-double-width">\n' +
|
||||
' </div><div class="layui-input-inline">\n' +
|
||||
' <input type="text" name="'+ names +'[value][]" value="" placeholder="value" autocomplete="off" class="layui-input input-double-width">\n' +
|
||||
' </div>\n' +
|
||||
' <button data-name="'+ names +'" type="button" class="layui-btn layui-btn-danger layui-btn-sm removeInupt" lay-event="removeInupt">\n' +
|
||||
' <i class="layui-icon"></i>\n' +
|
||||
' </button>\n' +
|
||||
' </div>';
|
||||
addList("onlineAddons");
|
||||
|
||||
$(this).parent().parent().append(html);
|
||||
} else {
|
||||
$(this).parent().remove();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
table.reload('addons-list'); //数据刷新
|
||||
//头工具栏事件
|
||||
table.on("toolbar(addons-list)", function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id);
|
||||
switch (obj.event) {
|
||||
case "installed":
|
||||
addList("installed");
|
||||
break;
|
||||
case "onlineAddons":
|
||||
addList("onlineAddons");
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
exports('addons', {})
|
||||
});
|
||||
//监听工具条
|
||||
table.on("tool(addons-list)", function (obj) {
|
||||
var data = obj.data;
|
||||
|
||||
if (obj.event === "del") {
|
||||
layer.prompt(
|
||||
{
|
||||
formType: 1,
|
||||
title: "敏感操作,请验证口令",
|
||||
},
|
||||
function (value, index) {
|
||||
layer.close(index);
|
||||
layer.confirm("真的删除行么", function (index) {
|
||||
$.post(addonsDelete, { name: data.name }, function (res) {
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg, { icon: 6, time: 2000 });
|
||||
} else {
|
||||
layer.open({
|
||||
tiele: "修改失败",
|
||||
content: res.msg,
|
||||
icon: 5,
|
||||
anim: 6,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
table.reload("addons-list");
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
);
|
||||
} else if (obj.event === "edit") {
|
||||
var tr = $(obj.tr);
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: "编辑插件",
|
||||
content: addonsEdit + "?id=" + data.id,
|
||||
maxmin: true,
|
||||
area: ["400px", "620px"],
|
||||
btn: ["确定", "取消"],
|
||||
yes: function (index, layero) {
|
||||
var iframeWindow = window["layui-layer-iframe" + index],
|
||||
submitID = "LAY-addons-submit",
|
||||
submit = layero
|
||||
.find("iframe")
|
||||
.contents()
|
||||
.find("#" + submitID);
|
||||
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on(
|
||||
"submit(" + submitID + ")",
|
||||
function (data) {
|
||||
var field = data.field; //获取提交的字段
|
||||
|
||||
//提交 Ajax 成功后,静态更新表格中的数据
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: addonsEdit,
|
||||
data: field,
|
||||
daType: "json",
|
||||
success: function (res) {
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg, { icon: 6, time: 2000 });
|
||||
} else {
|
||||
layer.open({
|
||||
tiele: "修改失败",
|
||||
content: res.msg,
|
||||
icon: 5,
|
||||
anim: 6,
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
table.reload("addons-list"); //数据刷新
|
||||
layer.close(index); //关闭弹层
|
||||
}
|
||||
);
|
||||
|
||||
submit.trigger("click");
|
||||
},
|
||||
success: function (layero, index) {},
|
||||
});
|
||||
} else if (obj.event === "start") {
|
||||
//提交 Ajax 成功后,静态更新表格中的数据
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: addonsStart,
|
||||
data: { name: data.name },
|
||||
daType: "json",
|
||||
success: function (res) {
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg, { icon: 6, time: 2000 });
|
||||
} else {
|
||||
layer.open({
|
||||
tiele: "修改失败",
|
||||
content: res.msg,
|
||||
icon: 5,
|
||||
anim: 6,
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
} else if (obj.event === "shutdown") {
|
||||
//提交 Ajax 成功后,静态更新表格中的数据
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: addonsShut,
|
||||
data: { name: data.name },
|
||||
daType: "json",
|
||||
success: function (res) {
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg, { icon: 6, time: 2000 });
|
||||
} else {
|
||||
layer.open({
|
||||
tiele: "修改失败",
|
||||
content: res.msg,
|
||||
icon: 5,
|
||||
anim: 6,
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
} else if (obj.event === "install") {
|
||||
//安装插件
|
||||
$.post(
|
||||
addonsInstall,
|
||||
{ name: data.name, version: data.version },
|
||||
function (res) {
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg, { icon: 6, time: 2000 });
|
||||
} else {
|
||||
layer.open({
|
||||
tiele: "修改失败",
|
||||
content: res.msg,
|
||||
icon: 5,
|
||||
anim: 6,
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
} else if (obj.event === "config") {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: "配置插件",
|
||||
content: addonsConfig + "?name=" + data.name,
|
||||
maxmin: true,
|
||||
area: ["780px", "90%"],
|
||||
btn: ["确定", "取消"],
|
||||
yes: function (index, layero) {
|
||||
var iframeWindow = window["layui-layer-iframe" + index],
|
||||
submitID = "LAY-addons-config-submit",
|
||||
submit = layero
|
||||
.find("iframe")
|
||||
.contents()
|
||||
.find("#" + submitID);
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on(
|
||||
"submit(" + submitID + ")",
|
||||
function (data) {
|
||||
var field = data.field; //获取提交的字段
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: addonsConfig,
|
||||
data: field,
|
||||
daType: "json",
|
||||
success: function (res) {
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg, { icon: 6, time: 2000 });
|
||||
} else {
|
||||
layer.open({
|
||||
tiele: "修改失败",
|
||||
content: res.msg,
|
||||
icon: 5,
|
||||
anim: 6,
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
}
|
||||
);
|
||||
submit.trigger("click");
|
||||
},
|
||||
success: function (layero, index) {
|
||||
var forms = layero.find("iframe").contents().find(".layui-form");
|
||||
var button = forms.find("button");
|
||||
//事件委托
|
||||
forms.on("click", "button", function (data) {
|
||||
var even = this.getAttribute("lay-event");
|
||||
var names = this.dataset.name;
|
||||
if (even == "addInput") {
|
||||
var html = '<div class="layui-form-item">\n' +
|
||||
'<label class="layui-form-label"></label>\n' +
|
||||
'<div class="layui-input-inline">\n' +
|
||||
' <input type="text" name="'+ names +'[key][]" value="" placeholder="key" autocomplete="off" class="layui-input input-double-width">\n' +
|
||||
'</div>\n' +
|
||||
'<div class="layui-input-inline">\n' +
|
||||
' <input type="text" name="'+ names +'[value][]" value="" placeholder="value" autocomplete="off" class="layui-input input-double-width">\n' +
|
||||
'</div>\n' +
|
||||
'<button data-name="'+ names +'" type="button" class="layui-btn layui-btn-danger layui-btn-sm removeInupt" lay-event="removeInupt">\n' +
|
||||
' <i class="layui-icon"></i>\n' +
|
||||
'</button>\n' +
|
||||
'</div>';
|
||||
|
||||
$(this).parent().parent().append(html);
|
||||
} else {
|
||||
$(this).parent().remove();
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}
|
||||
table.reload("addons-list"); //数据刷新
|
||||
});
|
||||
|
||||
exports("addons", {});
|
||||
});
|
||||
|
@ -1,12 +1,3 @@
|
||||
/**
|
||||
|
||||
@Name:layuiAdmin 社区系统
|
||||
@Author:star1029
|
||||
@Site:http://www.layui.com/admin/
|
||||
@License:LPPL
|
||||
|
||||
*/
|
||||
|
||||
|
||||
layui.define(['table', 'form'], function(exports){
|
||||
var $ = layui.$
|
||||
@ -23,12 +14,12 @@ layui.define(['table', 'form'], function(exports){
|
||||
,{field: 'poster', title: '贴主',width: 100}
|
||||
,{field: 'avatar', title: '头像', width: 80, templet: '#imgTpl'}
|
||||
,{field: 'title', title: '标题', mWidth: 200,templet: '#title'}
|
||||
,{field: 'content', title: '内容', mWidth: 200}
|
||||
,{field: 'content', title: '内容', mWidth: 200}
|
||||
,{field: 'posttime', title: '时间',width: 120, sort: true}
|
||||
,{field: 'top', title: '置顶', templet: '#buttonTpl', width: 80, align: 'center'}
|
||||
,{field: 'hot', title: '精贴', templet: '#buttonHot', width: 80, align: 'center'}
|
||||
,{field: 'reply', title: '评论状态', templet: '#buttonReply', width: 80, align: 'center'}
|
||||
,{field: 'check', title: '审帖', templet: '#buttonCheck', width: 100, align: 'center'}
|
||||
,{field: 'hot', title: '加精', templet: '#buttonHot', width: 80, align: 'center'}
|
||||
,{field: 'reply', title: '禁评', templet: '#buttonReply', width: 80, align: 'center'}
|
||||
,{field: 'check', title: '审帖', templet: '#buttonCheck', width: 100, align: 'center'}
|
||||
,{title: '操作', width: 60, align: 'center', toolbar: '#table-forum-list'}
|
||||
]]
|
||||
,page: true
|
||||
@ -92,31 +83,30 @@ layui.define(['table', 'form'], function(exports){
|
||||
|
||||
//提交 Ajax 成功后,静态更新表格中的数据
|
||||
//$.ajax({});
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"/admin/Forum/listform",
|
||||
data:{"id":data.id,"poster":name,"sort":sort,"ename":ename},
|
||||
daType:"json",
|
||||
success:function (data){
|
||||
if (data.code == 0) {
|
||||
layer.msg(data.msg,{
|
||||
icon:6,
|
||||
time:2000
|
||||
}, function(){
|
||||
location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.open({
|
||||
tiele:'修改失败',
|
||||
content:data.msg,
|
||||
icon:5,
|
||||
anim:6
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"/admin/Forum/listform",
|
||||
data:{"id":data.id,"poster":name,"sort":sort,"ename":ename},
|
||||
daType:"json",
|
||||
success:function (data){
|
||||
if (data.code == 0) {
|
||||
layer.msg(data.msg,{
|
||||
icon:6,
|
||||
time:2000
|
||||
}, function(){
|
||||
location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.open({
|
||||
tiele:'修改失败',
|
||||
content:data.msg,
|
||||
icon:5,
|
||||
anim:6
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
table.reload('LAY-app-forum-list'); //数据刷新
|
||||
layer.close(index); //关闭弹层
|
||||
});
|
||||
@ -143,7 +133,7 @@ layui.define(['table', 'form'], function(exports){
|
||||
,{field: 'content', title: '评论', minWidth: 200}
|
||||
,{field: 'replytime', title: '回复时间', width: 120, sort: true}
|
||||
,{field: 'check', title: '审核', templet: '#buttonCheck', width: 100}
|
||||
,{title: '操作', width: 85, align: 'center', toolbar: '#table-forum-replys'}
|
||||
,{title: '操作', width: 60, align: 'center', toolbar: '#table-forum-replys'}
|
||||
]]
|
||||
,page: true
|
||||
,limit: 15
|
||||
@ -216,16 +206,15 @@ layui.define(['table', 'form'], function(exports){
|
||||
elem: '#LAY-app-content-tags'
|
||||
,url: forumTags //帖子分类接口
|
||||
,cols: [[
|
||||
{type: 'numbers', fixed: 'left'}
|
||||
,{field: 'sort', title: '排序', width: 80, sort: true}
|
||||
,{field: 'id', title: 'ID',width: 60}
|
||||
,{field: 'tags', title: '分类名', minWidth: 100}
|
||||
,{field: 'ename', title: 'EN别名', minWidth: 100}
|
||||
,{field: 'detpl',title: '模板', align: 'center',width: 100,templet: '#inputSel'}
|
||||
,{title: '图标', align: 'center',width: 50,templet: '<p><i class="layui-icon {{d.icon}}"></i></p>'}
|
||||
,{field: 'is_hot', title: '热门', align: 'center',width: 50, templet: '#buttonHot'}
|
||||
,{field: 'desc', title: '描述', minWidth: 100}
|
||||
,{title: '操作', width: 100, align: 'center', toolbar: '#layuiadmin-app-cont-tagsbar'}
|
||||
{field: 'sort', title: '排序', width: 80, sort: true}
|
||||
,{field: 'id', title: 'ID',width: 60}
|
||||
,{field: 'tags', title: '分类名', width: 100}
|
||||
,{field: 'ename', title: 'EN别名', width: 100}
|
||||
,{field: 'detpl',title: '模板', align: 'center',width: 100,templet: '#inputSel'}
|
||||
,{title: '图标', align: 'center',width: 50,templet: '<p><i class="layui-icon {{d.icon}}"></i></p>'}
|
||||
,{field: 'is_hot', title: '热门', align: 'center',width: 50, templet: '#buttonHot'}
|
||||
,{field: 'desc', title: '描述', minWidth: 200}
|
||||
,{title: '操作', width: 100, align: 'center', toolbar: '#layuiadmin-app-cont-tagsbar'}
|
||||
]]
|
||||
,text: '对不起,加载出现异常!'
|
||||
});
|
||||
|
@ -32,7 +32,7 @@
|
||||
{/if}
|
||||
<div class="que-body">
|
||||
<h2>
|
||||
<a href="{:url('article/detail',['id' => $art.id])}" style="color:{$art.title_color};">{$art.title}</a>
|
||||
<a href="{:url('article/detail',['id' => $art.id])}" style="color:'{$art.title_color}';">{$art.title}</a>
|
||||
</h2>
|
||||
<div class="que-user-info">
|
||||
<a href="{:url('user/home',['id'=>$art.user.id])}" class="que-avatar">
|
||||
@ -77,7 +77,7 @@
|
||||
</div>
|
||||
<div class="fly-panel-main">
|
||||
{volist name="ad_comm" id="vo"}
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: {$vo.slid_color};">{$vo.slid_name}</a>
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: '{$vo.slid_color};'">{$vo.slid_name}</a>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -12,7 +12,7 @@
|
||||
<div class="fly-panel detail-box">
|
||||
{//标题}
|
||||
<div class="title layui-clear">
|
||||
<h1 style="color:{$article.title_color};">{$article.title}</h1>
|
||||
<h1 style="color:'{$article.title_color}';">{$article.title}</h1>
|
||||
{if ($article.jie == 0)}
|
||||
<span class="layui-btn layui-btn-xs" style="background-color: #FF5722;">{:lang('no finished')}</span>
|
||||
{else /}
|
||||
@ -149,7 +149,7 @@
|
||||
</div>
|
||||
<div class="fly-panel-main">
|
||||
{volist name="ad_comm" id="vo"}
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: {$vo.slid_color};">{$vo.slid_name}</a>
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: '{$vo.slid_color}';">{$vo.slid_name}</a>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
@ -180,6 +180,7 @@
|
||||
|
||||
<script>
|
||||
var collectionFind = "{:url('Collection/find')}",
|
||||
collection = "{:url('collection/')}",
|
||||
articleJieset = "{:url('Article/jieset')}",
|
||||
articleDelete = "{:url('Article/delete')}",
|
||||
commentJiedaZan = "{:url('Comment/jiedaZan')}",
|
||||
@ -187,9 +188,8 @@ var collectionFind = "{:url('Collection/find')}",
|
||||
commentGetDa = "{:url('Comment/getDa')}",
|
||||
commentUpdateDa = "{:url('Comment/updateDa')}",
|
||||
commentJiedaDelete = "{:url('Comment/jiedaDelete')}",
|
||||
langCollection = "{:lang('collection')}",
|
||||
langCancelCollection = "{:lang('cancel collection')}";
|
||||
var collection = "{:url('collection/')}";
|
||||
langCollection = "{:lang('collection')}",
|
||||
langCancelCollection = "{:lang('cancel collection')}";
|
||||
|
||||
layui.use(['fly', 'face','colorpicker','plyr'], function(){
|
||||
var $ = layui.jquery
|
||||
@ -235,7 +235,7 @@ layui.use(['fly', 'face','colorpicker','plyr'], function(){
|
||||
,done: function(color){
|
||||
//改变标题颜色
|
||||
$('h1').css("color", color);
|
||||
var id = {$article.id};
|
||||
var id = "{$article.id}";
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:"{:url('Article/titleColor')}",
|
||||
@ -253,46 +253,46 @@ layui.use(['fly', 'face','colorpicker','plyr'], function(){
|
||||
}
|
||||
});
|
||||
|
||||
//评论需要登陆
|
||||
form.on('submit(user-comment)',function (data){
|
||||
//评论需要登陆
|
||||
form.on('submit(user-comment)',function (data){
|
||||
var index = layer.load(1);
|
||||
var filed = data.field;
|
||||
if (uid == -1) {
|
||||
if (uid == -1) {
|
||||
layer.msg('请先登陆',{icon:5,time:2000},function(){
|
||||
location.href = "{:url('login/index')}";
|
||||
});
|
||||
} else {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "{:url('article/comment')}",
|
||||
data: filed,
|
||||
dataType: "json",
|
||||
success:function (data) {
|
||||
if (data.code == 0) {
|
||||
layer.msg(data.msg,{icon:6,time:2000},function () {
|
||||
location.reload(true);
|
||||
});
|
||||
} else {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "{:url('article/comment')}",
|
||||
data: filed,
|
||||
dataType: "json",
|
||||
success:function (data) {
|
||||
if (data.code == 0) {
|
||||
layer.msg(data.msg,{icon:6,time:2000},function () {
|
||||
location.reload(true);
|
||||
});
|
||||
}else {
|
||||
layer.open({title:'评论失败',content:data.msg,icon:5,anim:6});
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.open({title:'评论失败',content:data.msg,icon:5,anim:6});
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
//下载
|
||||
$('#zip-download').click(function (){
|
||||
$('#zip-download').click(function (){
|
||||
var id = "{$article.id}";
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('article/download')}",
|
||||
data:{id:id},
|
||||
success:function (data) {
|
||||
location.href = "{:url('article/download',['id'=>$article.id])}";
|
||||
}
|
||||
});
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('article/download')}",
|
||||
data:{id:id},
|
||||
success:function (data) {
|
||||
location.href = "{:url('article/download',['id'=>$article.id])}";
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//如果你是采用模版自带的编辑器,你需要开启以下语句来解析。
|
||||
$('.detail-body-wenda').each(function(){
|
||||
|
@ -15,17 +15,16 @@
|
||||
<div class="layui-form layui-tab-content" id="LAY_ucm" style="padding: 20px 0;">
|
||||
<div class="layui-tab-item layui-show">
|
||||
|
||||
<input type="hidden" name="id" value="{$article.id}">
|
||||
<input type="hidden" name="id" value="{$article.id}">
|
||||
<div class="layui-row layui-col-space15 layui-form-item">
|
||||
<div class="layui-col-md3">
|
||||
<label class="layui-form-label">{:lang('special column')}</label>
|
||||
<div class="layui-input-block">
|
||||
<select lay-verify="required" name="cate_id" lay-filter="column">
|
||||
<option></option>
|
||||
|
||||
{volist name="cateList" id="cate"}
|
||||
{volist name="cateList" id="cate"}
|
||||
<option value="{$cate.id}" {if $article.cate_id == $cate.id}selected{/if}>{:cookie('think_lang') == 'en-us' ? $cate.ename : $cate.catename}</option>
|
||||
{/volist}
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@ -34,15 +33,15 @@
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="L_title" name="title" required lay-verify="required" autocomplete="off" class="layui-input" value="{$article.title}">
|
||||
<input type="hidden" id="L_title_color" name="title_color" autocomplete="off" class="layui-input" value="{$article.title_color}">
|
||||
<input type="hidden" name="user_id" value="{$article.user_id}">
|
||||
<input type="hidden" name="user_id" value="{$article.user_id}">
|
||||
</div>
|
||||
</div>
|
||||
{if ($user.auth == 1)}
|
||||
<div class="layui-col-md1">
|
||||
<div id="color"></div>
|
||||
<div id="test9" style="margin-left: 30px;"></div>
|
||||
</div>
|
||||
{/if}
|
||||
{if ($user.auth == 1)}
|
||||
<div class="layui-col-md1">
|
||||
<div id="color"></div>
|
||||
<div id="test9" style="margin-left: 30px;"></div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="layui-row layui-col-space15 layui-form-item layui-hide" id="LAY_quiz">
|
||||
<div class="layui-col-md3">
|
||||
@ -91,7 +90,7 @@
|
||||
<div class="layui-form-mid layui-word-aux">发表后无法更改飞吻</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">{:lang('enclosure')}</label>
|
||||
<div class="layui-input-inline" style="width: 190px;">
|
||||
@ -101,7 +100,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">{:lang('add tags')}</label>
|
||||
<div class="layui-input-inline" style="width: 190px;">
|
||||
@ -110,12 +109,12 @@
|
||||
<button type="button" class="layui-btn" id="article-tags-button">{:lang('add')}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-btn-container">
|
||||
{volist name="tags" id="vo" }
|
||||
<button type="button" class="layui-btn" value="{$vo}">{$vo}</button>
|
||||
{/volist}
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-btn-container">
|
||||
{volist name="tags" id="vo" }
|
||||
<button type="button" class="layui-btn" value="{$vo}">{$vo}</button>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_vercode" class="layui-form-label">{:lang('captcha')}</label>
|
||||
@ -167,7 +166,7 @@
|
||||
//指定允许上传的文件类型
|
||||
upload.render({
|
||||
elem: '#zip-button'
|
||||
,url: '{:url('article/uploads')}' //改成您自己的上传接口
|
||||
,url: "{:url('article/uploads')}" //改成您自己的上传接口
|
||||
,accept: 'file' //普通文件
|
||||
,done: function(res){
|
||||
if(res.status == 0){
|
||||
|
@ -17,7 +17,7 @@
|
||||
</a>
|
||||
<h2>
|
||||
{if config('taoler.config.cate_show') == 1}<a class="layui-badge">{:cookie('think_lang') == 'en-us' ? $art.cate.ename : $art.cate.catename}</a>{/if}
|
||||
<a href="{:url('article/detail',['id' => $art.id])}" style="color:{$art.title_color};">{$art.title}</a>
|
||||
<a href="{:url('article/detail',['id' => $art.id])}" style="color:'{$art.title_color}';">{$art.title}</a>
|
||||
</h2>
|
||||
<div class="fly-list-info">
|
||||
<a href="{:url('user/home',['id'=>$art.user.id])}" link>
|
||||
@ -69,7 +69,7 @@
|
||||
</div>
|
||||
<div class="fly-panel-main">
|
||||
{volist name="ad_comm" id="vo"}
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: {$vo.slid_color};">{$vo.slid_name}</a>
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: '{$vo.slid_color}';">{$vo.slid_name}</a>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -11,7 +11,7 @@
|
||||
<div class="layui-col-md9 content detail">
|
||||
<div class="fly-panel detail-box">
|
||||
{//标题}
|
||||
<h1 style="color:{$article.title_color};">{$article.title}</h1>
|
||||
<h1 style="color:'{$article.title_color}';">{$article.title}</h1>
|
||||
<div class="detail_qrcode layui-hide-xs" onclick="PhoneDown();" id="mobile"></div>
|
||||
{//图标}
|
||||
<div class="fly-detail-info">
|
||||
@ -139,7 +139,7 @@
|
||||
</div>
|
||||
<div class="fly-panel-main">
|
||||
{volist name="ad_comm" id="vo"}
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: {$vo.slid_color};">{$vo.slid_name}</a>
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: '{$vo.slid_color}';">{$vo.slid_name}</a>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
@ -169,6 +169,7 @@
|
||||
{block name="script"}
|
||||
<script>
|
||||
var collectionFind = "{:url('Collection/find')}",
|
||||
collection = "{:url('collection/')}",
|
||||
articleJieset = "{:url('Article/jieset')}",
|
||||
articleDelete = "{:url('Article/delete')}",
|
||||
commentJiedaZan = "{:url('Comment/jiedaZan')}",
|
||||
@ -178,7 +179,6 @@ var collectionFind = "{:url('Collection/find')}",
|
||||
commentJiedaDelete = "{:url('Comment/jiedaDelete')}",
|
||||
langCollection = "{:lang('collection')}",
|
||||
langCancelCollection = "{:lang('cancel collection')}";
|
||||
var collection = "{:url('collection/')}";
|
||||
|
||||
layui.use(['fly', 'face','colorpicker','plyr'], function(){
|
||||
var $ = layui.jquery
|
||||
@ -212,7 +212,7 @@ layui.use(['fly', 'face','colorpicker','plyr'], function(){
|
||||
,done: function(color){
|
||||
//改变标题颜色
|
||||
$('h1').css("color", color);
|
||||
var id = {$article.id};
|
||||
var id = "{$article.id}";
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:"{:url('Article/titleColor')}",
|
||||
@ -230,45 +230,45 @@ layui.use(['fly', 'face','colorpicker','plyr'], function(){
|
||||
}
|
||||
});
|
||||
|
||||
//评论需要登陆
|
||||
form.on('submit(user-comment)',function (data){
|
||||
//评论需要登陆
|
||||
form.on('submit(user-comment)',function (data){
|
||||
var index = layer.load(1);
|
||||
var filed = data.field;
|
||||
if (uid == -1) {
|
||||
if (uid == -1) {
|
||||
layer.msg('请先登陆',{icon:5,time:2000},function(){
|
||||
location.href = "{:url('login/index')}";
|
||||
});
|
||||
} else {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "{:url('article/comment')}",
|
||||
data: filed,
|
||||
dataType: "json",
|
||||
success:function (data) {
|
||||
if (data.code == 0) {
|
||||
layer.msg(data.msg,{icon:6,time:2000},function () {
|
||||
location.reload(true);
|
||||
});
|
||||
}else {
|
||||
layer.open({title:'评论失败',content:data.msg,icon:5,anim:6});
|
||||
}
|
||||
}
|
||||
});
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "{:url('article/comment')}",
|
||||
data: filed,
|
||||
dataType: "json",
|
||||
success:function (data) {
|
||||
if (data.code == 0) {
|
||||
layer.msg(data.msg,{icon:6,time:2000},function () {
|
||||
location.reload(true);
|
||||
});
|
||||
}else {
|
||||
layer.open({title:'评论失败',content:data.msg,icon:5,anim:6});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
//下载
|
||||
$('#zip-download').click(function (){
|
||||
var id = "{$article.id}";
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('article/download')}",
|
||||
data:{id:id},
|
||||
success:function (data) {
|
||||
location.href = "{:url('article/download',['id'=>$article.id])}";
|
||||
}
|
||||
});
|
||||
var id = "{$article.id}";
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('article/download')}",
|
||||
data:{id:id},
|
||||
success:function (data) {
|
||||
location.href = "{:url('article/download',['id'=>$article.id])}";
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//如果你是采用模版自带的编辑器,你需要开启以下语句来解析。
|
||||
@ -285,18 +285,18 @@ layui.use(['fly', 'face','colorpicker','plyr'], function(){
|
||||
{:hook('markdownhook')}
|
||||
|
||||
<script>
|
||||
//扫码阅读
|
||||
$("#rdown").hover(function(){
|
||||
$("#phonedl").show().stop();
|
||||
},function(){
|
||||
$("#phonedl").hide().stop();
|
||||
});
|
||||
|
||||
$("#phonedl").hover(function(){
|
||||
$("#phonedl").show().stop();
|
||||
},function(){
|
||||
$("#phonedl").hide().stop();
|
||||
});
|
||||
//扫码阅读
|
||||
$("#rdown").hover(function(){
|
||||
$("#phonedl").show().stop();
|
||||
},function(){
|
||||
$("#phonedl").hide().stop();
|
||||
});
|
||||
|
||||
$("#phonedl").hover(function(){
|
||||
$("#phonedl").show().stop();
|
||||
},function(){
|
||||
$("#phonedl").hide().stop();
|
||||
});
|
||||
|
||||
function PhoneDown(){
|
||||
layer.open({
|
||||
@ -305,19 +305,19 @@ $("#rdown").hover(function(){
|
||||
content: "<img src='/qrcode/?text={$Request.domain}{:url('article/detail',['id' => $article.id])}&size=230'>"
|
||||
});
|
||||
}
|
||||
//推送百度收录服务
|
||||
(function(){
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
//推送百度收录服务
|
||||
(function(){
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
</script>
|
||||
|
||||
{/block}
|
@ -75,7 +75,7 @@
|
||||
</div>
|
||||
<div class="fly-panel-main" style="padding: 13px 15px;">
|
||||
{volist name="ad_index" id="vo"}
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: {$vo.slid_color};">{$vo.slid_name}</a>
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: '{$vo.slid_color}';">{$vo.slid_name}</a>
|
||||
{/volist}
|
||||
<!--a href="/" target="_blank" rel="nofollow" class="fly-zanzhu fly-zanzhu-img" ><img src="//11886.png" alt="topjui"></a-->
|
||||
</div>
|
||||
@ -135,6 +135,7 @@
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
{/block}
|
@ -56,7 +56,7 @@
|
||||
</div>
|
||||
<div class="fly-panel-main" style="padding: 13px 15px;">
|
||||
{volist name="ad_index" id="vo"}
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: {$vo.slid_color};">{$vo.slid_name}</a>
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color: '{$vo.slid_color}';">{$vo.slid_name}</a>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
@ -104,9 +104,9 @@ var signJsonUrl = "{:url('sign/signJson')}";
|
||||
|
||||
$('#friend-link').on('click', function(){
|
||||
layer.open({
|
||||
title: '申请友链',
|
||||
content: '发送邮件至:{$adminEmail} ',
|
||||
yes: function(index, layero){
|
||||
title: '申请友链',
|
||||
content: '发送邮件至:{$adminEmail} ',
|
||||
yes: function(index, layero){
|
||||
layer.close(index);
|
||||
}
|
||||
});
|
||||
|
@ -12,7 +12,7 @@
|
||||
<a href="" class="layui-this">“{$keywords}” 共{$counts}条结果</a>
|
||||
</div>
|
||||
<ul class="fly-list">
|
||||
{volist name="artList" id="art"}
|
||||
{volist name="artList" id="art"}
|
||||
<li>
|
||||
<a href="{:url('user/home',['id'=>$art.user_id])}" class="fly-avatar">
|
||||
<img src="{$art.user.user_img}" alt="{$art.user_id|getUserName}"><i class="iconfont icon-renzheng" title="认证信息"></i>
|
||||
@ -35,7 +35,7 @@
|
||||
{if ($art.is_hot == 1)} <span class="layui-badge layui-bg-red">精帖</span> {/if}
|
||||
</div>
|
||||
</li>
|
||||
{/volist}
|
||||
{/volist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -49,11 +49,9 @@
|
||||
<input type="text" id="L_vercode" name="captcha" required lay-verify="required" placeholder="{:lang('please input the captcha')}" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid">
|
||||
<span style="color: #c00;">
|
||||
<div >
|
||||
<img id="captcha" src="{:captcha_src()}" onclick="this.src='{:captcha_src()}?'+Math.random();" style="float:left; cursor:pointer;" alt="captcha" />
|
||||
<div class="layui-form-mid layui-word-aux" style="padding-top: 0px !important;">
|
||||
<img id="captcha" src="{:captcha_src()}" style="float:left; cursor:pointer;" id="captcha" alt="captcha" />
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
|
@ -31,11 +31,11 @@
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_vercode" name="captcha" required lay-verify="required" placeholder="{:lang('please input the captcha')}" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div >
|
||||
<img src="{:captcha_src()}" onclick="this.src='{:captcha_src()}?'+Math.random();" style="float:left; cursor:pointer;" id="captcha" alt="captcha" />
|
||||
<div class="layui-form-mid layui-word-aux" style="padding-top: 0px !important;">
|
||||
<img src="{:captcha_src()}" style="float:left; cursor:pointer;" id="captcha" alt="captcha" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-item">
|
||||
<input type="checkbox" name="remember" title="{:lang('remember password')}" lay-skin="primary" lay-filter="remember" value="1">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
@ -57,35 +57,26 @@
|
||||
|
||||
{block name="script"}
|
||||
<script>
|
||||
$(function() {
|
||||
$('#login').click(function() {
|
||||
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('login/index')}",
|
||||
data:$('form').serialize(),
|
||||
daType:"json",
|
||||
success:function (data){
|
||||
if (data.code == 0) {
|
||||
layer.msg(data.msg,{
|
||||
icon:6,
|
||||
time:2000
|
||||
}, function(){
|
||||
location.href = data.url;
|
||||
});
|
||||
} else {
|
||||
layer.open({
|
||||
title:'登陆失败',
|
||||
content:data.msg,
|
||||
icon:5,
|
||||
anim:6
|
||||
});
|
||||
layui.jquery('#captcha').attr('src', '{:captcha_src()}?'+Math.random());
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
$(function() {
|
||||
$('#login').click(function() {
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('login/index')}",
|
||||
data:$('form').serialize(),
|
||||
daType:"json",
|
||||
success:function (data){
|
||||
if (data.code == 0) {
|
||||
layer.msg(data.msg,{icon:6,time:2000}, function(){
|
||||
location.href = data.url;
|
||||
});
|
||||
} else {
|
||||
layer.open({title:'登陆失败',content:data.msg,icon:5,anim:6});
|
||||
layui.jquery('#captcha').attr('src', '{:captcha_src()}?'+Math.random());
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/block}
|
@ -13,53 +13,53 @@
|
||||
<div class="layui-form layui-tab-content" id="LAY_ucm" style="padding: 20px 0;">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<div class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item">
|
||||
<label for="L_username" class="layui-form-label">{:lang('username')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_username" name="name" required lay-verify="required" autocomplete="off" class="layui-input" placeholder="{:lang('it cannot be changed')}">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_username" class="layui-form-label">{:lang('username')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_username" name="name" required lay-verify="required" autocomplete="off" class="layui-input" placeholder="{:lang('it cannot be changed')}">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_email" class="layui-form-label">{:lang('email')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_email" name="email" required lay-verify="email" autocomplete="off" class="layui-input" placeholder="{:lang('email')}">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">{:lang('the only way to get back your password')}</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_email" class="layui-form-label">{:lang('email')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_email" name="email" required lay-verify="email" autocomplete="off" class="layui-input" placeholder="{:lang('email')}">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_pass" class="layui-form-label">{:lang('password')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" id="L_pass" name="password" required lay-verify="required" autocomplete="off" class="layui-input" placeholder="{:lang('6-16 characters')}">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">{:lang('strong type encryption')}</div>
|
||||
<div class="layui-form-mid layui-word-aux">{:lang('the only way to get back your password')}</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_pass" class="layui-form-label">{:lang('password')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" id="L_pass" name="password" required lay-verify="required" autocomplete="off" class="layui-input" placeholder="{:lang('6-16 characters')}">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_repass" class="layui-form-label">{:lang('confirm password')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" id="L_repass" name="repassword" required lay-verify="required" autocomplete="off" class="layui-input" placeholder="{:lang('please confirm the password')}">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">{:lang('strong type encryption')}</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_repass" class="layui-form-label">{:lang('confirm password')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" id="L_repass" name="repassword" required lay-verify="required" autocomplete="off" class="layui-input" placeholder="{:lang('please confirm the password')}">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_vercode" class="layui-form-label">{:lang('captcha')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_vercode" name="captcha" required lay-verify="required" placeholder="{:lang('please input the captcha')}" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div >
|
||||
<span style="color: #c00;">
|
||||
<div>
|
||||
<img id="captcha" src="{:captcha_src()}" onclick="this.src='{:captcha_src()}?'+Math.random();" style="float:left; cursor:pointer;" alt="captcha" />
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button type="submit" class="layui-btn" lay-filter="user-register" lay-submit>{:lang('register now')}</button>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_vercode" class="layui-form-label">{:lang('captcha')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_vercode" name="captcha" required lay-verify="required" placeholder="{:lang('please input the captcha')}" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<!--div class="layui-form-item fly-form-app">
|
||||
<span>或者直接使用社交账号快捷注册</span>
|
||||
<a href="" onclick="layer.msg('正在通过QQ登入', {icon:16, shade: 0.1, time:0})" class="iconfont icon-qq" title="QQ登入"></a>
|
||||
<a href="" onclick="layer.msg('正在通过微博登入', {icon:16, shade: 0.1, time:0})" class="iconfont icon-weibo" title="微博登入"></a>
|
||||
</div-->
|
||||
<div >
|
||||
<span style="color: #c00;">
|
||||
<div>
|
||||
<img id="captcha" src="{:captcha_src()}" style="float:left; cursor:pointer;" alt="captcha" />
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button type="submit" class="layui-btn" lay-filter="user-register" lay-submit>{:lang('register now')}</button>
|
||||
</div>
|
||||
<!--div class="layui-form-item fly-form-app">
|
||||
<span>或者直接使用社交账号快捷注册</span>
|
||||
<a href="" onclick="layer.msg('正在通过QQ登入', {icon:16, shade: 0.1, time:0})" class="iconfont icon-qq" title="QQ登入"></a>
|
||||
<a href="" onclick="layer.msg('正在通过微博登入', {icon:16, shade: 0.1, time:0})" class="iconfont icon-weibo" title="微博登入"></a>
|
||||
</div-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -78,9 +78,7 @@ var layer = layui.layer;
|
||||
//注册
|
||||
form.on('submit(user-register)', function(data){
|
||||
var field = data.field;
|
||||
var loading = layer.load(2, {
|
||||
shade: [0.2, '#000']
|
||||
});
|
||||
var loading = layer.load(2, {shade: [0.2, '#000']});
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:"{:url('Login/reg')}",
|
||||
@ -98,8 +96,9 @@ var layer = layui.layer;
|
||||
layui.jquery('#captcha').attr('src', '{:captcha_src()}?'+Math.random());
|
||||
}}
|
||||
});
|
||||
return false;
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
|
@ -4,8 +4,8 @@
|
||||
<meta charset="utf-8">
|
||||
<title>{block name="title"}标题{/block}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="keywords" content="{block name="keywords"}关键词{/block}">
|
||||
<meta name="description" content="{block name="description"}描述{/block}">
|
||||
<meta name="keywords" content="{block name='keywords'}关键词{/block}">
|
||||
<meta name="description" content="{block name='description'}描述{/block}">
|
||||
<link rel="stylesheet" href="/static/layui/css/layui.css" charset="utf-8">
|
||||
<link rel="stylesheet" href="/static/res/css/global.css" charset="utf-8">
|
||||
{block name="link"}{/block}
|
||||
@ -15,7 +15,7 @@
|
||||
display: none
|
||||
}
|
||||
{if strpos($Request.SERVER.HTTP_USER_AGENT,"Html5Plus") !== false}
|
||||
html body{margin-top: 1px;}
|
||||
html body{margin-top: 1px;}
|
||||
{/if}
|
||||
</style>
|
||||
<script src="/static/share/plusShare.js" type="text/javascript" charset="utf-8"></script>
|
||||
@ -35,11 +35,11 @@
|
||||
<script>
|
||||
layui.cache.page = '{$jspage}';
|
||||
layui.cache.user = {
|
||||
username: '{$user.name??'游客'}'
|
||||
,uid: '{$user.id ?? -1}'
|
||||
,avatar: '{$user['user_img'] ?? '/static/res/images/avatar/00.jpg'}'
|
||||
,experience: '{$user.point ?? ''}'
|
||||
,sex: '{$user.sex ? '女':'男'}'
|
||||
username: "{$user.name??'游客'}"
|
||||
,uid: "{$user.id ?? -1}"
|
||||
,avatar: "{$user['user_img'] ?? '/static/res/images/avatar/00.jpg'}"
|
||||
,experience: "{$user.point ?? ''}"
|
||||
,sex: "{$user.sex ? '女':'男'}"
|
||||
};
|
||||
layui.config({
|
||||
version: "3.0.0"
|
||||
|
@ -1,7 +1,10 @@
|
||||
<h3 class="fly-panel-title">{:lang('friendly link')}</h3>
|
||||
<dl class="fly-panel-main">
|
||||
{volist name="flinks" id="vo"}
|
||||
<dd><a href="{$vo.slid_href}" target="_blank">{$vo.slid_name}</a><dd>
|
||||
{/volist}
|
||||
<dd><a href="javascript:void(0)" id="friend-link" class="fly-link">申请友链</a><dd>
|
||||
{volist name="flinks" id="vo"}
|
||||
<dd><a href="{$vo.slid_href}" target="_blank">{$vo.slid_name}</a></dd>
|
||||
<dd>{/volist}</dd>
|
||||
<dd>
|
||||
<a href="javascript:void(0)" id="friend-link" class="fly-link">申请友链</a>
|
||||
</dd>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
@ -1,24 +1,27 @@
|
||||
<div class="fly-footer html5plus-hide">
|
||||
<p> Copyright © {:date('Y')}{$sysInfo.copyright|raw}v{:config('taoler.version')}</p>
|
||||
<p>
|
||||
{$sysInfo.showlist|raw}
|
||||
{volist name="footlinks" id="vo"}
|
||||
<a href="{$vo.slid_href}" target="_blank">{$vo.slid_name}</a>
|
||||
{/volist}
|
||||
<a href="https://beian.miit.gov.cn/#/Integrated/recordQuery" target="_blank">{$sysInfo.icp}</a>
|
||||
Copyright © {:date('Y')}{$sysInfo.copyright|raw}v{:config('taoler.version')}
|
||||
</p>
|
||||
<p>
|
||||
{$sysInfo.showlist|raw} {volist name="footlinks" id="vo"}
|
||||
<a href="{$vo.slid_href}" target="_blank">{$vo.slid_name}</a>
|
||||
{/volist}
|
||||
<a href="https://beian.miit.gov.cn/#/Integrated/recordQuery" target="_blank"
|
||||
>{$sysInfo.icp}</a
|
||||
>
|
||||
</p>
|
||||
</div>
|
||||
<script src="/static/layui/jquery.min.js" charset="utf-8"></script>
|
||||
<script src="/static/layui/layui.js" charset="utf-8"></script>
|
||||
<script>
|
||||
var messageNums = "{:url('message/nums')}",
|
||||
messageRead = "{:url('Message/read')}",
|
||||
userMessage = "{:url('User/message')}",
|
||||
var messageNums = "{:url('message/nums')}",
|
||||
messageRead = "{:url('Message/read')}",
|
||||
userMessage = "{:url('User/message')}",
|
||||
login = "{:url('Login/index')}",
|
||||
articleAdd = "{:url('Article/add')}",
|
||||
uploads = "{:url('article/uploads')}",
|
||||
searchUrl = "{:url('index/search')}",
|
||||
langUrl = "{:url('index/language')}",
|
||||
replyNum = "{:lang('replies')}";
|
||||
var jumpUrl = "{:url('/jump/index/')}";
|
||||
uploads = "{:url('article/uploads')}",
|
||||
searchUrl = "{:url('index/search')}",
|
||||
langUrl = "{:url('index/language')}",
|
||||
replyNum = "{:lang('replies')}";
|
||||
var jumpUrl = "{:url('/jump/index/')}";
|
||||
</script>
|
||||
|
@ -9,11 +9,11 @@
|
||||
{//移动端LOGO}
|
||||
<a class="fly-logo layui-hide-md" href="/" style="padding-left:50%; margin-left:-60px;"><img src="/static/res/images/logo-m.png"></a>
|
||||
<ul class="layui-nav fly-nav layui-hide-xs">
|
||||
{volist name="headlinks" id="vo"}
|
||||
{volist name="headlinks" id="vo"}
|
||||
<li class="layui-nav-item">
|
||||
<a href="{$vo.slid_href}"><i class="layui-icon {$vo.slid_img}"></i>{$vo.slid_name}</a>
|
||||
</li>
|
||||
{/volist}
|
||||
{/volist}
|
||||
</ul>
|
||||
|
||||
<ul class="layui-nav fly-nav-user">
|
||||
@ -23,20 +23,20 @@
|
||||
<a href="/">{:lang('home page')}</a>
|
||||
</li>
|
||||
{/if}
|
||||
<li class="layui-nav-item">
|
||||
<a class="fly-nav-avatar" href="javascript:;">
|
||||
<cite class="layui-hide-xs">{$user.name}</cite><img src="{$user.user_img}">
|
||||
</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a href="{:url('user/index')}"><i class="layui-icon"></i>{:lang('user center')}</a></dd>
|
||||
<dd><a href="{:url('user/set')}"><i class="layui-icon"></i>{:lang('set info')}</a></dd>
|
||||
<hr>
|
||||
<dd><a href="{:url('user/message')}"><i class="iconfont icon-tongzhi" style="top: 4px;"></i>{:lang('my message')}</a></dd>
|
||||
<dd><a href="{:url('user/home',['id'=>session('user_id')])}"><i class="layui-icon" style="margin-left: 2px; font-size: 22px;"></i>{:lang('my page')}</a></dd>
|
||||
<hr style="margin: 5px 0;">
|
||||
<dd><a data-url="{:url('user/logout')}" href="javascript:void(0)" class="logi_logout" style="text-align: center;">{:lang('logout')}</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="layui-nav-item">
|
||||
<a class="fly-nav-avatar" href="javascript:;">
|
||||
<cite class="layui-hide-xs">{$user.name}</cite><img src="{$user.user_img}">
|
||||
</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a href="{:url('user/index')}"><i class="layui-icon"></i>{:lang('user center')}</a></dd>
|
||||
<dd><a href="{:url('user/set')}"><i class="layui-icon"></i>{:lang('set info')}</a></dd>
|
||||
<hr>
|
||||
<dd><a href="{:url('user/message')}"><i class="iconfont icon-tongzhi" style="top: 4px;"></i>{:lang('my message')}</a></dd>
|
||||
<dd><a href="{:url('user/home',['id'=>session('user_id')])}"><i class="layui-icon" style="margin-left: 2px; font-size: 22px;"></i>{:lang('my page')}</a></dd>
|
||||
<hr style="margin: 5px 0;">
|
||||
<dd><a data-url="{:url('user/logout')}" href="javascript:void(0)" class="logi_logout" style="text-align: center;">{:lang('logout')}</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
{else /}
|
||||
<!-- 未登入的状态 -->
|
||||
<li class="layui-nav-item">
|
||||
@ -62,7 +62,6 @@
|
||||
<a href="" onclick="layer.msg('正在通过微博登入', {icon:16, shade: 0.1, time:0})" title="微博登入" class="iconfont icon-weibo"></a>
|
||||
</li-->
|
||||
{/if}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
@ -4,7 +4,7 @@
|
||||
</a>
|
||||
<h2>
|
||||
{if config('taoler.config.cate_show') == 1}<a class="layui-badge">{:cookie('think_lang') == 'en-us' ? $art.cate.ename : $art.cate.catename}</a>{/if}
|
||||
<a href="{:url('article/detail',['id' => $art.id])}" style="color:{$art.title_color};">{$art.title}</a>
|
||||
<a href="{:url('article/detail',['id' => $art.id])}" style="color:'{$art.title_color}';">{$art.title}</a>
|
||||
</h2>
|
||||
<div class="fly-list-info">
|
||||
<a href="{:url('user/home',['id'=>$art.user.id])}" link>
|
||||
|
@ -1,11 +1,13 @@
|
||||
<div class="layui-row fly-panel-main" style="padding: 15px;">
|
||||
<div class="layui-carousel fly-topline" id="FLY_topline" >
|
||||
<div carousel-item="">
|
||||
{volist name="slider" id="vo"}
|
||||
<div time-limit="" >
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow"> <img src="{$vo.slid_img}" alt="{$vo.slid_name}" /> </a>
|
||||
</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row fly-panel-main" style="padding: 15px">
|
||||
<div class="layui-carousel fly-topline" id="FLY_topline">
|
||||
<div carousel-item="">
|
||||
{volist name="slider" id="vo"}
|
||||
<div time-limit="">
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow">
|
||||
<img src="{$vo.slid_img}" alt="{$vo.slid_name}" />
|
||||
</a>
|
||||
</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -4,7 +4,7 @@
|
||||
</a>
|
||||
<h2>
|
||||
{if config('taoler.config.cate_show') == 1}<a class="layui-badge">{:cookie('think_lang') == 'en-us' ? $top.cate.ename : $top.cate.catename}</a>{/if}
|
||||
<a href="{:url('article/detail',['id' => $top.id])}" style="color:{$top.title_color};">{$top.title}</a>
|
||||
<a href="{:url('article/detail',['id' => $top.id])}" style="color:'{$top.title_color}';">{$top.title}</a>
|
||||
</h2>
|
||||
<div class="fly-list-info">
|
||||
<a href="{:url('user/home',['id'=>$top.user_id])}" link>
|
||||
|
@ -1,60 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{block name="title"}这是title{/block}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="keywords" content="fly,layui,前端社区">
|
||||
<meta name="description" content="Fly社区是模块化前端UI框架Layui的官网社区,致力于为web开发提供强劲动力">
|
||||
<link rel="stylesheet" href="/static/res/layui/css/layui.css">
|
||||
<link rel="stylesheet" href="/static/res/css/global.css" charset="utf-8">
|
||||
{include file="public/js" /}
|
||||
</head>
|
||||
<body>
|
||||
{include file="public/header" /}
|
||||
|
||||
{block name="column"}
|
||||
{include file="/public/column" /}
|
||||
{/block}
|
||||
|
||||
{block name="content"}
|
||||
|
||||
<!--
|
||||
* $msg 待提示的消息
|
||||
* $url 待跳转的链接
|
||||
* $time 弹出维持时间(单位秒)
|
||||
* icon 这里主要有两个layer的表情,5和6,代表(哭和笑)
|
||||
-->
|
||||
<script type="text/javascript">
|
||||
(function(){
|
||||
var msg = '<?php echo(strip_tags($msg));?>';
|
||||
var iurl = '<?php echo($url);?>';
|
||||
var wait = '<?php echo($wait);?>';
|
||||
<?php
|
||||
switch ($code) {
|
||||
case 1:
|
||||
?>
|
||||
layer.msg(msg,{icon:"6",time:wait*1000});
|
||||
<?php
|
||||
break;
|
||||
case 0:
|
||||
?>
|
||||
layer.msg(msg,{icon:"5",time:wait*1000});
|
||||
<?php
|
||||
break;
|
||||
}
|
||||
?>
|
||||
setTimeout(function(){
|
||||
location.href=iurl;
|
||||
},1000)
|
||||
})();
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{include file="public/footer" /}
|
||||
|
||||
{block name="script"}
|
||||
{/block}
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,79 +0,0 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>用户中心</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="keywords" content="fly,layui,前端社区">
|
||||
<meta name="description" content="TaoLer社区是模块化前端UI框架Layui的开发产品,致力于为web开发提供强劲动力">
|
||||
<link rel="stylesheet" href="/static/res/layui/css/layui.css">
|
||||
<link rel="stylesheet" href="/static/res/css/global.css">
|
||||
</head>
|
||||
<body>
|
||||
{include file="public/header" /}
|
||||
<div class="layui-container fly-marginTop fly-user-main">
|
||||
{include file="public/nav" /}
|
||||
<div class="fly-panel fly-panel-user" pad20>
|
||||
{__CONTENT__}
|
||||
</div>
|
||||
</div>
|
||||
{include file="public/footer" /}
|
||||
{include file="public/js" /}
|
||||
|
||||
<script Content-Type: text/html>
|
||||
layui.use('upload', function(){
|
||||
var $ = layui.jquery
|
||||
var upload = layui.upload;
|
||||
|
||||
var uploadInst = upload.render({
|
||||
elem: '#test1'
|
||||
,url: '{:url('index/user/upload1')}'
|
||||
,field: 'file'
|
||||
,accept: 'images'
|
||||
,acceptMime: 'image/*'
|
||||
,exts: 'jpg|png|gif|bmp|jpeg'
|
||||
,auto:true
|
||||
,before: function(obj) {
|
||||
|
||||
obj.preview(function(index, file, result){
|
||||
$('#demo1').attr('src', result); //图片链接(base64)
|
||||
});
|
||||
layer.msg("图片上传中...",{
|
||||
time: 3000,
|
||||
});
|
||||
}
|
||||
,done: function(res){
|
||||
//如果上传失败
|
||||
if(res.code > 0){
|
||||
return layer.msg(res['msg']);
|
||||
}
|
||||
//上传成功
|
||||
return layer.msg(res['msg']);
|
||||
}
|
||||
,error: function(){
|
||||
//演示失败状态,并实现重传
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
layui.cache.page = 'user';
|
||||
layui.cache.user = {
|
||||
username: '游客'
|
||||
,uid: -1
|
||||
,avatar: '/static/res/images/avatar/00.jpg'
|
||||
,experience: 83
|
||||
,sex: '男'
|
||||
};
|
||||
layui.config({
|
||||
version: "3.0.0"
|
||||
,base: '/static/res/mods/'
|
||||
}).extend({
|
||||
fly: 'index'
|
||||
}).use('fly');
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,3 +1,2 @@
|
||||
|
||||
<link rel="stylesheet" href="/static/res/layui/css/layui.css">
|
||||
<link rel="stylesheet" href="/static/res/css/global.css">
|
@ -1,29 +1,29 @@
|
||||
<div class="layui-panel site-menu layui-hide-md">
|
||||
<ul class="layui-menu layui-menu-lg">
|
||||
<li class="search" style="padding-left:5px;padding-top:2px;padding-right:5px;">
|
||||
<form action="{:url('index/search',['keywords'=>$Request.param.keywords])}">
|
||||
<input type="search" name="keywords" value="" aria-label="Search text" placeholder="搜索" class="layui-input">
|
||||
</form>
|
||||
</li>
|
||||
<li class="search" style="padding-left:5px;padding-top:2px;padding-right:5px;">
|
||||
<form action="{:url('index/search',['keywords'=>$Request.param.keywords])}">
|
||||
<input type="search" name="keywords" value="" aria-label="Search text" placeholder="搜索" class="layui-input">
|
||||
</form>
|
||||
</li>
|
||||
{if session('?user_id')}
|
||||
<li class="layui-nav-item" style="padding-left:25px;">
|
||||
<a class="fly-nav-avatar" href="javascript:;">
|
||||
<img src="{$user['user_img']}" >
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item" style="padding-left:25px;">
|
||||
<a class="fly-nav-avatar" href="javascript:;">
|
||||
<img src="{$user['user_img']}" >
|
||||
</a>
|
||||
</li>
|
||||
{else /}
|
||||
<li class="layui-nav-item" style="padding-left:25px;">
|
||||
<a class="iconfont icon-touxiang" href="{:url('login/index')}"></a>
|
||||
<a href="{:url('login/index')}"> {:lang('login')} </a>
|
||||
<a href="{:url('login/reg')}"> {:lang('register')} </a>
|
||||
</li>
|
||||
<li class="layui-nav-item" style="padding-left:25px;">
|
||||
<select name="language" style="width:100px;" lay-filter="language1" lay-verify="" id="language1">
|
||||
<option value="cn" {if cookie('think_lang')=='zh-cn'} selected{/if} >{:lang('chinese')}</option>
|
||||
<option value="tw" {if cookie('think_lang')=='zh-tw'} selected{/if} >{:lang('tChinese')}</option>
|
||||
<option value="en" {if cookie('think_lang')=='en-us'} selected{/if} >{:lang('english')}</option>
|
||||
</select>
|
||||
</li>
|
||||
<li class="layui-nav-item" style="padding-left:25px;">
|
||||
<a class="iconfont icon-touxiang" href="{:url('login/index')}"></a>
|
||||
<a href="{:url('login/index')}"> {:lang('login')} </a>
|
||||
<a href="{:url('login/reg')}"> {:lang('register')} </a>
|
||||
</li>
|
||||
<li class="layui-nav-item" style="padding-left:25px;">
|
||||
<select name="language" style="width:100px;" lay-filter="language1" lay-verify="" id="language1">
|
||||
<option value="cn" {if cookie('think_lang')=='zh-cn'} selected{/if} >{:lang('chinese')}</option>
|
||||
<option value="tw" {if cookie('think_lang')=='zh-tw'} selected{/if} >{:lang('tChinese')}</option>
|
||||
<option value="en" {if cookie('think_lang')=='en-us'} selected{/if} >{:lang('english')}</option>
|
||||
</select>
|
||||
</li>
|
||||
{/if}
|
||||
|
||||
<li class="layui-menu-item-group" lay-options="{type: 'group', isAllowSpread: true}">
|
||||
@ -49,13 +49,13 @@
|
||||
<div class="layui-menu-body-title">菜单</div>
|
||||
<hr>
|
||||
<ul>
|
||||
{volist name="headlinks" id="vo"}
|
||||
{volist name="headlinks" id="vo"}
|
||||
<li class="">
|
||||
<div class="layui-menu-body-title">
|
||||
<a href="{$vo.slid_href}"><i class="layui-icon {$vo.slid_img}"></i><span> {$vo.slid_name} </span></a>
|
||||
</div>
|
||||
</li>
|
||||
{/volist}
|
||||
{/volist}
|
||||
<li class="">
|
||||
<div class="layui-menu-body-title">
|
||||
<a href="/">
|
||||
|
@ -1,43 +1,43 @@
|
||||
<ul class="layui-nav layui-nav-tree layui-inline" lay-filter="user">
|
||||
<li class="layui-nav-item {if($Request.action=='index')}layui-this{/if}">
|
||||
<a href="{:url('user/index')}">
|
||||
<i class="layui-icon layui-icon-user"></i>
|
||||
{:lang('user center')}
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item {if($Request.action=='set')}layui-this{/if}">
|
||||
<a href="{:url('user/set')}">
|
||||
<i class="layui-icon layui-icon-set"></i>
|
||||
{:lang('set info')}
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item {if($Request.action=='post')}layui-this{/if}">
|
||||
<a href="{:url('user/post')}">
|
||||
<i class="layui-icon layui-icon-read"></i>
|
||||
{:lang('my post')}
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item {if($Request.action=='message')}layui-this{/if}">
|
||||
<a href="{:url('user/message')}">
|
||||
<i class="layui-icon layui-icon-notice"></i>
|
||||
{:lang('my message')}
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item {if($Request.action=='key')}layui-this{/if}" >
|
||||
<a href="{:url('Api/key')}">
|
||||
<i class="layui-icon layui-icon-vercode"></i>
|
||||
{:lang('my auth')}
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item " >
|
||||
<a href="{:url('user/home',['id'=>session('user_id')])}">
|
||||
<i class="layui-icon layui-icon-home"></i>
|
||||
{:lang('my page')}
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item {if($Request.action=='index')}layui-this{/if}">
|
||||
<a href="{:url('user/index')}">
|
||||
<i class="layui-icon layui-icon-user"></i>
|
||||
{:lang('user center')}
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item {if($Request.action=='set')}layui-this{/if}">
|
||||
<a href="{:url('user/set')}">
|
||||
<i class="layui-icon layui-icon-set"></i>
|
||||
{:lang('set info')}
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item {if($Request.action=='post')}layui-this{/if}">
|
||||
<a href="{:url('user/post')}">
|
||||
<i class="layui-icon layui-icon-read"></i>
|
||||
{:lang('my post')}
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item {if($Request.action=='message')}layui-this{/if}">
|
||||
<a href="{:url('user/message')}">
|
||||
<i class="layui-icon layui-icon-notice"></i>
|
||||
{:lang('my message')}
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item {if($Request.action=='key')}layui-this{/if}">
|
||||
<a href="{:url('Api/key')}">
|
||||
<i class="layui-icon layui-icon-vercode"></i>
|
||||
{:lang('my auth')}
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-nav-item">
|
||||
<a href="{:url('user/home',['id'=>session('user_id')])}">
|
||||
<i class="layui-icon layui-icon-home"></i>
|
||||
{:lang('my page')}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="site-tree-mobile-user layui-hide">
|
||||
<i class="layui-icon layui-icon-right"></i>
|
||||
<i class="layui-icon layui-icon-right"></i>
|
||||
</div>
|
||||
<div class="site-mobile-shade-user"></div>
|
||||
|
@ -32,11 +32,11 @@
|
||||
|
||||
layui.cache.page = 'user';
|
||||
layui.cache.user = {
|
||||
username: '{$user.name??'游客'}'
|
||||
,uid: '{$user.id ?? -1}'
|
||||
,avatar: '{$user['user_img'] ?? '/static/res/images/avatar/00.jpg'}'
|
||||
,experience: '{$user.point ?? ''}'
|
||||
,sex: '{$user.sex ? '女':'男'}'
|
||||
username: "{$user.name??'游客'}"
|
||||
,uid: "{$user.id ?? -1}"
|
||||
,avatar: "{$user['user_img'] ?? '/static/res/images/avatar/00.jpg'}"
|
||||
,experience: "{$user.point ?? ''}"
|
||||
,sex: "{$user.sex ? '女':'男'}"
|
||||
};
|
||||
layui.config({
|
||||
version: "3.0.0"
|
||||
|
@ -1,45 +1,41 @@
|
||||
{extend name="public/user" /}
|
||||
<!--{layout name="public:layout" /} -->
|
||||
{block name="content"}
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="user">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">
|
||||
激活邮箱
|
||||
</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" id="LAY_ucm" style="padding: 20px 0;">
|
||||
<ul class="layui-form">
|
||||
<li class="layui-form-li">
|
||||
<label for="activate">您的邮箱:</label>
|
||||
<span class="layui-form-text">{$user.email}
|
||||
{if ($user.active == 1)}
|
||||
<em style="color:#999;">(已成功激活)</em>
|
||||
{else /}
|
||||
<em style="color:#c00;">(尚未激活)</em>
|
||||
{/if}
|
||||
</span>
|
||||
</li>
|
||||
{if($user.active == 0)}
|
||||
<li class="layui-form-li" style="margin-top: 20px; line-height: 26px;">
|
||||
<div>
|
||||
1. 如果您未收到邮件,或激活链接失效,您可以
|
||||
<a class="layui-form-a" style="color:#4f99cf;" id="LAY-activate" href="javascript:;" email="{$user.email}">重新发送邮件</a>,或者
|
||||
<a class="layui-form-a" style="color:#4f99cf;" href="set.html">更换邮箱</a>;
|
||||
</div>
|
||||
<div>
|
||||
2. 如果您始终没有收到发送的邮件,请注意查看您邮箱中的垃圾邮件;
|
||||
</div>
|
||||
<div>
|
||||
3. 如果你实在无法激活邮件,您还可以联系管理员:{$adminEmail}
|
||||
</div>
|
||||
</li>
|
||||
{/if}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
{block name="script"}
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="user">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">激活邮箱</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" id="LAY_ucm" style="padding: 20px 0">
|
||||
<ul class="layui-form">
|
||||
<li class="layui-form-li">
|
||||
<label for="activate">您的邮箱:</label>
|
||||
<span class="layui-form-text">{$user.email} {if ($user.active == 1)}
|
||||
<em style="color: #999">(已成功激活)</em>
|
||||
{else /}
|
||||
<em style="color: #c00">(尚未激活)</em>
|
||||
{/if}
|
||||
</span>
|
||||
</li>
|
||||
{if($user.active == 0)}
|
||||
<li class="layui-form-li" style="margin-top: 20px; line-height: 26px">
|
||||
<div>
|
||||
1. 如果您未收到邮件,或激活链接失效,您可以
|
||||
<a class="layui-form-a" style="color: #4f99cf" id="LAY-activate" href="javascript:;" email="{$user.email}">重新发送邮件</a>,或者
|
||||
<a class="layui-form-a" style="color: #4f99cf" href="set.html">更换邮箱</a>;
|
||||
</div>
|
||||
<div>
|
||||
2. 如果您始终没有收到发送的邮件,请注意查看您邮箱中的垃圾邮件;
|
||||
</div>
|
||||
<div>
|
||||
3. 如果你实在无法激活邮件,您还可以联系管理员: {$adminEmail}
|
||||
</div>
|
||||
</li>
|
||||
{/if}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{/block} {block name="script"}
|
||||
<script>
|
||||
var actvateEmaiUrl = "{:url('User/active')}";
|
||||
var actvateEmaiUrl = "{:url('User/active')}";
|
||||
</script>
|
||||
{/block}
|
||||
|
@ -41,17 +41,17 @@
|
||||
<div class="fly-panel">
|
||||
<h3 class="fly-panel-title">{:lang('recent statements')}</h3>
|
||||
<ul class="jie-row">
|
||||
{volist name="$arts" id="vo"}
|
||||
{volist name="$arts" id="vo"}
|
||||
<li>
|
||||
{if condition="$vo.is_hot==1"}<span class="fly-jing">{:lang('hot')}</span>{/if}
|
||||
<a href="{:url('article/detail',['id'=>$vo.id])}" class="jie-title"> {$vo.title}</a>
|
||||
<i>{$vo.create_time|date='Y-m-d'}</i>
|
||||
<em class="layui-hide-xs">{$vo.pv} {:lang('browses')}</em>
|
||||
</li>
|
||||
{/volist}
|
||||
{if condition="$arts eq ''"}
|
||||
{/volist}
|
||||
{if condition="$arts eq ''"}
|
||||
<div class="fly-none" style="min-height: 50px; padding:30px 0; height:auto;"><i style="font-size:14px;">没有发表任何求解</i></div>
|
||||
{/if}
|
||||
{/if}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -60,7 +60,7 @@
|
||||
<div class="fly-panel">
|
||||
<h3 class="fly-panel-title">{:lang('recent answers')}</h3>
|
||||
<ul class="home-jieda">
|
||||
{volist name="$reys" id="vo" empty="没有回答任何问题"}
|
||||
{volist name="$reys" id="vo" empty="没有回答任何问题"}
|
||||
<li>
|
||||
<p>
|
||||
<span>{$vo.create_time|date='Y-m-d H-m'}</span>
|
||||
@ -68,7 +68,7 @@
|
||||
</p>
|
||||
<div class="home-dacontent detail-body jieda-body photos" >{$vo.content}</div>
|
||||
</li>
|
||||
{/volist}
|
||||
{/volist}
|
||||
<!-- <div class="fly-none" style="min-height: 50px; padding:30px 0; height:auto;"><span>没有回答任何问题</span></div> -->
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -1,58 +1,57 @@
|
||||
{extend name="public/user" /}
|
||||
|
||||
{block name="content"}
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="user" id="LAY_msg" style="margin-top: 15px;">
|
||||
<button class="layui-btn layui-btn-danger" id="LAY_delallmsg">清空全部消息</button>
|
||||
<div id="LAY_minemsg" style="margin-top: 10px;"></div>
|
||||
</div>
|
||||
{/block}
|
||||
{block name="script"}
|
||||
{extend name="public/user" /} {block name="content"}
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="user" id="LAY_msg" style="margin-top: 15px">
|
||||
<button class="layui-btn layui-btn-danger" id="LAY_delallmsg">
|
||||
清空全部消息
|
||||
</button>
|
||||
<div id="LAY_minemsg" style="margin-top: 10px"></div>
|
||||
</div>
|
||||
{/block} {block name="script"}
|
||||
<script>
|
||||
var messageFind = "{:url('index/Message/find')}",
|
||||
messageRemove = "{:url('index/Message/remove')}",
|
||||
userNameJump = "{:url('index/Index/jump')}";
|
||||
|
||||
//点开标题改变帖子已读状态
|
||||
$('#LAY_minemsg').on('click','.art-title', function(){
|
||||
var id = $(this).attr('id-data');
|
||||
var othis = $(this);
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('message/read')}",
|
||||
data:{"id":id},
|
||||
daType:"json",
|
||||
success:function (res){
|
||||
if(res.status == 0){
|
||||
othis.next().html('已读');
|
||||
//location.reload();
|
||||
//othis.append('<span class="float:right">已读</span>');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//读消息
|
||||
$('#LAY_minemsg').on('click','.sys-title', function(){
|
||||
var id = $(this).attr('id-data');
|
||||
var othis = $(this);
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('message/read')}",
|
||||
data:{"id":id},
|
||||
daType:"json",
|
||||
success:function (res){
|
||||
if(res.status == 0){
|
||||
layer.open({
|
||||
type: 1,
|
||||
skin: 'layui-layer-rim', //加上边框
|
||||
area: ['400px', '350px'], //宽高
|
||||
content: '<div class="layui-form" style="padding: 10px 20px 0 20px;"> '+ res.content +'</div>'
|
||||
}),
|
||||
othis.next().html('已读');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
var messageFind = "{:url('index/Message/find')}",
|
||||
messageRemove = "{:url('index/Message/remove')}",
|
||||
userNameJump = "{:url('index/Index/jump')}";
|
||||
|
||||
//点开标题改变帖子已读状态
|
||||
$("#LAY_minemsg").on("click", ".art-title", function () {
|
||||
var id = $(this).attr("id-data");
|
||||
var othis = $(this);
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "{:url('message/read')}",
|
||||
data: { id: id },
|
||||
daType: "json",
|
||||
success: function (res) {
|
||||
if (res.status == 0) {
|
||||
othis.next().html("已读");
|
||||
//location.reload();
|
||||
//othis.append('<span class="float:right">已读</span>');
|
||||
}
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
//读消息
|
||||
$("#LAY_minemsg").on("click", ".sys-title", function () {
|
||||
var id = $(this).attr("id-data");
|
||||
var othis = $(this);
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "{:url('message/read')}",
|
||||
data: { id: id },
|
||||
daType: "json",
|
||||
success: function (res) {
|
||||
if (res.status == 0) {
|
||||
layer.open({
|
||||
type: 1,
|
||||
skin: "layui-layer-rim", //加上边框
|
||||
area: ["400px", "350px"], //宽高
|
||||
content:
|
||||
'<div class="layui-form" style="padding: 10px 20px 0 20px;"> ' + res.content + "</div>",
|
||||
}),
|
||||
othis.next().html("已读");
|
||||
}
|
||||
},
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/block}
|
||||
|
@ -10,7 +10,7 @@
|
||||
<ul class="layui-tab-title" id="LAY_mine">
|
||||
<li data-type="mine-jie" lay-id="index" href="{:url('user/post')}#index" class="layui-this">我发的帖</li>
|
||||
<li data-type="collection" lay-id="collection" href="{:url('user/post')}#collection">我的收藏</li>
|
||||
<li lay-id="postarc"><a href="{:url('article/add')}">我要发帖</a></li>
|
||||
<li lay-id="postarc"><a href="{:url('article/add')}">我要发帖</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="layui-tab-content" style="padding: 20px 0;">
|
||||
|
@ -1,171 +1,168 @@
|
||||
{extend name="public/user" /}
|
||||
|
||||
{block name="content"}
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="user">
|
||||
<ul class="layui-tab-title" id="LAY_mine">
|
||||
<li class="layui-this" lay-id="info">我的资料</li>
|
||||
<li lay-id="avatar">头像</li>
|
||||
<li lay-id="pass">密码</li>
|
||||
<li lay-id="bind">帐号绑定</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" style="padding: 20px 0;">
|
||||
<div class="layui-form layui-form-pane layui-tab-item layui-show">
|
||||
<div class="layui-form-item">
|
||||
<label for="L_email" class="layui-form-label">邮箱</label>
|
||||
<input type="hidden" name="user_id" value="{:session('user_id')}">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_email" name="email" lay-verify="email" autocomplete="off" value="{$user.email}" class="layui-input" placeholder="{$user.email}">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">如果您在邮箱已激活的情况下,变更了邮箱,需<a href="activate.html" style="font-size: 12px; color: #4f99cf;">重新验证邮箱</a>。</div>
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="user">
|
||||
<ul class="layui-tab-title" id="LAY_mine">
|
||||
<li class="layui-this" lay-id="info">我的资料</li>
|
||||
<li lay-id="avatar">头像</li>
|
||||
<li lay-id="pass">密码</li>
|
||||
<li lay-id="bind">帐号绑定</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" style="padding: 20px 0;">
|
||||
<div class="layui-form layui-form-pane layui-tab-item layui-show">
|
||||
<div class="layui-form-item">
|
||||
<label for="L_email" class="layui-form-label">邮箱</label>
|
||||
<input type="hidden" name="user_id" value="{:session('user_id')}">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_email" name="email" lay-verify="email" autocomplete="off" value="{$user.email}" class="layui-input" placeholder="{$user.email}">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_username" class="layui-form-label">昵称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_username" name="nickname" required lay-verify="required" autocomplete="off" value="{$user.nickname}" class="layui-input" placeholder="{$user.nickname}">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="sex" value="0" {if condition="$user['sex'] eq 0"} checked {/if} title="男">
|
||||
<input type="radio" name="sex" value="1" {if condition="$user['sex'] eq 1"} checked {/if} title="女">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_city" class="layui-form-label">城市</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_city" name="city" autocomplete="off" value="{$user.city}" class="layui-input" placeholder="{$user.city}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_area" class="layui-form-label">区域</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="area_id" lay-filter="LAY-user-adminrole-type">
|
||||
<option value="">无</option>
|
||||
{volist name="area" id="vo"}
|
||||
<option {if condition="$vo.id eq $user.area_id"} selected {/if} value="{$vo.id}">{$vo.area}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label for="L_sign" class="layui-form-label">签名</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea placeholder="随便写些什么刷下存在感" id="L_sign" name="sign" autocomplete="off" class="layui-textarea" style="height: 80px;" value="{$user.sign}">{$user.sign}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button type="submit" name="submit" class="layui-btn" lay-filter="user-set-info" lay-submit>确认修改</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form layui-form-pane layui-tab-item">
|
||||
<div class="layui-form-item">
|
||||
<div class="avatar-add">
|
||||
<p>建议尺寸168*168,支持jpg、png、gif,最大不能超过50KB</p>
|
||||
<button type="button" class="layui-btn upload-img">
|
||||
<i class="layui-icon"></i>上传头像
|
||||
</button>
|
||||
<img src="{$user.user_img}">
|
||||
<span class="loading"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form layui-form-pane layui-tab-item">
|
||||
<input type="hidden" name="user_id" value="{:session('user_id')}">
|
||||
<div class="layui-form-item">
|
||||
<label for="L_nowpass" class="layui-form-label">当前密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" id="L_nowpass" name="nowpass" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_pass" class="layui-form-label">新密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" id="L_pass" name="password" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">6到16个字符</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_repass" class="layui-form-label">确认密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" id="L_repass" name="repassword" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn" lay-filter="user-set-pass" lay-submit >确认修改</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form layui-form-pane layui-tab-item">
|
||||
<ul class="app-bind">
|
||||
<li class="fly-msg app-havebind">
|
||||
<i class="iconfont icon-qq"></i>
|
||||
<span>已成功绑定,您可以使用QQ帐号直接登录Fly社区,当然,您也可以</span>
|
||||
<a href="javascript:;" class="acc-unbind" type="qq_id">解除绑定</a>
|
||||
|
||||
<!-- <a href="" onclick="layer.msg('正在绑定微博QQ', {icon:16, shade: 0.1, time:0})" class="acc-bind" type="qq_id">立即绑定</a>
|
||||
<span>,即可使用QQ帐号登录Fly社区</span> -->
|
||||
</li>
|
||||
<li class="fly-msg">
|
||||
<i class="iconfont icon-weibo"></i>
|
||||
<!-- <span>已成功绑定,您可以使用微博直接登录Fly社区,当然,您也可以</span>
|
||||
<a href="javascript:;" class="acc-unbind" type="weibo_id">解除绑定</a> -->
|
||||
|
||||
<a href="" class="acc-weibo" type="weibo_id" onclick="layer.msg('正在绑定微博', {icon:16, shade: 0.1, time:0})" >立即绑定</a>
|
||||
<span>,即可使用微博帐号登录Fly社区</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="layui-form-mid layui-word-aux">如果您在邮箱已激活的情况下,变更了邮箱,需<a href="activate.html" style="font-size: 12px; color: #4f99cf;">重新验证邮箱</a>。</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_username" class="layui-form-label">昵称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_username" name="nickname" required lay-verify="required" autocomplete="off" value="{$user.nickname}" class="layui-input" placeholder="{$user.nickname}">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="sex" value="0" {if condition="$user['sex'] eq 0"} checked {/if} title="男">
|
||||
<input type="radio" name="sex" value="1" {if condition="$user['sex'] eq 1"} checked {/if} title="女">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_city" class="layui-form-label">城市</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="L_city" name="city" autocomplete="off" value="{$user.city}" class="layui-input" placeholder="{$user.city}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_area" class="layui-form-label">区域</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="area_id" lay-filter="LAY-user-adminrole-type">
|
||||
<option value="">无</option>
|
||||
{volist name="area" id="vo"}
|
||||
<option {if condition="$vo.id eq $user.area_id"} selected {/if} value="{$vo.id}">{$vo.area}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label for="L_sign" class="layui-form-label">签名</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea placeholder="随便写些什么刷下存在感" id="L_sign" name="sign" autocomplete="off" class="layui-textarea" style="height: 80px;" value="{$user.sign}">{$user.sign}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button type="submit" name="submit" class="layui-btn" lay-filter="user-set-info" lay-submit>确认修改</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form layui-form-pane layui-tab-item">
|
||||
<div class="layui-form-item">
|
||||
<div class="avatar-add">
|
||||
<p>建议尺寸168*168,支持jpg、png、gif,最大不能超过50KB</p>
|
||||
<button type="button" class="layui-btn upload-img">
|
||||
<i class="layui-icon"></i>上传头像
|
||||
</button>
|
||||
<img src="{$user.user_img}">
|
||||
<span class="loading"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form layui-form-pane layui-tab-item">
|
||||
<input type="hidden" name="user_id" value="{:session('user_id')}">
|
||||
<div class="layui-form-item">
|
||||
<label for="L_nowpass" class="layui-form-label">当前密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" id="L_nowpass" name="nowpass" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_pass" class="layui-form-label">新密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" id="L_pass" name="password" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">6到16个字符</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label for="L_repass" class="layui-form-label">确认密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" id="L_repass" name="repassword" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn" lay-filter="user-set-pass" lay-submit >确认修改</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form layui-form-pane layui-tab-item">
|
||||
<ul class="app-bind">
|
||||
<li class="fly-msg app-havebind">
|
||||
<i class="iconfont icon-qq"></i>
|
||||
<span>已成功绑定,您可以使用QQ帐号直接登录Fly社区,当然,您也可以</span>
|
||||
<a href="javascript:;" class="acc-unbind" type="qq_id">解除绑定</a>
|
||||
<!-- <a href="" onclick="layer.msg('正在绑定微博QQ', {icon:16, shade: 0.1, time:0})" class="acc-bind" type="qq_id">立即绑定</a>
|
||||
<span>,即可使用QQ帐号登录Fly社区</span> -->
|
||||
</li>
|
||||
<li class="fly-msg">
|
||||
<i class="iconfont icon-weibo"></i>
|
||||
<!-- <span>已成功绑定,您可以使用微博直接登录Fly社区,当然,您也可以</span>
|
||||
<a href="javascript:;" class="acc-unbind" type="weibo_id">解除绑定</a> -->
|
||||
<a href="" class="acc-weibo" type="weibo_id" onclick="layer.msg('正在绑定微博', {icon:16, shade: 0.1, time:0})" >立即绑定</a>
|
||||
<span>,即可使用微博帐号登录Fly社区</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
{block name="script"}
|
||||
<script>
|
||||
layui.use(function(){
|
||||
var $ = layui.jquery;
|
||||
var form = layui.form;
|
||||
//设置资料
|
||||
form.on('submit(user-set-info)', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:"{:url('User/set')}",
|
||||
data:field,
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data.code == 0){
|
||||
layer.msg(data.msg,{icon:6,tiye:2000},function(){
|
||||
location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.open({title:"更新失败",content:data.msg,icon:5,anim:6});
|
||||
}}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
//设置密码
|
||||
form.on('submit(user-set-pass)', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:"{:url('User/setPass')}",
|
||||
data:field,
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data.code == 1){
|
||||
layer.msg(data.msg,{icon:6,tiye:2000},function(){
|
||||
location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.open({title:"密码设置失败",content:data.msg,icon:5,anim:6});
|
||||
}}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
layui.use(function(){
|
||||
var $ = layui.jquery;
|
||||
var form = layui.form;
|
||||
//设置资料
|
||||
form.on('submit(user-set-info)', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:"{:url('User/set')}",
|
||||
data:field,
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data.code == 0){
|
||||
layer.msg(data.msg,{icon:6,tiye:2000},function(){
|
||||
location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.open({title:"更新失败",content:data.msg,icon:5,anim:6});
|
||||
}}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
//设置密码
|
||||
form.on('submit(user-set-pass)', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:"{:url('User/setPass')}",
|
||||
data:field,
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data.code == 1){
|
||||
layer.msg(data.msg,{icon:6,tiye:2000},function(){
|
||||
location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.open({title:"密码设置失败",content:data.msg,icon:5,anim:6});
|
||||
}}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
{/block}
|
@ -1,31 +0,0 @@
|
||||
{layout name="public:layout" /}
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="user">
|
||||
<ul class="layui-tab-title" id="LAY_mine">
|
||||
|
||||
<li class="layui-this" lay-id="avatar">头像</li>
|
||||
|
||||
</ul>
|
||||
<div class="layui-tab-content" style="padding: 20px 0;">
|
||||
<div class="layui-form layui-form-pane layui-tab-item">
|
||||
<div class="layui-form-item">
|
||||
<div class="avatar-add">
|
||||
<p>建议尺寸168*168,支持jpg、png、gif,最大不能超过50KB</p>
|
||||
|
||||
<div class="layui-upload ">
|
||||
<div align="center">
|
||||
<button type="button" class="layui-btn" id="test1"><i class="layui-icon"></i>上传图片</button>
|
||||
</div>
|
||||
<div class="layui-upload-list">
|
||||
<img class="layui-upload-img" id="demo1">
|
||||
<p id="demoText"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<img class="layui-upload-img" src="/uploads/{$userHead.user_img}" id="headimg">
|
||||
<span class="loading"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user