[TOC=2,3]
## 云API
* 面向微擎開發者
* 新的防盜版機制
* 避免重復造輪子
* 供自己使用
* **無償** 或 **有償** 供其他開發者使用
## 發布 API 步驟
1. 新增 API, 完善信息, 添加說明文檔.
2. 上傳 API 版本, 完善版本說明
3. 等待審核
4. 審核通過可以使用
5. 審核拒絕重復 2.
6. 開發者可以在 **[API 廣場](http://s.we7.cc/index.php?c=develop&a=api&do=mall&)** 購買他人發布的免費或收費 API.
## 開發說明
1. API 本質就是一個 `class`, 可以含有任意多個方法 ( `method` ) , 輸入參數 **$gpc** 等價 **$_GPC**.
2. API 標識支持大小寫字母, 假設為 `$api_name`.
3. API 目錄為標識的小寫, `strtolower($api_name)`.
4. API 入口文件為 `strtolower($api_name).'.php'`
5. API 方法命名不作特殊要求.
文件目錄結構示例
```
/api
/api/lib/test.php
/api/api.php
```
API 入口文件示例
```
class Api {
public function method($gpc) {
include 'lib/test.php';
// code here
}
}
```
>[success]注意事項:
>1. 開發者必須上傳源碼,不允許加密,否則不予審核.
>2. 暫不支持數據庫操作與文件讀寫. 未來將會支持.
>3. 不要用 `return` 返回值, 請使用 `exit(json_encode($data));` 或 `die($content);`.
>4. 使用 include, require 時, 請使用 **相對路徑**
## 模塊中調用
示例
```
load()->classs('cloudapi');
// 開發版調用方式
$api = new CloudApi(true);
// 發布版調用方式
$api = new CloudApi();
$rmb = $api->get('We7Util', 'to_rmb', array('number' => 123400786));
print_r($rmb);
```
## 調用 API 的條件
* API 審核通過
* 模塊在云服務備案(在線設計或已發布)
調用API需要滿足以下條件:
* 模塊所有者為開發者
* 此
* 所調 API 審核通過
* 擁有 API 的所有權(作者)或使用權(購買獲得)
發布版調用權限需要滿足以下條件:
* 已注冊站點 —— 普通版、商業版、授權版
* 正版模塊 —— 在線購買安裝
* 模塊開發者擁有所調 API 的使用權(開發或購買)
## 調用 API 并獲取結果
三種調用方式
* url 訪問鏈接
* get 帶參數 GET 請求
* post 帶參數 POST 請求
> 調用參數
|名稱 | 類型 | 必填 |描述 |說明 |
| -- | -- | -- | -- | -- |
| $api | string | 是 |API標識,目錄名,類名,php文件名 | |
| $method |string |是 |方法名稱 | |
| $url_params | array |否 |query string | |
| $post_params |array |否 |提交的參數 | |
| $dataType | string |否 |返回值類型 |json:使用GET,POST將獲得php array類型 ;<br/>html: |
> 返回值
array | string
* * * * *
#### URL 訪問鏈接
獲取一個 `url`, 如獲取一個二維碼或頁面.
> 開發示例
```
class We7Util {
public function qrcode($gpc) {
require 'phpqrcode.php';
if (empty($gpc['content'])) {
json_result(error(1,'參數錯誤.'));
}
$errorCorrectionLevel = "L";
$matrixPointSize = "8";
$text = trim($gpc['content']);
QRcode::png($text, false, $errorCorrectionLevel, $matrixPointSize);
exit();
}
}
```
> 調用示例
```
load()->classs('cloudapi');
$cloud_api = new CloudApi();
$url = $cloud_api->url('We7Util', 'qrcode', array('content' => 123400786));
echo '<img src="'.$url.'">';
exit;
```
* * * * *
#### GET
>[success] public function url($api, $method, $url_params = array(), $dataType = 'json')
示例: 金額轉人民大寫
```
load()->classs('cloudapi');
$cloud_api = new CloudApi();
$rmb = $cloud_api->get('We7Util', 'to_rmb', array('number' => 12300678.89), 'json');
print_r($rmb);
```
#### POST
>[success] public function post($api, $method, $post_params = array(), $dataType = 'json')
示例: 中獎概率
```
load()->classs('cloudapi');
$cloud_api = new CloudApi();
$post_data = array(
'prizes' => array(
array('prize' => '飛機', 'rate' => 1),
array('prize' => '大炮', 'rate' => 2),
array('prize' => '花椒', 'rate' => 10),
array('prize' => '大料', 'rate' => 20),
array('prize' => '謝謝惠顧', 'rate' => 67),
)
);
$prize = $cloud_api->post('We7Util', 'probability', $post_data, 'json');
var_dump($prize);
```
- 入門
- 系統安裝
- 接入公眾平臺
- 關鍵字回復
- 更上一層樓
- 編碼規范
- php編碼規范
- html&css編碼規范
- JavaScript編碼規范
- 系統概述
- 結構概述
- 入口腳本
- 微擎MVC
- URL路由&創建
- $_W&全局變量
- 加載器
- 錯誤處理
- 日志記錄
- 模板
- 模板標簽
- 數據調用
- 常用變量
- 手機端組件
- 概述及依賴
- 圖像上傳
- 彈出選項
- 后臺組件
- 概述及依賴
- 后臺文件上傳
- 富文本編輯器
- 系統鏈接選擇器
- 其它常用組件
- 數據庫
- 參數綁定
- 數據操作
- 主從配置
- 連接其它數據庫
- 緩存
- 配置
- 緩存操作
- Http請求
- 概述及依賴
- GET&POST請求
- 發送郵件
- 會員與積分
- 統一用戶中心
- 借用OAuth
- 積分操作
- 資料操作
- 卡券
- 營銷卡券
- 會員卡
- 消息響應
- 消息概述
- 消息響應
- 微信API
- 公眾號AccessToken
- 共享收貨地址(廢棄)
- 共享收貨地址(新)
- 粉絲標簽
- 客服消息
- 模板消息
- 粉絲信息
- 素材
- 群發
- 二維碼
- 在線支付
- 概述及依賴
- 發起支付(PHP)
- 發起支付(JS)
- 驗證支付
- 模塊
- 設計模塊
- 目錄結構
- module.php
- processor.php
- site.php
- receiver.php
- 模塊高級專題
- 自定義分享
- 智能應答
- 微信卡券
- 遠程附件
- 權限控制
- 特殊事件觸發模塊
- 粉絲信息
- 小程序
- 概述
- Uitl類
- 云服務
- 云API
- 系統接口
- 模塊云配置
- 云短信
- 云短信錯誤代碼
- 云短信發送函數
- 批量群發短信
- 應用推廣
- 懸賞文案
- 折扣碼
- 系統消息
- 開發者等級資料認證
- 應用標簽
- 模塊自動檢測訂閱支持
- 小程序
- 開發實例
- 參數設置
- 常見問題