WechatLogic.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | LikeShop有特色的全开源社交分销电商系统
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 商业用途务必购买系统授权,以免引起不必要的法律纠纷
  7. // | 禁止对系统程序代码以任何目的,任何形式的再发布
  8. // | 微信公众号:好象科技
  9. // | 访问官网:http://www.likemarket.net
  10. // | 访问社区:http://bbs.likemarket.net
  11. // | 访问手册:http://doc.likemarket.net
  12. // | 好象科技开发团队 版权所有 拥有最终解释权
  13. // +----------------------------------------------------------------------
  14. // | Author: LikeShopTeam
  15. // +----------------------------------------------------------------------
  16. namespace app\shopapi\logic;
  17. use app\common\logic\BaseLogic;
  18. use app\common\service\ConfigService;
  19. use app\common\service\WeChatConfigService;
  20. use EasyWeChat\Factory;
  21. use EasyWeChat\Kernel\Exceptions\Exception;
  22. /**
  23. * 微信逻辑层
  24. * Class WechatLogic
  25. * @package app\shopapi\logic
  26. */
  27. class WechatLogic extends BaseLogic
  28. {
  29. /**
  30. * @notes 微信JSSDK授权接口
  31. * @param $params
  32. * @return array|false|string
  33. * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
  34. * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
  35. * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException
  36. * @throws \GuzzleHttp\Exception\GuzzleException
  37. * @throws \Psr\SimpleCache\InvalidArgumentException
  38. * @author Tab
  39. * @date 2021/8/30 19:20
  40. */
  41. public static function jsConfig($params)
  42. {
  43. try {
  44. // $config = [
  45. // 'app_id' => ConfigService::get('official_account','app_id'),
  46. // 'secret' => ConfigService::get('official_account','app_secret')
  47. // ];
  48. $config = WeChatConfigService::getOaConfig();
  49. $app = Factory::officialAccount($config);
  50. $url = urldecode($params['url']);
  51. $app->jssdk->setUrl($url);
  52. $apis = [
  53. 'onMenuShareTimeline',
  54. 'onMenuShareAppMessage',
  55. 'onMenuShareQQ',
  56. 'onMenuShareWeibo',
  57. 'onMenuShareQZone',
  58. 'openLocation',
  59. 'getLocation',
  60. 'chooseWXPay',
  61. 'updateAppMessageShareData',
  62. 'updateTimelineShareData',
  63. 'openAddress',
  64. 'scanQRCode'
  65. ];
  66. $data = $app->jssdk->getConfigArray($apis, $debug = false, $beta = false);
  67. return $data;
  68. } catch (Exception |\think\Exception $e) {
  69. self::setError('公众号配置出错:' . $e->getMessage());
  70. return false;
  71. }
  72. }
  73. }