初始化代码

This commit is contained in:
2025-08-11 10:22:05 +08:00
commit ebd8d85201
4206 changed files with 753018 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
/*
* */
class AccessTokenCodeRequest extends Base
{
private $apiParas = array();
private $appid;
private $secret;
private $code;
public function init(){
$this->setAppId('');
$this->setSecret('');
$this->setCode('');
$this->apiParas['grant_type'] = 'authorization_code';
}
public function getApiMethodName(){
return "sns/oauth2/access_token";
}
public function getApiParas(){
return $this->apiParas;
}
public function putOtherTextParam($key, $value){
$this->apiParas[$key] = $value;
$this->$key = $value;
}
public function setAppId($appid){
$this->appid = $appid;
$this->apiParas["appid"] = $appid;
}
public function getAppId(){
return $this->appid;
}
public function setSecret($secret){
$this->secret = $secret;
$this->apiParas["secret"] = $secret;
}
public function getSecret(){
return $this->secret;
}
public function setCode($code){
$this->code = $code;
$this->apiParas["code"] = $code;
}
public function getCode(){
return $this->code;
}
}

View File

@@ -0,0 +1,55 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
/* 获取常规access_token
* $AccessTokenRequest=new AccessTokenRequest();
* $AccessTokenRequest->setAppId($WxClient->appID);
* $AccessTokenRequest->setSecret($WxClient->appsecret);
* $AccessTokenRequest=$WxClient->execute($AccessTokenRequest);
* */
class AccessTokenRequest extends Base
{
private $apiParas = array();
private $appid;
private $secret;
private $code;
public function init(){
$this->apiParas['grant_type'] = 'client_credential';
$this->setAppId('');
$this->setSecret('');
}
public function getApiMethodName(){
return "cgi-bin/token";
}
public function getApiParas(){
return $this->apiParas;
}
public function putOtherTextParam($key, $value){
$this->apiParas[$key] = $value;
$this->$key = $value;
}
public function setAppId($appid){
$this->appid = $appid;
$this->apiParas["appid"] = $appid;
}
public function getAppId(){
return $this->appid;
}
public function setSecret($secret){
$this->secret = $secret;
$this->apiParas["secret"] = $secret;
}
public function getSecret(){
return $this->secret;
}
}

View File

