123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- <?php
- namespace App\Http\Home;
- use App\Traits\CommonTrait;
- use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
- use Illuminate\Foundation\Bus\DispatchesJobs;
- use Illuminate\Foundation\Validation\ValidatesRequests;
- use Illuminate\Routing\Controller as BaseController;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Request;
- use Illuminate\Support\Facades\View;
- use Alipay\EasySDK\Kernel\Config;
- class HttpBaseController extends BaseController
- {
- use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
- use CommonTrait;
- /**
- * @var array|null 已经登录的用户信息
- */
- public ?array $userInfo;
- /**
- * @var array
- */
- public array $seoData = [
- 'title' => '星优办公软件',
- 'keywords' => '星优办公',
- 'description' => '【星优办公软件】提供各种办公工具。',
- ];
- public function __construct()
- {
- //
- if ($test = $this->isTest()) {
- $url = \request()->getScheme() . '://' . $test;
- } else {
- $url = \request()->getScheme() . '://www.xingyousoft.com';
- }
- View::share('target', $url);
- View::share($this->seoData);
- }
- /**
- * 判断是否是测试环境
- *
- * @return false|string
- */
- public function isTest(): bool|string
- {
- $url = \request()->getHttpHost();
- if ($url == 'www.xingyousoft.me' || $url == 'audio.xingyousoft.me' || $url == 'pdf.xingyousoft.me' || $url == 'audio.xingyousoft.com') {
- return $url;
- } else {
- return false;
- }
- }
- /**
- * 获取产品信息
- *
- * @param string $pmid
- * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Query\Builder|null
- */
- public function getProductInfo(string $pmid)
- {
- return DB::table('product')->where('mid', $pmid)->where('is_delete', 0)->first();
- }
- /**
- * 获取版本信息
- *
- * @param $productId
- * @param string $osType
- * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Query\Builder|null
- */
- public function getProductVersion($productId, string $osType = 'windows')
- {
- // 如果有相同的版本,则获取最后一条 orderby
- return DB::table('product_version')
- ->where('product_id', $productId)
- ->where('os_type', $osType)
- ->where('is_delete', 0)
- ->orderBy("id", "desc")->first();
- }
- public function getAlipayOptions()
- {
- $configArr = config('alipay');
- $options = new Config();
- $options->protocol = 'https';
- $options->gatewayHost = 'openapi.alipay.com';
- $options->signType = 'RSA2';
- $options->appId = $configArr['app_id'];
- // 为避免私钥随源码泄露,推荐从文件中读取私钥字符串而不是写入源码中
- $options->merchantPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCFH/nCH8y6tfLlBWx3Dz7hZKmeqGX/b4/7Nkoip9Wc+atodCuzO3iA0MWjPphBVdFqs6WuSfcxVrFclcH13e+5Vo9eTmISg0jbPEgqm119yiB5nsb8c/V/NZVR5YeAeJpBMDqYg5ycm+5feeRZ7TFWJ6daQ0iNBfShaMt1HMxRAMcmUBA1YylIjWMHJg/9mCSgMvrTTcNLCfmMTbbGdWuDKMMvW3MkrzGLoYcgX2MpTqpiBBZleT4xYLKr9Z6ciFynpBuUkyiTYMhcbBk3MCVppU7/nRMOp67ihRDA0MNm5/jVU0R8SaNqlQYN1q/CmJ9dyVrfUpMJJ/pJJ/oc2QinAgMBAAECggEAKIvxrV+0IpYycfDx9V1uYIYhZ5KQ5nkbWH9TmzSVSmd8/qaLfN67ODjeSXdSNmwmCaLH7srWgG+QO8vdNL6xOjkUF7w2AL993FCDBn8lvZ9nvsNOhivndSRj43rOh6G0EfDXmAZWGBkiRHBCzeUBpuUTAtoFafaLaPIbLgNkc7MheVep7gh0K5rE7k6z3DG6CDrd5g9/bbf3Tl/bMX4KJ+X5ChmhLySOwmI1mFup/Jos5Qva82SSGOIhHLCWAOBZ7OQmWIN1+Fs2E+JFh2HHhKp3tWycjo7FKxXqJ3+S7s759/P0oNE1KXmaxHsvR56TO5YUZrXj534LTyXeVT1pyQKBgQC8vebhE+STKKOpd/aguDi9K4wY5ruALv/whlRqwnPtrsa4hooxCJgc9Ym9n6xezacHy2NScmRISuWdGeFLiGQ6XQmQwwZjVxoS3f5GPK1JN32al3VBQExFrSMJIJtqpfVx0RCmGDG22TvqYhYfDqLHOKH0axsnwyFpxBlHSVzXqwKBgQC0kGJ5H0idvfGKjf9M3OE6kZYeW0JHdFWWSVQkWzM39bNg7q3yhUjAv/4cmfykFxCJjRbiQHlfw9MgxOilf8OaR3KgtxTgRd3y34XNNjUnmewj/F68ikCIhCcvgZyEsznMgOG+dNhTPGyCXBIvyXGvOzV7c4Hiz39g778TILHm9QKBgAlHdNBf//7UIqe0RCXGqNN0DqEyxskYhnC2yfOtt7FZxF9SDf03JPNXhvwRm5HVnn6dmzZ0dUWwmPVOTms+O187L7s0O14q7Bc9XsDpPsO4vK4bACLDHHzYdD6AoeNuYVDFLIJd8iPBLlbpl5jTSWFuAVhY467iwwPGJlAA5VWdAoGAHk0UmWrsjrwvaqcFrupqSZ/g51s9NiyJqFzJ6Af+AmgTIDMtscM4QFB33mjhAtB0EAFDU9iqBa4hIiCpQgy80Iko7VuL/076PiXQmG1+YhTskeVqKI2y4rX6tXg0wfgpvO3r9EA7hUxgkUfOLYLKtzNieEMcCunzYFsbX6Re9nkCgYEAhKzQZTE/1ZgGBLorxRfqq9tGPLUhcymmRVTMB/5P+jznQAAvuPzEg/2FqH979fjunjUpWEBiPNlnSHq1hv8WJDXr8oLJQg25KYkR6bgp+sMbLcLqA4wv4tsp3d1LTa7fZYUlQ4D4fM0rYw9HRaAPyXwLCBCcuwQkyKGyW3xrnYs=";//$configArr['private_key'];
- $options->alipayCertPath = $configArr['alipay_cert_public_key_rsa2'];//'<-- 请填写您的支付宝公钥证书文件路径,例如:/foo/alipayCertPublicKey_RSA2.crt -->';
- $options->alipayRootCertPath = $configArr['alipay_root_cert'];//'<-- 请填写您的支付宝根证书文件路径,例如:/foo/alipayRootCert.crt" -->';
- $options->merchantCertPath = $configArr['app_cert_public_key'];//'<-- 请填写您的应用公钥证书文件路径,例如:/foo/appCertPublicKey_2019051064521003.crt -->';
- //注:如果采用非证书模式,则无需赋值上面的三个证书路径,改为赋值如下的支付宝公钥字符串即可
- $options->alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhR/5wh/MurXy5QVsdw8+4WSpnqhl/2+P+zZKIqfVnPmraHQrszt4gNDFoz6YQVXRarOlrkn3MVaxXJXB9d3vuVaPXk5iEoNI2zxIKptdfcogeZ7G/HP1fzWVUeWHgHiaQTA6mIOcnJvuX3nkWe0xVienWkNIjQX0oWjLdRzMUQDHJlAQNWMpSI1jByYP/ZgkoDL6003DSwn5jE22xnVrgyjDL1tzJK8xi6GHIF9jKU6qYgQWZXk+MWCyq/WenIhcp6QblJMok2DIXGwZNzAlaaVO/50TDqeu4oUQwNDDZuf41VNEfEmjapUGDdavwpifXcla31KTCSf6SSf6HNkIpwIDAQAB";//$configArr['ali_public_key'];
- //可设置异步通知接收服务地址(可选)
- $options->notifyUrl = $configArr['notify_url'];
- //可设置AES密钥,调用AES加解密相关接口时需要(可选)
- // $options->encryptKey = "<-- 请填写您的AES密钥,例如:aa4BtZ4tspm2wnXLb1ThQA== -->";
- return $options;
- }
- }
|