PHP 生成微信页面跳转二维码并上传阿里云OSS
生活随笔
收集整理的這篇文章主要介紹了
PHP 生成微信页面跳转二维码并上传阿里云OSS
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
<?php
namespace app\utils;
use app\api\controller\ytadm\v1\Oss;
use buwang\exception\MiniappException;/*** 微信小程序api接口功能* Class WxMiniapp* @package app\utils*/
class WxMiniapp{/*** 當(dāng)前實(shí)例對(duì)象* @var object*/protected static $instance;/*** appid* @var string*/protected $appid;/*** secret* @var string*/protected $secret;/*** 獲取對(duì)象實(shí)例*/public static function instance(){if (is_null(self::$instance)) {self::$instance = new static();}return self::$instance;}/*** 初始化* WxMiniappQrcode constructor.*/public function __construct(){/*** 默認(rèn)系統(tǒng)的參數(shù)*/$loginInfo=get_login_info();$this->appid=isset($loginInfo['member_miniapp']->miniapp_appid)?$loginInfo['member_miniapp']->miniapp_appid:"";// 請(qǐng)?zhí)顚?xiě)您的AccessKeyId。$this->secret= isset($loginInfo['member_miniapp']->miniapp_secret)?$loginInfo['member_miniapp']->miniapp_secret:""; // 請(qǐng)?zhí)顚?xiě)您的AccessKeySecret。}/*** Author: liuyi* Time: 2021/12/21 14:56* Descript: 設(shè)置appid* @param $value* @return $this*/public function setAppid($value){if(!empty($value)) $this->appid=$value;if(!$this->appid) throw new MiniappException("缺少appid");return $this;}public function setSecret($value){if(!empty($value)) $this->secret=$value;if(!$this->secret) throw new MiniappException("缺少secret");return $this;}/*** Author: liuyi* Time: 2021/12/21 15:12* Descript:獲取accessToken* @return mixed*/public function getWxAccessToken(){$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appid}&secret={$this->secret}";$res=curl_request($url);$decode=json_decode($res,true);if(isset($decode['errcode'])) throw new MiniappException("獲取accessToken失敗");return $decode;}/*** Author: liuyi* Time: 2021/12/21 15:19* Descript:獲取微信頁(yè)面跳轉(zhuǎn)二維碼* @param string $page 小程序頁(yè)面路徑* @param string $scene 參數(shù)* @return bool|string*/public function getwxacodeunlimit($page="pages/index/index",$scene="qrcode"){$access_token=self::getWxAccessToken();$url="https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={$access_token['access_token']}";$param=["page"=>$page,"scene"=>$scene,"width"=>430,"auto_color"=>false,"line_color"=>["r"=>0,"g"=>0,"b"=>0]];$json_param=json_encode($param,JSON_UNESCAPED_UNICODE);$res=curl_request($url,true,$json_param,true);//設(shè)置為簽名圖片名稱和路徑$loginInfo=get_login_info(null);$uuid=get_uuid();$object=$loginInfo['dir']."/member".$loginInfo['memberId']."/miniappQrcode/$uuid.png";//二維碼圖片上傳$upload=AliOssUpload::instance()->setConfig()->setObject($object)->put($res);return $upload;}
}
OSS上傳處用putObject直接上傳微信接口返回的流保存為圖片就行了
總結(jié)
以上是生活随笔為你收集整理的PHP 生成微信页面跳转二维码并上传阿里云OSS的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: cmakelist生成
- 下一篇: Nginx反向代理400错误