jh-admin/addon/aliapp/shop/controller/AppletRelease.php

90 lines
3.1 KiB
PHP

<?php
namespace addon\aliapp\shop\controller;
use addon\aliapp\model\AliPayMessage;
use addon\aliapp\model\Config;
use addon\aliapp\model\MinCode;
use app\shop\controller\BaseShop;
use addon\aliapp\model\AliPayApplet;
use addon\aliapp\model\AppletRelease as appletReleaseModel;
class AppletRelease extends BaseShop{
public function __construct(){
parent::__construct();
// 输出菜单
if(request()->isGet()) $this->forthMenu();
}
/**
* Common: 进入发布小程序
* Author: wu-hui
* Time: 2023/01/03 17:05
* @return array|mixed
* @throws \think\db\exception\DbException
*/
public function index(){
if(request()->isAjax()){
$this->versionsynchronization();
return (new appletReleaseModel($this->site_id))->getList();
}
$config = new Config();
$config_info = $config->getAppConfig($this->site_id)['data']['value'];
$baseinfo=[];
$is_baseinfo=1;
if(!empty($config_info['line_type'])&&$config_info['line_type']=='auth'){
$app = new MinCode($this->site_id);
$app->appAuthToken = $config_info['app_auth_token'];
$baseinfo = cache($app->appAuthToken . '_baseinfo');
if (empty($baseinfo)) {
$baseinfo = $app->requestApi('alipay.open.mini.baseinfo.query')['alipay_open_mini_baseinfo_query_response'];
cache($app->appAuthToken . '_baseinfo', $baseinfo);
}
if(!isset($baseinfo['category_names'])){
$is_baseinfo=0;
}
}
$AliPayApplet=new AliPayApplet($this->site_id);
$version = (string)config('alipay.templateInfo.template_version');// 当前系统版本
$userVer=$AliPayApplet->newestVersion();
$this->assign('userVersion',$userVer);
$this->assign('is_baseinfo',$is_baseinfo);
$this->assign('baseinfo',$baseinfo);
$this->assign('version',$version);
// 最新版本
$this->assign('isNewest',version_compare($version, $userVer, '>'));
return $this->fetch('release/index');
}
/**
* Common: 小程序发布流程处理
* Author: wu-hui
* Time: 2023/01/04 11:05
* @return array
*/
public function publishingProcessProcessing(){
// 参数获取
$type = (string)input('type');
$id = (int)input('id');
$app_version = input('app_version','');
return (new AliPayApplet($this->site_id))->publishingInit($type,$id,$app_version);
}
/**
* Common: 版本管理 —— 版本同步
* Author: wu-hui
* Time: 2022/12/30 10:08
* @return array
* @throws \Exception
*/
public function versionSynchronization(){
return (new AliPayApplet($this->site_id))->versionSynchronization();
}
/**
* Common: 生成小程序推广二维码
* Author: wu-hui
* Time: 2023/01/03 14:13
* @return array
*/
public function qrcodeCreate(){
$version=config('alipay.templateInfo.template_version');
return (new AliPayApplet($this->site_id))->queryTestQrcode($version);
}
}