【代码片段】uTools Api请求

简介: 开发uTools插件时要与uToolsApi交互
+关注继续查看

开发uTools插件时要与uToolsApi交互,这里写一个获取uTools用户信息的api对接示例:

class UToolsService {

    private $plugin_id;
    private $secret;

    private $baseurl = "https://open.u-tools.cn";
    private $baseinfo_uri = "/baseinfo";

    public function __construct($plugin_id, $secret) {
        $this->plugin_id = $plugin_id;
        $this->secret = $secret;
    }

    /**
     * 获取登录基础信息
     * @param array $access_token
     * @return mixed
     */
    public function getLoginBaseInfo($access_token) {
        $params = [
            "access_token" => $access_token,
        ];

        $data = $this->sendGetRequest($this->baseinfo_uri, $params);
        return $data;
    }

    /**
     * 获取完整参数
     * @param array $params
     * @return array
     */
    private function getFullParams(array $params) {
        $params["plugin_id"] = $this->plugin_id;
        $params["timestamp"] = time();

        ksort($params);
        $str = http_build_query($params);

        $params["sign"] = hash_hmac("sha256", $str, $this->secret);
        return $params;
    }

    /**
     * 发送请求
     * @param string $uri
     * @param array $params
     * @return mixed
     */
    private function sendGetRequest($uri, $params) {
        $params = $this->getFullParams($params);
        $url = $this->baseurl . $uri . "?" . http_build_query($params);

        $header = [
            "Accept:application/json"
        ];

        $result = curl($url, null, $header);
        return $result;
    }
}

curl方法自行实现啊,这里就不写上去了。

相关文章
|
21小时前
|
XML JSON 安全
uni-app API请求封装:让接口调用更加简单高效
在进行uni-app开发时,网络请求是必不可少的环节。为了方便开发,我们可以封装一些网络请求方法,以便在多个页面中复用,并且可以统一处理错误信息等问题,提高开发效率和代码质量。本文将介绍如何封装网络请求方法。
8 0
uni-app API请求封装:让接口调用更加简单高效
|
7天前
|
缓存 监控 算法
如何处理1688商品详情API的并发请求问题?
并发请求问题是指在多个用户同时对同一资源进行操作时,产生的冲突和竞争条件。在1688商品详情API的应用场景下,多个用户可能同时对同一商品信息进行查询或更新。如果这些操作没有得到合理的协调和处理,就可能导致数据的不一致性和错误。
|
20天前
|
API
uni-app请求新闻接口api,渲染新闻列表
uni-app请求新闻接口api,渲染新闻列表
17 1
|
27天前
|
API Go 调度
API请求执行流程_milvus源码解析
API请求执行流程_milvus源码解析
25 0
|
28天前
|
Java API
Java 11中引入的HTTP客户端API是什么?如何使用它进行HTTP请求?
Java 11中引入的HTTP客户端API是什么?如何使用它进行HTTP请求?
|
2月前
|
API 对象存储
可能是由于API请求的策略已经过期
可能是由于API请求的策略已经过期
39 3
|
2月前
|
XML JSON 缓存
Json实现根据关键词搜索请求京东商品列表数据方法,京东商品列表数据接口,京东API接口申请指南
Json实现根据关键词搜索请求京东商品列表数据方法,京东商品列表数据接口,京东API接口申请指南
30 0
|
2月前
|
XML JSON 缓存
Json实现根据关键词搜索请求淘宝商品列表数据方法,淘宝商品列表数据接口,淘宝API接口申请指南
Json实现根据关键词搜索请求淘宝商品列表数据方法,淘宝商品列表数据接口,淘宝API接口申请指南
188 0
|
2月前
|
JSON API 数据格式
Python连接api请求
Python连接api请求
|
2月前
|
API 开发者
在钉钉中,许多接口都可以使用API请求并发量
在钉钉中,许多接口都可以使用API请求并发量
60 1
热门文章
最新文章
相关产品
云迁移中心
推荐文章
更多