后台UI完善,体验优化
前端用户中心功能初始化
This commit is contained in:
143
public/template/default/static/js/main.js
Normal file
143
public/template/default/static/js/main.js
Normal file
@@ -0,0 +1,143 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
// 当前资源URL目录
|
||||
var baseRoot = (function () {
|
||||
var scripts = document.scripts, src = scripts[0].src;
|
||||
return src.substring(0, src.lastIndexOf("template")) + 'static/';
|
||||
})();
|
||||
var skinRoot = (function () {
|
||||
var scripts = document.scripts, src = scripts[0].src;
|
||||
return src.substring(0, src.lastIndexOf("/") - 2);
|
||||
})();
|
||||
|
||||
// 配置参数
|
||||
require.config({
|
||||
waitSeconds: 60,
|
||||
packages: [{
|
||||
name: 'moment',
|
||||
location: 'plugins/moment',
|
||||
main: 'moment'
|
||||
}
|
||||
],
|
||||
baseUrl: baseRoot,
|
||||
map: {'*': {css: baseRoot + 'plugins/require/require.css.js'}},
|
||||
paths: {
|
||||
'sent': ['common/js/sent'],
|
||||
'form': ['common/js/require-form'],
|
||||
'upload': 'common/js/require-upload',
|
||||
'validator': 'common/js/require-validator',
|
||||
'message': ['plugins/messager/messager'],
|
||||
'template': ['plugins/art-template/template'],
|
||||
'webupload': ['plugins/webuploader/webuploader.min'],
|
||||
|
||||
//表单组件
|
||||
'board': ['plugins/board/board.min'],
|
||||
'droppable': ['plugins/droppable/droppable'],
|
||||
'tagsinput': ['plugins/tagsinput/bootstrap-tagsinput'],
|
||||
'select2': ['plugins/select2/select2.full'],
|
||||
'iconpicker': ['plugins/bootstrap-iconpicker/dist/js/bootstrap-iconpicker.bundle.min'],
|
||||
|
||||
// openSource
|
||||
'layer': ['plugins/layer/layer'],
|
||||
'base64': ['plugins/jquery/base64.min'],
|
||||
'cxselect': ['plugins/cxselect/jquery.cxselect.min'],
|
||||
// jQuery
|
||||
'jquery': ['plugins/jquery/jquery.min'],
|
||||
'json': ['plugins/jquery/json2.min'],
|
||||
'jquery.ztree': ['plugins/ztree/jquery.ztree.all.min'],
|
||||
'jquery.masonry': ['plugins/jquery/masonry.min'],
|
||||
'jquery.cookies': ['plugins/jquery/jquery.cookie'],
|
||||
// bootstrap
|
||||
'bootstrap': ['plugins/bootstrap/js/bootstrap.min'],
|
||||
'bootstrap.typeahead': ['plugins/bootstrap/js/bootstrap3-typeahead.min'],
|
||||
'bootstrap.multiselect': ['plugins/bootstrap-multiselect/bootstrap-multiselect'],
|
||||
'bootstrap-editable': 'plugins/bootstrap-editable/js/bootstrap-editable.min',
|
||||
'bootstrap-datetimepicker': 'plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min',
|
||||
'bootstrap-daterangepicker': 'plugins/bootstrap-daterangepicker/daterangepicker',
|
||||
|
||||
'validator-core': 'plugins/nice-validator/jquery.validator',
|
||||
'validator-lang': 'plugins/nice-validator/local/zh-CN',
|
||||
|
||||
'NKeditor': 'plugins/NKeditor/NKeditor-all-min',
|
||||
|
||||
//adminlte
|
||||
'adminlte': ['plugins/adminlte/js/adminlte.min'],
|
||||
|
||||
// nanoscroller
|
||||
'slimscroll': 'plugins/jquery-slimscroll/jquery.slimscroll',
|
||||
},
|
||||
shim: {
|
||||
'message': {deps: ['jquery', 'css!'+'plugins/messager/css/style.css']},
|
||||
'board': {deps: ['css!'+'plugins/board/board.min.css']},
|
||||
// open-source
|
||||
'websocket': {deps: [baseRoot + 'plugins/socket/swfobject.min.js']},
|
||||
// jquery
|
||||
'jquery.ztree': {deps: ['css!' + baseRoot + 'plugins/ztree/zTreeStyle/zTreeStyle.css']},
|
||||
// bootstrap
|
||||
'bootstrap':{deps: ['jquery']},
|
||||
'bootstrap.typeahead': {deps: ['bootstrap']},
|
||||
'bootstrap.multiselect': {deps: ['bootstrap', 'css!' + baseRoot + 'plugins/bootstrap-multiselect/bootstrap-multiselect.css']},
|
||||
'bootstrap-editable': {deps:['bootstrap', 'css!'+baseRoot+'plugins/bootstrap-editable/css/bootstrap-editable.css'], exports:'$.fn.editable'},
|
||||
'distpicker': {deps: [baseRoot + 'plugins/distpicker/distpicker.data.js']},
|
||||
'bootstrap-daterangepicker': ['moment/locale/zh-cn'],
|
||||
'bootstrap-datetimepicker': ['moment/locale/zh-cn','css!'+baseRoot+'plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css'],
|
||||
'select2': {deps: ['jquery', 'bootstrap', 'css!'+baseRoot+'plugins/select2/select2.css', 'css!'+baseRoot+'plugins/select2/sent_diy.css']},
|
||||
|
||||
'board': {deps:['jquery', 'droppable', 'css!'+baseRoot+'plugins/board/board.min.css'], exports: '$.fn.board'},
|
||||
'droppable': {deps:['jquery'], exports: '$.fn.droppable'},
|
||||
'tagsinput':{deps: ['jquery', 'bootstrap', 'css!'+baseRoot+'plugins/tagsinput/bootstrap-tagsinput.css'], exports: '$.fn.tagsinput'},
|
||||
'iconpicker':{deps: ['jquery', 'bootstrap', 'css!'+baseRoot+'plugins/bootstrap-iconpicker/dist/css/bootstrap-iconpicker.min.css'], exports: '$.fn.iconpicker'},
|
||||
|
||||
'validator-lang': ['validator-core'],
|
||||
|
||||
'slimscroll': {deps: ['jquery'],exports: '$.fn.extend'},
|
||||
'adminlte': {deps: ['bootstrap', 'slimscroll'],exports: '$.AdminLTE'},
|
||||
|
||||
'form': {deps: ['css!'+baseRoot+'common/css/form.css']},
|
||||
'webupload': {deps: ['jquery', 'css!'+baseRoot+'plugins/webuploader/theme/webuploader.css', 'css!'+baseRoot+'/plugins/webuploader/theme/app.css']},
|
||||
|
||||
'layer': {deps: ['jquery', 'css!'+baseRoot+'plugins/layer/theme/default/layer.css']},
|
||||
'layui':{exports: "layui"}
|
||||
},
|
||||
deps: ['json'],
|
||||
// 开启debug模式,不缓存资源
|
||||
urlArgs: "ver=" + (new Date()).getTime()
|
||||
});
|
||||
|
||||
// 注册jquery到require模块
|
||||
require(['jquery', 'bootstrap', 'message', 'adminlte'], function ($) {
|
||||
//初始配置
|
||||
var Config = requirejs.s.contexts._.config.config;
|
||||
//将Config渲染到全局
|
||||
window.Config = Config;
|
||||
// 配置语言包的路径
|
||||
var paths = {}; // 避免目录冲突
|
||||
require.config({paths: paths});
|
||||
$(function(){
|
||||
require(['sent'], function(sent){
|
||||
require([skinRoot + 'js/user.js'], function(backend){
|
||||
//加载相应模块
|
||||
if (Config.jsname) {
|
||||
require([Config.jsname], function (Controller) {
|
||||
if (Controller.hasOwnProperty(Config.actionname)) {
|
||||
Controller[Config.actionname]();
|
||||
} else {
|
||||
if (Controller.hasOwnProperty("_empty")) {
|
||||
Controller._empty();
|
||||
}
|
||||
}
|
||||
}, function (e) {
|
||||
console.error(e);
|
||||
// 这里可捕获模块加载的错误
|
||||
});
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
});
|
||||
0
public/template/default/static/js/user.js
Normal file
0
public/template/default/static/js/user.js
Normal file
186
public/template/default/user/base.html
Normal file
186
public/template/default/user/base.html
Normal file
@@ -0,0 +1,186 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<title>用户中心</title>
|
||||
<link rel="stylesheet" type="text/css" href="__static__/common/css/main.css?time={:time()}">
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="__static__/common/js/html5shiv.js"></script>
|
||||
<script src="__static__/common/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="hold-transition skin-blue sidebar-mini layout-top-nav">
|
||||
<div class="wrapper">
|
||||
<header class="main-header">
|
||||
<nav class="navbar navbar-static-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<a href="{:url('/user/index/index')}" class="navbar-brand"><b>用户中心</b></a>
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
|
||||
<i class="fa fa-bars"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse pull-left" id="navbar-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="active"><a href="{:url('front.Index/index')}">网站首页</a></li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">我的内容 <span class="caret"></span></a>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
<li><a href="#">文章列表</a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="#">图片列表</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
<!-- Navbar Right Menu -->
|
||||
<div class="navbar-custom-menu">
|
||||
<ul class="nav navbar-nav">
|
||||
<!-- Messages: style can be found in dropdown.less-->
|
||||
<li class="dropdown messages-menu">
|
||||
<!-- Menu toggle button -->
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-envelope-o"></i>
|
||||
<span class="label label-success">4</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="header">You have 4 messages</li>
|
||||
<li>
|
||||
<!-- inner menu: contains the messages -->
|
||||
<ul class="menu">
|
||||
<li><!-- start message -->
|
||||
<a href="#">
|
||||
<div class="pull-left">
|
||||
<!-- User Image -->
|
||||
<img src="__plugins__/adminlte/img/user2-160x160.jpg" class="img-circle" alt="User Image">
|
||||
</div>
|
||||
<!-- Message title and timestamp -->
|
||||
<h4>
|
||||
Support Team
|
||||
<small><i class="fa fa-clock-o"></i> 5 mins</small>
|
||||
</h4>
|
||||
<!-- The message -->
|
||||
<p>Why not buy a new awesome theme?</p>
|
||||
</a>
|
||||
</li>
|
||||
<!-- end message -->
|
||||
</ul>
|
||||
<!-- /.menu -->
|
||||
</li>
|
||||
<li class="footer"><a href="#">See All Messages</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<!-- /.messages-menu -->
|
||||
<!-- User Account Menu -->
|
||||
<li class="dropdown user user-menu">
|
||||
<!-- Menu Toggle Button -->
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<!-- The user image in the navbar-->
|
||||
<img src="__plugins__/adminlte/img/user2-160x160.jpg" class="user-image" alt="User Image">
|
||||
<!-- hidden-xs hides the username on small devices so only the image appears. -->
|
||||
<span class="hidden-xs">{:session('userInfo.nickname')}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<!-- The user image in the menu -->
|
||||
<li class="user-header">
|
||||
<img src="__plugins__/adminlte/img/user2-160x160.jpg" class="img-circle" alt="User Image">
|
||||
|
||||
<p>
|
||||
{:session('userInfo.nickname')}
|
||||
<small>Member since Nov. 2012</small>
|
||||
</p>
|
||||
</li>
|
||||
<!-- Menu Footer-->
|
||||
<li class="user-footer">
|
||||
<div class="pull-left">
|
||||
<a href="{:url('/user/index/profile')}" class="btn btn-default btn-flat">个人资料</a>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<a href="{:url('/user/login/logout')}" class="btn btn-default btn-flat">退出</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- /.navbar-custom-menu -->
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
</nav>
|
||||
</header>
|
||||
<!-- Full Width Column -->
|
||||
<div class="content-wrapper">
|
||||
<div class="container">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<h1> </h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#"><i class="fa fa-dashboard"></i> 用户中心</a></li>
|
||||
<li><a href="#">首页</a></li>
|
||||
<li class="active">我的</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<!-- Main content -->
|
||||
<section class="content">
|
||||
<div class="row">
|
||||
<div class="col-sm-2" style="background: #222d32; padding: 0;">
|
||||
<section class="sidebar">
|
||||
<!-- Sidebar user panel -->
|
||||
<div class="user-panel">
|
||||
<div class="pull-left image">
|
||||
<img src="__plugins__/adminlte/img/user2-160x160.jpg" class="img-circle" alt="User Image">
|
||||
</div>
|
||||
<div class="pull-left info">
|
||||
<p>{:session('userInfo.nickname')}</p>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="sidebar-menu">
|
||||
<li class="header">基础信息</li>
|
||||
<li><a href="{:url('/user/index/profile')}"><i class="fa fa-book"></i> <span>个人资料</span></a></li>
|
||||
<li><a href="{:url('/user/index/repasswd')}"><i class="fa fa-book"></i> <span>修改密码</span></a></li>
|
||||
<li class="header">我的内容</li>
|
||||
<li><a href="#"><i class="fa fa-book"></i> <span>我的内容</span></a></li>
|
||||
<li class="header">我的表单</li>
|
||||
<li><a href="#"><i class="fa fa-book"></i> <span>我的内容</span></a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
<div class="col-sm-10" style="padding-left: 15px;">
|
||||
{block name="body"}
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title"></h3>
|
||||
</div>
|
||||
<div class="box-body"></div>
|
||||
</div>
|
||||
{/block}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.content-wrapper -->
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right hidden-xs">
|
||||
<b>Version</b> 4.x
|
||||
</div>
|
||||
<strong>Copyright © 2013-2020 <a href="https://www.tensent.cn">SentCMS</a>.</strong> All rights
|
||||
reserved.
|
||||
</footer>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var require = {
|
||||
config: {"site": {$config|json_encode|raw}, 'module': 'admin', 'jsname': "{$require['jsname']|default=''}", 'actionname': "{$require['actionname']|default=''}", }
|
||||
}
|
||||
</script>
|
||||
<script src="__plugins__/require/require.js" data-main="__js__/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
1
public/template/default/user/index_index.html
Normal file
1
public/template/default/user/index_index.html
Normal file
@@ -0,0 +1 @@
|
||||
{extend name="base" /}
|
||||
1
public/template/default/user/index_profile.html
Normal file
1
public/template/default/user/index_profile.html
Normal file
@@ -0,0 +1 @@
|
||||
{extend name="base" /}
|
||||
1
public/template/default/user/index_repasswd.html
Normal file
1
public/template/default/user/index_repasswd.html
Normal file
@@ -0,0 +1 @@
|
||||
{extend name="base" /}
|
||||
Reference in New Issue
Block a user