规范化

This commit is contained in:
tao 2021-12-15 15:46:04 +08:00
parent 002d647e04
commit 641e2400e6
46 changed files with 1042 additions and 1202 deletions

View File

@ -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);

View File

@ -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;
}
//提交反馈

View File

@ -1,6 +1,5 @@
<?php
return [
app\middleware\AdminLoginCookie::class,
app\middleware\Auth::class,
];

View File

@ -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;
}
/**
* idpid,菜单排序
* @var $data 数据
* @var $pid 父级id
*/
public function sort($data,$pid=0)
{
static $arr = array();

View File

@ -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">

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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);
}
/**

View File

@ -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);
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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' => '页面错误!请稍后再试~',

View File

@ -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,
// 数据库读写是否分离 主从式有效

View File

@ -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", {});
});

View File

@ -1,12 +1,3 @@
/**
@NamelayuiAdmin 社区系统
@Authorstar1029
@Sitehttp://www.layui.com/admin/
@LicenseLPPL
*/
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: '对不起,加载出现异常!'
});

View File

@ -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>

View File

@ -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(){

View File

@ -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){

View File

@ -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>

View File

@ -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}

View File

@ -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}

View File

@ -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);
}
});

View File

@ -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>

View File

@ -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">

View File

@ -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}

View File

@ -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}

View File

@ -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"

View File

@ -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>

View File

@ -1,24 +1,27 @@
<div class="fly-footer html5plus-hide">
<p> Copyright &copy; {: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 &copy; {: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>

View File

@ -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">&#xe612;</i>{:lang('user center')}</a></dd>
<dd><a href="{:url('user/set')}"><i class="layui-icon">&#xe620;</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;">&#xe68e;</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">&#xe612;</i>{:lang('user center')}</a></dd>
<dd><a href="{:url('user/set')}"><i class="layui-icon">&#xe620;</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;">&#xe68e;</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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -1,3 +1,2 @@
<link rel="stylesheet" href="/static/res/layui/css/layui.css">
<link rel="stylesheet" href="/static/res/css/global.css">

View File

@ -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="/">

View File

@ -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>

View File

@ -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"

View File

@ -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}

View File

@ -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>

View File

@ -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}

View File

@ -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;">

View File

@ -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">&#xe67c;</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">&#xe67c;</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}

View File

@ -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">&#xe67c;</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>