[TOC]
## 后台管理
>[danger] 1. 将TP5.0放入微擎模块
+ 使用 comopser 下载 TP5.0 的最新版
```
composer create-project topthink/think=5.0.*
```
+ 将 tp 框架根目录下的所有内容拷贝到模块根目录
![](https://img.kancloud.cn/bb/c1/bbc1ef565619fdef0543001c696ed016_279x598.png)
>[danger] 2. 修改TP数据配置文件,引入微擎数据库配置
+ application/database.php
```php
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// 引用微擎数据库进行操作
require IA_ROOT . '/data/config.php';
return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => $config['db']['master']['host'],
// 数据库名
'database' => $config['db']['master']['database'],
// 用户名
'username' => $config['db']['master']['username'],
// 密码
'password' => $config['db']['master']['password'],
// 端口
'hostport' => $config['db']['master']['port'],
// 连接dsn
'dsn' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => $config['db']['master']['charset'],
// 数据库表前缀
'prefix' => $config['db']['master']['tablepre'],
// 数据库调试模式
'debug' => true,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 自动读取主库数据
'read_master' => false,
// 是否严格检查字段是否存在
'fields_strict' => true,
// 数据集返回类型
'resultset_type' => 'array',
// 自动写入时间戳字段
'auto_timestamp' => false,
// 时间字段取出后的默认时间格式
'datetime_format' => 'Y-m-d H:i:s',
// 是否需要进行SQL性能分析
'sql_explain' => false,
// Builder类
'builder' => '',
// Query类
'query' => '\\think\\db\\Query',
// 是否需要断线重连
'break_reconnect' => false,
// 断线标识字符串
'break_match_str' => [],
];
```
>[danger] 3. 修改TP默认模块为 admin(默认是index)
+ application/config.php
```php
// 默认模块名
'default_module' => 'admin',
```
>[danger] 4. 业务菜单重定向到 TP
+ 修改模块下的 site.php 文件
```
public function __call($name, $arguments)
{
require __DIR__ . '/public/index.php';
}
```
+ 点击此处跳转到TP
![](https://img.kancloud.cn/5d/62/5d621f03b474ab08c0cc0e3a556e0c8d_479x498.png)
+ 修改TP默认的入口文件 public/index.php
```php
<?php
namespace think;
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
#################### 新增内容 ####################
global $_W;
if (!empty($_W)) {
//设置头部,防止跨域
header("Access-Control-Allow-Origin:*");
//设置模块名称
defined('MODULE_NAME') or define('MODULE_NAME', $_GPC['m']);
defined('WEB_PATH') or define( 'WEB_PATH' , __DIR__ . '/');
// 读取默认模块、控制器、方法
// module=admin&contro=user&action=name
$config = require APP_PATH . 'config.php';
$module = isset($_GET['module']) ? $_GET['module'] : $config['default_module'];
$contro = isset($_GET['contro']) ? $_GET['contro'] : $config['default_controller'];
$action = isset($_GET['action']) ? $_GET['action'] : $config['default_action'];
// 绑定方法
define('BIND_MODULE', "{$module}/{$contro}/{$action}");
}
#################### 新增内容 / ####################
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
```
## 小程序接口
```
http://me.cy/app/index.php?c=entry&a=wxapp&i=4&m=lingchi\_bn&do=member&action=goods
```
>[danger] 1. 修改模块根目录下的 wxapp.php
```
public function __call($name, $arguments)
{
require __DIR__ . '/public/api.php';
}
```
>[danger] 2. 新增用于小程序接口的TP入口文件 api.php
+ public/index.php 另存为 public/api.php,api.php 文件内容如下
```php
<?php
// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
#################### 新增内容 ####################
// 当前文件名 api
$mobule = substr(basename(__FILE__), 0, strrpos(basename(__FILE__), '.') );
global $_W;
if (!empty($_W)) {
// 路由绑定
// 绑定到模块控制器方法
$controller = ucfirst(substr($name, 6));
$action = $_GET['action'];
if (empty($controller) || empty($action)) {
die(json_encode(compact('controller', 'action'), JSON_UNESCAPED_UNICODE));
}
define('BIND_MODULE', "{$mobule}/{$controller}/{$action}");
} else {
// 绑定模块
define('BIND_MODULE', $mobule);
}
#################### 新增内容 / ####################
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
```