• Stars
    star
    103
  • Rank 333,046 (Top 7 %)
  • Language
    PHP
  • Created over 7 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

👍有赞 SDK

Youzan SDK

有赞 SDK (支持有赞所有版本)

base on foundation-sdk

Requirement

Installation

// 有赞云最新版支持
composer require hanson/youzan-sdk -vvv

Usage

自用型应用

<?php

$youzan = new \Hanson\Youzan\Youzan([
    'client_id' => '',
    'client_secret' => '',
    'debug' => true, // 调试模式
    'kdt_id' => '', // 店铺ID(仅自用模式下填写)
    'exception_as_array' => true, // 错误返回数组还是异常
    'version' => '4.0.0',
    'log' => [
        'name' => 'youzan',
        'file' => __DIR__.'/youzan.log',
        'level'      => 'debug',
        'permission' => 0777,
    ]
]);

// 获取订单
$result = $youzan->request('youzan.trade.get', ['tid' => 'xxx']);

// 获取门店信息(你可以设置调用api的版本)
$result = $youzan->setVersion('3.0.0')->request('youzan.shop.get');

工具型应用

<?php

$youzan = new \Hanson\Youzan\Youzan([
    'client_id' => '',
    'client_secret' => '',
    'dev_client_id' => '工具型有容器的开发环境 client id', // 仅在 is_dev=true 时有用
    'dev_client_secret' => '工具型有容器的开发环境 client secret', // 仅在 is_dev=true 时有用
    'is_dev' => true, // 默认 false
    'debug' => true,
    'redirect_uri' => 'http://xxx.com',
    'exception_as_array' => true,
    'version' => '4.0.0',
    'log' => [
        'name' => 'youzan',
        'file' => __DIR__.'/youzan.log',
        'level'      => 'debug',
        'permission' => 0777,
    ]
]);

// 解密消息
$youzan->decrypt->decrypt($message);

/**
* 切换开发模式
 *
 * 新版有赞云工具型有容器应用中,同一应用测试环境与正式环境的 client_id 和 client_secret都不一样,故此添加了 dev_client_id,dev_client_secret 和此方法,用于切换不同环境下的开发,默认为false,正式开发可以不调用此方法
 */
$youzan->setDev(true);

// 使用配置中的 prod_client_secret 进行解密
$youzan->decrypt->decryptWithProd($message);

// 获取授权 URL
$url = $youzan->pre_auth->authorizationUrl();

// 重定向到授权页面
$youzan->pre_auth->authorizationRedirect();

// 在重定向页面,你可以获取此次授权账号的 token
$token = $youzan->pre_auth->getAccessToken();

// 也可以通过上面得到的 refresh_token 去刷新令牌
$token = $youzan->pre_auth->refreshToken($token['refresh_token']);

// 创建授权应用
$youzan = $youzan->oauth->createAuthorization($token['token']);

// 店铺信息
$result = $youzan->request('youzan.shop.get');

// 上传图片(4.0以上版本)
$result = $youzan->request('youzan.materials.storage.platform.img.upload', [], ['image' => [file_get_contents('https://i.loli.net/2018/12/17/5c17334487566.jpg')]]);

消息推送

<?php
// 消息结构体
$data = $youzan->push->parse();

// 开发者自行选择性处理,把 "null" 与 "" 转为 null,建议使用
// $data = Helper::toNull($data);

$response = $youzan->push->response();

// $response 为 `Symfony\Component\HttpFoundation\Response` 实例
// 对于需要直接输出响应的框架,或者原生 PHP 环境下
$response->send();

// 而 Laravel 中直接返回即可:
return $response;

升级指南

4.* -> 5.*

* 4.* 的时候会对 api response 做处理,只返回 $response['response'] 部分
* 5.* 以后默认原样返回 youzan api 的 response,不再二次处理,请注意更新业务代码

3.* -> 4.*

* 构造函数设置了 `$config['exception_as_array'] = true;` 错误会返回包含 `error_response` 键名的数组(以前没有)
* 上传图片为 `$youzan->request('youzan.materials.storage.platform.img.upload', [], ['image' => [$bytes]]);`

