php 文件解密-#小白Socket#利用云函数,每个人都可以编译发布自己的API套接字

2023-08-29 0 2,084 百度已收录

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

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

提交初步审核并发布

完成socket设计和云功能开发后php 文件解密,可以勾选“申请发布”。 初审通过后即可发布使用。

生成云套接字和套接字文档

发布通过后,您可以生成自己的云socket和在线socket文档。

在线socket文档可以提供给客户端开发者查看和访问; 云socket可以提供给客户端调用。

生成的完整在线套接字文档如下所示:

套接字文档地址:

http://api.yesapi.cn/docs.php?service=SVIP.Sdogstar_MyApi.ATest&detail=1&type=fold

客户端调用后,云函数执行后即可得到结果。

编译云函数后,会手动生成云socket和socket文档。 如果有需要,你也可以自己自动编译socket文档。

温馨提示:如果您需要自动编译API socket文档php 文件解密,可以进入我的在线文档编辑器,保存并发布socket文档。

文档编辑背景:

保存后,外部查看socket文件效果:

如何支持多客户端访问?

如果需要支持多个客户端调用API套接字,可以【客户端管理】,添加客户端应用程序,然后分配app_key和secret key。

云函数PHP开发指南

下面通过代码示例和模板来介绍如何开发云功能。 您可以复制代码并进行一些细微的更改。 只需要几行PHP代码,或者一段代码,就可以实现自己的业务逻辑,并且无需管理服务器就可以运行联通的前端代码。

HIGHLIGHT开发笔记

首先,这里有一些重要的知识点和注意事项。

重复说明一下,直连数据库的操作和我的model数据库是一样的。 不同的是直连数据库需要先配置连接到你的数据库才可以使用。 DI服务使用$di['db_super'],最后需要填写完整的表格。 表名不需要额外的 _tbl 后缀。

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 '] 阿里云邮箱 通过阿里云服务发送邮件,使用前需要配置阿里云服务

云函数代码模板F1-1,两个数相乘

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $result['sum'] = $params['left'] + $params['right'];
    return $result;
}

假设传递的参数为:left=1&right=2,请求该云函数后,会得到如下结果:

{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "sum": 3
    },
    "msg": "V2.1.1 YesApi"
}

F1-2。 数据库-获取模型总数

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

假设您有以下包含 23 条数据的模型:

请求该云函数后,会得到如下结果:

{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "count": 23
    },
    "msg": "V2.1.1 YesApi"
}

F1-3、数据库-添加模型数据

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $article = $di['db']->article_tbl;
    $article->insert($data);
    $result['id'] = $article->insert_id(); // 返回新增的ID
    return $result;
}

F1-4、数据库-查询模型数据

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $result['article'] = $di['db']->article_tbl->where('id', 1)->fetchOne(); // 取出id=1的文章数据
    return $result;
}

F1-5、数据库-更新模型数据

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $data = array('title' => '新文章标题', 'content' => '文章内容'); // 待更新的数据
    $result['update_row'] = $di['db']->article_tbl->where('id', 1)->update($data); // 更新id=1的文章数据,返回更新的数量
    return $result;
}

F1-6、数据库-删除模型数据

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $result['delete_row'] = $di['db']->article_tbl->where('id', 1)->delete(); // 删除数据,返回删除的数量
    return $result;
}

php 文件解密-#小白Socket#利用云函数,每个人都可以编译发布自己的API套接字

F1-7、数据库-获取型号列表数据

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $result['list'] = $di['db']->article_tbl->where('id > ?', 1)->where('id fetchAll(); // 取出id从1到10的全部数据
    return $result;
}

