# 通訊內容
# 兩種通訊方式
## 第一種token方式
##### 訪問范圍
> `controllers\Api`目錄下的接口
##### 訪問必帶參數
> `token`
##### token驗證方式
> 過濾請求中參數值等于null的參數,合并GET、POST請求參數
```
<pre class="calibre14">```
$data <span class="token">=</span> $this<span class="token">-</span><span class="token">></span><span class="token3">_array_merge</span><span class="token1">(</span>$_GET <span class="token1">,</span> $_POST<span class="token1">)</span><span class="token1">;</span>
protected <span class="token2">function</span> <span class="token3">_array_merge</span><span class="token1">(</span>$a<span class="token1">,</span>$b<span class="token1">)</span><span class="token1">{</span>
$r <span class="token">=</span> $a<span class="token">+</span>$b<span class="token1">;</span>
<span class="token3">foreach</span><span class="token1">(</span>$r as $k<span class="token">=</span><span class="token">></span>$v<span class="token1">)</span><span class="token1">{</span>
<span class="token2">if</span><span class="token1">(</span><span class="token3">is_null</span><span class="token1">(</span>$v<span class="token1">)</span><span class="token1">)</span><span class="token1">{</span>
$r<span class="token1">[</span>$k<span class="token1">]</span> <span class="token">=</span> $b<span class="token1">[</span>$k<span class="token1">]</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span>
<span class="token2">return</span> $r<span class="token1">;</span>
```
```
> 刪除數組中的ctl、met、typ參數
```
<pre class="calibre14">```
<span class="token2">if</span> <span class="token1">(</span><span class="token">!</span><span class="token3">isset</span><span class="token1">(</span>$_POST<span class="token1">[</span><span class="token4">'ctl'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">)</span>
<span class="token1">{</span>
<span class="token3">unset</span><span class="token1">(</span>$data<span class="token1">[</span><span class="token4">'ctl'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token2">if</span> <span class="token1">(</span><span class="token">!</span><span class="token3">isset</span><span class="token1">(</span>$_POST<span class="token1">[</span><span class="token4">'met'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">)</span>
<span class="token1">{</span>
<span class="token3">unset</span><span class="token1">(</span>$data<span class="token1">[</span><span class="token4">'met'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token2">if</span> <span class="token1">(</span><span class="token">!</span><span class="token3">isset</span><span class="token1">(</span>$_POST<span class="token1">[</span><span class="token4">'typ'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">)</span>
<span class="token1">{</span>
<span class="token3">unset</span><span class="token1">(</span>$data<span class="token1">[</span><span class="token4">'typ'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
```
```
> 使用libraries/**init**.php 文件下
> `check_url_with_encrypt($key, $formvars=array())`函數進行驗證
> 其中$key為對應的系統秘鑰,$formvars為處理后的數組
```
<pre class="calibre14">```
<span class="token2">function</span> <span class="token3">check_url_with_encrypt</span><span class="token1">(</span>$key<span class="token1">,</span> $formvars<span class="token">=</span><span class="token3">array</span><span class="token1">(</span><span class="token1">)</span><span class="token1">)</span>
<span class="token1">{</span>
$token <span class="token">=</span> $formvars<span class="token1">[</span><span class="token4">'token'</span><span class="token1">]</span><span class="token1">;</span>
<span class="token3">unset</span><span class="token1">(</span>$formvars<span class="token1">[</span><span class="token4">'token'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">;</span>
$hash_row <span class="token">=</span> $formvars<span class="token1">;</span>
<span class="token3">array_multiksort</span><span class="token1">(</span>$hash_row<span class="token1">,</span> SORT_STRING<span class="token1">)</span><span class="token1">;</span>
$hash_row<span class="token1">[</span><span class="token4">'key'</span><span class="token1">]</span> <span class="token">=</span> $key<span class="token1">;</span>
$tmp_str <span class="token">=</span> <span class="token3">http_build_query</span><span class="token1">(</span>$hash_row<span class="token1">)</span><span class="token1">;</span>
<span class="token5">//可以判斷請求時間是否超過某個期限, 1分鐘內</span>
<span class="token2">if</span> <span class="token1">(</span><span class="token1">(</span><span class="token3">get_time</span><span class="token1">(</span><span class="token1">)</span> <span class="token">-</span> $hash_row<span class="token1">[</span><span class="token4">'rtime'</span><span class="token1">]</span> <span class="token"><</span> <span class="token6">60</span><span class="token1">)</span> <span class="token">&&</span> $token <span class="token">==</span> <span class="token3">md5</span><span class="token1">(</span>$tmp_str<span class="token1">)</span><span class="token1">)</span>
<span class="token1">{</span>
<span class="token2">return</span> <span class="token6">true</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token2">else</span>
<span class="token1">{</span>
<span class="token2">return</span> <span class="token6">false</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span>
```
```
> 注意:如果服務器時間不統一,有可能會出現請求超時,建議使用前同步服務器時間
## 第二種u和k方式
##### 訪問范圍
> 非`controllers\Api`目錄下的接口
##### 訪問必帶參數
> `u` 、`k` 、`typ=json`
##### `u`、`k`生成方式
*該方式有問題,計劃修正中*
- 序言
- 系統要求
- 版本更新日志
- 遠豐商城技術對接說明
- 開發指導
- 框架內容
- 基礎
- 開發規范
- 目錄結構
- 架構
- 架構總覽
- 數據庫
- 數據庫連接
- 基本使用
- 緩存
- 配置
- 路由
- 數據字典
- ucenter
- shop
- paycenter
- ucenter_admin
- shop_admin
- paycenter_admin
- 通訊內容
- 商家中心
- 頂部導航欄
- 店鋪信息欄
- 店鋪及商品提示欄
- 交易提示欄
- 銷售情況統計欄
- 單品銷量排行欄
- 店鋪運營推廣欄
- 平臺聯系方式欄
- 訂單物流
- 商品
- 商品列表
- 商品詳情
- 商品發布與編輯
- 分銷商品
- 關聯版式
- 商品規格
- 圖片空間
- 淘寶導入
- 訂單流程
- 交易訂單
- 訂單退款/退貨
- 促銷
- 團購管理
- 加價購
- 限時折扣
- 滿即送
- 代金券管理
- 分銷
- 店鋪
- 店鋪設置
- 自銷產品供應商
- 實體店鋪
- 品牌申請
- 店鋪信息
- 消費者保障服務
- 門店賬號
- 分銷商--產品供應商
- 分銷明細
- 批發市場
- 售后服務
- 咨詢管理
- 投訴管理
- 退款管理
- 退貨管理
- 云方案架構
- 負載集群
- 云存儲
- 接口
- Api接口說明
- 品牌
- 商品規格
- 商品類型
- 商品分類
- 商品
- 訂單
- 商品/店鋪收藏
- 足跡
- 退款及退貨
- 商家店鋪
- 會員
- 入駐協議
- 訂單接口
- 商品接口
- 訂單物流接口
- 商家中心接口
- 促銷接口
- 快遞鳥物流接口
- 代金券接口
- 首頁版塊
- 團購
- 平臺紅包
- 限時折扣接口
- 拼團接口
- wap首頁模板
- 雜項
- 遠程上傳圖片
- JS
- 銀聯支付
- 多語言
- 商品評分
- 圖片加載
- 買家申請退款退貨
- 商家退款退貨
- 平臺退款退貨
- 添加發票
- 提交訂單
- 確認訂單
- 運費銷售區域
- 獲取會員地址
- 充值
- 導出XLS
- 商城系統集成
- 多語言實現
- 三級分銷推廣鏈接發展推廣員
- app.ini.php
- 去分銷
- 版本更新
- 物流支持
- 運營人員建議
- 業務邏輯
- 統計結算
- 客服消息
- 賬號
- 三級分銷
- IM
- 配置
- 平臺帳號
- 活動數據表說明