[TOC]
## 后臺管理
>[danger] 1. 將TP5.0放入微擎模塊
+ 使用 comopser 下載 TP5.0 的最新版
```
composer create-project topthink/think=5.0.*
```
+ 將 tp 框架根目錄下的所有內容拷貝到模塊根目錄

>[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

+ 修改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';
```