本项目的主要作用是对接各大平台的开放接口,因此称它为“桥”。
引入
composer require lifetime/bridge
在项目初始化的时候调用初始化的方法
\lifetime\bridge\Config::init([
'ali' => [],
'wechat' => [],
'qiniu' => [],
'cache_path' => '/tmp/lifetime-bridge',
'cache_callable' => [
'set' => null,
'get' => null,
'del' => null
]
]);ali,wechat,byte_dance是各个平台的配置项,在下文中会具体说明。cache_path缓存目录,注意读写权限cache_callable自定义缓存方法,如果设置了此选择,缓存目录将会失效
set(string $name, $value, int $expired = 0)设置缓存$name缓存名称$value缓存值$expired有效期(0表示永久)
get(string $name, $default = null)获取缓存$name缓存名称$default缓存值
del(string $name)删除缓存$name缓存名称
配置说明
$config = [
'ali' => [
'alipay' => [
// 是否是沙箱
'sandbox' => false,
// 应用ID
'app_id' => '',
// 应用公钥
'app_public_key' => '',
// 应用私钥
'app_private_key' => '',
// 支付宝公钥
'alipay_public_key' => '',
// 应用公钥证书地址
'app_public_cert_path' => '',
// 支付宝公钥证书地址
'alipay_public_cert_path' => '',
// 支付宝根证书地址
'alipay_root_cert_path' => '',
// 加密key
'encrypt_key' => ''
]
]
];如果设置了支付宝公钥证书地址【alipay_public_cert_path】,将使用证书模式 如果设置了加密Key【encrypt_key】,将对请求数据进行加密
| 方法 | 说明 |
|---|---|
| app | APP支付 |
| wap | 手机网站支付 |
| page | 电脑网站支付 |
| notify | 对支付后异步的通知进行处理 |
| query | 订单查询 |
| refund | 退款 |
| refundQuery | 退款查询 |
| tradeClose | 交易关闭 |
| 方法 | 说明 |
|---|---|
| accountQuery | 资产查询 |
| quotaQuery | 转账额度查询 |
| transfer | 单笔转账 |
配置说明
$config = [
'ali' => [
'oss' => [
// 访问KeyID
'access_key_id' => '',
// 访问秘钥
'access_key_secret' => '',
// 区域ID
'region_id' => '',
// 默认空间名称
'bucket_name' => '',
// 访问域名
'access_domain' => '',
// 是否使用HTTPS
'is_https' => true
]
]
];注意
请先调用setBucketName()设置空间名称,如果不设置,将使用配置中的存储空间名称
$result = (new \lifetime\bridge\ali\oss\Objects())->setBucketName('bucket');| 方法 | 说明 |
|---|---|
| setBucketName | 设置存储空间名称 |
| getAccessPath | 获取访问地址 |
| list | 获取所有Object信息 |
| put | 上传文件 |
| get | 获取文件 |
| copy | 复制文件 |
| append | 追加写的方式上传文件 |
| delete | 删除文件 |
| deleteMultiple | 删除多个文件 |
| getHead | 获取文件头信息 |
| getMeta | 获取文件元数据 |
| post | 表单上传 (此方法返回上传参数,需自行构建请求进行上传) |
| restore | 解冻 |
| initPart | 初始化分片上传 |
| uploadPart | 分片上传 |
| clientUploadPart | 客户端分片上传 (此方法返回上传参数,需自行构建请求进行上传) |
| copyPart | 拷贝现有文件到分片 |
| completePart | 完成分片上传 |
| abortPart | 取消分片上传 |
| partTaskList | 分片上传任务列表 |
| abortPart | 取消分片上传 |
| partList | 分片列表 |
| setAcl | 设置访问权限 |
| getAcl | 获取访问权限 |
| createSymlink | 创建软链接 |
| getSymlink | 获取软连接 |
| setTag | 设置标签 |
| getTag | 获取标签 |
| deleteTag | 删除标签 |
配置说明
$config = [
'wechat' => [
'payment' => [
// 应用ID
'app_id'=> '',
// 商户ID
'mch_id' => '',
// 商户支付密钥
'mch_key' => '',
// 证书cert.pem路径
'ssl_cert' => '',
// 证书key.pem路径
'ssl_key' => '',
]
]
];| 方法 | 说明 |
|---|---|
| jsapi | JSAPI下单 |
| app | APP下单 |
| h5 | H5下单 |
| native | Native下单 |
| miniApp | 小程序下单 |
| query | 订单号查询订单 |
| close | 关闭订单 |
| refund | 退款申请 |
| refundQuery | 查询单笔退款(通过商户退款单号) |
| notify | 支付通知 |
如果需要不同的
app_id,可以在实例化时进行配置覆盖
<?php
new \lifetime\bridge\wechat\Payment(['app_id' => ''])配置说明
$config = [
'wechat' => [
// 公众号相关配置
'official' => [
// 公众号appid
'app_id' => '',
// 公众号secret
'app_secret' => ''
]
]
];| 方法 | 说明 |
|---|---|
| authorize | 这是网页授权的第一步, 跳转到微信授权, 获取Code |
| getUserAccessToken | 这是网页授权第二步,通过Code获取用户访问Token |
| getUserInfo | 获取用户个人信息(UnionID机制) |
| refreshAccessToken | 刷新访问Token |
| checkAccessToken | 校验授权凭证是否有效 |
| getJsSdkSign | 获取JS-SDK使用权限 |
| 方法 | 说明 |
|---|---|
| setIndustry | 设置所属行业 |
| getIndustry | 获取所属行业 |
| addTemplate | 添加模板 |
| getAllPrivateTemplate | 获取模板列表 |
| deletePrivateTemplate | 删除模板 |
| send | 发送模板消息 |
| 方法 | 说明 |
|---|---|
| createTag | 创建标签 |
| getTag | 获取已经创建的标签 |
| updateTag | 更新标签信息 |
| deleteTag | 删除标签 |
| getTagUser | 获取某个标签下的用户列表 |
| batchBindTag | 批量为用户绑定标签 |
| batchUnBindTag | 批量为用户解绑标签 |
| getUserTag | 获取用户绑定的标签 |
| updateRemark | 设置用户备注名 |
| getUserInfo | 获取用户基本信息(UnionID机制) |
| batchGetUserInfo | 批量获取用户基本信息 |
| getUserList | 获取用户列表 |
| getBlackList | 获取黑名单列表 |
| batchBlack | 批量拉黑用户 |
| batchUnBlack | 批量取消拉黑用户 |
仅对接了以上几个业务,如需其他业务,可以继承
\lifetime\bridge\wechat\official\Basic类,按照官方文档说明,封装方法。
配置说明
$config = [
'wechat' => [
// 小程序相关配置
'miniapp' => [
// 小程序appid
'app_id' => '',
// 小程序secret
'app_secret' => ''
]
]
];| 方法 | 说明 |
|---|---|
| code2session | 小程序登录 |
| checkSession | 检验登录态 |
| resetSession | 重置登录态 |
| 方法 | 说明 |
|---|---|
| getPluginOpenPid | 获取插件用户OpenID |
| checkEncryptedData | 检查加密信息 |
| getPaidUnionId | 支付后获取 Unionid |
| getUserEncryptKey | 获取用户encryptKey |
| getPhoneNumber | 获取手机号 |
| check | 验证用户信息 |
| decodeUserInfo | 用户信息解密 |
注意
请先调用setBucketName()设置空间名称,如果不设置,将使用配置中的存储空间名称
$result = (new \lifetime\bridge\qiniu\kodo\Objects())->setBucketName('bucket');配置说明
$config = [
'qiniu' => [
// 对象存储配置
'kodo' => [
// AccessKey
'access_key' => '',
// SecretKey
'secret_key' => '',
// 区域ID
'region_id' => '',
// 访问域名
'access_domain' => '',
// 是否使用SSL
'is_ssl' => false,
// 默认Bucket名称
'bucket_name' => ''
],
]
];| 方法 | 说明 |
|---|---|
| list | 获取Bucket列表 |
| getRegionList | 获取存储区域列表 |
| create | 创建Bucket |
| delete | 删除Bucket |
| getDomain | 获取Bucket空间域名 |
| setImageSource | 设置镜像源 |
| setAccessAuth | 设置访问权限 |
| setTag | 设置空间标签 |
| getTag | 获取空间标签 |
| deleteTag | 删除空间标签 |
| 方法 | 说明 |
|---|---|
| upload | 直传文件 |
| clientUpload | 客户端直传文件 |
| initPart | 初始化分片上传 |
| uploadPart | 分片上传数据 |
| clientUploadPart | 客户端分片上传数据 |
| completePart | 完成分片上传 |
| stopPart | 终止分片上传任务 |
| partList | 列举已经上传的分片 |
| list | 资源列举 |
| getMetaData | 获取资源元信息 |
| setMetaData | 修改资源元信息 |
| move | 移动资源 |
| copy | 复制资源 |
| delete | 删除资源 |
| setStatus | 修改文件状态 |
| setStorageType | 修改文件存储类型 |
| thaw | 解冻归档/深度归档存储文件 |
| setExpireDeleteDuration | 修改文件过期删除时间 |
| setLifecycle | 修改文件生命周期 |
| imageSourceUpdate | 镜像资源更新 |
| createAsyncFetchTask | 发起异步抓取任务 |
| queryAsyncFetchTask | 查询异步抓取任务 |
| batch | 批量操作 |