F1-8、数据库-获取模型列表数据(搜索+分页+排序+数组选择)

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $result['list'] = $di['db']->article_tbl
        ->select('id, title, content')
        ->where('id', 1) // 精确区配
        ->where('name LIKE ?', '%小白%') // 模糊匹配
        ->where('id', array(1, 2, 3)) // 范围枚举
        ->where('id > ?', 1) // 范围大于
        ->where('id where('id BETWEEN ? AND ?', array(1, 10)) // 范围介于
        ->or('status', 1) // 或逻辑条件
        ->order('add_time DESC') // 按时间降序
        ->limit(0, 100) // 分页,取出前面100条
        ->fetchAll(); // 取全部数据
    return $result;
}

温馨提醒:获取列表数据时,一定要使用limit来限制页数,否则第一次审核会失败。

F2-1,CURL-GET 请求

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    // 第一个参数为网址,第二个参数表示超时时间(单位毫秒)
    $result['res'] = $di['curl']->get('http://demo.phalapi.net/?username=YesApi', 3000);
    // 得到结果类似:{"ret":200,"data":{"title":"Hello YesApi","version":"2.13.3","time":1590764249},"msg":""}
    return $result;
}

F2-2,CURl-POST 请求

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    // 第一个参数为网址,第二个参数是POST的参数,第三个参数表示超时时间(单位毫秒)
    $result['res'] = $di['curl']->post('http://demo.phalapi.net/', array('username' => 'YesApi'), 3000);
    // 得到结果类似:{"ret":200,"data":{"title":"Hello YesApi","version":"2.13.3","time":1590764249},"msg":""}
    return $result;
}

温馨提醒:通过云函数和CURL,可以封装原有的API Socket,生成开放的Socket API。

F3-1,日志

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $di['logger']->record('DEBUG', '调试日志,这里可放日志内容');
    $di['logger']->record('INFO', '业务日志,这里可放日志内容');
    $di['logger']->record('INFO', array('uuid' => 'ABC', 'tip' => '第二个参数还可以是数组'));
    $di['logger']->record('NOTICE', '提醒日志,这里可放日志内容');
    $di['logger']->record('WARNNING', '警告日志,这里可放日志内容');
    $di['logger']->record('ERROR', '错误日志,这里可放日志内容');
    return $result;
}

温馨提示:日志记录完成后,您可以在开放平台查看日志。

F4-1。 发简讯

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

温馨提示:使用前请配置好邮箱服务配置。

F5-1。 安全-加密解密

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $result['encrypt_data'] = $di['crypt']->encrypt('YesApi'); // 对数据进行加密
    $result['decrypt_data'] = $di['crypt']->decrypt($result['encrypt_data']); // 对数据进行解密
    return $result;
}

温馨提醒:每个app_key加密的数据只能用自己的app_key解密。

F6-1、拼音

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $result['pinyin_1'] = $di['pinyin']->convert('小白接口'); // 将一段汉字串内容转成拼音,结果是:xiao bai jie kou
    $result['pinyin_2'] = $di['pinyin']->abbr('小白接口'); // 获取拼音首字母,结果是:x b j k
    $result['pinyin_3'] = $di['pinyin']->name('张三'); // 姓名转拼音,结果是:zhang san
    return $result;
}

F7-1。 发电子邮件

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    // 参数1:手机号,参数2:短信签名,参数3:短信模板,参数3:更多数组参数(没动态参数时可传空数组)
    $di['sms_aliyun']->aliyunSendSms('13800138000', '小白接口', 'SMS_153055065', array('code' => '123456'));
    return $result;
}

温馨提示:使用前需要配置阿里云服务

F9,效用函数

function ($params, $di) {
    $result = array('err_code' => 0, 'err_msg' => '');
    $time = time(); // 当前时间戳,例如:1590561632
    $datetime = date('Y-m-d H:i:s'); // 当前时间,例如:2020-05-20 00:00:00
    $arr = json_decode('{"name":"YesApi"}', true); // json解析成数组
    $json = json_encode($arr); // 数组转json
    $md5 = md5('123456'); // md5操作
    return $result;
}

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php 文件解密-#小白Socket#利用云函数,每个人都可以编译发布自己的API套接字 https://www.wkzy.net/game/177882.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务