Install.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace addons\Alitopay;
  3. use common\interfaces\AddonWidget;
  4. use common\logic\middleground\Core;
  5. use Yii;
  6. use yii\db\Migration;
  7. /**
  8. * 安装
  9. *
  10. * Class Install
  11. * @package addons\Alitopay
  12. */
  13. class Install extends Migration implements AddonWidget
  14. {
  15. /**
  16. * @param $addon
  17. * @return mixed|void
  18. * @throws \yii\base\InvalidConfigException
  19. * @throws \yii\web\NotFoundHttpException
  20. * @throws \yii\web\UnprocessableEntityHttpException
  21. */
  22. public function run($addon)
  23. {
  24. // MigrateHelper::upByPath([
  25. // '@addons/Alitopay/console/migrations/'
  26. // ]);
  27. }
  28. public function runApp($mall_id, $addons_name)
  29. {
  30. // 商城应用市场安装时的初始化
  31. try {
  32. $model = (new Core())->check($mall_id);
  33. if ($model) {
  34. $api = new \addons\Alitopay\common\logic\MiddleApi($model);
  35. $host = \Yii::$app->services->setting->platform->get('system.api_url');
  36. $api->setConfig([
  37. [
  38. 'key' => 'apply_notice_url',
  39. 'value' => $host . '/alitopay/notify/apply?mall_id=' . $mall_id,
  40. ],
  41. [
  42. 'key' => 'auth_notice_url',
  43. 'value' => $host . '/alitopay/notify/auth?mall_id=' . $mall_id,
  44. ],
  45. [
  46. 'key' => 'pay_notice_url',
  47. 'value' => $host . '/alitopay/notify/pay?mall_id=' . $mall_id,
  48. ],
  49. ]);
  50. }
  51. } catch (\Exception$e) {
  52. $msg = "安装插件初始化错误:" . $e->getMessage();
  53. throw new \Exception($msg);
  54. }
  55. }
  56. }