Help

QQ 群: 570769430

License

MIT

More Repositories

1

vbot

微信,企微,机器人,企业微信,企微机器人,微信机器人,小红书,聚合聊天,RPA,协议,hook,逆向,worktool,ntwork,群发,自动回复,chatgpt,API对接,稳定防封全语言通用,企业定制/SCRM/SAAS专用
PHP
3,946
star
2

laravel-admin-wechat

laravel admin 的微信扩展包,支持多公众号、多小程序、多微信支付,包含基础接口与后台
PHP
237
star
3

weibot

微博爬虫,模拟登录,数据抓取
PHP
232
star
4

foundation-sdk

To create a sdk easiler!
PHP
218
star
5

face

😀微软小冰检测图片颜值评分接口
PHP
153
star
6

speedy

🚄A Laravel Admin Package to create a website quickly
PHP
145
star
7

typecho_material_theme

🎁material style theme for the typecho
PHP
102
star
8

my-vbot

Vbot 运行例子
PHP
96
star
9

img

🖼Image hosting powered by laravel
PHP
90
star
10

ProgressDialog

💿progress dialog for android
Java
66
star
11

rainbow

skin for laravel-admin. Laravel admin 皮肤,让后台更好看
PHP
47
star
12

wepy-template

一个基于 wepy 的小程序开发模板
JavaScript
36
star
13

ngrok-script

A script to run local ngrok client for linux and windows
Shell
33
star
14

wechat-notice

微信消息模板发送
PHP
22
star
15

meituan-sdk

美团 SDK
PHP
22
star
16

laravel-admin-register

laravel-admin 短信注册扩展(支持多个短信服务商)
PHP
21
star
17

laravel-admin-qiniu

Laravel admin 框架的七牛 qiniu 多图上传扩展
PHP
21
star
18

open-taobao-sdk

淘宝开放平台SDK
PHP
19
star
19

aes

a golang library to use aes encrypt easier.
Go
18
star
20

newline-echarts

echarts 换行利器
JavaScript
17
star
21

Data-Structure

Data-Structure for JAVA
Java
17
star
22

laravel-work-exception

使用企业微信通知你的系统异常
PHP
13
star
23

pospal

银豹收银系统 SDK
PHP
13
star
24

wechat-lumen

A wechat Application build on lumen
PHP
12
star
25

wechat-handler

A package to create some base handler for wechat events faster!
PHP
11
star
26

Links_for_Material_Theme

基于hanny的友情链接插件做修改,使其在Material Theme中保持原有风格
PHP
11
star
27

WeworkMsg

全语言通用的企业微信会话存档SDK
Go
11
star
28

gaode-sdk

高德地图 SDK
PHP
8
star
29

Exmail

腾讯企业邮箱API
PHP
8
star
30

wechat-oa

登录微信公众号并可主动发送消息
PHP
7
star
31

weidian-sdk

微店(weidian)的SDK接口包
PHP
6
star
32

crawler

A easy package to crawl a site list and detail
PHP
5
star
33

timeutil

a tool processing time for golang
Go
4
star
34

hertz-starter-kit

基于 hertz 做的脚手架
Go
4
star
35

base-laravel-project

PHP
4
star
36

collection

Go
3
star
37

TextFinder

Go
3
star
38

tuling-sdk

AI response from tuling123.com.
PHP
3
star
39

laravel-learning-note

个人对于laravel的代码、设计解读
PHP
3
star
40

phpstorm-setting

personal phpstorm setting
2
star
41

xcx-template

小程序开发模板
JavaScript
2
star
42

coordinate

PHP
1
star
43

HomePage

A simple navigation website
PHP
1
star
44

mobile-form

Laravel admin 的手机验证码 field 字段
HTML
1
star
45

laravel-admin-alioss

laravel admin ali oss support
PHP
1
star
46

golang-learning

golang 源码学习与解析
1
star