This is rabbitmq for Yii 2 Advanced
Documentation is at [docs/guide/README.md](docs/guide/README.md).
[![Latest Stable Version](https://poser.pugx.org/yiisoft/yii2-app-advanced/v/stable.png)](https://packagist.org/packages/yiisoft/yii2-app-advanced)
[![Total Downloads](https://poser.pugx.org/yiisoft/yii2-app-advanced/downloads.png)](https://packagist.org/packages/yiisoft/yii2-app-advanced)
[![Build Status](https://travis-ci.org/yiisoft/yii2-app-advanced.svg?branch=master)](https://travis-ci.org/yiisoft/yii2-app-advanced)
DIRECTORY STRUCTURE
-------------------
```
common
config/ contains shared configurations
mail/ contains view files for e-mails
models/ contains model classes used in both backend and frontend
tests/ contains tests for common classes
components
phpclient.php/ contains shared rabbitmq class
console
config/ contains console configurations
controllers/ contains console controllers (commands)
migrations/ contains database migrations
models/ contains console-specific model classes
runtime/ contains files generated during runtime
backend
assets/ contains application assets such as JavaScript and CSS
config/ contains backend configurations
controllers/ contains Web controller classes
models/ contains backend-specific model classes
runtime/ contains files generated during runtime
tests/ contains tests for backend application
views/ contains view files for the Web application
web/ contains the entry script and Web resources
frontend
assets/ contains application assets such as JavaScript and CSS
config/ contains frontend configurations
controllers/ contains Web controller classes
models/ contains frontend-specific model classes
runtime/ contains files generated during runtime
tests/ contains tests for frontend application
views/ contains view files for the Web application
web/ contains the entry script and Web resources
widgets/ contains frontend widgets
vendor/ contains dependent 3rd-party packages
environments/ contains environment-based overrides
------
api 新增接口层应用
assets/ contains application assets such as JavaScript and CSS
config/ contains frontend configurations
controllers/ contains Web controller classes
models/ contains frontend-specific model classes
runtime/ contains files generated during runtime
tests/ contains tests for frontend application
views/ contains view files for the Web application
web/ contains the entry script and Web resources
widgets/ contains frontend widgets
```
------------
- rabbitemq-使用规范接口文档(暂时components)
- composer require php-amqplib/php-amqplib 2.6.* 安装yii2 amqp
- phpclient.php 调用使用基类
- console PhpClient::CallMq($n); 推送json数据到 rabbitmq中 channel 频道为 task_queue (后期可配置)
- curl curl调用 基于nginx input直接输入到 rabbitmq中
- json 带提供json数据交互形式 文档success 则进入消息队列 error 则返回失败和msg原因
请求接口数据
```
http://ki.logsystemapi.airent.test.com/api/page?signature=44D027A88F0D44B12E1DF90691B491C0×tamp=1&&rabbitdata=你好&
加密参数
defined('APP_ID') or define("APP_ID", "disanbo");
defined('APP_SECRET') or define("APP_SECRET", "di~sanbo1");
加密方法
```
备注:
unset($params['signature']); //签名本身请不要加密
需要加密的 timestamp params
需要平台提供 APP_ID APP_SECRET
```
private static function getSign($params, $appkey, $appSecret, $time)
{
$sign = '';
if (!empty($params)) {
ksort($params);
$string = http_build_query($params);
$result = md5($appkey . $string . $appSecret . $time);
$sign = strtoupper($result);
}
return $sign;
}
?signature=461C772759332891F31A1A8110A98150×tamp=221&&rabbitdata=hello&
```
成功返回接口数据
```
{
"message": "rabbit insert Ok!",
"action": "insert",
"rabbitdata": {
"r": "api/page",
"signature": "44D027A88F0D44B12E1DF90691B491C0",
"timestamp": "1",
"rabbitdata": "nihao"
},
"code": 100
}
```
失败返回接口
```
{
"message": "signature test fail!",
"code": 201
}
{
"message": "params key canot be null!",
"code": 202
}
{
"message": "params key canot be null!",
"code": 203
}
```