txf-admin

2.x版本已将txf-admin合并到txf-server中,不再使用json-rpc

txf-admin 基于 hyperf 开发,使用其 jsonrpc 功能。

txf-admin 包含一些常用中间件功能,见:中间件

开发接口

配置 jsonrpc 接口

namespace App\Service\Interfaces;

interface ContentServiceInterface
{
    public function addContent(array $data);
}

开发控制器

namespace App\Controller;

use App\Service\Interfaces\ContentServiceInterface;
use Hyperf\HttpServer\Annotation\AutoController;

/**
 * Class ContentController
 * @package App\Controller
 * @AutoController()
 */
class ContentController extends AbstractController
{
    /**
     * @var ContentServiceInterface
     * @Inject()
     */
    protected $service;

    public function addContent()
    {
        // 请求信息经中间件处理后,统一从 body 中取
        $body = $this->request->getAttribute('body');
        // 用户登录信息经中间件处理后,统一从 user_data 中取
        $userData = $this->request->getAttribute('user_data');
        // 一些数据校验、过滤等都在中间件中配置,这里直接转发到server就行了
        $body['user_id'] = $userData['id'];
        return $this->service->addContent($body);
    }
}

同步 jsonrpc 接口文件

在开发环境中,一种偷懒的实现。根据实际项目路径、以及需要同步的文件 配置下 publish.sh

注意:如果你两边都有修改的话会被覆盖,请谨慎使用

txf-admin 同步到 txf-server

cd txf-admin
./publish.sh

txf-server 同步到 txf-admin

cd txf-server
./publish.sh

服务器配置

默认配置在 config/autoload/server.php

jsonrpc-client配置

默认配置在 config/autoload/services.php

services.php 中增加配置如下

$services = [
    ...
    "ContentService" => \App\Service\Interfaces\ContentServiceInterface::class
];

环境配置

默认配置如下,根据你的实际环境进行调整

APP_NAME=txf-admin
APP_ENV=dev

DB_DRIVER=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=txf
DB_USERNAME=root
DB_PASSWORD=123456
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
DB_PREFIX=txf_

REDIS_HOST=127.0.0.1
REDIS_AUTH=(null)
REDIS_PORT=6379
REDIS_DB=1
REDIS_MAX_IDLE_TIME=60

# HTTP-SERVER地址
SERVER_HOST=0.0.0.0
SERVER_PORT=9504

# JSONRPC服务端地址,多节点或配置中心需要调整该配置
SERVICE_HOST=127.0.0.1
SERVICE_PORT=9505

results matching ""

    No results matching ""