{"id":18620413,"url":"https://github.com/jason-gao/yundunsdk","last_synced_at":"2026-04-20T03:31:46.471Z","repository":{"id":57088550,"uuid":"55134626","full_name":"jason-gao/YUNDUNSDK","owner":"jason-gao","description":"YUNDUNSDK","archived":false,"fork":false,"pushed_at":"2020-01-07T10:01:27.000Z","size":77,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-27T04:25:17.775Z","etag":null,"topics":["composer","guzzle","php-cs-fixer","phpunit","travis-ci"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jason-gao.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-03-31T08:43:44.000Z","updated_at":"2020-01-07T10:00:33.000Z","dependencies_parsed_at":"2022-08-20T16:00:35.174Z","dependency_job_id":null,"html_url":"https://github.com/jason-gao/YUNDUNSDK","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jason-gao%2FYUNDUNSDK","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jason-gao%2FYUNDUNSDK/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jason-gao%2FYUNDUNSDK/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jason-gao%2FYUNDUNSDK/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jason-gao","download_url":"https://codeload.github.com/jason-gao/YUNDUNSDK/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239413684,"owners_count":19634287,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["composer","guzzle","php-cs-fixer","phpunit","travis-ci"],"created_at":"2024-11-07T04:06:02.128Z","updated_at":"2026-04-20T03:31:46.419Z","avatar_url":"https://github.com/jason-gao.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[![Build Status](https://travis-ci.org/jason-gao/YUNDUNSDK.svg?branch=master)](https://travis-ci.org/jason-gao/YUNDUNSDK)\n[![Latest Stable Version](https://poser.pugx.org/yundun/yundunsdk/v/stable)](https://packagist.org/packages/yundun/yundunsdk)\n[![Total Downloads](https://poser.pugx.org/yundun/yundunsdk/downloads)](https://packagist.org/packages/yundun/yundunsdk)\n[![Latest Unstable Version](https://poser.pugx.org/yundun/yundunsdk/v/unstable)](https://packagist.org/packages/yundun/yundunsdk)\n[![License](https://poser.pugx.org/yundun/yundunsdk/license)](https://packagist.org/packages/yundun/yundunsdk)\n[![Monthly Downloads](https://poser.pugx.org/yundun/yundunsdk/d/monthly)](https://packagist.org/packages/yundun/yundunsdk)\n[![Daily Downloads](https://poser.pugx.org/yundun/yundunsdk/d/daily)](https://packagist.org/packages/yundun/yundunsdk)\n\n\n# YUNDUN API PHP SDK legend\n\n+\t接口基地址： 'http://apiv4.yundun.cn/V4/';\n+\t接口遵循RESTful,默认请求体json,接口默认返回json\n+\tapp_id, app_secret 联系技术客服，先注册一个云盾的账号，用于申请绑定api身份\n\n* 签名\n    * 每次请求都签名，保证传输过程数据不被篡改\n    * 客户端：sha256签名算法，将参数base64编码+app_secret用sha256签名，每次请求带上签名\n    * 服务端：拿到参数用相同的算法签名，对比签名是否正确\n    \n+   环境要求：php \u003e=5.5\n+   依赖composer\n         \n##使用步骤\n1.\tcomposer require yundun/yundunsdk\n\n2.\t实例化\n\n```\n    //sdk\n    require 'xx/vendor/autoload.php';\n    $app_id = 'xx';\n    $app_secret = 'xx';\n    $client_ip = 'xx';\n    $client_userAgent = '';\n    $base_api_url = 'http://apiv4.yundun.cn/V4/';\n    ;base_api_url = 'http://127.0.0.1/V4/'\n    $host = 'apiv4.yundun.cn';\n    $handler = 'guzzle'; //curl/guzzle默认guzzle,guzzle支持异步调用，curl驱动目前未实现异步\n    $sdk = new YundunSDK (\n        [\n        'app_id'=\u003e$app_id, \n        'app_secret'=\u003e$app_secret, \n        'base_api_url' = 'http://127.0.0.1/V4/',\n        'host' =\u003e 'apiv4.xx.cn',\n        'client_ip'=\u003e$client_ip, \n        'client_userAgent'=\u003e$client_userAgent, \n        'handler'=\u003e $handler,\n        'syncExceptionOutputCode' =\u003e 0,\n        'syncExceptionOutputMessage' =\u003e'同步请求异常信息提示',\n        'asyncExceptionOutputCode' =\u003e 0,\n        'asyncExceptionOutputMessage' =\u003e '异步请求异常信息提示'\n        'log' =\u003e true,  //是否记录sdk相关日志\n        'logfileWin' =\u003e 'E:/sdkV4.log', //windows日志路径\n        'logfileLinux' =\u003e '/tmp/sdkV4.log' //linux日志路径\n        ]\n    );\n\n```\n\n3. 调用\n\n\u003e   format json返回json，xml返回xml\n\n\u003e   body 支持传递json和数组\n\n\u003e   urlParams会拼接在url后面\n\n\u003e   支持get/post/patch/put/delete方法\n\n\n## sync request\n\n+ get\n\n```\n\n$request = array(\n    'url' =\u003e 'api/version',\n    'body' =\u003e '',\n    'headers' =\u003e [\n        'format' =\u003e 'json',\n    ],\n    'timeout' =\u003e 10,\n    'query' =\u003e [\n        'params1' =\u003e 1,\n        'params2' =\u003e 2\n    ],\n);\ntry{\n    $res = $sdk-\u003eget($request);\n}catch (\\Exception $e){\n    var_dump($e-\u003egetCode());\n    var_dump($e-\u003egetMessage());\n}\nexit($res);\n\n```\n\n+ post/put/patch/delete\n\n```\n\n$request = array(\n    'url' =\u003e 'api/version',\n    'body' =\u003e json_encode([\n        'body1' =\u003e 1,\n        'body2' =\u003e 2,\n    ]),\n    'headers' =\u003e [\n        'format' =\u003e 'json',\n    ],\n    'timeout' =\u003e 10,\n    'query' =\u003e [\n        'params1' =\u003e 1,\n        'params2' =\u003e 2\n    ],\n);\ntry{\n    $res = $sdk-\u003epost($request);\n}catch (\\Exception $e){\n    var_dump($e-\u003egetCode());\n    var_dump($e-\u003egetMessage());\n}\nexit($res);\n\n```\n\n\n## async request\n\n+ get\n\n```\n\n$request = array(\n    'url' =\u003e 'api/version',\n    'body' =\u003e '',\n    'headers' =\u003e [\n        'format' =\u003e 'json',\n    ],\n    'timeout' =\u003e 10,\n    'query' =\u003e [\n        'params1' =\u003e 1,\n        'params2' =\u003e 2\n    ],\n    'options' =\u003e [\n        'async' =\u003e true,\n        'callback' =\u003e function($response){\n            $body = $response-\u003egetBody-\u003egetContents();\n            echo $body;\n            exit;\n        },\n        'exception' =\u003e function($exception){}\n    ]\n);\ntry{\n    $sdk-\u003egetAsync($request);\n}catch (\\Exception $e){\n    var_dump($e-\u003egetCode());\n    var_dump($e-\u003egetMessage());\n}\n\n\n```\n\n+ post/put/patch/delete\n\n```\n\n$request = array(\n    'url' =\u003e 'api/version',\n    'body' =\u003e json_encode([\n        'body1' =\u003e 1,\n        'body2' =\u003e 2,\n    ]),\n    'headers' =\u003e [\n        'format' =\u003e 'json',\n    ],\n    'timeout' =\u003e 10,\n    'query' =\u003e [\n        'params1' =\u003e 1,\n        'params2' =\u003e 2\n    ],\n    'options' =\u003e [\n        'async' =\u003e true,\n        'callback' =\u003e function($response){\n            $body = $response-\u003egetBody-\u003egetContents();\n            echo $body;\n            exit;\n        },\n        'exception' =\u003e function($exception){}\n    ]\n);\ntry{\n    $sdk-\u003epostAsync($request);\n}catch (\\Exception $e){\n    var_dump($e-\u003egetCode());\n    var_dump($e-\u003egetMessage());\n}\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjason-gao%2Fyundunsdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjason-gao%2Fyundunsdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjason-gao%2Fyundunsdk/lists"}