规范化
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,10 +73,7 @@ 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];
|
||||
|
||||
}
|
||||
|
||||
//构造一个顶级菜单pid=0的数组。把权限放入顶级菜单下子权限中
|
||||
@ -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'=>'稍后获取内容...']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//提交反馈
|
||||
|
@ -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>
|
||||
<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="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 class="layui-btn layui-btn-sm layuiadmin-btn-admin" data-type="add">离线安装</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="addons-installed-tool">
|
||||
|
@ -58,23 +58,23 @@
|
||||
</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">
|
||||
{{# 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">
|
||||
{{# 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">
|
||||
|
@ -10,6 +10,7 @@
|
||||
<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>
|
||||
@ -267,7 +270,6 @@
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
@ -93,8 +93,6 @@
|
||||
|
||||
form.render();
|
||||
|
||||
|
||||
|
||||
//回车登陆
|
||||
$(document).keydown(function(e){
|
||||
if(e.keyCode == 13){
|
||||
@ -108,7 +106,7 @@
|
||||
//请求登入接口
|
||||
admin.req({
|
||||
type: "post"
|
||||
,url: '{:url('login/index')}' //实际使用请改成服务端真实接口
|
||||
,url: "{:url('login/index')}" //实际使用请改成服务端真实接口
|
||||
,data: obj.field
|
||||
,success: function(res){
|
||||
if(res.code == 0){
|
||||
@ -128,12 +126,7 @@
|
||||
location.href = "{:url('index/index')}"; //后台主页
|
||||
});
|
||||
} else {
|
||||
layer.open({
|
||||
title:'登陆失败',
|
||||
content:res.msg,
|
||||
icon:5,
|
||||
anim:6
|
||||
});
|
||||
layer.open({title:'登陆失败', content:res.msg, icon:5, anim:6});
|
||||
layui.jquery('#LAY-user-get-vercode').attr('src', '{:captcha_src()}?'+Math.random());
|
||||
}
|
||||
|
||||
@ -141,7 +134,6 @@
|
||||
});
|
||||
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") )
|
||||
{
|
||||
|
@ -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,91 +1,101 @@
|
||||
//网站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)
|
||||
{
|
||||
function addList(type) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
type: "post",
|
||||
url: addonsList,
|
||||
data: { type: type },
|
||||
dataType: 'json',
|
||||
dataType: "json",
|
||||
success: function (res) {
|
||||
//渲染表格
|
||||
table.render({
|
||||
elem: '#addons-list',
|
||||
toolbar: '#toolbar',
|
||||
elem: "#addons-list",
|
||||
toolbar: "#toolbar",
|
||||
defaultToolbar: [],
|
||||
url: addonsList + '?type='+ type,
|
||||
cols: [
|
||||
res['col']
|
||||
]
|
||||
, page: true
|
||||
, limit: 10
|
||||
, height: 'full-220'
|
||||
, text: '对不起,加载出现异常!'
|
||||
url: addonsList + "?type=" + type,
|
||||
cols: [res["col"]],
|
||||
page: true,
|
||||
limit: 10,
|
||||
height: "full-220",
|
||||
text: "对不起,加载出现异常!",
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
addList('installed');
|
||||
addList("onlineAddons");
|
||||
|
||||
//头工具栏事件
|
||||
table.on('toolbar(addons-list)', function(obj){
|
||||
table.on("toolbar(addons-list)", function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id);
|
||||
switch (obj.event) {
|
||||
case 'installed':
|
||||
case "installed":
|
||||
addList("installed");
|
||||
break;
|
||||
case 'onlineAddons':
|
||||
case "onlineAddons":
|
||||
addList("onlineAddons");
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(addons-list)', function(obj){
|
||||
table.on("tool(addons-list)", function (obj) {
|
||||
var data = obj.data;
|
||||
|
||||
if(obj.event === 'del'){
|
||||
layer.prompt({
|
||||
formType: 1
|
||||
,title: '敏感操作,请验证口令'
|
||||
}, function(value, index){
|
||||
if (obj.event === "del") {
|
||||
layer.prompt(
|
||||
{
|
||||
formType: 1,
|
||||
title: "敏感操作,请验证口令",
|
||||
},
|
||||
function (value, index) {
|
||||
layer.close(index);
|
||||
layer.confirm('真的删除行么', function(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});
|
||||
layer.open({
|
||||
tiele: "修改失败",
|
||||
content: res.msg,
|
||||
icon: 5,
|
||||
anim: 6,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
table.reload('addons-list');
|
||||
table.reload("addons-list");
|
||||
layer.close(index);
|
||||
});
|
||||
});
|
||||
} else if(obj.event === 'edit'){
|
||||
}
|
||||
);
|
||||
} 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);
|
||||
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){
|
||||
iframeWindow.layui.form.on(
|
||||
"submit(" + submitID + ")",
|
||||
function (data) {
|
||||
var field = data.field; //获取提交的字段
|
||||
|
||||
//提交 Ajax 成功后,静态更新表格中的数据
|
||||
@ -98,22 +108,26 @@ addList('installed');
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg, { icon: 6, time: 2000 });
|
||||
} else {
|
||||
layer.open({tiele:'修改失败',content:res.msg,icon:5,anim:6});
|
||||
}
|
||||
layer.open({
|
||||
tiele: "修改失败",
|
||||
content: res.msg,
|
||||
icon: 5,
|
||||
anim: 6,
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
table.reload('addons-list'); //数据刷新
|
||||
table.reload("addons-list"); //数据刷新
|
||||
layer.close(index); //关闭弹层
|
||||
});
|
||||
|
||||
submit.trigger('click');
|
||||
}
|
||||
,success: function(layero, index){
|
||||
);
|
||||
|
||||
}
|
||||
submit.trigger("click");
|
||||
},
|
||||
success: function (layero, index) {},
|
||||
});
|
||||
} else if (obj.event === 'start'){
|
||||
} else if (obj.event === "start") {
|
||||
//提交 Ajax 成功后,静态更新表格中的数据
|
||||
$.ajax({
|
||||
type: "post",
|
||||
@ -124,11 +138,16 @@ addList('installed');
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg, { icon: 6, time: 2000 });
|
||||
} else {
|
||||
layer.open({tiele:'修改失败',content:res.msg,icon:5,anim:6});
|
||||
}
|
||||
}
|
||||
layer.open({
|
||||
tiele: "修改失败",
|
||||
content: res.msg,
|
||||
icon: 5,
|
||||
anim: 6,
|
||||
});
|
||||
} else if(obj.event === 'shutdown'){
|
||||
}
|
||||
},
|
||||
});
|
||||
} else if (obj.event === "shutdown") {
|
||||
//提交 Ajax 成功后,静态更新表格中的数据
|
||||
$.ajax({
|
||||
type: "post",
|
||||
@ -139,33 +158,52 @@ addList('installed');
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg, { icon: 6, time: 2000 });
|
||||
} else {
|
||||
layer.open({tiele:'修改失败',content:res.msg,icon:5,anim:6});
|
||||
}
|
||||
}
|
||||
layer.open({
|
||||
tiele: "修改失败",
|
||||
content: res.msg,
|
||||
icon: 5,
|
||||
anim: 6,
|
||||
});
|
||||
} else if(obj.event === 'install'){
|
||||
}
|
||||
},
|
||||
});
|
||||
} else if (obj.event === "install") {
|
||||
//安装插件
|
||||
$.post(addonsInstall,{name:data.name,version:data.version},function (res) {
|
||||
$.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);
|
||||
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){
|
||||
iframeWindow.layui.form.on(
|
||||
"submit(" + submitID + ")",
|
||||
function (data) {
|
||||
var field = data.field; //获取提交的字段
|
||||
$.ajax({
|
||||
type: "post",
|
||||
@ -176,25 +214,34 @@ addList('installed');
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg, { icon: 6, time: 2000 });
|
||||
} else {
|
||||
layer.open({tiele:'修改失败',content:res.msg,icon:5,anim:6});
|
||||
}
|
||||
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');
|
||||
);
|
||||
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');
|
||||
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' +
|
||||
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><div class="layui-input-inline">\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' +
|
||||
@ -207,13 +254,11 @@ addList('installed');
|
||||
$(this).parent().remove();
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
});
|
||||
}
|
||||
table.reload("addons-list"); //数据刷新
|
||||
});
|
||||
|
||||
}
|
||||
table.reload('addons-list'); //数据刷新
|
||||
});
|
||||
|
||||
exports('addons', {})
|
||||
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.$
|
||||
@ -26,8 +17,8 @@ layui.define(['table', 'form'], function(exports){
|
||||
,{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: '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'}
|
||||
]]
|
||||
@ -116,7 +107,6 @@ layui.define(['table', 'form'], function(exports){
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
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,15 +206,14 @@ 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: 'sort', title: '排序', width: 80, sort: true}
|
||||
,{field: 'id', title: 'ID',width: 60}
|
||||
,{field: 'tags', title: '分类名', minWidth: 100}
|
||||
,{field: 'ename', title: 'EN别名', minWidth: 100}
|
||||
,{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: 100}
|
||||
,{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')}",
|
||||
@ -189,7 +190,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
|
||||
@ -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')}",
|
||||
|
@ -22,7 +22,6 @@
|
||||
<div class="layui-input-block">
|
||||
<select lay-verify="required" name="cate_id" lay-filter="column">
|
||||
<option></option>
|
||||
|
||||
{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}
|
||||
@ -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')}",
|
||||
|
@ -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>
|
||||
|
@ -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,8 +31,8 @@
|
||||
<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">
|
||||
@ -59,7 +59,6 @@
|
||||
<script>
|
||||
$(function() {
|
||||
$('#login').click(function() {
|
||||
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('login/index')}",
|
||||
@ -67,19 +66,11 @@ $(function() {
|
||||
daType:"json",
|
||||
success:function (data){
|
||||
if (data.code == 0) {
|
||||
layer.msg(data.msg,{
|
||||
icon:6,
|
||||
time:2000
|
||||
}, function(){
|
||||
layer.msg(data.msg,{icon:6,time:2000}, function(){
|
||||
location.href = data.url;
|
||||
});
|
||||
} else {
|
||||
layer.open({
|
||||
title:'登陆失败',
|
||||
content:data.msg,
|
||||
icon:5,
|
||||
anim:6
|
||||
});
|
||||
layer.open({title:'登陆失败',content:data.msg,icon:5,anim:6});
|
||||
layui.jquery('#captcha').attr('src', '{:captcha_src()}?'+Math.random());
|
||||
}
|
||||
}
|
||||
|
@ -47,7 +47,7 @@
|
||||
<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" />
|
||||
<img id="captcha" src="{:captcha_src()}" style="float:left; cursor:pointer;" alt="captcha" />
|
||||
</div>
|
||||
</span>
|
||||
</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')}",
|
||||
@ -102,4 +100,5 @@ var layer = layui.layer;
|
||||
});
|
||||
});
|
||||
</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}
|
||||
@ -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>
|
||||
<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,11 +1,14 @@
|
||||
<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"}
|
||||
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>
|
||||
<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>
|
||||
|
@ -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,9 +1,11 @@
|
||||
<div class="layui-row fly-panel-main" style="padding: 15px;">
|
||||
<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>
|
||||
<a href="{$vo.slid_href}" target="_blank" rel="nofollow">
|
||||
<img src="{$vo.slid_img}" alt="{$vo.slid_name}" />
|
||||
</a>
|
||||
</div>
|
||||
{/volist}
|
||||
</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">
|
@ -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"
|
||||
|
@ -3,42 +3,38 @@
|
||||
{block name="content"}
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="user">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">
|
||||
激活邮箱
|
||||
</li>
|
||||
<li class="layui-this">激活邮箱</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" id="LAY_ucm" style="padding: 20px 0;">
|
||||
<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>
|
||||
<span class="layui-form-text">{$user.email} {if ($user.active == 1)}
|
||||
<em style="color: #999">(已成功激活)</em>
|
||||
{else /}
|
||||
<em style="color:#c00;">(尚未激活)</em>
|
||||
<em style="color: #c00">(尚未激活)</em>
|
||||
{/if}
|
||||
</span>
|
||||
</li>
|
||||
{if($user.active == 0)}
|
||||
<li class="layui-form-li" style="margin-top: 20px; line-height: 26px;">
|
||||
<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>;
|
||||
<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}
|
||||
3. 如果你实在无法激活邮件,您还可以联系管理员: {$adminEmail}
|
||||
</div>
|
||||
</li>
|
||||
{/if}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
{block name="script"}
|
||||
{/block} {block name="script"}
|
||||
<script>
|
||||
var actvateEmaiUrl = "{:url('User/active')}";
|
||||
</script>
|
||||
|
@ -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>
|
||||
{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"}
|
||||
{/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');
|
||||
$("#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},
|
||||
data: { id: id },
|
||||
daType: "json",
|
||||
success: function (res) {
|
||||
if (res.status == 0) {
|
||||
othis.next().html('已读');
|
||||
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');
|
||||
$("#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},
|
||||
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>'
|
||||
skin: "layui-layer-rim", //加上边框
|
||||
area: ["400px", "350px"], //宽高
|
||||
content:
|
||||
'<div class="layui-form" style="padding: 10px 20px 0 20px;"> ' + res.content + "</div>",
|
||||
}),
|
||||
othis.next().html('已读');
|
||||
}
|
||||
othis.next().html("已读");
|
||||
}
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
|
@ -103,7 +103,6 @@
|
||||
<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>
|
||||
@ -111,7 +110,6 @@
|
||||
<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>
|
||||
@ -164,7 +162,6 @@ var form = layui.form;
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
@ -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