管理功能升级

This commit is contained in:
2016-06-27 17:53:01 +08:00
parent 81b6167106
commit 028187797d
15 changed files with 453 additions and 136 deletions

View File

@@ -11,7 +11,7 @@ return array(
'user_administrator' => 1,
'url_common_param'=>true,
//'url_common_param'=>true,
'template' => array(
),

View File

@@ -48,11 +48,12 @@ class Content extends Admin{
$grid_list = get_grid_list($this->modelInfo['list_grid']);
$order = "id desc";
$map = array();
$field = array_filter($grid_list['fields']);
if ($this->modelInfo['extend'] == 1) {
$map['model_id'] = $this->modelInfo['id'];
array_push($field, 'is_top');
}
$field = array_filter($grid_list['fields']);
$list = $this->model->where($map)->field($field)->order($order)->paginate(15);
$data = array(
@@ -60,9 +61,14 @@ class Content extends Admin{
'list' => $list,
'page' => $list->render()
);
if($this->modelInfo['template_list']){
$template = 'content/' . $this->modelInfo['template_list'];
}else{
$template = 'content/index';
}
$this->assign($data);
$this->setMeta($this->modelInfo['title'] . "列表");
return $this->fetch('content/index');
return $this->fetch($template);
}
/**
@@ -104,7 +110,7 @@ class Content extends Admin{
return $this->error($this->model->getError(),'');
}
}else{
$id = input('get.id','','trim,intval');
$id = input('id','','trim,intval');
if (!$id) {
return $this->error("非法操作!");
}
@@ -129,7 +135,7 @@ class Content extends Admin{
*/
public function del(){
$id = input('get.id','','trim');
$ids = input('post.ids/a',array());
$ids = input('post.ids',array());
array_push($ids, $id);
if (empty($ids)) {
return $this->error("非法操作!");

View File

@@ -60,7 +60,7 @@ class Model extends Admin{
* @author huajie <banhuajie@163.com>
*/
public function edit() {
$id = input('get.id', '');
$id = input('id', '', 'trim,intval');
if (empty($id)) {
return $this->error('参数不能为空!');
}

View File

@@ -35,7 +35,7 @@
{else/}
{volist name="list" id="item"}
<tr>
<td><input class="ids row-selected" type="checkbox" name="ids[]" value="{$item['id']}"></td>
<td><input class="ids row-selected" type="checkbox" name="id[]" value="{$item['id']}"></td>
{volist name="grid['grids']" id="vo"}
{if isset($vo['format'])}
<td>{$item[$vo['field'][0]]|$vo['format']}</td>
@@ -44,6 +44,13 @@
{/if}
{/volist}
<td>
{if isset($item['is_top'])}
{if $item['is_top']}
<a href="{:url('admin/content/is_top',array('id'=>$item['id'],'model_id'=>$model_id,'is_top'=>'0'))}" class="ajax-get">取消置顶</a>
{else/}
<a href="{:url('admin/content/is_top',array('id'=>$item['id'],'model_id'=>$model_id,'is_top'=>'1'))}" class="ajax-get">置顶</a>
{/if}
{/if}
{if isset($item['status'])}
{if $item['status']}
<a href="{:url('admin/content/status',array('id'=>$item['id'],'model_id'=>$model_id,'status'=>'0'))}" class="ajax-get">取消审核</a>

View File

@@ -63,6 +63,16 @@
<span class="help-block">选“是”则会新建默认的id字段作为主键</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">是否会员显示</label>
<div class="col-lg-10">
<select name="is_user_show" class="form-control" style="width:auto">
<option value="1" selected="selected"></option>
<option value="0"></option>
</select>
<span class="help-block">选“是”则会新建默认的id字段作为主键</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">模型图标</label>
<div class="col-lg-6 col-sm-10">

View File

@@ -47,6 +47,16 @@
<span class="help-block">(目前只支持独立模型和文档模型)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">是否会员显示</label>
<div class="col-lg-10">
<select name="is_user_show" class="form-control" style="width:auto">
<option value="1" {if $info['is_user_show'] ==1}selected="selected"{/if}></option>
<option value="0" {if $info['is_user_show'] ==0}selected="selected"{/if}></option>
</select>
<span class="help-block">选“是”则会新建默认的id字段作为主键</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">模型图标</label>
<div class="col-lg-6 col-sm-10">
@@ -127,21 +137,21 @@
<label class="col-lg-2 control-label">列表模板</label>
<div class="col-lg-6 col-sm-10">
<input type="text" class="form-control" name="template_list" value="{$info['template_list']|default=''}">
<span class="help-block">(自定义的列表模板,放在Application\Admin\View\Think下,不写则使用默认模板)</span>
<span class="help-block">(自定义的列表模板,放在application\admin\view\content下,不写则使用默认模板)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">新增模板</label>
<div class="col-lg-6 col-sm-10">
<input type="text" class="form-control" name="template_add" value="{$info['template_add']|default=''}">
<span class="help-block">(自定义的新增模板,放在Application\Admin\View\Think下,不写则使用默认模板)</span>
<span class="help-block">(自定义的新增模板,放在application\admin\view\content下,不写则使用默认模板)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">编辑模板</label>
<div class="col-lg-6 col-sm-10">
<input type="text" class="form-control" name="template_edit" value="{$info['template_edit']|default=''}">
<span class="help-block">(自定义的编辑模板,放在Application\Admin\View\Think下,不写则使用默认模板)</span>
<span class="help-block">(自定义的编辑模板,放在application\admin\view\content下,不写则使用默认模板)</span>
</div>
</div>
<div class="form-group">

View File

@@ -9,6 +9,17 @@
</div>
</header>
<div class="main-box-body clearfix">
<div class="row" style="padding: 10px;">
<div class="col-sm-12">
<form class="form form-inline" method="post">
<div class="form-group">
<label for="order_no">订单号:</label>
<input type="text" class="form-control" name="order_no" id="order_no" placeholder="订单号">
</div>
<button type="submit" class="btn btn-primary">查找</button>
</form>
</div>
</div>
<div class="table-responsive clearfix">
{volist name="list" id="item"}
<div class="panel panel-info">

View File

@@ -16,8 +16,11 @@ class User extends Base{
if (!is_login() and !in_array($this->url,array('user/login/index', 'user/index/verify'))) {
$this->redirect('user/login/index');exit();
}else{
}elseif (is_login()) {
$user = model('User')->getInfo(session('user_auth.uid'));
if (!$this->checkProfile($user) && $this->url !== 'user/profile/index') {
return $this->error('请补充完个人资料!', url('user/profile/index'));
}
$this->assign('user', $user);
//设置会员中心菜单
@@ -34,7 +37,11 @@ class User extends Base{
$menu['订单管理'] = array(
array('title'=>'我的订单', 'url'=>'user/order/index', 'icon'=>'shopping-bag'),
);
$menu['内容管理'] = $this->getContentMenu();
$contetnmenu = $this->getContentMenu();
if (!empty($contetnmenu)) {
$menu['内容管理'] = $contetnmenu;
}
foreach ($menu as $group => $item) {
foreach ($item as $key => $value) {
if (url($value['url']) == $_SERVER['REQUEST_URI']) {
@@ -51,6 +58,7 @@ class User extends Base{
protected function getContentMenu(){
$list = array();
$map = array(
'is_user_show' => 1,
'status' => array('gt',0),
'extend' => array('gt',0),
);
@@ -64,4 +72,13 @@ class User extends Base{
}
return $list;
}
protected function checkProfile($user){
$result = true;
//判断用户资料是否填写完整
if (!$user['nickname'] || !$user['qq']) {
$result = false;
}
return $result;
}
}

View File

@@ -110,7 +110,7 @@ class User extends \think\model\Merge{
* 用户注册
* @param integer $user 用户信息数组
*/
function register($username, $password, $repassword, $isautologin = true){
function register($username, $password, $repassword, $email, $isautologin = true){
if ($password !== $repassword) {
$this->error = "密码和确认密码不相同";
return false;
@@ -119,6 +119,7 @@ class User extends \think\model\Merge{
$data['username'] = $username;
$data['salt'] = rand_string(6);
$data['password'] = $password;
$data['email'] = $email;
$result = $this->validate(true)->save($data);
if ($result) {
$this->data['uid'] = $result;

View File

@@ -16,11 +16,16 @@ class Member extends \think\Validate{
protected $rule = array(
'username' => 'require|unique:member|/^[a-zA-Z]\w{0,39}$/',
'email' => 'require|unique:member|email',
);
protected $message = array(
'username.require' => '用户名必须',
'username.unique' => '用户名已存在',
'email.require' => '邮箱必须',
'email.unique' => '邮箱已存在',
);
protected $scene = array(
//'add' => 'username,email',
);
protected $scene = array();
}

View File

@@ -18,6 +18,7 @@ class Ad{
echo "";return;
}
$ad = db('Ad')->where(array('place_id'=>$place['id'],'status'=>1))->select();
$list = array();
foreach ($ad as $key => $value) {
if ($value['photolist'] != '') {
$photolist = explode(',', $value['photolist']);

View File

@@ -47,13 +47,9 @@ class Login extends Fornt{
return $this->redirect('index/index/index');
}
public function register(){
public function register($username = '', $password = '', $repassword = '', $email = '', $verify = ''){
if (IS_POST) {
$user = model('User');
$username = input('username', '', 'trim');
$password = input('password', '', 'trim');
$repassword = input('repassword', '', 'trim');
$verify = input('verify', '', 'trim');
//验证码验证
$this->checkVerify($verify);
@@ -61,14 +57,25 @@ class Login extends Fornt{
if ($username == '' || $password == '' || $repassword == '') {
return $this->error("请填写完整注册信息!", '');
}
$result = $user->register($username, $password, $repassword);
$result = $user->register($username, $password, $repassword, $email);
if ($result) {
return $this->success('注册成功!', url('user/index/index'));
}else{
return $this->error($user->getError(), '');
}
}else{
if (is_login()) {
$this->redirect('user/index/index');
}
return $this->fetch();
}
}
public function forget(){
}
public function find(){
}
}

View File

@@ -0,0 +1,198 @@
@charset "utf-8";
/* ===============
* 重新定义Html元素
* =============== */
html, body, div, ul, ol, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, fieldset, input { padding: 0; margin: 0;}
h1, h2, h3, h4, h5, h6, pre, code, address, caption, cite, code, em, strong, table, th, td { font-size: 1em; font-style: normal; font-weight: normal;}
strong { font-weight: bold;}
ul, ol { list-style: none outside none;}
fieldset, img { border: medium none; vertical-align: middle;}
caption, th { text-align: left;}
table { border-collapse: collapse; border-spacing: 0;}
body { font: 12px/20px "Hiragino Sans GB","Microsoft Yahei",arial,,"Helvetica Neue",Helvetica,STHeiTi,sans-serif; color: #666; background: #FFF none repeat scroll 0 0; min-width: 1200px;}
input, select, textarea { font: 12px/20px Tahoma, Helvetica, Arial, "\5b8b\4f53", sans-serif;}
i, cite, em { font-style: normal;}
input,button,select,textarea{ outline:none}
html {min-height:101%; }
/* 链接 */
a { color: #333; text-decoration: none; outline: medium none; -webkit-transition-property:color; -webkit-transition-duration: 0.3s; -webkit-transition-timing-function: ease;}
a:link, a:visited, a:active { text-decoration: none;}
a:hover { color: #F87622; text-decoration: underline;}
/* 超出隐藏(需要再设置宽高) */
.over_hidden{ display: block; overflow-x: hidden; overflow-y: hidden; text-overflow: ellipsis; white-space: nowrap;}
.mt15{margin-top: 15px;}
.w80{width: 80px !important;}
/* input放大by input_max.js */
.parentCls { display: inline-block; *display: inline/*IE7*/; *zoom: 1;}
.js-max-input { font-size: 20px; color: #F40; background: #FFFAE5; white-space: nowrap; padding: 7px; border: solid 1px #FFD2B2;}
/* Clearfix,避免因子元素浮动而导致的父元素高度缺失能问题 */
.clearfix:after { clear: both; content: "."; display: block; height: 0; line-height: 0; visibility: hidden;}
.clearfix { display: inline-block;}
html[xmlns] .clearfix { display: block;}
*html .clearfix{height:1%;}
*+html .clearfix{height:1%;}
time { color: #777;}
/*页面整体宽度控制*/
.wrapper { width: 1200px; margin: auto;}
/* 公用头部区域
-------------------------------------- */
.header-wrap { background-color: #FFF; width: 100%;}
.public-head-layout { height: 100px;}
/* 站点logo */
.public-head-layout .site-logo { width: 240px; height: 60px; float: left; margin: 15px 10px auto 0;}
.public-head-layout .site-logo img { max-width: 240px; max-height: 60px;}
.public-head-layout .site-ad { width: 120px; height: 70px; float: left; margin: 10px 10px auto 0;}
.public-head-layout .site-ad img { max-width: 120px; max-height: 70px;}
.header-wrap { width: 99%; height: 80px; border-bottom: solid 2px #F5F5F5; margin: 5px auto 0 auto;}
.public-head-layout { height: 80px;}
.header-wrap .wrapper { width: 1000px}
.public-head-layout .site-logo { margin: 10px 0 0 0;}
.public-head-layout .nc-login-now { font-size: 14px; color: #AAA; line-height: 24px; float: right; height: 24px; margin-top: 50px;}
.public-head-layout .nc-login-now a { font-weight: 600; margin-left: 4px;color: #06C;}
.public-head-layout .nc-regist-now { font-size: 14px; color: #AAA; line-height: 20px; float: right; height: 40px; margin-top: 30px;}
.public-head-layout .nc-regist-now span { vertical-align: top; display: inline-block; *display: inline; *zoom: 1;}
.public-head-layout .nc-regist-now .avatar { width: 40px; height: 40px; margin-right: 6px; border-radius: 100%;}
.public-head-layout .nc-regist-now .avatar img { width: 40px; height: 40px; border-radius: 100%;}
.public-head-layout .nc-regist-now a { font-weight: 600; margin-left: 4px;color: #06C;}
.nc-register-bg { background: #FAFAFA url(../images/register_bg.png) repeat 50% 50% ; width: 100%; height: 680px; overflow: hidden;}
.nc-register-box { filter:progid:DXImageTransform.Microsoft.gradient(enabled='true',startColorstr='#26000000', endColorstr='#26000000');background:rgba(0,0,0,0.15); width: 860px; height: 560px; padding: 10px; margin: 60px auto;}
.nc-register-layout { background-color: #FFF; display: block; width: 820px; height: 520px; padding: 19px; border: solid 1px #CCC; overflow: hidden;}
.nc-register-layout .left { width: 600px; height: 520px; float: left;}
.nc-register-mode { width: 580px;}
.tabs-nav { font-size: 0; word-spacing:-1em; border-bottom: solid 1px #E6E6E6;}
.tabs-nav li { vertical-align: bottom; letter-spacing: normal; word-spacing: normal; text-align: center; display: inline-block; *display: inline; width: 50%; height: 40px; margin-bottom: -1px; *zoom: 1;}
.tabs-nav li a { font-size: 18px; color: #999; line-height: 24px; padding-bottom: 13px; position: relative; z-index: 1;}
.tabs-nav li a:hover { text-decoration: none; color: #000;}
.tabs-nav li a.tabulous_active { color: #F87622; display: block; border-bottom: 3px solid #F87622}
.tabs-nav li a i { font-size: 0; line-height: 0; border-color: #F87622 transparent transparent transparent; border-style: solid dashed dashed dashed; border-width: 7px; display: none; width: 0; height: 0; margin-left: -4px; position: absolute; z-index: 1; left: 50%; bottom: -17px;}
.tabs-nav li a.tabulous_active i { display: block;}
.tabs-container { position: relative; z-index: 1;}
.nc-register-mode .tabs-content { padding: 50px 80px 0 100px;}
.nc-login-form { display: block;}
.nc-login-form dl { background-color: #FFF; width: 398px; height: 52px; margin-top: -1px; border: solid 1px #E6E6E6; position: relative; z-index: 1; overflow: hidden;}
.nc-login-form dl.focus { border-color: #7ABD54; z-index: 3;}
.nc-login-form dl.error { border-color: #F87622 !important; z-index: 2;}
.nc-login-form dl dt { font-size: 14px; line-height: 20px; color: #666; width: 72px; padding: 16px 0 16px 20px; float: left;}
.nc-login-form dl dd { height: 28px; float: left; padding: 12px 0;}
.nc-login-form dl dd .text { font-family: "microsoft yahei"; font-size: 14px; line-height: 28px; width: 290px; height: 28px; padding: 0; border: none 0;}
.nc-login-form dl .note { color: #CCC; line-height: 16px; width: 145px; height: 32px; position: absolute; z-index: 1; top: 10px; left: 245px;}
.nc-login-form dl.focus .note { color: #7ABD54;}
.nc-login-form .code-div { width: 100%; height: 54px;}
.nc-login-form .code-div dl { width: 277px; float: left;}
.nc-login-form .code-div span { width: 120px; height: 52px; float: left; margin: -1px 0 0 -1px; border: solid 1px #E6E6E6; position: relative; z-index: 1;}
.nc-login-form .code-div span img { width: 120px; height: 52px;}
.nc-login-form .code-div span a { font-size: 14px; text-decoration: none; line-height: 52px; color: #FFF; filter:progid:DXImageTransform.Microsoft.gradient(enabled='true',startColorstr='#7F000000', endColorstr='#7F000000');background:rgba(0,0,0,0.5); text-align: center; display: none; width: 120px; height: 52px; position: absolute; z-index: 1; top: 0; left: 0;}
.nc-login-form .code-div span:hover a { display: block;}
.nc-login-form .clause-div { font-size: 14px; color: #666; line-height: 30px; width: 400px; height: 30px; margin-top: 15px; border: none 0;}
.nc-login-form .clause-div dd { padding: 0; height: auto;}
.nc-login-form .clause-div .checkbox { vertical-align: middle; margin-right: 8px;}
.nc-login-form .tiptext { line-height: 20px; color: #999; margin: 15px 0;}
.nc-login-form .tiptext a { line-height: 22px; color: #FFF; background-color: #21b384; vertical-align: middle; display: inline-block; height: 22px; padding: 0 8px; margin: 0 4px; border-radius: 2px;}
.nc-login-form .tiptext a:hover { text-decoration: none; background-color: #1FA67A;}
.nc-login-form .tiptext a i { font-size: 14px; margin-right: 4px;}
.nc-login-form .submit-div { margin-top: 15px;}
.nc-login-form .submit-div .submit { font-family: "microsoft yahei"; font-size: 16px; font-weight: 600; color: #FFF; background-color: #F87622; width: 398px; height: 42px; border: solid 1px #D91E17; border-radius: 3px; cursor: pointer;}
.nc-login-form label.error { color: #000; line-height: 24px; background: #FFF5D9 no-repeat 0 0; text-align: left; white-space: nowrap; height: 24px; padding: 8px 12px 8px 24px; position: absolute; z-index: 2; top: 5px; left: 300px; }
.nc-login-form label.error i { font-size: 24px; margin-right: 12px; color: #FF875A; vertical-align: middle;}
.nc-login-form .clause-div label.error { top: -5px; right: 50px;}
.nc-login-form .code-div label.error { background: transparent none; min-width: auto; padding: 0; top: 15px; right: 0; left: auto;}
.transition { -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; -ms-transition: all .3s ease-in-out; transition: all .3s ease-in-out; -webkit-transition-delay: .3s; -moz-transition-delay: .3s; -o-transition-delay: .3s; -ms-transition-delay: .3s; transition-delay: .3s; }
.make_transist { -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; -ms-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }
.hidescale { -webkit-transform: scale(0.9); -moz-transform: scale(0.9); -o-transform: scale(0.9); -ms-transform: scale(0.9); transform: scale(0.9); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); filter: alpha(opacity=0); opacity: 0; }
.showscale { -webkit-transform: scale(1); -moz-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); transform: scale(1); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1; -webkit-transition-delay: .3s; -moz-transition-delay: .3s; -o-transition-delay: .3s; -ms-transition-delay: .3s; transition-delay: .3s; }
.hideleft { -webkit-transform: translateX(-100%); -moz-transform: translateX(-100%); -o-transform: translateX(-100%); -ms-transform: translateX(-100%); transform: translateX(-100%); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); opacity: 0; display: none\9; ;/*ie6,ie7,ie8*/}
.showleft { -webkit-transform: translateX(0px); -moz-transform: translateX(0px); -o-transform: translateX(0px); -ms-transform: translateX(0px); transform: translateX(0px); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1; -webkit-transition-delay: .3s; -moz-transition-delay: .3s; -o-transition-delay: .3s; -ms-transition-delay: .3s; transition-delay: .3s; display: block\9; ;/*ie6,ie7,ie8*/}
.hidescaleup { -webkit-transform: scale(1.1); -moz-transform: scale(1.1); -o-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); opacity: 0; }
.showscaleup { -webkit-transform: scale(1); -moz-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); transform: scale(1); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1; -webkit-transition-delay: .3s; -moz-transition-delay: .3s; -o-transition-delay: .3s; -ms-transition-delay: .3s; transition-delay: .3s; }
.hideflip { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); display: none\9; ;/*ie6,ie7,ie8*/ opacity: 0; -webkit-transform: rotatey(-90deg) scale(1.1); -moz-transform: rotatey(-90deg) scale(1.1); -o-transform: rotatey(-90deg) scale(1.1); -ms-transform: rotatey(-90deg) scale(1.1); transform: rotatey(-90deg) scale(1.1); -webkit-transform-origin: 50% 50%; -moz-transform-origin: 50% 50%; -o-transform-origin: 50% 50%; -ms-transform-origin: 50% 50%; transform-origin: 50% 50%; }
.showflip { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); display: block\9; ;/*ie6,ie7,ie8*/ opacity: 1; -webkit-transition-delay: .3s; -moz-transition-delay: .3s; -o-transition-delay: .3s; -ms-transition-delay: .3s; transition-delay: .3s; -webkit-transform: rotatey(0deg) scale(1); -moz-transform: rotatey(0deg) scale(1); -o-transform: rotatey(0deg) scale(1); -ms-transform: rotatey(0deg) scale(1); transform: rotatey(0deg) scale(1); -webkit-transform-origin: 50% 50%; -moz-transform-origin: 50% 50%; -o-transform-origin: 50% 50%; -ms-transform-origin: 50% 50%; transform-origin: 50% 50%; }
.tabulousclear { display: block; clear: both; }
.nc-register-layout .right { width: 200px; height: 500px; float: right; padding: 20px 0 0 19px; border-left: solid 1px #E6E6E6;}
.nc-register-layout .right h4 { font-size: 14px; line-height: 20px; height: 20px; margin-bottom: 20px; color: #333;}
.nc-register-layout .right .api-login { font-size: 0; *word-spacing:-1px/*IE6、7*/; padding-bottom: 20px; margin-bottom: 20px; border-bottom: dashed 1px #E6E6E6; }
.nc-register-layout .right .api-login a { vertical-align: top; display: inline-block; *display: inline; width: 42px; margin-left: 12px; *zoom: 1;}
.nc-register-layout .right .api-login a i { background: url(../images/login_pic.png) no-repeat; display: block; width: 42px; height: 42px;}
.nc-register-layout .right .api-login a.qq i { background-position: -126px -32px;}
.nc-register-layout .right .api-login a.sina i { background-position: -168px -32px;}
.nc-register-layout .right .api-login a.wx i { background-position: -210px -32px;}
.nc-register-layout .right .reister-after li { color: #999; line-height: 24px; margin-bottom: 10px; padding-left: 12px;}
.nc-register-layout .right .reister-after i { background: url(../images/login_pic.png) no-repeat; vertical-align: middle; display: inline-block; width: 24px; height: 24px; margin-right: 8px;}
.nc-register-layout .right .reister-after .ico01 i { background-position: 0 -76px;}
.nc-register-layout .right .reister-after .ico02 i { background-position: -30px -76px;}
.nc-register-layout .right .reister-after .ico03 i { background-position: -60px -76px;}
.nc-register-layout .right .reister-after .ico04 i { background-position: -90px -76px;}
.nc-register-layout .right .reister-after .ico05 i { background-position: -120px -76px;}
.nc-register-layout .right .reister-after .ico06 i { background-position: -150px -76px;}
/* 注册表单样式 */
.nc-login-layout { width: 1000px; margin: 20px auto; position: relative; z-index: 1;}
.nc-login-layout .openid { font-size: 14px; color: #AAA; line-height: 20px; height: 40px; position: absolute; z-index: 1; top: -70px; right: 0;}
.nc-login-layout .openid span { vertical-align: top; display: inline-block; *display: inline; *zoom: 1;}
.nc-login-layout .openid .avatar { width: 40px; height: 40px; margin-right: 6px; border-radius: 100%;}
.nc-login-layout .openid .avatar img { width: 40px; height: 40px; border-radius: 100%;}
.nc-login-layout .openid a { font-weight: 600; margin: 0 4px;}
.nc-login { background-color: #FFF; width: 440px; padding: 19px 19px 29px 19px; border: solid 1px #E6E6E6; border-radius: 5px; float:right; position: relative; z-index: 1;}
.nc-login .arrow { background: url(../images/login_pic.png) no-repeat -280px 0; width: 17px; height: 9px; position: absolute; z-index: 1; top: -9px; left: 160px;}
.nc-login .tabs-container { margin-top: 30px; padding: 0 40px 20px 40px;}
.nc-login .tabs-content { width: 352px; }
.nc-login .nc-login-form dl { width: 348px;}
.nc-login .nc-login-form dl dd .text { width: 240px;}
.nc-login .nc-login-form .code-div dl { width: 228px;}
.nc-login .nc-login-form .handle-div { line-height: 20px; margin-top: 15px; overflow: hidden;}
.nc-login .nc-login-form .handle-div .auto { color: #999; float: left;}
.nc-login .nc-login-form .handle-div .auto .checkbox { vertical-align: middle; display: inline-block; margin-right: 4px;}
.nc-login .nc-login-form .handle-div .auto em { line-height: 20px; color: #ff3238; vertical-align: top; display: inline-block; margin-left: 6px;}
.nc-login .nc-login-form .handle-div .forget { float: right;}
.nc-login .nc-login-form .submit-div .submit { width: 348px;}
.nc-login-api { font-size: 0; *word-spacing:-1px/*IE6、7*/; width: 340px; margin: 0 auto; }
.nc-login-api h4 { font-size: 12px; line-height: 20px; color: #333; font-weight: 600; height: 20px; margin-bottom: 10px;}
.nc-login-api a { font-size: 12px; text-decoration: none; color: #AAA; vertical-align: top; display: inline-block; *display: inline; height: 32px; margin-right: 24px; *zoom: 1;}
.nc-login-api a i { background: url(../images/login_pic.png) no-repeat; vertical-align: middle; display: inline-block; *display: inline; width: 32px; height: 32px; margin-right:6px; *zoom: 1;}
.nc-login-api a.qq i { background-position: 0 0;}
.nc-login-api a.sina i { background-position: -32px 0;}
.nc-login-api a.wx i { background-position: -64px 0;}
.nc-login-api a.qq:hover { color: #3EB6E8;}
.nc-login-api a.qq:hover i { background-position: -96px 0;}
.nc-login-api a.sina:hover { color: #F77260;}
.nc-login-api a.sina:hover i { background-position: -128px 0;}
.nc-login-api a.wx:hover { color: #4EA335;}
.nc-login-api a.wx:hover i { background-position: -160px 0;}
.nc-login-layout .left-pic { width: 450px; height: 350px; float:left; margin: 30px 0; position: relative; z-index:1;}
.nc-login-layout .left-pic img { max-width: 450px; max-height: 350px; position: absolute; z-index:1; top:0; left:0 }
.nc-login-layout .left-pic span { position:absolute; z-index: 2; top:220px; left:100px; line-height:32px; font-size: 24px; font-family:"microsoft yahei"; width: 250px; text-align: center; }
.nc-login-layout .left-pic p a { color: #FFF; position:absolute; z-index: 2; top:270px; left: 165px; line-height:28px; font-size: 12px; width: 120px; text-align: center; }
.nc-login-left { line-height: 22px; color: #626A73; display: inline; width: 450px; float: left; margin: 10px 0;}
.nc-login-left h3 { font-size:18px; font-family: "microsoft yahei"; font-weight:700; color: #555; line-height: 30px; margin-top: 2px; margin-bottom: 6px;}
.nc-login-left ol { width: 420px; margin-top: 20px; border-bottom: dashed 1px #E7E7E7;}
.nc-login-left ol li { font-family: "microsoft yahei"; font-size: 14px; line-height: 48px; display: block; vertical-align: middle; width: 200px; height: 48px; float: left; padding: 0 0 12px 0; margin: 0 0 5px 10px; overflow: hidden;}
.nc-login-left ol li i { display: inline-block; background: url(../images/login.png) no-repeat scroll; vertical-align: middle; width: 48px; height: 48px; margin-right:10px;}
.nc-login-left ol li.ico01 i { background-position: -256px 0;}
.nc-login-left ol li.ico02 i { background-position: -304px 0; }
.nc-login-left ol li.ico03 i { background-position: -352px 0; }
.nc-login-left ol li.ico04 i { background-position: -256px -48px; }
.nc-login-left ol li.ico05 i { background-position: -304px -48px; }
.nc-login-left ol li.ico06 i { background-position: -352px -48px; }
@media projection, screen {.ui-tabs-hide { display: none; }}
@media print {.ui-tabs-nav { display: none; }}
.ui-tabs-nav:after { display: block; clear: both; content: " "; }
.ui-tabs-disabled { opacity: .4; filter: alpha(opacity=40); }
.ui-tabs-loading em { background: url(../images/loading.gif) no-repeat 0 50%; padding: 0 0 0 20px; }
* html .ui-tabs-nav { display: inline-block; }
*:first-child+html .ui-tabs-nav { display: inline-block; }
#faq { display:none;}
#footer { font-size: 12px !important; border-top:1px solid #e7e7e7; text-align: center; margin: 0 auto; padding-bottom: 10px; overflow: hidden; background:#F5F5F5; width:100%}
#footer p { color: #666; word-spacing: 5px; padding: 10px 0; }
#footer a { color: #666; text-decoration: none; }
#footer a:hover { text-decoration: underline; }
#footer .vol { font-family: Verdana, Geneva, sans-serif; font-weight: 600; font-style: oblique; font-size: 12px;}
#footer .vol .b { color: #00F;}
#footer .vol .o { color: #F60;}
#footer .vol em { font-family: Georgia, Arial; font-weight: 600; font-style: italic; color: #000; margin-left: 2px;}

View File

@@ -4,13 +4,11 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta charset="UTF-8">
<title>会员登录</title>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
<title>用户注册</title>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
<link rel="stylesheet" type="text/css" href="__CSS__/style.css"/>
<link rel="stylesheet" type="text/css" href="__CSS__/member_login.css"/>
<script src="__PUBLIC__/js/jquery.js"></script>
<!--[if lt IE 9]>
<script src="__PUBLIC__/js/html5shiv.js"></script>
@@ -18,60 +16,75 @@
<![endif]-->
</head>
<body>
<body id="login-page-full">
<div id="login-full-wrapper">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div id="login-box">
<div id="login-box-holder">
<div class="row">
<div class="col-xs-12">
<div id="login-box-inner">
<form role="form" method="post">
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-user"></i>
</span>
<input class="form-control" name="username" type="text" placeholder="登录账户"></div>
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-key"></i>
</span>
<input type="password" name="password" class="form-control" placeholder="登录密码"></div>
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-qrcode"></i>
</span>
<input type="text" name="verify" class="form-control" placeholder="验证码">
<span class="input-group-addon reloadverify"><img src="{:url('user/index/verify')}" alt="验证码" height="40" class="verifyimg"></span>
</div>
<div class="row">
<div class="col-xs-12">
<button type="submit" class="btn btn-success col-xs-12">
<span class="hidden">
<i class="fa-loading"></i>
登 录 中 ...
</span>
<span class="show">登 录</span>
</button>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="header-wrap">
<header class="public-head-layout wrapper">
<h1 class="site-logo">
<a href="{:url('index/index/index')}"><img src="__PUBLIC__/images/logo.png" class="pngFix"></a>
</h1>
<div class="nc-login-now">
<span>我还没账号,现在就<a href="{:url('user/login/register')}" title="" class="register">注册</a></span>
</div>
</header>
</div>
<div class="nc-login-layout">
<div class="left-pic"><img src="http://s.dxpd.cn/data/upload/shop/login/1.jpg" border="0"></div>
<div class="nc-login">
<div class="nc-login-mode">
<ul class="tabs-nav">
<li><a href="#default" class="tabulous_active">用户登录<i></i></a></li>
</ul>
<div id="tabs_container" class="tabs-container">
<div id="default" class="tabs-content">
<form id="login_form" class="nc-login-form" method="post">
<dl>
<dt>&nbsp;&nbsp;&nbsp;号:</dt>
<dd>
<input type="text" class="text" autocomplete="off" name="username" placeholder="用户名/邮箱" id="username" >
</dd>
</dl>
<dl>
<dt>&nbsp;&nbsp;&nbsp;码:</dt>
<dd>
<input type="password" class="text" name="password" autocomplete="off" placeholder="6-20个大小写英文字母、符号或数字" id="password">
</dd>
</dl>
<div class="code-div mt15">
<dl>
<dt>验证码:</dt>
<dd>
<input type="text" name="verify" autocomplete="off" class="text w80" placeholder="输入验证码" id="verify" size="10" />
</dd>
</dl>
<span><img src="{:url('user/index/verify')}" id="codeimage"/> <a class="makecode" href="javascript:void(0)">看不清,换一张</a></span>
</div>
<div id="login-box-footer">
<div class="row">
<div class="col-xs-12">
版权所有
&copy; <a href="http://www.tensent.cn" target="_blank">TenSent,Inc.</a>
</div>
</div>
<div class="handle-div">
<span class="auto">
<input type="checkbox" class="checkbox" name="auto_login" value="1">七天自动登录<em style="display: none;">请勿在公用电脑上使用</em>
</span>
<a class="forget" href="{:url('user/login/forget')}">忘记密码?</a>
</div>
</div>
<div class="submit-div">
<input type="submit" class="submit" value="登&nbsp;&nbsp;&nbsp;录">
</div>
</form>
</div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<div id="footer" class="wrapper">
<p><a href="http://s.dxpd.cn/shop">首页</a>
| <a href="http://s.dxpd.cn/index.php?act=article&article_id=24">招聘英才</a>
| <a href="http://s.dxpd.cn/index.php?act=article&article_id=25">合作及洽谈</a>
| <a href="http://s.dxpd.cn/index.php?act=article&article_id=23">联系我们</a>
| <a href="http://s.dxpd.cn/index.php?act=article&article_id=22">关于我们</a>
| <a href="http://s.dxpd.cn/delivery">物流自取</a>
| <a href="http://s.dxpd.cn/index.php?act=link">友情链接</a>
</p>
Copyright 2015 <a href="http://www.tensent.cn" target="_blank">腾速科技</a> All rights reserved.<br/>
</div>
</body>
</html>
<script src="__PUBLIC__/js/messager.js"></script>
@@ -103,19 +116,19 @@ $(function(){
} else {
$.messager.show(data.msg, {placement: 'center',type:'success'});
//刷新验证码
$(".reloadverify").click();
$(".makecode").click();
}
}
});
//初始化选中用户名输入框
$("#itemBox").find("input[name=username]").focus();
//刷新验证码
var verifyimg = $(".verifyimg").attr("src");
$(".reloadverify").click(function(){
var verifyimg = $(".codeimage").attr("src");
$(".makecode").click(function(){
if( verifyimg.indexOf('?')>0){
$(".verifyimg").attr("src", verifyimg+'&random='+Math.random());
$(".codeimage").attr("src", verifyimg+'&random='+Math.random());
}else{
$(".verifyimg").attr("src", verifyimg.replace(/\?.*$/,'')+'?'+Math.random());
$(".codeimage").attr("src", verifyimg.replace(/\?.*$/,'')+'?'+Math.random());
}
});

View File

@@ -5,12 +5,10 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta charset="UTF-8">
<title>用户注册</title>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
<link rel="stylesheet" type="text/css" href="__CSS__/style.css"/>
<link rel="stylesheet" type="text/css" href="__CSS__/member_login.css"/>
<script src="__PUBLIC__/js/jquery.js"></script>
<!--[if lt IE 9]>
<script src="__PUBLIC__/js/html5shiv.js"></script>
@@ -18,64 +16,97 @@
<![endif]-->
</head>
<body>
<body id="login-page-full">
<div id="login-full-wrapper">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div id="login-box">
<div id="login-box-holder">
<div class="row">
<div class="col-xs-12">
<div id="login-box-inner">
<form role="form" method="post">
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-user"></i>
</span>
<input class="form-control" name="username" type="text" placeholder="登录账户"></div>
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-key"></i>
</span>
<input type="password" name="password" class="form-control" placeholder="密码"></div>
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-key"></i>
</span>
<input type="password" name="repassword" class="form-control" placeholder="确认密码"></div>
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-qrcode"></i>
</span>
<input type="text" name="verify" class="form-control" placeholder="验证码">
<span class="input-group-addon reloadverify"><img src="{:url('user/index/verify')}" alt="验证码" height="40" class="verifyimg"></span>
</div>
<div class="row">
<div class="col-xs-12">
<button type="submit" class="btn btn-success col-xs-12">
<span class="hidden">
<i class="fa-loading"></i>
注 册 中 ...
</span>
<span class="show">注 册</span>
</button>
</div>
</div>
</form>
</div>
<div class="header-wrap">
<header class="public-head-layout wrapper">
<h1 class="site-logo">
<a href="{:url('index/index/index')}"><img src="__PUBLIC__/images/logo.png" class="pngFix"></a>
</h1>
<div class="nc-login-now">
<span>我已经注册,现在就<a href="{:url('user/login/index')}" title="" class="register">登录</a></span>
</div>
</header>
</div>
<!-- PublicHeadLayout End -->
<div class="nc-register-bg">
<div class="nc-register-box">
<div class="nc-register-layout">
<div class="left">
<div class="nc-register-mode">
<ul class="tabs-nav">
<li><a href="#default" class="tabulous_active">账号注册<i></i></a></li>
</ul>
<div id="tabs_container" class="tabs-container">
<div id="default" class="tabs-content">
<form id="register_form" class="nc-login-form" method="post" >
<dl>
<dt>用户名:</dt>
<dd>
<input type="text" id="username" name="username" class="text" placeholder="请使用3-15个中、英文、数字及“-”符号"/>
</dd>
</dl>
<dl>
<dt>设置密码:</dt>
<dd>
<input type="password" id="password" name="password" class="text" placeholder="6-20个大小写英文字母、符号或数字"/>
</dd>
</dl>
<dl>
<dt>确认密码:</dt>
<dd>
<input type="password" id="repassword" name="repassword" class="text" placeholder="请再次输入密码"/>
</dd>
</dl>
<dl class="mt15">
<dt>邮箱:</dt>
<dd>
<input type="text" id="email" name="email" class="text" placeholder="输入常用邮箱作为验证及找回密码使用"/>
</dd>
</dl>
<div class="code-div mt15">
<dl>
<dt>验证码:</dt>
<dd>
<input type="text" id="verify" name="verify" class="text w80" size="10" placeholder="输入验证码" />
</dd>
</dl>
<span><img src="{:url('user/index/verify')}" id="codeimage"/> <a class="makecode" href="javascript:void(0)">看不清,换一张</a></span>
</div>
</div>
</div>
<div id="login-box-footer">
<div class="row">
<div class="col-xs-12">
版权所有
&copy; <a href="http://www.tensent.cn" target="_blank">TenSent,Inc.</a>
<dl class="clause-div">
<dd>
<input name="agree" type="checkbox" class="checkbox" id="clause" value="1" checked="checked" />
阅读并同意<a href="{:url('index/content/detail?model_id=4&name=agreement')}" target="_blank" class="agreement" title="阅读并同意">《服务协议》</a>
</dd>
</dl>
<div class="submit-div">
<input type="submit" id="Submit" value="立即注册" class="submit"/>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="right">
<div class="reister-after">
<h4>注册之后您可以</h4>
<ol>
<li><i class="fa fa-book"></i> 购买在线图书</li>
</ol>
</div>
</div>
</div>
</div>
</div>
<div id="footer" class="wrapper">
<p><a href="http://s.dxpd.cn/shop">首页</a>
| <a href="http://s.dxpd.cn/index.php?act=article&article_id=24">招聘英才</a>
| <a href="http://s.dxpd.cn/index.php?act=article&article_id=25">合作及洽谈</a>
| <a href="http://s.dxpd.cn/index.php?act=article&article_id=23">联系我们</a>
| <a href="http://s.dxpd.cn/index.php?act=article&article_id=22">关于我们</a>
| <a href="http://s.dxpd.cn/delivery">物流自取</a>
| <a href="http://s.dxpd.cn/index.php?act=link">友情链接</a>
</p>
Copyright 2015 <a href="http://www.tensent.cn" target="_blank">腾速科技</a> All rights reserved.<br/>
</div>
</body>
</html>
<script src="__PUBLIC__/js/messager.js"></script>
@@ -107,19 +138,19 @@ $(function(){
} else {
$.messager.show(data.msg, {placement: 'center',type:'success'});
//刷新验证码
$(".reloadverify").click();
$(".makecode").click();
}
}
});
//初始化选中用户名输入框
$("#itemBox").find("input[name=username]").focus();
//刷新验证码
var verifyimg = $(".verifyimg").attr("src");
$(".reloadverify").click(function(){
var verifyimg = $("#codeimage").attr("src");
$(".makecode").click(function(){
if( verifyimg.indexOf('?')>0){
$(".verifyimg").attr("src", verifyimg+'&random='+Math.random());
$("#codeimage").attr("src", verifyimg+'&random='+Math.random());
}else{
$(".verifyimg").attr("src", verifyimg.replace(/\?.*$/,'')+'?'+Math.random());
$("#codeimage").attr("src", verifyimg.replace(/\?.*$/,'')+'?'+Math.random());
}
});