Tplay内容管理框架安装说明及常见问题解决方案

Feb,27 780 ℃ 9
             

Tplay是一款基于ThinkPHP5 + Layui2 + Mysql开发的后台管理框架,PHP版本要求提升到5.5,Tplay集成了一般应用所必须的功能模块,为开发者减少重复性的工作,提升开发速度,规范团队开发模式,代码免费开源使用。


## 安装使用


Tplay的安装非常简单:


1.将你下载的程序包放在服务器环境的根目录下


2.将根目录下的tlay.sql文件导入mysql数据库


3.修改/app/database.php文件中的数据库配置信息


4.将你的域名指向根目录下的public目录(重要)


5.浏览器访问:你的域名/admin   默认管理员账户:admin 密码:tplay


6.如果你用到了短信配置,请前往阿里大鱼官网申请下载自己的sdk文件,替换/extend/dayu下的文件,在后台配置自己的appkey即可


## 常见问题


打不开:


检查自己环境的php版本,要求php>=5.5


路径出现问题:


1.检查自己的域名是不是指向了根目录下的public目录(实在不能指向public目录请看最后)


2.如果你用的环境工具是wamp,请修改/public/.htaccess文件


  Options +FollowSymlinks -Multiviews
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]


## 注意事项


1.菜单数据表tplay_admin_menu分别关联着管理员权限和日志表,最好不要删除系统自带的菜单,否则会造成日志记录出问题,如非要删除,可找到操作方法删掉addlog()代码。


2.系统自带的‘超级管理员’角色默认拥有所有操作权限,包括你新拓展的,因为系统默认跳过id为1的管理员角色组,如有需求可修改User控制器里的代码。


3.为管理员角色分组分配权限时,系统默认会把普通节点勾选,但不会存入数据表,避免之后修改节点时造成权限错乱,系统会默认跳过普通节点不验证权限。



##其他


如果你的域名实在不能指向public目录,只能指向根目录,那也是有解决方案的(谁让我这么好呢(⊙o⊙)…)。


1.修改/app/admin/config.php 


return [
'view_replace_str' => [
'__CSS__'      => '/public/static/admin/css',
'__PUBLIC__'   => '/public/static/public',
'__JS__'       => '/public/static/admin/js'
],
];


2.修改/public/static/admin/js/tab.js  第23行

mainUrl: "/public/admin/main/index",


3.修改/public/static/admin/js/kitconfig.js  第5行

resourcePath: '/public/static/admin/',


4.修改/app/admin/controller/common.php  中的upload方法


public function upload($module='admin',$use='admin_thumb')
    {
        if($this->request->file('file')){
            $file = $this->request->file('file');
        }else{
            $res['code']=1;
            $res['msg']='没有上传文件';
            return json($res);
        }
        $module = $this->request->has('module') ? $this->request->param('module') : $module;//模块
        $web_config = Db::name('webconfig')->where('web','web')->find();
        $info = $file->validate(['size'=>$web_config['file_size']*1024,'ext'=>$web_config['file_type']])->rule('date')->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . $module . DS . $use);
        if($info) {
            //写入到附件表
            $data = [];
            $data['module'] = $module;
            $data['filename'] = $info->getFilename();//文件名
            $data['filepath'] = DS . 'public' . DS .'uploads' . DS . $module . DS . $use . DS . $info->getSaveName();//文件路径
            $data['fileext'] = $info->getExtension();//文件后缀
            $data['filesize'] = $info->getSize();//文件大小
            $data['create_time'] = time();//时间
            $data['uploadip'] = $this->request->ip();//IP
            $data['user_id'] = Cookie::has('admin') ? Cookie::get('admin') : 0;
            if($data['module'] = 'admin') {
                //通过后台上传的文件直接审核通过
                $data['status'] = 1;
                $data['admin_id'] = $data['user_id'];
                $data['audit_time'] = time();
            }
            $data['use'] = $this->request->has('use') ? $this->request->param('use') : $use;//用处
            $res['id'] = Db::name('attachment')->insertGetId($data);
            $res['src'] = DS . 'public' . DS . 'uploads' . DS . $module . DS . $use . DS . $info->getSaveName();
            $res['code'] = 2;
            addlog($res['id']);//记录日志
            return json($res);
        } else {
            // 上传失败获取错误信息
            return $this->error('上传失败:'.$file->getError());
        }
    }


5.修改/app/admin/controller/attachment.php  中的upload方法


public function upload($module='admin',$use='attachment')
    {
        if($this->request->file('file')){
            $file = $this->request->file('file');
        }else{
            $res['code']=1;
            $res['msg']='没有上传文件';
            return json($res);
        }
        $web_config = Db::name('webconfig')->where('web','web')->find();
        $info = $file->validate(['size'=>$web_config['file_size']*1024,'ext'=>$web_config['file_type']])->rule('date')->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . $module . DS . $use);
        if($info) {
            //写入到附件表
            $data = [];
            $data['module'] = $this->request->has('module') ? $this->request->param('module') : $module;//模块
            $data['filename'] = $info->getFilename();//文件名
            $data['filepath'] = DS . 'public' . DS . 'uploads' . DS . $module . DS . $use . DS . $info->getSaveName();//文件路径
            $data['fileext'] = $info->getExtension();//文件后缀
            $data['filesize'] = $info->getSize();//文件大小
            $data['create_time'] = time();//时间
            $data['uploadip'] = $this->request->ip();//IP
            $data['user_id'] = Cookie::has('admin') ? Cookie::get('admin') : 0;
            if($data['module'] = 'admin') {
                //通过后台上传的文件直接审核通过
                $data['status'] = 1;
                $data['admin_id'] = $data['user_id'];
                $data['audit_time'] = time();
            }
            $data['use'] = $this->request->has('use') ? $this->request->param('use') : $use;//用处
            $res['id'] = Db::name('attachment')->insertGetId($data);
            addlog($res['id']);//记录日志
            return $this->success('上传完成','admin/attachment/index');
        } else {
            // 上传失败获取错误信息
            return $this->error('上传失败:'.$file->getError());
        }
    }


6.访问 你的域名/public/admin

提交发言 登录

  • 回复ta ←しovのyo彬 2018-04-08 12:35:56

    jianjie

  • 回复ta 江帅 2018-03-20 11:41:28

  • 回复ta 听雨 2018-03-14 15:44:49

    @别皱眉.,你这个问题我也不是很清楚,回头我试试,你先点本页的超链接去下载吧

  • 回复ta 别皱眉. 2018-03-14 15:37:11

    composer下载phpexcel提示5.6版本不够,升到7.1还是下载不了呢???????

  • 回复ta 听雨 2018-03-13 09:31:50

    @凉薄轻叹世间多变~~,hello啊

  • 回复ta 听雨 2018-03-08 16:44:16

    @别皱眉., 亲,仔细看这篇文章哈,需要配个域名指向public目录,如果不能就按照文章里说的改哈。跳转是正确的,不登录就想管理后台合理吗?显示空是因为你没配置好,css没加载上。

  • 回复ta 别皱眉. 2018-03-08 15:20:00

    本地环境输入localhost/phadmin/public/index.php/admin 总是跳转到localhost/phadmin/public/index.php/admin/common/login.shtml而且显示为空!

  • 回复ta 本熊 2018-03-07 15:15:09

  • 回复ta 凉薄轻叹世间多变~~ 2018-03-05 13:24:07