vr-shopxo-plugin/shopxo/app/admin/controller/Appmini.php

261 lines
6.3 KiB
PHP
Executable File

<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( https://opensource.org/licenses/mit-license.php )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\admin\controller;
use app\admin\controller\Base;
use app\service\ApiService;
use app\service\AppMiniService;
use app\service\ConfigService;
use app\service\StoreService;
/**
* 小程序管理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-07-13
* @desc description
*/
class Appmini extends Base
{
private $params;
private $application_name;
private $old_path;
private $new_path;
private $view_type;
/**
* 构造方法
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-07-13
* @desc description
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
// 参数
$this->params = $this->data_request;
$this->params['application_name'] = empty($this->data_request['nav_type']) ? 'weixin' : trim($this->data_request['nav_type']);
// 小导航
$this->view_type = input('view_type', 'index');
}
/**
* 列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-07-13
* @desc description
*/
public function Index()
{
// 公共视图
$assign = $this->CurrentViewInit();
// 根据页面处理
switch($this->view_type)
{
// 首页
case 'index' :
// 默认主题
$assign['theme'] = AppMiniService::DefaultTheme();
// 获取主题列表
$data = AppMiniService::ThemeList($this->params);
$assign['data_list'] = $data;
// 插件更新信息
$upgrade = AppMiniService::AppMiniUpgradeInfo(['terminal'=>$this->params['application_name'], 'data'=>$data]);
$assign['upgrade_info'] = $upgrade['data'];
break;
// 源码包列表
case 'package' :
$assign = array_merge($assign, $this->Package());
break;
}
// 模板赋值
MyViewAssign($assign);
return MyView($this->view_type);
}
/**
* 小程序包列表页面
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-07-13
* @desc description
*/
public function Package()
{
// 源码包列表
$ret = AppMiniService::DownloadDataList($this->params);
return [
'data_list' => $ret['data'],
];
}
/**
* 公共视图
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-11-21
* @desc description
*/
public function CurrentViewInit()
{
return [
// 基础导航
'base_nav' => MyLang('appmini.base_nav_list'),
// 操作导航类型
'nav_type' => $this->params['application_name'],
// 操作页面类型
'view_type' => $this->view_type,
// 应用商店
'store_theme_url' => StoreService::StoreThemeUrl(),
// 小程序平台
'common_appmini_type' => MyConst('common_appmini_type'),
// 是否
'common_is_text_list' => MyConst('common_is_text_list'),
// 是否开启
'common_close_open_list' => MyConst('common_close_open_list'),
];
}
/**
* 主题上传安装
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-11-21
* @desc description
*/
public function ThemeUpload()
{
return ApiService::ApiDataReturn(AppMiniService::ThemeUpload($this->params));
}
/**
* 主题切换保存
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-12-19T00:58:47+0800
*/
public function ThemeSave()
{
$key = AppMiniService::DefaultThemeKey($this->params);
$params[$key] = empty($this->data_request['theme']) ? 'default' : $this->data_request['theme'];
return ApiService::ApiDataReturn(ConfigService::ConfigSave($params));
}
/**
* 主题打包下载
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-12-19T00:58:47+0800
*/
public function ThemeDownload()
{
$params = array_merge($this->params, $this->data_request);
$ret = AppMiniService::ThemeDownload($params);
if(isset($ret['code']) && $ret['code'] != 0)
{
MyViewAssign('msg', $ret['msg']);
return MyView('public/tips_error');
}
}
/**
* 主题删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-11-21
* @desc description
*/
public function ThemeDelete()
{
$params = array_merge($this->params, $this->data_request);
return ApiService::ApiDataReturn(AppMiniService::ThemeDelete($params));
}
/**
* 配置
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-07-13
* @desc description
*/
public function Config()
{
// 公共视图
$assign = $this->CurrentViewInit();
// 配置信息
$assign['data'] = ConfigService::ConfigList();
// 模板赋值
MyViewAssign($assign);
return MyView();
}
/**
* 生成
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-07-13
* @desc description
*/
public function Created()
{
return ApiService::ApiDataReturn(AppMiniService::Created($this->params));
}
/**
* 配置保存
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-07-13
* @desc description
*/
public function Save()
{
return ApiService::ApiDataReturn(ConfigService::ConfigSave($this->data_request));
}
/**
* 删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-07-13
* @desc description
*/
public function Delete()
{
return ApiService::ApiDataReturn(AppMiniService::Delete($this->params));
}
}
?>