layuiAdmin pro 是完全基于 layui 架构而成的后台管理模板系统,可以更轻松地实现前后端分离,它是mvc 的简化版,全面接管 视图页面路由,并可自主完成数据渲染,服务端通常只负责数据接口,而前端只需专注视图和事件交互,所有的页面动作都是在一个宿主页面中完成,因此这赋予了layuiAdmin 单页面应用开发的能力。

由于 layuiAdmin pro 可采用前后端分离开发模式,因此你无需将其放置在你的服务端 MVC 框架中,你只需要给 layuiAdmin 主入口页面(我们也称之为: 宿主页面)进行访问解析,它即可全权完成自身路由的跳转和视图的呈现,而数据层则完全通过服务端提供的异步接口来完成。

因layuiAdmin pro需要版权,所以切记,一切以学习为主,禁止商用。

我所使用的layuiAdmin pro来自于网络,仅供学习使用。

学习使用的版本:

layuiAdmin pro v1.40【layui 默认为v2.5.6,我以将它升级为2.7.6】

ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售。

学习使用的版本:

ThinkPHP6 v6.1.1

 注:如果你的开发最终选择了layuiadmin pro为前端,那么就要清楚,layuiadmin pro是mvc 的简化版,全面接管 视图页面路由,服务端通常只负责数据接口。要放弃ThinkPHP6的视图和路由等。

一、layuiadmin pro + ThinkPHP6的初步部署。

安装thinkphp6:composer create-project topthink/think tp 

【tp为下载目录,下载后可自行剪切到想要放置的目录下】

应用视图:composer require topthink/think-view

【虽说layuiadmin pro全面接管了视图页面,但是这里安装tp6的视图的作用是,部署layuiadmin的宿主页面】

 验证码安装:composer require topthink/think-captcha

【主要应用于登录】

如项目为前台+后台,那么需要多应用模式:composer require topthink/think-multi-app
多应用模式下,添加admins应用和index应用
php think build admins
php think build index

 具体关于ThinkPHP6的安装,请查看官方开发手册。

安装 · ThinkPHP6.0完全开发手册 · 看云

本例以单应用模式为例

1.将 layuiadmin pro文件夹下的src和start两个文件夹复制到 /public/static/ 目录下。

 2.将/pubic/static/start/下的index.html,剪切到/app/view/index/目录下。

 

 3.配置模板输出替换

  •  /config/view.php
// 模板输出替换
'tpl_replace_string' => [
    '__LAYUIADMIN__' => '/static',
],

4.首页控制器方法   /app/controller/Index.php

<?php
namespace app\controller;use app\BaseController;
use think\facade\View;class Index extends BaseController
{
    public function index()
    {
    	return View::fetch();  //对应视图 /app/view/index/index.html
    }
}

 5.修改宿主页面

  •  /app/view/index/index.html
  • 修改静态资源路径,并配置version属性实时更新缓存。
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>layuiAdmin pro - 通用后台管理模板系统(单页面专业版)</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="shortcut icon" href="#">
    <link rel="stylesheet" href="__LAYUIADMIN__/start/layui/css/layui.css" media="all">
    <script>
        /^http(s*):\/\//.test(location.href) || alert('请先部署到 localhost 下再访问');
    </script>
</head>
<body>
    <div id="LAY_app"></div>
    <script src="__LAYUIADMIN__/start/layui/layui.js"></script>
    <script>
        layui.config({
            base: '__LAYUIADMIN__/src/'
            ,//version: '2020.4.1'
            version: new Date().getTime()
        }).use('index');
    </script>
</body>
</html>

二、配置.htaccess 

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
  • RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]   中的【?】是关键。

在配置admin.req的url接口文件时可直接使用方法。

如:url: "/menu/menu_del", 

直接调取控制器menu下的menu_del方法。

说明:网上有很多方法都是在控制器里做跳转:return redirect('/start'),所以导致打开项目时,浏览器地址栏里的地址都会跳转:http://localhost/start/#/  看起来项目像是在二级目录里,对于有强迫症的程序员来说是很不舒服的。

所以配置tp6视图可以解决此问题,http://localhost/#/  

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部