From f42b62738d0cef0e18134a73f93d43534438d2bf Mon Sep 17 00:00:00 2001 From: tensent Date: Wed, 8 Apr 2020 21:07:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=8E=E5=8F=B0UI=20?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=A1=A8=E5=8D=95=E4=B8=8A=E4=BC=A0=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/Upload.php | 16 +- app/controller/admin/Index.php | 2 +- app/controller/admin/User.php | 45 +---- app/http/form/template/editor.html | 2 +- app/http/form/template/image.html | 17 +- app/model/Member.php | 1 + public/static/admin/css/login.css | 4 +- public/static/admin/js/login.js | 107 ++++++++++++ public/static/admin/js/main.js | 1 + public/static/common/css/form.css | 5 + public/static/common/js/require-form.js | 64 +++++++- public/static/common/js/require-upload.js | 12 +- public/static/common/js/sent.js | 192 +++++++++++++--------- view/admin/index/login.html | 79 ++------- view/admin/public/base.html | 10 +- view/admin/public/edit.html | 10 +- view/admin/user/editpwd.html | 39 +++-- view/upload/server.html | 30 ++-- 18 files changed, 389 insertions(+), 247 deletions(-) create mode 100644 public/static/admin/js/login.js create mode 100644 public/static/common/css/form.css diff --git a/app/controller/Upload.php b/app/controller/Upload.php index 145c475c..91a02644 100644 --- a/app/controller/Upload.php +++ b/app/controller/Upload.php @@ -10,6 +10,7 @@ namespace app\controller; use think\facade\Session; use think\facade\Filesystem; +use think\facade\Db; class Upload extends Base { @@ -53,9 +54,22 @@ class Upload extends Base { if (!isset($param['name'])) { return $this->error('非法操作'); } + $pageConfig = [ + 'list_rows' => $this->request->param('list_rows', 20), + 'page' => $this->request->param('page', 1), + 'query' => $this->request->param() + ]; + if($param['type'] == 'file'){ + $list = Db::name('File')->paginate($pageConfig); + }else{ + $list = Db::name('Picture')->paginate($pageConfig); + } + $this->data = [ 'from' => $this->request->param('from'), 'param' => $param, + 'list' => $list, + 'page' => $list->render(), 'require' => [ 'jsname' => 'upload', 'actionname' => 'server' @@ -81,7 +95,7 @@ class Upload extends Base { return json($data); } - protected function images(){ + protected function image(){ return []; } diff --git a/app/controller/admin/Index.php b/app/controller/admin/Index.php index 8e98885f..ba12d4ed 100755 --- a/app/controller/admin/Index.php +++ b/app/controller/admin/Index.php @@ -76,7 +76,7 @@ class Index extends Base { \think\facade\Log::clear(); } } - return $this->success("更新成功!", url('/admin/index/index')); + return $this->success("更新成功!", url('/admin/index/clear')); } else { $keylist = array( array('name' => 'clear', 'title' => '更新缓存', 'type' => 'checkbox', 'help' => '', 'option' => array( diff --git a/app/controller/admin/User.php b/app/controller/admin/User.php index 019737b2..f009ea8b 100644 --- a/app/controller/admin/User.php +++ b/app/controller/admin/User.php @@ -61,7 +61,6 @@ class User extends Base { public function edit(Member $member) { if ($this->request->isPost()) { $reuslt = $member->editUser($this->request); - if (false !== $reuslt) { return $this->success('修改成功!', url('/admin/user/index')); } else { @@ -165,49 +164,7 @@ class User extends Base { } /** - * @title 修改昵称 - * @author huajie - */ - public function submitNickname() { - - //获取参数 - $nickname = input('post.nickname'); - $password = input('post.password'); - if (empty($nickname)) { - return $this->error('请输入昵称'); - } - if (empty($password)) { - return $this->error('请输入密码'); - } - - //密码验证 - $User = new UserApi(); - $uid = $User->login(UID, $password, 4); - if ($uid == -2) { - return $this->error('密码不正确'); - } - - $Member = model('Member'); - $data = $Member->create(array('nickname' => $nickname)); - if (!$data) { - return $this->error($Member->getError()); - } - - $res = $Member->where(array('uid' => $uid))->save($data); - - if ($res) { - $user = session('user_auth'); - $user['username'] = $data['nickname']; - session('user_auth', $user); - session('user_auth_sign', data_auth_sign($user)); - return $this->success('修改昵称成功!'); - } else { - return $this->error('修改昵称失败!'); - } - } - - /** - * @title 修改密码初始化 + * @title 修改密码 * @author huajie */ public function editpwd() { diff --git a/app/http/form/template/editor.html b/app/http/form/template/editor.html index a9909694..7952a7cf 100644 --- a/app/http/form/template/editor.html +++ b/app/http/form/template/editor.html @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/app/http/form/template/image.html b/app/http/form/template/image.html index c3a5efde..cbac576b 100644 --- a/app/http/form/template/image.html +++ b/app/http/form/template/image.html @@ -5,22 +5,17 @@ {else/} {/if} -
+
{if $value} {php} $images = get_cover($value); {/php} -
  • -
    - - - 上传时间:{$images['create_time']} -
    +
    +
    +
    + {$images['create_time']}
    -
    - -
    -
  • +
    {/if}
    \ No newline at end of file diff --git a/app/model/Member.php b/app/model/Member.php index 3fa895f2..92c8abc9 100644 --- a/app/model/Member.php +++ b/app/model/Member.php @@ -218,6 +218,7 @@ class Member extends Model { $data['salt'] = \xin\helper\Str::random(6); return self::update($data, ['uid' => $data]); }else{ + unset($data['password']); return $this->where('uid', $data['uid'])->save($data); } } diff --git a/public/static/admin/css/login.css b/public/static/admin/css/login.css index 073bd9ed..ead6d5b5 100644 --- a/public/static/admin/css/login.css +++ b/public/static/admin/css/login.css @@ -1,5 +1,7 @@ @charset "UTF-8"; - +@import url(../../common/css/font-awesome.min.css); +@import url(../../common/css/animate.min.css); +@import url(../../plugins/bootstrap/css/bootstrap.min.css); /* +---------------------------------------------------------------------- // | ThinkAdmin // +---------------------------------------------------------------------- diff --git a/public/static/admin/js/login.js b/public/static/admin/js/login.js new file mode 100644 index 00000000..9179386c --- /dev/null +++ b/public/static/admin/js/login.js @@ -0,0 +1,107 @@ +// +---------------------------------------------------------------------- +// | SentCMS [ WE CAN DO IT JUST THINK IT ] +// +---------------------------------------------------------------------- +// | Copyright (c) 2013 http://www.tensent.cn All rights reserved. +// +---------------------------------------------------------------------- +// | Author: molong +// +---------------------------------------------------------------------- + +// 当前资源URL目录 +var baseRoot = (function () { + var scripts = document.scripts, src = scripts[0].src; + return src.substring(0, src.lastIndexOf("/") - 9) + '/'; +})(); + +// 配置参数 +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'], + 'message': ['plugins/messager/messager'], + + 'layer': ['plugins/layer/layer'], + // jQuery + 'jquery': ['plugins/jquery/jquery.min'], + 'json': ['plugins/jquery/json2.min'], + // bootstrap + 'bootstrap': ['plugins/bootstrap/js/bootstrap.min'], + }, + shim: { + 'message': {deps: ['jquery', 'css!'+'plugins/messager/css/style.css']}, + // bootstrap + 'bootstrap':{deps: ['jquery']}, + 'layer': {deps: ['jquery', 'css!'+baseRoot+'plugins/layer/theme/default/layer.css']}, + }, + deps: ['json'], + // 开启debug模式,不缓存资源 + urlArgs: "ver=" + (new Date()).getTime() +}); + +// 注册jquery到require模块 +require(['jquery', 'bootstrap', 'message', 'sent'], function ($, bootstrap, message, sent) { + $('[name="password"]').on('focus', function () { + $('#left-hander').removeClass('initial_left_hand').addClass('left_hand'); + $('#right-hander').removeClass('initial_right_hand').addClass('right_hand') + }).on('blur', function () { + $('#left-hander').addClass('initial_left_hand').removeClass('left_hand'); + $('#right-hander').addClass('initial_right_hand').removeClass('right_hand') + }); + + //表单提交 + $(document).ajaxStart(function(){ + $("button:submit").addClass("log-in").attr("disabled", true); + }).ajaxStop(function(){ + $("button:submit").removeClass("log-in").attr("disabled", false); + }); + + $("form").submit(function(){ + var self = $(this); + $.ajax({ + data: self.serialize(), + type: 'post', + success: function(data){ + if(data.code){ + sent.msg(data.msg, 'success'); + setTimeout(function(){ + window.location.href = data.url; + }, 2000); + } else { + sent.msg(data.msg, 'error'); + setTimeout(function(){ + //刷新验证码 + $(".reloadverify").click(); + }, 2000); + } + }, + error: function(res){ + var data = res.responseJSON; + sent.msg(data.message, 'error'); + setTimeout(function(){ + //刷新验证码 + $(".reloadverify").click(); + }, 2000); + }, + dataType: 'json' + }) + return false; + }); + //初始化选中用户名输入框 + $("#itemBox").find("input[name=username]").focus(); + //刷新验证码 + var verifyimg = $(".verifyimg").attr("src"); + $(".reloadverify").click(function(){ + if( verifyimg.indexOf('?')>0){ + $(".verifyimg").attr("src", verifyimg+'&random='+Math.random()); + }else{ + $(".verifyimg").attr("src", verifyimg.replace(/\?.*$/,'')+'?'+Math.random()); + } + }); +}); \ No newline at end of file diff --git a/public/static/admin/js/main.js b/public/static/admin/js/main.js index 583d3eb6..84649b64 100644 --- a/public/static/admin/js/main.js +++ b/public/static/admin/js/main.js @@ -95,6 +95,7 @@ require.config({ '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']}, diff --git a/public/static/common/css/form.css b/public/static/common/css/form.css new file mode 100644 index 00000000..ed838f27 --- /dev/null +++ b/public/static/common/css/form.css @@ -0,0 +1,5 @@ +.img-list{padding: 10px 0; display: flex; justify-content: start; flex-wrap: wrap;} +.img-list .item{width: 20%;} +.img-list .item .thumb{margin: 10px 10px 0 0 ; border: 1px solid #efefef; height: 120px; border-radius: 4px; position: relative; overflow: hidden;} +.img-list .item .thumb img{width: 100%;} +.img-list .item .close{position: absolute; right: 5px; top: 5px; opacity: 1; width: 20px; height: 20px; font-size: 10px; text-align: center; line-height: 20px; color: #ffffff; border-radius: 50%; background: #333333;} \ No newline at end of file diff --git a/public/static/common/js/require-form.js b/public/static/common/js/require-form.js index 215a262a..6ac433a8 100644 --- a/public/static/common/js/require-form.js +++ b/public/static/common/js/require-form.js @@ -1,6 +1,17 @@ define(['jquery', 'bootstrap', 'validator'], function ($, undefined, Validator) { var Form = { config: { + editor: { + "full":['source', 'undo', 'redo', 'code', 'quote', 'cut', + 'plainpaste', 'wordpaste', 'justifyleft', 'justifycenter', 'justifyright', + 'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript', + 'superscript', 'clearhtml', 'quickformat', 'selectall', '/', + 'formatblock', 'fontname', 'fontsize', 'forecolor', 'hilitecolor', 'bold', + 'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', 'image', 'multiimage', 'media', 'insertfile', 'table', 'hr', 'baidumap', + 'anchor', 'link', 'unlink','fullscreen'], + "base":['undo', 'redo', 'quote', 'formatblock', 'fontname', 'fontsize', 'forecolor', 'hilitecolor', 'bold', + 'italic', 'underline', 'strikethrough', 'lineheight', 'image', 'media', 'table'], + }, fieldlisttpl: '
    ' }, events: { @@ -90,8 +101,10 @@ define(['jquery', 'bootstrap', 'validator'], function ($, undefined, Validator) editor: function (form) { //绑定编辑器元素事件 if ($(".form-editor", form).size() > 0) { + var items = $(".form-editor", form).data('items') || 'full'; require(['NKeditor'], function(){ KindEditor.create('.form-editor', { + items: Form.config.editor[items], uploadJson: "/admin/upload/editor'", fileManagerJson: "/admin/upload/filemanage" }) @@ -261,12 +274,45 @@ define(['jquery', 'bootstrap', 'validator'], function ($, undefined, Validator) var name = $(this).siblings('input[type=hidden]').attr('name'); layer.open({ type: 2, - shade: false, - area: ['60%', '440px'], - title: type == 'image' ? '图片' : '文件', //不显示标题 + area: ['60%', '410px'], + title: false, + closeBtn: false, + shadeClose: true, content: ['/'+Config.module+'/upload/index?name='+name+'&type='+type+'&limit='+limit, 'no'], }); }) + Form.events.imageDel(); + Form.events.fileDel(); + } + }, + imageDel: function(){ + //绑定图片上传删除按钮 + if($('.picker-box .img-list .close').size() > 0){ + $('.picker-box .img-list .close').on('click', function(){ + var value = $('.picker-box input[type=hidden]').val().split(","); + value = value.filter(val => val != $(this).parents('.item').data('id')) + $(this).parents('.item').remove(); + if(value.length > 0){ + $('.picker-box input[type=hidden]').val(value.join(',')); + }else{ + $('.picker-box input[type=hidden]').val(''); + } + }) + } + }, + fileDel: function(){ + //绑定文件上传删除按钮 + if($('.picker-box .file-list .close').size() > 0){ + $('.picker-box .file-list .close').on('click', function(){ + var value = $('.picker-box input[type=hidden]').val().split(","); + value = value.filter(val => val != $(this).parents('.item').data('id')) + $(this).parents('.item').remove(); + if(value.length > 0){ + $('.picker-box input[type=hidden]').val(value.join(',')); + }else{ + $('.picker-box input[type=hidden]').val(''); + } + }) } }, faselect: function (form) { @@ -538,7 +584,17 @@ define(['jquery', 'bootstrap', 'validator'], function ($, undefined, Validator) }, custom: {}, setFile: function(fileList, param){ - // console.log(fileList, param); + var file = $('#fileList_'+param.name); + var field = $('#field_'+param.name); + var html = '
    '; + for(var i = 0; i < 10; i++){ + file.append(html); + } + if(param.type == 'image'){ + Form.events.imageDel(); + }else if(param.type == 'file'){ + Form.events.fileDel(); + } layer.close(layer.index); } }, diff --git a/public/static/common/js/require-upload.js b/public/static/common/js/require-upload.js index f4e2394d..844b01c0 100644 --- a/public/static/common/js/require-upload.js +++ b/public/static/common/js/require-upload.js @@ -427,13 +427,21 @@ define(['jquery', 'bootstrap', 'webupload'], function ($, undefined, WebUploader if (res.code == 1) { var query = sent.parseUrl(window.location.href); Upload.config.upList.push(res.info); - parent.Form.api.setFile(Upload.config.upList, query); + if(Upload.config.upList.length > 0){ + parent.Form.api.setFile(Upload.config.upList, query); + }else{ + sent.msg('未上传数据或上传失败!', 'error') + } } }, server: function(){ $('button.btn-select').click(function(){ var query = sent.parseUrl(window.location.href); - parent.Form.api.setFile(Upload.config.upList, query); + if(Upload.config.upList.length > 0){ + parent.Form.api.setFile(Upload.config.upList, query); + }else{ + sent.msg('未选择数据!', 'error') + } }) } } diff --git a/public/static/common/js/sent.js b/public/static/common/js/sent.js index 21b253b6..3bbbfc5d 100644 --- a/public/static/common/js/sent.js +++ b/public/static/common/js/sent.js @@ -1,16 +1,18 @@ -define(['jquery', 'layer', 'message'], function($, layer) { +define(['jquery', 'layer', 'message'], function ($, layer) { var sent = { config: { keyName: 'sent_' }, - init: function(){ + init: function () { if ($("form[role=form]").length > 0) { - require(['form'], function(form){ + require(['form'], function (form) { form.api.bindevent($("form[role=form]")); }) } + sent.api.bindGet(); //绑定get请求 + sent.api.bindPost(); //绑定post请求 }, - msg: function(text, type){ + msg: function (text, type) { text = (type == 'success') ? text + ' 页面即将自动跳转~' : text; if (typeof type != 'undefined') { var message = $.messager.show(text, { @@ -40,8 +42,12 @@ define(['jquery', 'layer', 'message'], function($, layer) { return obj; }, store: { - set: function(params = {}){ - var { name, content, type} = params; + set: function (params = {}) { + var { + name, + content, + type + } = params; name = sent.config.keyName + name var obj = { dataType: typeof (content), @@ -52,8 +58,11 @@ define(['jquery', 'layer', 'message'], function($, layer) { if (type) window.sessionStorage.setItem(name, JSON.stringify(obj)); else window.localStorage.setItem(name, JSON.stringify(obj)); }, - get: function(params = {}){ - var { name, debug } = params; + get: function (params = {}) { + var { + name, + debug + } = params; name = sent.config.keyName + name var obj = {}, content; @@ -79,8 +88,11 @@ define(['jquery', 'layer', 'message'], function($, layer) { } return content; }, - remove: function(params = {}){ - let { name, type } = params; + remove: function (params = {}) { + let { + name, + type + } = params; name = sent.config.keyName + name if (type) { window.sessionStorage.removeItem(name); @@ -88,9 +100,11 @@ define(['jquery', 'layer', 'message'], function($, layer) { window.localStorage.removeItem(name); } }, - all: function(params = {}){ + all: function (params = {}) { let list = []; - let { type } = params; + let { + type + } = params; if (type) { for (let i = 0; i <= window.sessionStorage.length; i++) { list.push({ @@ -109,13 +123,15 @@ define(['jquery', 'layer', 'message'], function($, layer) { name: window.localStorage.key(i), }) }) - + } } return list; }, - clear: function(params = {}){ - let { type } = params; + clear: function (params = {}) { + let { + type + } = params; if (type) { window.sessionStorage.clear(); } else { @@ -124,72 +140,92 @@ define(['jquery', 'layer', 'message'], function($, layer) { } }, events: { - //请求成功的回调 - onAjaxSuccess: function (ret, onAjaxSuccess) { - var data = typeof ret.data !== 'undefined' ? ret.data : null; - var msg = typeof ret.msg !== 'undefined' && ret.msg ? ret.msg : __('Operation completed'); + //请求成功的回调 + onAjaxSuccess: function (ret, onAjaxSuccess) { + var data = typeof ret.data !== 'undefined' ? ret.data : null; + var msg = typeof ret.msg !== 'undefined' && ret.msg ? ret.msg : __('Operation completed'); - if (typeof onAjaxSuccess === 'function') { - var result = onAjaxSuccess.call(this, data, ret); - if (result === false) - return; - } - sent.msg(msg, 'success'); - }, - //请求错误的回调 - onAjaxError: function (ret, onAjaxError) { - var data = typeof ret.data !== 'undefined' ? ret.data : null; - if (typeof onAjaxError === 'function') { - var result = onAjaxError.call(this, data, ret); - if (result === false) { - return; - } + if (typeof onAjaxSuccess === 'function') { + var result = onAjaxSuccess.call(this, data, ret); + if (result === false) + return; } - sent.msg(ret.msg, 'error'); - }, - //服务器响应数据后 - onAjaxResponse: function (response) { - try { - var ret = typeof response === 'object' ? response : JSON.parse(response); - if (!ret.hasOwnProperty('code')) { - $.extend(ret, {code: -2, msg: response, data: null}); - } - } catch (e) { - var ret = {code: -1, msg: e.message, data: null}; - } - return ret; - } - }, - api:{ - //发送Ajax请求 - ajax: function (options, success, error) { - options = typeof options === 'string' ? {url: options} : options; - var index; - if (typeof options.loading === 'undefined' || options.loading) { - index = layer.load(options.loading || 0); - } - options = $.extend({ - type: "POST", - dataType: "json", - success: function (ret) { - index && layer.close(index); - ret = sent.events.onAjaxResponse(ret); - if (ret.code === 1) { - sent.events.onAjaxSuccess(ret, success); - } else { - sent.events.onAjaxError(ret, error); - } - }, - error: function (xhr) { - index && layer.close(index); - var ret = {code: xhr.status, msg: xhr.statusText, data: null}; - sent.events.onAjaxError(ret, error); - } - }, options); - return $.ajax(options); - }, + sent.msg(msg, 'success'); + }, + //请求错误的回调 + onAjaxError: function (ret, onAjaxError) { + var data = typeof ret.data !== 'undefined' ? ret.data : null; + if (typeof onAjaxError === 'function') { + var result = onAjaxError.call(this, data, ret); + if (result === false) { + return; + } + } + sent.msg(ret.msg, 'error'); + }, + //服务器响应数据后 + onAjaxResponse: function (response) { + try { + var ret = typeof response === 'object' ? response : JSON.parse(response); + if (!ret.hasOwnProperty('code')) { + $.extend(ret, { + code: -2, + msg: response, + data: null + }); + } + } catch (e) { + var ret = { + code: -1, + msg: e.message, + data: null + }; + } + return ret; + } }, - validatenull: function(val){ + api: { + //发送Ajax请求 + ajax: function (options, success, error) { + options = typeof options === 'string' ? { + url: options + } : options; + var index; + if (typeof options.loading === 'undefined' || options.loading) { + index = layer.load(options.loading || 0); + } + options = $.extend({ + type: "POST", + dataType: "json", + success: function (ret) { + index && layer.close(index); + ret = sent.events.onAjaxResponse(ret); + if (ret.code === 1) { + sent.events.onAjaxSuccess(ret, success); + } else { + sent.events.onAjaxError(ret, error); + } + }, + error: function (xhr) { + index && layer.close(index); + var ret = { + code: xhr.status, + msg: xhr.statusText, + data: null + }; + sent.events.onAjaxError(ret, error); + } + }, options); + return $.ajax(options); + }, + bindGet: function(){ + + }, + bindPost: function(){ + + } + }, + validatenull: function (val) { if (typeof val == 'boolean') { return false; } diff --git a/view/admin/index/login.html b/view/admin/index/login.html index c5557ccb..a3468d42 100644 --- a/view/admin/index/login.html +++ b/view/admin/index/login.html @@ -1,23 +1,16 @@ - + - - - - -欢迎您登录SentCMS管理平台 - - - - - - - - + + + +SentCMS网站管理系统后台 + + @@ -45,7 +38,7 @@
    -
    +
    @@ -80,53 +73,11 @@
    - + \ No newline at end of file diff --git a/view/admin/public/base.html b/view/admin/public/base.html index 89e0d318..3dede10e 100644 --- a/view/admin/public/base.html +++ b/view/admin/public/base.html @@ -50,13 +50,13 @@
  • @@ -64,10 +64,10 @@
  • diff --git a/view/admin/public/edit.html b/view/admin/public/edit.html index 3e00d008..57b96b9b 100644 --- a/view/admin/public/edit.html +++ b/view/admin/public/edit.html @@ -24,8 +24,8 @@ {else/}
    - -
    + +
    {:form($field, $info)}
    {$field['help']|default=''}
    @@ -42,8 +42,8 @@ {else/}
    - -
    + +
    {:form($field, $info)}
    {$field['help']|default=''}
    @@ -52,7 +52,7 @@ {/volist} {/if}
    -
    +
    {if isset($info['id'])}{/if} diff --git a/view/admin/user/editpwd.html b/view/admin/user/editpwd.html index 851e540a..c81fd2bc 100644 --- a/view/admin/user/editpwd.html +++ b/view/admin/user/editpwd.html @@ -1,42 +1,41 @@ {extend name="admin/public/base"/} {block name="body"} -
    - - +
    -
    -

    修改昵称

    -
    +

    {$meta_title}

    -
    +
    - +
    - -
    - + +
    + +
    - -
    - + +
    + +
    - -
    - + +
    + +
    -
    +
    - - + +
    diff --git a/view/upload/server.html b/view/upload/server.html index 9f6302fa..89be1eae 100644 --- a/view/upload/server.html +++ b/view/upload/server.html @@ -1,6 +1,13 @@ {include file="admin/public/header" /}