如發現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 = '失败原因,可省略' );