如发现bug 请直接提issue或者直接提pr,造成的不便请谅解。
非常感谢 Jetbrains 为我提供了从事这个和其他开源项目的许可。
环境要求 本包依托于Laravel框架,其他框架暂不适用
使用composer安装
composer require chowjiawei/laravel-help-plugin
php artisan vendor:publish --provider="ChowjiaweiHelpersProvidersHelpPluginServiceProvider"
php artisan vendor:publish --provider="OvertrueLaravelWeChatServiceProvider"
微信包的配置 按需填写 公共号配置 official_account
配置省略
本报提供laravel Facade便捷,如需使用可按如下配置
打开config/app.php
找到 providers
项添加
ChowjiaweiHelpersProvidersHelpPluginServiceProvider::class,
找到 'aliases'添加
'Helper'=>ChowjiaweiHelpersFacadeHelper::class
use ChowjiaweiHelpersChannelsDingtalkRobotChannel;
public function via($notifiable)
{
return [DingtalkRobotChannel::class];
}
use ChowjiaweiHelpersChannelsWechatRobotChannel;
public function via($notifiable)
{
return [WechatRobotChannel::class];
}
该驱动支持单用户发送和广播功能
use ChowjiaweiHelpersChannelsWechatTemplateMessageChannel;
public function via($notifiable)
{
return [WechatTemplateMessageChannel::class];
}
Notification::route('dingtalk_robot', $key)->notify(new YourNotification());
Notification::route('wechat_robot', $key)->notify(new YourNotification());
Notification::route('Wechat_template_message', $key)->notify(new YourNotification());
use ChowjiaweiHelpersChannelsDingtalkRobotChannel;
public function via($notifiable)
{
return [DingtalkRobotChannel::class];
}
use ChowjiaweiHelpersNotificationsDingtalkRobotNotification;
Notification::route('dingtalk_robot', env("DINGTALK_ROBOT")) ->notify(new DingtalkRobotNotification($message,$title));
use ChowjiaweiHelpersNotificationsWechatRobotNotification;
Notification::route('wechat_robot', env("WECHAT_ROBOT)")) ->notify(new WechatRobotNotification($message));
use ChowjiaweiHelpersNotificationsWechatTemplateMessageNotification;
Notification::route('WechatTemplateMessage', null)->notify(new WechatTemplateMessageNotification($data));
$user=['odAYnxOVy7vS266666666','odAYnxEuuTCf66666fov276666'];
$template="iA2V1K45vS8IgUEvE666666EH3R-V-66666";
$data=[
"order_id"=>[
"value"=>"20200414234478934343",
"color"=>"#173177"
],
"package_id"=>[
"value"=>"SF4345454534",
"color"=>"#173177"
],
"remark"=>[
"value"=>'模板消息发送',
"color"=>"#173177"
]
];
Notification::route('WechatTemplateMessage', $user)->notify(new WechatTemplateMessageNotification($data, $template));
use ChowjiaweiHelpersNotificationsLarkRobotNotification;
Notification::route('lark', env("LARK_ROBOT")) ->notify(new DingtalkRobotNotification($message));
由于业务不同,工具默认提供了通知Notification模板,可以通过extend Artisan命令选择代码生成器生成
use ChowjiaweiHelpersPhpHelpsLaravelHelp;
初始化辅助工具
$help=new LaravelHelp();
获取所有国家
$help->getAllCountry();
根据国家代码转国家名字
$help->getCountryName('CN');
根据国家名字转国家代码
$help->getCountryName('China');
or 还有更多可以下载包后体验哦
Helper::allCountry();
use ChowjiaweiHelpersExchangeExchange;
//获取实时汇率
$help->getChangerates();
将为您返回完整的汇率及接口信息,以下省略篇幅
{
"disclaimer": "Usage subject to terms: https://openexchangerates.org/terms",
"license": "https://openexchangerates.org/license",
"timestamp": 1622097300,
"base": "USD",
"rates": {
"AED": 3.6731,
"AFN": 79.130257,
"ALL": 101.073262,
"AMD": 520.828816,
"ANG": 1.796011,
"AOA": 643.121,
"ARS": 94.4963,
"AUD": 1.291358,
"AWG": 1.8,
"AZN": 1.700805,
"BAM": 1.604705,
"BBD": 2,
"BDT": 85.048855,
"BGN": 1.601902,
"BHD": 0.377012,
"BIF": 1974.680206,
use ChowjiaweiHelpersExchangeExchange;
//获取特定汇率
$help->getSymbolChangerates(['GBP','EUR','AED','CAD']);
将为您返回指定的汇率及接口信息
{
disclaimer: "https://openexchangerates.org/terms/",
license: "https://openexchangerates.org/license/",
"timestamp": 1424127600,
"base": "USD",
"rates": {
"AED": 3.67295,
"CAD": 0.99075,
"EUR": 0.793903,
"GBP": 0.62885
}
}
插件为您提供了一个支持中文和英文的扩展命令,您可以用命令呼出,命令提供了以下功能
php artisan extend --chinese
中文
php artisan extend
英文
单汉语拼音转威妥码拼音
Helper::changeHWWord("zhou");
长句汉语拼音转威妥码拼音
Helper::changeHWWord("zhou jia wei hao shuai");
单汉语拼音转威妥码拼音
Helper::changeWHWord("chou");
长句汉语拼音转威妥码拼音
Helper::changeWHWord("chou chia wei hao shuai a");
use ChowjiaweiHelpersServicesTTV2Service;
helpers.php
配置文件中 tiktok
选项 全部需要配置完全才可以使用
$tiktokService= new TTV2Service();
$tiktokService->query("站内订单号,非抖音侧订单号");
正确时返回数组 其余返回空数组
$tiktokService= new TTV2Service();
$tiktokService->refund("站内订单号,非抖音侧订单号", '价格 为分', '$itemOrderId');
正确时返回true 其余返回false
$item= [
[
"item_order_id" => '',
"refund_amount" => (int)$price
],
[
"item_order_id" => '',
"refund_amount" => (int)$price
],
];
$tiktokService= new TTV2Service();
$tiktokService->refundManyItem("站内订单号,非抖音侧订单号",$item);
正确时返回true 其余返回false
$tiktokService= new TTV2Service();
$tiktokService->agreeRefund("站内订单号,非抖音侧订单号");
正确时返回true 其余返回false
$tiktokService= new TTV2Service();
$tiktokService->getRefund("站内订单号,非抖音侧订单号");
返回数组
$tiktokService= new TTV2Service();
$tiktokService->settle("站内订单号,非抖音侧订单号", "分账描述");
正确时返回true 其余返回false
config
中配置完成后 $settingData
可以不传如果需要再次自定义或者扩展更多糊掉参数 可以传详细参数 更多参数参考抖音
$settingData = [
'create_order_callback' => "",
'refund_callback' => "",
'pay_callback' => "",
];
$tiktokService= new TTV2Service();
$tiktokService->settingReturn(array $settingData=[]);
正确时返回true 其余返回false
$tiktokService= new TTV2Service();
$tiktokService->getSettingReturn();
正确时返回数组,其余返回空数组
$tiktokService= new TTV2Service();
$tiktokService->return($request); //控制器内 直接将接受的Request $request 传入return方法,即可自动验签,并返回接收参数
返回 `status` 正确为`true` 附带 `data`数据 错误为 `false`
如果业务处理失败 需要手动返回抖音成功
$tiktokService->returnOK();
如果业务处理失败 需要手动返回抖音失败
$tiktokService->returnError($result='失败原因,可省略');
$tiktokService= new TTV2Service();
$tiktokService->return($request); //控制器内 直接将接受的Request $request 传入return方法,即可自动验签,并返回接收参数
如果业务处理失败 需要手动返回抖音成功
$tiktokService->returnOK();
如果业务处理失败 需要手动返回抖音失败
$tiktokService->returnError($result='失败原因,可省略');
如果需要退款 必须存储 item_order_id_list 获取如下:
$itemOrderId = json_decode($extendItem['msg'], true)['goods'][0]['item_order_id_list'][0];
$tiktokService= new TTV2Service();
$tiktokService->refundReturn($request);
如果业务处理失败 需要手动返回抖音成功
$tiktokService->returnOK();
如果业务处理失败 需要手动返回抖音失败
$tiktokService->returnError($result='失败原因,可省略');
$tiktokService= new TTV2Service();
$tiktokService->settleCallback($request);
如果业务处理失败 需要手动返回抖音成功
$tiktokService->returnOK();
如果业务处理失败 需要手动返回抖音失败
$tiktokService->returnError($result='失败原因,可省略');