###PHP段
#PHP端主要是处理分包和上传OSS阿里云
<?php
namespace Org\Util;
require('./Expand/cos/include.php');
use Qcloud_cos\Auth;
use Qcloud_cos\Cosapi;
use OSS\Core\OssException;
class AppSubpackage
{
private $info = null;
private $gameInfo;
private $sourFile;
private $subpackagePath;
private $chID;
private $chName;
private $appLocationAddress;
public function __construct($gameID, $chID = null)
{
$this->chID = $chID;
//根据GID查询AppProvider表的信息
$appProviderResult=M('AppProvider',Null,'DB_CONFIG2')->field("id,app_name,app_name_cn,gid,main_package_ver,main_package_old_ver,main_package,mark_banben")->where("gid='".$gameID."'")->find();
// 拿到主包的所有的信息
if (! empty($appProviderResult)) {
$this->gameInfo = $appProviderResult;
$this->sourFile = $appProviderResult['main_package'];
} else {
die('严重错误,游戏信息拉取失败');
}
}
public function empty_is(){
}
// 改版后的分包
public function create_apk(){
//创建目录
$this->createFolder();
$coreChannelOne=M('CoreChannelOneInfo',Null,'DB_CONFIG3')->where("ch_id='".$this->chID."'")->find();
if(empty($coreChannelOne)){
$coreChannelTwo =M('CoreChannelTwoInfo',Null,'DB_CONFIG3')->where("ch2_id='".$this->chID."'")->find();
}
//赋值渠道名称
if (!empty($coreChannelOne)) {
$this->chName = $coreChannelOne['ch_uname'];
}else if(!empty($coreChannelTwo)){
$this->chName = $coreChannelTwo['ch2_uname'];
}
$AppSubpackageWhere['gid']=$this->gameInfo['gid'];
$AppSubpackageWhere['chid']=$this->chID;
$appSubpackage=M('AppSubpackage',Null,'DB_CONFIG3')->where($AppSubpackageWhere)->find();
// 如果为null。那就是第一次生成
if(empty($appSubpackage)){
$Subpackage=$this->create_apks($this->chID);
if(!empty($Subpackage)){
//上传OSS阿里云
$cos_url=$this->AliUpdate1($Subpackage,$this->chID);
if(!empty($cos_url)){
@unlink($Subpackage);
}else{
return "没有oss地址";
}
// if($isset_apk_file==true){
$appSubpackageData=array();
$appSubpackageData['app_name'] = $this->gameInfo['app_name'];
$appSubpackageData['app_name_cn'] = $this->gameInfo['app_name_cn'];
$appSubpackageData['gid']= $this->gameInfo['gid'];
$appSubpackageData['subpackage_ver'] = $this->gameInfo['main_package_ver'];
$appSubpackageData['subpackage_old_ver'] = $this->gameInfo['main_package_old_ver'];
$appSubpackageData['chid']= $this->chID;
$appSubpackageData['subpackage'] ="";
$appSubpackageData['cos_url']=$cos_url;
$appSubpackageData['create_time'] = time();
$appSubpackageData['cos_flag'] = 'no';
$appSubpackageData['up_flag'] = 3;
$result=M('AppSubpackage',Null,'DB_CONFIG3')->data($appSubpackageData)->add();
if($result>0){
return $cos_url;
}else{
return "修改失败";
}
}
}else{
$wheres['id']=$appSubpackage['id'];
$Subpackage=$this->create_apks($this->chID);
if(!empty($Subpackage)){
//上传OSS阿里云
$cos_url=$this->AliUpdate1($Subpackage,$this->chID,$appSubpackageResult['cos_url']);
// $isset_apk_file="";
// $isset_apk_file=$this->isset_ossapk($cos_url);
if(!empty($cos_url)){
@unlink($Subpackage);
}else{
return "没有oss地址";
}
// if($isset_apk_file==true){
$appSubpackageData=array();
$appSubpackageData['app_name'] = $this->gameInfo['app_name'];
$appSubpackageData['app_name_cn'] = $this->gameInfo['app_name_cn'];
$appSubpackageData['gid']= $this->gameInfo['gid'];
$appSubpackageData['subpackage_ver'] = $this->gameInfo['main_package_ver'];
$appSubpackageData['subpackage_old_ver'] = $this->gameInfo['main_package_old_ver'];
$appSubpackageData['chid']= $this->chID;
$appSubpackageData['subpackage'] ="";
$appSubpackageData['cos_url']=$cos_url;
$appSubpackageData['create_time'] = time();
$appSubpackageData['cos_flag'] = 'no';
$appSubpackageData['up_flag'] = 3;
$result=M('AppSubpackage',Null,'DB_CONFIG3')->where($wheres)->data($appSubpackageData)->save();
if($result>0){