@@ -0,0 +1,48 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
/* 检验授权凭证access_token是否有效
* $AuthAccessTokenRequest = new AuthAccessTokenRequest();
* $AuthAccessTokenRequest->setAccessToken($resp->access_token);
* $AuthAccessTokenRequest->setOpenid($resp->openid);
* $AuthAccessTokenRequest=$WxClient->execute($AuthAccessTokenRequest);
* */
class AuthAccessTokenRequest extends Base
{
private $apiParas = array();
private $access_token;
private $openid;
public function init(){
$this->setAccessToken('');
$this->setOpenid('');
}
public function getApiMethodName(){
return "sns/auth";
}
public function getApiParas(){
return $this->apiParas;
}
public function setOpenid($openid){
$this->openid = $openid;
$this->apiParas["openid"] = $openid;
}
public function getOpenid(){
return $this->openid;
}
public function setAccessToken($access_token){
$this->access_token = $access_token;
$this->apiParas["access_token"] = $access_token;
}
public function getAccessToken(){
return $this->access_token;
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
/* $req = new CodeRequest();
* $req->setAppId($WxClient->appID);
* $req->setServerUrl($WxClient->serverUrl);
* $req->setScope(self::STATE_SNSAPI_BASE);
* $url=$req->run();
* return $this->redirect($url);
* */
class CodeRequest extends Base
{
const STATE_SNSAPI_BASE='snsapi_base'; //不弹出授权页面直接跳转只能获取用户openid
const STATE_SNSAPI_USERINFO='snsapi_userinfo'; //弹出授权页面可通过openid拿到昵称、性别、所在地。并且即使在未关注的情况下只要用户授权也能获取其信息
private $serverUrl='https://open.weixin.qq.com/';
private $redirect_uri;
private $apiParas = array();
private $appid;
private $scope;
private $state;
public function init(){
$callback=$_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$this->setAppId('');
$this->setRredirectUri($callback);
$this->apiParas['response_type'] = 'code';
$this->setScope(self::STATE_SNSAPI_BASE);
$this->apiParas['state'] = time();
$this->apiParas['#'] = 'wechat_redirect';
}
public function run()
{
//获取业务参数
$apiParams = $this->getApiParas();
//系统参数放入GET请求串
$requestUrl = $this->serverUrl . $this->getApiMethodName() . "?";
foreach ($apiParams as $key => $value)
{
$requestUrl .= "$key=" . $value . "&";
}
return trim($requestUrl,"&");
}
public function getApiMethodName(){
return "connect/oauth2/authorize";
}
public function getApiParas(){
return $this->apiParas;
}
public function putOtherTextParam($key, $value){
$this->apiParas[$key] = $value;
$this->$key = $value;
}
public function setAppId($appid){
$this->appid = $appid;
$this->apiParas["appid"] = $appid;
}
public function getAppId(){
return $this->appid;
}
public function setRredirectUri($redirect_uri){
$redirect_uri = urlencode($redirect_uri);
$this->redirect_uri = $redirect_uri;
$this->apiParas["redirect_uri"] = $redirect_uri;
}
public function getRredirectUri(){
return $this->redirect_uri;
}
public function setScope($scope){
$this->scope = $scope;
$this->apiParas["scope"] = $scope;
}
public function getScope(){
return $this->scope;
}
public function setServerUrl($serverUrl){
$this->serverUrl = $serverUrl;
}
public function getServerUrl(){
return $this->serverUrl;
}
public function setState($state){
$this->state = $state;
$this->apiParas["state"] = $state;
}
public function getState(){
return $this->state;
}
}

View File

@@ -0,0 +1,92 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
/*
* */
class GetWechatCodeRequest extends Base
{
const SNSAPI_BASE="snsapi_base";
const SNSAPI_USERINFO="snsapi_userinfo";
private $apiParas = array();
private $appid;
private $redirect_uri;
private $scope;
private $state;
public function init(){
$this->setResponseType();
$this->setRedirectUri();
//$this->apiParas['#'] = 'wechat_redirect';
}
public function run(){
//获取业务参数
$apiParams = $this->getApiParas();
$arr['appid']=$apiParams['appid'];
$arr['redirect_uri']=$apiParams['redirect_uri'];
$arr['response_type']=$apiParams['response_type'];
$arr['scope']=$apiParams['scope'];
//系统参数放入GET请求串
$requestUrl =$this->getApiMethodName() . "?";
$str='';
foreach ($arr as $key=>$val){
$str.=$key.'='.$val.'&';
}
$str=rtrim($str,'&').'#wechat_redirect';
return $requestUrl.$str;
}
public function getApiMethodName(){
return "https://open.weixin.qq.com/connect/oauth2/authorize";
}
public function getApiParas(){
return $this->apiParas;
}
public function putOtherTextParam($key, $value){
$this->apiParas[$key] = $value;
$this->$key = $value;
}
public function setAppId($appid){
$this->appid = $appid;
$this->apiParas["appid"] = $appid;
}
public function getAppId(){
return $this->appid;
}
public function setRedirectUri(){
$this->redirect_uri=urlEncode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']);
$this->apiParas["redirect_uri"] = $this->redirect_uri;
}
public function setResponseType(){
$this->apiParas["response_type"] = 'code';
}
public function setScope($scope){
$this->scope = $scope;
$this->apiParas["scope"] = $scope;
}
public function getScope(){
return $this->scope;
}
public function setState($state){
$this->state = $state;
$this->apiParas["state"] = $state;
}
public function getState(){
return $this->state;
}
}

View File

@@ -0,0 +1,76 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
/* 获取小程序码
* $GetWxAcodeUnLimitRequest=new GetWxAcodeUnLimitRequest();
* $GetWxAcodeUnLimitRequest->setAccessToken($AccessTokenRequest->access_token);
* $GetWxAcodeUnLimitRequest=$WxClient->execute($GetWxAcodeUnLimitRequest);
* */
class GetWxAcodeUnLimitRequest extends Base
{
private $apiParas = array();
private $access_token;
public function init(){
$this->setPage();
$this->setWidth();
$this->setAutoColor();
}
public function getApiMethodName(){
return "wxa/getwxacodeunlimit";
}
public function getApiParas(){
return $this->apiParas;
}
public function getGetParas(){
return $this->OtherData;
}
public function putOtherTextParam($key, $value){
$this->apiParas[$key] = $value;
$this->$key = $value;
}
public function setScene($scene){
$this->apiParas["scene"] = $scene;
}
public function setPage($page=''){
$this->apiParas["page"] = $page;
}
public function setWidth($width=500){
$this->apiParas["width"] = $width;
}
public function setAutoColor($AutoColor=false){
$this->apiParas["auto_color"] = $AutoColor;
}
/* auto_color为false时生效{"r":0,"g":0,"b":0}
* */
public function setLineColor($LineColor=[]){
$this->apiParas["line_color"] = $LineColor;
}
/* 底色是否透明
* */
public function setIsHyaline($IsHyaline=false){
$this->apiParas["is_hyaline"] = $IsHyaline;
}
public function setAccessToken($access_token){
$this->access_token = $access_token;
$this->OtherData["access_token"] = $access_token;
}
public function getAccessToken(){
return $this->access_token;
}
}

View File

@@ -0,0 +1,54 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
/* 获取小程序码
* $GetWxaCodeRequest=new GetWxaCodeRequest();
* $GetWxaCodeRequest->setAccessToken($AccessTokenRequest->access_token);
* $GetWxaCodeRequest=$WxClient->execute($GetWxaCodeRequest);
* */
class GetWxaCodeRequest extends Base
{
private $apiParas = array();
private $access_token;
public function init(){
$this->setWidth();
}
public function getApiMethodName(){
return "wxa/getwxacode";
}
public function getApiParas(){
return $this->apiParas;
}
public function getGetParas(){
return $this->OtherData;
}
public function putOtherTextParam($key, $value){
$this->apiParas[$key] = $value;
$this->$key = $value;
}
public function setPath($path=''){
$this->apiParas["path"] = $path;
}
public function setWidth($width=430){
$this->apiParas["width"] = $width;
}
public function setAccessToken($access_token){
$this->access_token = $access_token;
$this->OtherData["access_token"] = $access_token;
}
public function getAccessToken(){
return $this->access_token;
}
}

View File

@@ -0,0 +1,50 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
/* 刷新access_token如果需要
* $RefreshTokenRequest=new RefreshTokenRequest();
* $RefreshTokenRequest->setAppid($WxClient->appID);
* $RefreshTokenRequest->setRefreshToken($resp->refresh_token);
* $resp=$WxClient->execute($RefreshTokenRequest);
* */
class RefreshTokenRequest extends Base
{
private $apiParas = array();
private $refresh_token;
private $appid;
public function init(){
$this->setAppid('');
$this->apiParas["grant_type"] = 'refresh_token';
$this->setRefreshToken('');
}
public function getApiMethodName(){
return "sns/oauth2/refresh_token";
}
public function getApiParas(){
return $this->apiParas;
}
public function setAppid($appid){
$this->appid = $appid;
$this->apiParas["appid"] = $appid;
}
public function getAppid(){
return $this->appid;
}
public function setRefreshToken($refresh_token){
$this->refresh_token = $refresh_token;
$this->apiParas["refresh_token"] = $refresh_token;
}
public function getRefreshToken(){
return $this->refresh_token;
}
}

View File

@@ -0,0 +1,52 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
/*
* */
class TemplateSendRequest extends Base
{
private $apiParas = array();
private $getParas=[];
public function getApiMethodName(){
return "cgi-bin/message/template/send";
}
public function getApiParas(){
return $this->apiParas;
}
public function getGetParas(){
return $this->getParas;
}
public function setAccessToken($access_token){
$this->getParas["access_token"] = $access_token;
}
public function getAccessToken(){
return $this->getParas["access_token"];
}
public function setToUser($touser){
$this->apiParas["touser"] = $touser;
}
public function setTopColor($topcolor){
$this->apiParas["topcolor"] = $topcolor;
}
public function setTemplateId($template_id){
$this->apiParas["template_id"] = $template_id;
}
public function setUrl($url){
$this->apiParas["url"] = $url;
}
public function setData($data=[]){
$this->apiParas["data"] = $data;
}
}

View File

@@ -0,0 +1,46 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
/* 获取UnionID
* $UnionIDRequest=new UnionIDRequest();
* $UnionIDRequest->setAccessToken($WxClient->appID);
* $UnionIDRequest->setOpenid($WxClient->appsecret);
* $UnionIDRequestResult=$WxClient->execute($UnionIDRequest);
* */
class UnionIDRequest extends Base
{
private $apiParas = array();
public function init(){
$this->setAccessToken('');
$this->setOpenid('');
$this->setLang('');
}
public function getApiMethodName(){
return "cgi-bin/user/info";
}
public function getApiParas(){
return $this->apiParas;
}
public function putOtherTextParam($key, $value){
$this->apiParas[$key] = $value;
$this->$key = $value;
}
public function setAccessToken($access_token){
$this->apiParas["access_token"] = $access_token;
}
public function setOpenid($openid){
$this->apiParas["openid"] = $openid;
}
public function setLang($lang='zh_CN'){
$this->apiParas["lang"] = $lang;
}
}

View File

@@ -0,0 +1,47 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
class UserInfoQqAppRequest extends Base
{
private $apiParas = array();
public function init(){
$this->setFormat('json');
}
public function getApiMethodName(){
return "user/get_user_info";
}
public function getGetParas(){
return [];
}
public function getApiParas(){
return $this->apiParas;
}
public function putOtherTextParam($key, $value){
$this->apiParas[$key] = $value;
$this->$key = $value;
}
public function setAccessToken($access_token){
$this->apiParas["access_token"] = $access_token;
}
public function setOpenid($openid){
$this->apiParas["openid"] = $openid;
}
public function setAppid($appid){
$this->apiParas["oauth_consumer_key"] = $appid;
}
public function setFormat($format){
$this->apiParas["format"] = $format;
}
}

View File

@@ -0,0 +1,40 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
/* 通过code取的AccessToken用来取用户openid和信息
* */
class UserInfoRequest extends Base
{
private $apiParas = array();
public function init(){
$this->setLang("zh_CN");
}
public function getApiMethodName(){
return "sns/userinfo";
}
public function getApiParas(){
return $this->apiParas;
}
public function putOtherTextParam($key, $value){
$this->apiParas[$key] = $value;
$this->$key = $value;
}
public function setAccessToken($access_token){
$this->apiParas["access_token"] = $access_token;
}
public function setOpenid($openid){
$this->apiParas["openid"] = $openid;
}
public function setLang($lang){
$this->apiParas["lang"] = $lang;
}
}

View File

@@ -0,0 +1,36 @@
<?php
namespace app\api\wxapi\request;
use app\api\wxapi\Base;
class UserInfoWeiboAppRequest extends Base
{
private $apiParas = array();
public function init(){
}
public function getApiMethodName(){
return "2/users/show.json";
}
public function getApiParas(){
return $this->apiParas;
}
public function putOtherTextParam($key, $value){
$this->apiParas[$key] = $value;
$this->$key = $value;
}
public function setAccessToken($access_token){
$this->apiParas["access_token"] = $access_token;
}
public function setUid($uid){
$this->apiParas["uid"] = $uid;
}
}