好用的云函数!后端低代码接口开发,零基础编写API接口

原创
2020/09/14 14:53
阅读数 208

前言

在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作。

不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人,通过云函数,即可实现后端低代码接口开发,做到零基础编写API接口。

云函数优势

云函数具有以下特点和优势:

1、无需管理服务器即可运行移动后端代码

2、可在线接口编程,自动生成云接口和接口文档

3、代码简单,功能强大,一行代码就可以实现数据库、短信发送等功能

4、可以开发自己的接口,实现自己的业务逻辑

5、可以提供多个客户端接入使用

6、配套完整的接口流量统计、分析、接口鉴权和开关控制

果创云MyAPI云函数架构

果创云提供的MyAPI云函数,其架构如下:

果创云云函数架构

整体架构分为四层:

第一层:MyAPI我的接口 提供给客户端调用的云接口。

第二层:云函数。 由开发者自己编写,可在线接口编程,编写云函数,生成接口。

第三层:果创云聚合服务 由果创云提供,封装了常用的服务,可进行数据库、CURL、短信等服务操作。

第四层:云服务 由第三方提供的云服务,包括但不限于自建数据库、云数据库、企业邮箱、短信接口、开放平台接口和内部接口等。

云函数示例

果创云的云函数是基于PHP语言,PHP是一门非常容易上手的后端语言。云函数默认示例如下:

function ($params, $di) {
   $result = array('err_code' => 0, 'err_msg' => '');

    // TODO:在这里编写你的具体业务
    $result['content'] = 'Hello YesApi';

    return $result; // 返回接口结果
}

云函数参数说明:

$params,类型:数组,为当前客户端的接口参数,由开发者配置的接口参数和客户端动态传递的参数而定,例如:array('uuid' => null, 'left' => 1, 'right' => 2)

$di,类型:数组,为DI容器,里面封装并提供了众多强大而实用的PHP服务,例如数据库操作等,对于后端编程有非常大的帮助,后面会详细介绍。

编写接口时,设置接口参数、接口返回、云函数代码等,如(局部截图):

 

保存后,你可以看到类似这样的在线接口文档(部分截图):

 

 

一键生成云函数,生成CURD数据API接口

在准备好数据库模型后,点击【生成CURD数据接口】

 

选择相应的数据模型,以及API功能:

 

可以生成的API功能有:

创建新数据

删除一条数据

获取数据详情

更新一条数据

获取数据列表

生成后,即可获得属于你自己的API接口。

 

还要以根据自己的业务需要,调整云函数的代码,实现自己的业务逻辑。

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');

    $data = array();
    $data['title'] = $this->title;
    $data['content'] = $this->content;
    $data['post_time'] = $this->post_time;
    $data['view_times'] = $this->view_times;
    $data['state'] = $this->state;
    $data['zhaiyao'] = $this->zhaiyao;
    $data['tag'] = $this->tag;
    $data['cate_id'] = $this->cate_id;
    $notorm = $di->db->article_tbl;
    $notorm->insert($data);
    $result['id'] = $notorm->insert_id();

    return $result;
}

一键生成云函数,生成常用接口

常用的云函数,是指一些常用的功能操作。例如:

  1. F1-1、两数相加
  2. F2-1、CURL-GET请求
  3. F2-2、CURl-POST请求
  4. F3-1、日志
  5. F4-1、发送邮件
  6. F5-1、安全-加密解密
  7. F6-1、拼音
  8. F7-1、发送短信
  9. F8-1、站内消息通知
  10. F9-1、会员
  11. F10-1、登录会话与凭证
  12. F11、实用函数
  13. F12、内部调用小白接口
  14. F13、编写回调接口API

当你需要生成这类API接口时,需要做的只是选择你要的API接口功能,然后果创云会自动为你生成相应的API接口代码。例如,对于邮件发送。

 


function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    // 第一个参数是收件人邮箱,第二个参数是邮件标题,第三个参数是邮件正文内容(HTML格式)
    $result['is_send'] = $di['email']->send('helper@yesapi.cn', '邮件标题', '邮件内容');
    return $result;
}

生成的云函数代码如上所示。再稍微调整里面的参数,包括收件人、邮件标题、邮件内容,就可以生成自己的云函数API接口了。

生成发送邮件API接口的接口效果如下,完整的接口文档显示。

 

一键生成云函数,生成ODM贴牌接口

果创云的小白接口,默认提供了500+款API接口。如果需要对500多款进行二次开发,可以生成ODM贴牌接口,把默认的API接口调整成自己需要的API接口。

 

例如,针对默认的Hello World小白接口,二次开发后的云函数,生成的源代码如下:

function ($params, $di) {

   $result = array('err_code' => 0, 'err_msg' => '');


    // TODO:在这里实现你的业务

    $odmRs = $di['odm']->call('App.Hello.World', $params);

    $result = array_merge($result, $odmRs);


    return $result;

}

可根据自己的需求,调整或去掉不必要的接口参数,或者修改成自己需要的接口标题和接口功能介绍。

手动编写云函数

如果你已经熟悉云函数,可以自己编写云函数,最大化发挥编程的强大和灵活性。

例如,如果需要统计文章数据库表中的总数,只需要编写:

function ($params,$di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $result['count'] = $di['db']->article_tbl->count('id'); // 模型名称后面须带上_tbl后缀
    return $result;
}

就可以生成API接口:取文章总数 SVIP.Sdogstar_MyApi.AArticleTotal

 

API接口调用和测试效果:

 

得到接口结果:

 

原来接口结果:

{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "count": 24
    },
    "msg": "V3.1.0 YesApi SVIP.Sdogstar_MyApi.AArticleTotal"
}

DI服务一览

果创云函数,在内部提供了以下DI服务,可以使用这些DI服务,完成绝大部分的编程功能。

  • $di['db'] 我的模型数据库 可进行CURD数据库操作,针对单表
  • $di['db_super'] 直连数据库 可进行CURD数据库操作,针对单表,使用前需要进行MySQL数据库直连服务配置
  • $di['logger'] 日志服务 记录各种日志
  • $di['email'] 邮箱服务 发送邮件,使用前需要进行邮箱服务配置
  • $di['pinyin'] 拼音服务 将汉字转成拼音
  • $di['curl'] CURL服务 请求远程接口,仅支持80端口
  • $di['crypt'] 安全服务 对数据进行加密和解密
  • $di['sms_aliyun'] 阿里云短信 通过阿里云服务发送短信,使用前需要进行阿里云服务配置
  • $di['odm'] ODM内部接口调用 内部调用小白接口,接口签名:call($service, $params)

维护我的云函数API接口

在果创云后台,可以添加自己的云函数API接口,也可以进行修改接口API代码,以及发布API接口,查看自己的接口列表。

 

查看我的云函数API接口

在前台,当你的云函数审核并发布后,即可查看到你的API接口,然后就可以进行使用和调用访问了。注意,只有自己才可以调用自己的API接口。

我的接口列表

点击进去,可以查看到自己的API接口文档,接口文档是实时自动生成的。

我的接口文档

在线API接口编程

更多技术介绍,请查看果创云文档:

云函数MyAPI(在线接口编程)

https://www.yesapi.cn/docs/#/v2.0/function

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部