| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\plugins\wxlive\models;
- use app\models\Option;
- use app\models\StoreMini;
- use app\models\WechatConfig;
- use EasyWeChat\Factory;
- /**
- * @property WechatConfig $wechat_config
- * @property Factory $wechat
- */
- class Wechat
- {
- public $store_id;
- public $wechat_config; //微信config
- /**
- * @return \EasyWeChat\MiniProgram\Application|\EasyWeChat\OpenPlatform\Application
- * @throws \Exception
- */
- public static function getWechat()
- {
- // 获取小程序微信配置进行初始化
- $wechat_config = WechatConfig::findOne(['store_id' => get_store_id(), 'type' => 1]);
- if (!$wechat_config) {
- throw new \Exception('请配置小程序基础信息');
- }
- if (is_open_platform()) {
- $config = [
- 'app_id' => Option::get("platform_third_appid", 0, 'saas')['value'],
- 'secret' => Option::get("platform_third_secret", 0, 'saas')['value'],
- 'token' => Option::get("platform_token", 0, 'saas')['value'],
- 'aes_key' => Option::get("platform_encodingAesKey", 0, 'saas')['value']
- ];
- $openPlatform = Factory::openPlatform($config);
- $store_mini = StoreMini::findOne(['store_id' => get_store_id(), 'is_cancle' => 0]);
- if (!$store_mini) {
- return [
- 'code' => 1,
- 'msg' => '请确认小程序状态是否为使用或已经发布未在审核中'
- ];
- }
- return $openPlatform->miniProgram($store_mini->appid, $store_mini->authorizer_refresh_token);
- } else {
- $config = [
- 'app_id' => $wechat_config->app_id,
- 'secret' => $wechat_config->app_secret,
- 'response_type' => 'array'
- ];
- return Factory::miniProgram($config);
- }
- }
- /**
- * @return \EasyWeChat\MiniProgram\Application
- * @throws \Exception
- */
- public static function getWork()
- {
- // 获取小程序微信配置进行初始化
- $wechat_config = WechatConfig::findOne(['store_id' => get_store_id(), 'type' => 1]);
- if (!$wechat_config) {
- throw new \Exception('Wechat App Is Null');
- }
- $config = [
- 'app_id' => $wechat_config->app_id,
- 'secret' => $wechat_config->app_secret,
- 'response_type' => 'array'
- ];
- return Factory::Work($config);
- }
- }
|