前端用户中心功能完善
This commit is contained in:
@@ -171,4 +171,33 @@ class Base {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected function getCurrentTitle() {
|
||||
$mate = '';
|
||||
$controller = strtr(strtolower($this->request->controller()), '.', '\\');
|
||||
$action = $this->request->action();
|
||||
$class = "\\app\\controller\\" . $controller;
|
||||
if (class_exists($class)) {
|
||||
$reflection = new \ReflectionClass($class);
|
||||
$group_doc = $this->Parser($reflection->getDocComment());
|
||||
if(isset($group_doc['title'])){
|
||||
$mate = $group_doc['title'];
|
||||
}
|
||||
$method = $reflection->getMethods(\ReflectionMethod::IS_FINAL | \ReflectionMethod::IS_PUBLIC);
|
||||
foreach ($method as $key => $v) {
|
||||
if($action == $v->name){
|
||||
$title_doc = $this->Parser($v->getDocComment());
|
||||
if(isset($title_doc['title'])){
|
||||
$mate = $title_doc['title'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $mate;
|
||||
}
|
||||
|
||||
protected function Parser($text) {
|
||||
$doc = new \doc\Doc();
|
||||
return $doc->parse($text);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,33 +243,4 @@ class Base extends BaseC {
|
||||
View::assign('extend_menu', array('管理插件' => $menu));
|
||||
}
|
||||
}
|
||||
|
||||
protected function getCurrentTitle() {
|
||||
$mate = '';
|
||||
$controller = strtr(strtolower($this->request->controller()), '.', '\\');
|
||||
$action = $this->request->action();
|
||||
$class = "\\app\\controller\\" . $controller;
|
||||
if (class_exists($class)) {
|
||||
$reflection = new \ReflectionClass($class);
|
||||
$group_doc = $this->Parser($reflection->getDocComment());
|
||||
if(isset($group_doc['title'])){
|
||||
$mate = $group_doc['title'];
|
||||
}
|
||||
$method = $reflection->getMethods(\ReflectionMethod::IS_FINAL | \ReflectionMethod::IS_PUBLIC);
|
||||
foreach ($method as $key => $v) {
|
||||
if($action == $v->name){
|
||||
$title_doc = $this->Parser($v->getDocComment());
|
||||
if(isset($title_doc['title'])){
|
||||
$mate = $title_doc['title'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $mate;
|
||||
}
|
||||
|
||||
protected function Parser($text) {
|
||||
$doc = new \doc\Doc();
|
||||
return $doc->parse($text);
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ class Base extends BaseC {
|
||||
}
|
||||
|
||||
if (!in_array($url, array('admin/index/login', 'admin/index/logout', 'admin/index/verify'))) {
|
||||
View::assign('meta_title', isset($this->data['meta_title']) ? $this->data['meta_title'] : $this->getCurrentTitle());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +37,9 @@ class Base extends BaseC {
|
||||
$this->tpl_config['view_dir_name'] = 'public' . DIRECTORY_SEPARATOR . 'template' . DIRECTORY_SEPARATOR . $pc_themes;
|
||||
}
|
||||
}
|
||||
if(!is_dir($this->app->getRootPath() . $this->tpl_config['view_dir_name'])){
|
||||
$this->tpl_config['view_dir_name'] = 'public' . DIRECTORY_SEPARATOR . 'template' . DIRECTORY_SEPARATOR . 'default';
|
||||
}
|
||||
if ($template == '') {
|
||||
$template = str_replace(".", "@", strtolower($this->request->controller())) . "/" . $this->request->action();
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\controller\user;
|
||||
|
||||
use app\model\Member;
|
||||
|
||||
/**
|
||||
* @title 用户中心
|
||||
*/
|
||||
@@ -26,7 +28,21 @@ class Index extends Base {
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function profile() {
|
||||
return $this->fetch();
|
||||
if ($this->request->isPost()) {
|
||||
$reuslt = (new Member())->editUser($this->request, session('userInfo.uid'));
|
||||
if (false !== $reuslt) {
|
||||
return $this->success('修改成功!');
|
||||
} else {
|
||||
return $this->error('修改失败');
|
||||
}
|
||||
}else{
|
||||
$info = Member::find(session('userInfo.uid'));
|
||||
$this->data = [
|
||||
'info' => $info,
|
||||
'keyList' => Member::$useredit
|
||||
];
|
||||
return $this->fetch('user@/edit');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -42,7 +42,7 @@ class Member extends Model {
|
||||
['name'=>'email','title'=>'邮箱','type'=>'text','help'=>'用户邮箱,用于找回密码等安全操作'],
|
||||
];
|
||||
|
||||
public $useredit = [
|
||||
public static $useredit = [
|
||||
['name'=>'uid','type'=>'hidden'],
|
||||
['name'=>'nickname','title'=>'昵称','type'=>'text','help'=>''],
|
||||
['name'=>'sex','title'=>'性别','type'=>'select','option'=>[['key' => '0', 'label'=>'保密'],['key' => '1', 'label' =>'男'],['key' => '2', 'label'=>'女']],'help'=>''],
|
||||
@@ -208,17 +208,20 @@ class Member extends Model {
|
||||
return $info->append(['avatar', 'status_text'])->toArray();
|
||||
}
|
||||
|
||||
public function editUser($request){
|
||||
public function editUser($request, $uid = 0){
|
||||
$data = $request->post();
|
||||
$data['uid'] = $uid ? $uid : $data['uid'];
|
||||
|
||||
if (!$data['uid']) {
|
||||
return false;
|
||||
}
|
||||
if ($data['password'] !== '') {
|
||||
if (isset($data['password']) && $data['password'] !== '') {
|
||||
$data['salt'] = \xin\helper\Str::random(6);
|
||||
return self::update($data, ['uid' => $data]);
|
||||
}else{
|
||||
unset($data['password']);
|
||||
if(isset($data['password'])){
|
||||
unset($data['password']);
|
||||
}
|
||||
return $this->where('uid', $data['uid'])->save($data);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user