[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
- 系统接口
- 模块云配置
- 云短信
- 云短信错误代码
- 云短信发送函数
- 批量群发短信
- 应用推广
- 悬赏文案
- 折扣码
- 系统消息
- 开发者等级资料认证
- 应用标签
- 模块自动检测订阅支持
- 小程序
- 开发实例
- 参数设置
- 常见问题