File: /www/wwwroot/bs.kntsleep.com/system/admin/miniprogram/interfaces.class.php
<?php
/*
* Copyright (c) Huyin Information Technology Co., Ltd. All Rights Reserved.
* BOSSCMS Content Management System (https://www.bosscms.net/)
*/
defined('IS_OK') or exit('Access Forbidden');
into::basic_class('admin');
into::basic_class('curl');
class interfaces extends admin
{
public function init()
{
global $G;
$G['cover'] = $this->cover();
$G['navs1'] = into::load_class('admin','miniprogram','miniprogram','new')->nav();
$G['navs1']['interfaces']['active'] = true;
echo $this->theme('miniprogram/interfaces', $data);
}
public function edit()
{
global $G;
$G['cover'] = $this->cover('miniprogram&interfaces');
echo $this->theme('miniprogram/minpg');
}
public function add()
{
global $G;
$this->cover('miniprogram&interfaces','M');
/* b o s s c m s */
if(isset($G['post'])){
switch($G['get']['type']){
case 'weixin':
$data = array(
'minpg_wxapiid' => $G['post']['minpg_wxapiid'],
'minpg_wxapisecret' => $G['post']['minpg_wxapisecret']
);
break;
case 'baidu':
$data = array(
'minpg_bdapiid' => $G['post']['minpg_bdapiid'],
'minpg_bdapikey' => $G['post']['minpg_bdapikey'],
'minpg_bdapisecret' => $G['post']['minpg_bdapisecret']
);
break;
}
foreach($data as $k=>$v){
mysql::select_set(array('name'=>$k,'value'=>$v,'parent'=>'0','type'=>'0'),'config',array('value'));
}
alert('操作成功', url::mpf('miniprogram','interfaces','edit',array('success'=>'ok')));
}
}
public function audit_edit()
{
global $G;
$G['cover'] = $this->cover('miniprogram&interfaces');
if($G['config']['miniprogram_open']){
$data['state'] = 8;
$arr = $this->expose();
switch($G['get']['type']){
case 'weixin':
$arr['apiid'] = $G['config']['minpg_wxapiid'];
$arr['apisecret'] = $G['config']['minpg_wxapisecret'];
if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/wxadinfo.php', $arr))){
foreach($res['category_list'] as $v){
$category_list[base64_encode(json::encode($v))] = $v['first_class'].'>>'.$v['second_class'].($v['third_class']?'>>'.$v['third_class']:'');
}
}
$data['ctrl'] = json::get(ROOT_PATH.'system/admin/miniprogram/common/audit.json');
$data['ctrl'][0]['ctrl'][3]['param'] = $category_list;
echo $this->theme('miniprogram/publish',$data);
break;
case 'baidu':
echo $this->theme('miniprogram/bdpublish',$data);
break;
}
}else{
alert('小程序为关闭状态', url::mpf('miniprogram','interfaces','edit',array('success'=>'ok')), 'red');
}
}
public function publish()
{
global $G;
$_SERVER['HTTP_REFERER'] = url::param($_SERVER['HTTP_REFERER'],'success','ok');
$this->cover('miniprogram&interfaces','M');
if($G['config']['miniprogram_open']){
if($ctrl = json::encode(into::load_class('extend','miniprogram','miniprogram','new')->ctrl())){
url::$domain = $G['path']['relative'];
$arr = $this->expose();
$arr['json_ctrl'] = $ctrl;
switch($G['get']['type']){
case 'weixin':
if(preg_match('/\w+/',$G['config']['minpg_wxapiid']) && preg_match('/\w+/',$G['config']['minpg_wxapisecret'])){
$arr['apiid'] = $G['config']['minpg_wxapiid'];
$arr['apisecret'] = $G['config']['minpg_wxapisecret'];
if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/wxpublish.php', $arr))){
echo $this->theme('miniprogram/publish',$res);
}
}else{
alert('接口配置错误');
}
break;
case 'baidu':
if(preg_match('/\w+/',$G['config']['minpg_bdapiid']) && preg_match('/\w+/',$G['config']['minpg_bdapikey']) && preg_match('/\w+/',$G['config']['minpg_bdapisecret'])){
$arr['apiid'] = $G['config']['minpg_bdapiid'];
$arr['apikey'] = $G['config']['minpg_bdapikey'];
$arr['apisecret'] = $G['config']['minpg_bdapisecret'];
if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/bdpublish.php', $arr))){
echo $this->theme('miniprogram/bdpublish',$res);
}
}else{
alert('接口配置错误');
}
break;
}
}else{
alert('模板配置错误');
}
}else{
alert('小程序为关闭状态');
}
}
public function audit()
{
global $G;
$this->cover('miniprogram&interfaces','M');
if($G['config']['miniprogram_open']){
$arr = $this->expose();
switch($G['get']['type']){
case 'weixin':
foreach($G['post']['item_list'] as $k=>$v){
if($v['category']){
$G['post']['item_list'][$k] = array_merge($v,json::decode(base64_decode($v['category'])));
}
unset($G['post']['item_list'][$k]['category']);
}
if(!$G['post']['feedback_info']){
unset($G['post']['feedback_info']);
}
$arr['data'] = json::encode($G['post']);
$arr['apiid'] = $G['config']['minpg_wxapiid'];
$arr['apisecret'] = $G['config']['minpg_wxapisecret'];
if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/wxaudit.php', $arr))){
echo $this->theme('miniprogram/publish',$res);
}
break;
case 'baidu':
$arr['data'] = json::encode($G['post']);
$arr['apiid'] = $G['config']['minpg_bdapiid'];
$arr['apikey'] = $G['config']['minpg_bdapikey'];
$arr['apisecret'] = $G['config']['minpg_bdapisecret'];
if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/bdaudit.php', $arr))){
echo $this->theme('miniprogram/bdpublish',$res);
}
break;
}
}else{
alert('小程序为关闭状态', url::mpf('miniprogram','interfaces','edit',array('success'=>'ok')), 'red');
}
}
public function process()
{
global $G;
$this->cover('miniprogram&interfaces','M');
if($G['config']['miniprogram_open']){
if($ctrl = json::encode(into::load_class('extend','miniprogram','miniprogram','new')->ctrl())){
url::$domain = $G['path']['relative'];
$data['state'] = 8;
$arr = $this->expose();
$arr['json_ctrl'] = $ctrl;
switch($G['get']['type']){
case 'weixin':
$arr['apiid'] = $G['config']['minpg_wxapiid'];
$arr['apisecret'] = $G['config']['minpg_wxapisecret'];
if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/wxprocess.php', $arr))){
echo $this->theme('miniprogram/publish',$res);
}
break;
case 'baidu':
$arr['apiid'] = $G['config']['minpg_bdapiid'];
$arr['apikey'] = $G['config']['minpg_bdapikey'];
$arr['apisecret'] = $G['config']['minpg_bdapisecret'];
if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/bdprocess.php', $arr))){
echo $this->theme('miniprogram/bdpublish',$res);
}
break;
}
}
}else{
alert('小程序为关闭状态', url::mpf('miniprogram','interfaces','edit',array('success'=>'ok')), 'red');
}
}
public function release()
{
global $G;
$this->cover('miniprogram&interfaces','M');
if($G['config']['miniprogram_open']){
$data['state'] = 8;
$arr = $this->expose();
switch($G['get']['type']){
case 'weixin':
$arr['apiid'] = $G['config']['minpg_wxapiid'];
$arr['apisecret'] = $G['config']['minpg_wxapisecret'];
if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/wxrelease.php', $arr))){
echo $this->theme('miniprogram/publish',$res);
}
break;
case 'baidu':
$arr['apiid'] = $G['config']['minpg_bdapiid'];
$arr['apikey'] = $G['config']['minpg_bdapikey'];
$arr['apisecret'] = $G['config']['minpg_bdapisecret'];
if($res = json::decode(curl::request('https://api.bosscms.net/rest/miniprogram/bdrelease.php', $arr))){
echo $this->theme('miniprogram/bdpublish',$res);
}
break;
}
}else{
alert('小程序为关闭状态', url::mpf('miniprogram','interfaces','edit',array('success'=>'ok')), 'red');
}
}
public function expose()
{
global $G;
return array(
'domain' => $G['config']['domain'],
'system_version' => $G['config']['version'],
'user_token' => $G['config']['miniprogram_token'],
'user_oem' => $G['authorize']['oem'],
'user_sequence' => $G['config']['user_sequence']
);
}
}
?>