lifetime / bridge
bridge
1.2.1
2024-08-15 07:32 UTC
Requires
- php: >=7.1
README
本项目的主要作用是对接各大平台的开放接口,因此称它为“桥”。
引入
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 ] ] ];
Bucket相关操作
Object相关操作
注意
请先调用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 | 用户信息解密 |
七牛云
Kodo 对象存储
注意
请先调用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' => '' ], ] ];
Bucket 相关操作
方法 | 说明 |
---|---|
list | 获取Bucket列表 |
getRegionList | 获取存储区域列表 |
create | 创建Bucket |
delete | 删除Bucket |
getDomain | 获取Bucket空间域名 |
setImageSource | 设置镜像源 |
setAccessAuth | 设置访问权限 |
setTag | 设置空间标签 |
getTag | 获取空间标签 |
deleteTag | 删除空间标签 |
Object 相关操作
方法 | 说明 |
---|---|
upload | 直传文件 |
clientUpload | 客户端直传文件 |
initPart | 初始化分片上传 |
uploadPart | 分片上传数据 |
clientUploadPart | 客户端分片上传数据 |
completePart | 完成分片上传 |
stopPart | 终止分片上传任务 |
partList | 列举已经上传的分片 |
list | 资源列举 |
getMetaData | 获取资源元信息 |
setMetaData | 修改资源元信息 |
move | 移动资源 |
copy | 复制资源 |
delete | 删除资源 |
setStatus | 修改文件状态 |
setStorageType | 修改文件存储类型 |
thaw | 解冻归档/深度归档存储文件 |
setExpireDeleteDuration | 修改文件过期删除时间 |
setLifecycle | 修改文件生命周期 |
imageSourceUpdate | 镜像资源更新 |
createAsyncFetchTask | 发起异步抓取任务 |
queryAsyncFetchTask | 查询异步抓取任务 |
batch | 批量操作 |