初始上传
This commit is contained in:
38
addon/alioss/config/diy_view.php
Executable file
38
addon/alioss/config/diy_view.php
Executable file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
return [
|
||||
|
||||
// 自定义模板页面类型,格式:[ 'title' => '页面类型名称', 'name' => '页面标识', 'path' => '页面路径', 'value' => '页面数据,json格式' ]
|
||||
'template' => [],
|
||||
|
||||
// 后台自定义组件——装修
|
||||
'util' => [],
|
||||
|
||||
// 自定义页面路径
|
||||
'link' => [],
|
||||
|
||||
// 自定义图标库
|
||||
'icon_library' => [],
|
||||
|
||||
// uni-app 组件,格式:[ 'name' => '组件名称/文件夹名称', 'path' => '文件路径/目录路径' ],多个逗号隔开,自定义组件名称前缀必须是diy-,也可以引用第三方组件
|
||||
'component' => [],
|
||||
|
||||
// uni-app 页面,多个逗号隔开
|
||||
'pages' => [],
|
||||
|
||||
// 模板信息,格式:'title' => '模板名称', 'name' => '模板标识', 'cover' => '模板封面图', 'preview' => '模板预览图', 'desc' => '模板描述'
|
||||
'info' => [],
|
||||
|
||||
// 主题风格配色,格式可以自由定义扩展,【在uni-app中通过:this.themeStyle... 获取定义的颜色字段,例如:this.themeStyle.main_color】
|
||||
'theme' => [],
|
||||
|
||||
// 自定义页面数据,格式:[ 'title' => '页面名称', 'name' => "页面标识", 'value' => [页面数据,json格式] ]
|
||||
'data' => []
|
||||
];
|
||||
30
addon/alioss/config/event.php
Executable file
30
addon/alioss/config/event.php
Executable file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
// 事件定义文件
|
||||
return [
|
||||
'bind' => [
|
||||
|
||||
],
|
||||
|
||||
'listen' => [
|
||||
//短信方式
|
||||
'OssType' => [
|
||||
'addon\alioss\event\OssType'
|
||||
],
|
||||
'Put' => [
|
||||
'addon\alioss\event\Put'
|
||||
],
|
||||
'CloseOss' => [
|
||||
'addon\alioss\event\CloseOss'
|
||||
],
|
||||
'ClearAlbumPic' => [
|
||||
'addon\alioss\event\ClearAlbumPic'
|
||||
],
|
||||
// 展示活动
|
||||
'ShowPromotion' => [
|
||||
'addon\alioss\event\ShowPromotion',
|
||||
],
|
||||
],
|
||||
|
||||
'subscribe' => [
|
||||
],
|
||||
];
|
||||
21
addon/alioss/config/info.php
Executable file
21
addon/alioss/config/info.php
Executable file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
|
||||
* =========================================================
|
||||
*/
|
||||
return [
|
||||
'name' => 'alioss',
|
||||
'title' => '阿里云OSS',
|
||||
'description' => '阿里云OSS',
|
||||
'type' => 'system', //插件类型 system :系统插件(自动安装), business:业务插件 promotion:营销插件 tool:工具插件
|
||||
'status' => 1,
|
||||
'author' => '',
|
||||
'version' => '5.5.3',
|
||||
'version_no' => '553250709001',
|
||||
'content' => '',
|
||||
];
|
||||
19
addon/alioss/config/menu_shop.php
Executable file
19
addon/alioss/config/menu_shop.php
Executable file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | 平台端菜单设置
|
||||
// +----------------------------------------------------------------------
|
||||
return [
|
||||
[
|
||||
'name' => 'ALIOSS_CONFIG',
|
||||
'title' => '阿里云OSS上传配置',
|
||||
'url' => 'alioss://shop/config/config',
|
||||
'parent' => 'UPLOAD_OSS',
|
||||
'is_show' => 0,
|
||||
'is_control' => 1,
|
||||
'is_icon' => 0,
|
||||
'picture' => '',
|
||||
'picture_select' => '',
|
||||
'sort' => 1,
|
||||
'type' => 'button',
|
||||
],
|
||||
];
|
||||
39
addon/alioss/event/ClearAlbumPic.php
Executable file
39
addon/alioss/event/ClearAlbumPic.php
Executable file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\alioss\event;
|
||||
|
||||
use addon\alioss\model\Alioss;
|
||||
use addon\alioss\model\Config;
|
||||
|
||||
/**
|
||||
* 删除阿里云图片
|
||||
*/
|
||||
class ClearAlbumPic
|
||||
{
|
||||
public function handle($params)
|
||||
{
|
||||
$config_model = new Config();
|
||||
$alioss_model = new Alioss();
|
||||
|
||||
$config = $config_model->getAliossConfig($params[ 'site_id' ]);
|
||||
if (!empty($config[ 'data' ])) {
|
||||
if (!empty($config[ 'data' ][ 'value' ][ 'endpoint' ]) && strpos($params[ 'pic_path' ], $config[ 'data' ][ 'value' ][ 'endpoint' ]) === 0) {
|
||||
$result = $alioss_model->deleteAlbumPic($params[ 'pic_path' ], $config[ 'data' ][ 'value' ][ 'endpoint' ]);
|
||||
return $result;
|
||||
}
|
||||
if (!empty($config[ 'data' ][ 'value' ][ 'domain' ]) && strpos($params[ 'pic_path' ], $config[ 'data' ][ 'value' ][ 'domain' ]) === 0) {
|
||||
$result = $alioss_model->deleteAlbumPic($params[ 'pic_path' ], $config[ 'data' ][ 'value' ][ 'domain' ]);
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
27
addon/alioss/event/CloseOss.php
Executable file
27
addon/alioss/event/CloseOss.php
Executable file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\alioss\event;
|
||||
|
||||
use addon\alioss\model\Config;
|
||||
|
||||
/**
|
||||
* 关闭云上传
|
||||
*/
|
||||
class CloseOss
|
||||
{
|
||||
public function handle()
|
||||
{
|
||||
$config_model = new Config();
|
||||
$result = $config_model->modifyConfigIsUse(0);
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
26
addon/alioss/event/Install.php
Executable file
26
addon/alioss/event/Install.php
Executable file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\alioss\event;
|
||||
|
||||
/**
|
||||
* 应用安装
|
||||
*/
|
||||
class Install
|
||||
{
|
||||
/**
|
||||
* 执行安装
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return success();
|
||||
}
|
||||
}
|
||||
33
addon/alioss/event/OssType.php
Executable file
33
addon/alioss/event/OssType.php
Executable file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\alioss\event;
|
||||
|
||||
/**
|
||||
* 云上传方式
|
||||
*/
|
||||
class OssType
|
||||
{
|
||||
/**
|
||||
* 短信发送方式方式及配置
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
$info = array(
|
||||
"sms_type" => "alioss",
|
||||
"sms_type_name" => "阿里云上传",
|
||||
"edit_url" => "alioss://shop/config/config",
|
||||
"shop_url" => "alioss://shop/config/config",
|
||||
"desc" => "阿里云上传"
|
||||
);
|
||||
return $info;
|
||||
}
|
||||
}
|
||||
31
addon/alioss/event/Put.php
Executable file
31
addon/alioss/event/Put.php
Executable file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\alioss\event;
|
||||
|
||||
use addon\alioss\model\Alioss;
|
||||
|
||||
/**
|
||||
* 云上传方式
|
||||
*/
|
||||
class Put
|
||||
{
|
||||
/**
|
||||
* @param $param
|
||||
* @return array
|
||||
*/
|
||||
public function handle($param)
|
||||
{
|
||||
$qiniu_model = new Alioss();
|
||||
$result = $qiniu_model->putFile($param);
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
56
addon/alioss/event/ShowPromotion.php
Executable file
56
addon/alioss/event/ShowPromotion.php
Executable file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
|
||||
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\alioss\event;
|
||||
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
*/
|
||||
class ShowPromotion
|
||||
{
|
||||
|
||||
/**
|
||||
* 活动展示
|
||||
* @param array $params
|
||||
* @return array
|
||||
*/
|
||||
public function handle($params = [])
|
||||
{
|
||||
$data = [
|
||||
'admin' => [
|
||||
|
||||
],
|
||||
'shop' => [
|
||||
[
|
||||
//插件名称
|
||||
'name' => 'alioss',
|
||||
//展示分类(根据平台端设置,admin(平台营销),shop:店铺营销,member:会员营销, tool:应用工具)
|
||||
'show_type' => 'tool',
|
||||
//展示主题
|
||||
'title' => '阿里云OSS',
|
||||
//展示介绍
|
||||
'description' => '阿里云OSS配置',
|
||||
//展示图标
|
||||
'icon' => 'addon/alioss/icon.png',
|
||||
//跳转链接
|
||||
'url' => 'alioss://shop/config/config',
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
];
|
||||
return $data;
|
||||
}
|
||||
|
||||
}
|
||||
27
addon/alioss/event/UnInstall.php
Executable file
27
addon/alioss/event/UnInstall.php
Executable file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
|
||||
namespace addon\alioss\event;
|
||||
|
||||
/**
|
||||
* 应用卸载
|
||||
*/
|
||||
class UnInstall
|
||||
{
|
||||
/**
|
||||
* 执行卸载
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
return success();
|
||||
}
|
||||
}
|
||||
BIN
addon/alioss/icon.png
Executable file
BIN
addon/alioss/icon.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
145
addon/alioss/model/Alioss.php
Executable file
145
addon/alioss/model/Alioss.php
Executable file
@@ -0,0 +1,145 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\alioss\model;
|
||||
|
||||
use app\model\BaseModel;
|
||||
use OSS\Core\OssException;
|
||||
use OSS\OssClient;
|
||||
|
||||
/**
|
||||
* 阿里云OSS上传
|
||||
*/
|
||||
class Alioss extends BaseModel
|
||||
{
|
||||
|
||||
/**
|
||||
* 字节组上传
|
||||
* @param $data
|
||||
* @param $key
|
||||
* @return array
|
||||
*/
|
||||
public function put($param)
|
||||
{
|
||||
$data = $param['data'];
|
||||
$key = $param['key'];
|
||||
$config_model = new Config();
|
||||
$config_result = $config_model->getAliossConfig();
|
||||
$config = $config_result['data'];
|
||||
|
||||
if ($config['is_use'] == 1) {
|
||||
$config = $config['value'];
|
||||
$access_key_id = $config['access_key_id'];
|
||||
$access_key_secret = $config['access_key_secret'];
|
||||
$bucket = $config['bucket'];
|
||||
$endpoint = $config['endpoint'];
|
||||
try {
|
||||
$ossClient = new OssClient($access_key_id, $access_key_secret, $endpoint);
|
||||
|
||||
$result = $ossClient->putObject($bucket, $key, $data);
|
||||
$is_domain = $config[ 'is_domain' ] ?? 0;
|
||||
$path = $is_domain > 0 ? $config[ 'domain' ] . '/' . $key : $result['info']['url'];
|
||||
$data = array (
|
||||
'path' => $path,
|
||||
// "path" => $result["info"]["url"],
|
||||
'domain' => $endpoint,
|
||||
'bucket' => $bucket
|
||||
);
|
||||
return $this->success($data);
|
||||
} catch (OssException $e) {
|
||||
return $this->error('', $e->getErrorMessage());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置阿里云OSS参数配置
|
||||
* @param unknown $filePath 上传图片路径
|
||||
* @param unknown $key 上传到阿里云后保存的文件名
|
||||
*/
|
||||
public function putFile($param)
|
||||
{
|
||||
$file_path = $param['file_path'];
|
||||
$key = $param['key'];
|
||||
$config_model = new Config();
|
||||
$config = $config_model->getAliossConfig()['data'];
|
||||
if ($config['is_use'] == 1) {
|
||||
$config = $config['value'];
|
||||
$access_key_id = $config['access_key_id'];
|
||||
$access_key_secret = $config['access_key_secret'];
|
||||
$bucket = $config['bucket'];
|
||||
//要上传的空间
|
||||
$endpoint = $config['endpoint'];
|
||||
try {
|
||||
$ossClient = new OssClient($access_key_id, $access_key_secret, $endpoint);
|
||||
$result = $ossClient->uploadFile($bucket, $key, $file_path);
|
||||
$is_domain = $config[ 'is_domain' ] ?? 0;
|
||||
$path = $is_domain > 0 ? $config[ 'domain' ] . '/' . $key : $result['info']['url'];
|
||||
$path = str_replace('http://', 'https://', $path);
|
||||
//返回图片的完整URL
|
||||
$data = array (
|
||||
// "path" => $this->subEndpoint($endpoint, $bucket)."/". $key,
|
||||
'path' => $path,
|
||||
'domain' => $endpoint,
|
||||
'bucket' => $bucket
|
||||
);
|
||||
return $this->success($data);
|
||||
} catch (\Exception $e) {
|
||||
return $this->error('', $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function subEndpoint($endpoint, $bucket)
|
||||
{
|
||||
if (strpos($endpoint, 'http://') === 0) {
|
||||
$temp = 'http://';
|
||||
} else {
|
||||
$temp = 'https://';
|
||||
}
|
||||
$temp_array = explode($temp, $endpoint);
|
||||
return $temp . $bucket . '.' . $temp_array[ 1 ];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $file_path
|
||||
* @return array
|
||||
* 删除阿里云图片
|
||||
*/
|
||||
public function deleteAlbumPic($file_path, $prefix)
|
||||
{
|
||||
$config_model = new Config();
|
||||
$config_result = $config_model->getAliossConfig();
|
||||
$config = $config_result['data'];
|
||||
|
||||
if (!empty($config)) {
|
||||
$config = $config['value'];
|
||||
$access_key_id = $config['access_key_id'];
|
||||
$access_key_secret = $config['access_key_secret'];
|
||||
$bucket = $config['bucket'];
|
||||
//要上传的空间
|
||||
$endpoint = $config['endpoint'];
|
||||
try {
|
||||
$ossClient = new OssClient($access_key_id, $access_key_secret, $endpoint);
|
||||
$ossClient->deleteObject($bucket, str_replace($prefix . '/', '', $file_path));
|
||||
$ossClient->deleteObject($bucket, str_replace($prefix . '/', '', img($file_path, 'big')));
|
||||
$ossClient->deleteObject($bucket, str_replace($prefix . '/', '', img($file_path, 'mid')));
|
||||
$ossClient->deleteObject($bucket, str_replace($prefix . '/', '', img($file_path, 'small')));
|
||||
|
||||
return $this->success();
|
||||
} catch (OssException $e) {
|
||||
return $this->error('', $e->getErrorMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
56
addon/alioss/model/Config.php
Executable file
56
addon/alioss/model/Config.php
Executable file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\alioss\model;
|
||||
|
||||
use app\model\system\Config as ConfigModel;
|
||||
use app\model\BaseModel;
|
||||
|
||||
/**
|
||||
* 阿里云配置
|
||||
*/
|
||||
class Config extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 设置阿里云OSS上传配置
|
||||
* array $data
|
||||
*/
|
||||
public function setAliossConfig($data, $status, $site_id = 1, $app_module = 'shop')
|
||||
{
|
||||
if ($status == 1) {
|
||||
event('CloseOss', []);//同步关闭所有云上传
|
||||
}
|
||||
|
||||
$config = new ConfigModel();
|
||||
$res = $config->setConfig($data, '阿里云OSS上传配置', $status, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'ALIOSS_CONFIG' ] ]);
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取阿里云上传配置
|
||||
*/
|
||||
public function getAliossConfig($site_id = 1, $app_module = 'shop')
|
||||
{
|
||||
$config = new ConfigModel();
|
||||
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'ALIOSS_CONFIG' ] ]);
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置阿里云开关状态
|
||||
* @param $status
|
||||
*/
|
||||
public function modifyConfigIsUse($status, $site_id = 1, $app_module = 'shop')
|
||||
{
|
||||
$config = new ConfigModel();
|
||||
$res = $config->modifyConfigIsUse($status, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'ALIOSS_CONFIG' ] ]);
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
56
addon/alioss/shop/controller/Config.php
Executable file
56
addon/alioss/shop/controller/Config.php
Executable file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
/**
|
||||
* Niushop商城系统 - 团队十年电商经验汇集巨献!
|
||||
* =========================================================
|
||||
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
|
||||
* ----------------------------------------------
|
||||
* 官方网址: https://www.niushop.com
|
||||
* =========================================================
|
||||
*/
|
||||
|
||||
namespace addon\alioss\shop\controller;
|
||||
|
||||
use addon\alioss\model\Config as ConfigModel;
|
||||
use app\shop\controller\BaseShop;
|
||||
|
||||
/**
|
||||
* 七牛云上传管理
|
||||
*/
|
||||
class Config extends BaseShop
|
||||
{
|
||||
|
||||
/**
|
||||
* 云上传配置
|
||||
* @return mixed
|
||||
*/
|
||||
public function config()
|
||||
{
|
||||
$config_model = new ConfigModel();
|
||||
if (request()->isJson()) {
|
||||
$bucket = input('bucket', '');
|
||||
$access_key_id = input('access_key_id', '');
|
||||
$access_key_secret = input('access_key_secret', '');
|
||||
$endpoint = input('endpoint', '');
|
||||
$status = input('status', 0);
|
||||
$domain = input('domain', '');
|
||||
$is_domain = input('is_domain', 0);
|
||||
|
||||
$data = array (
|
||||
'bucket' => $bucket,
|
||||
'access_key_id' => $access_key_id,
|
||||
'access_key_secret' => $access_key_secret,
|
||||
'endpoint' => $endpoint,
|
||||
'domain' => $domain,
|
||||
'is_domain' => $is_domain
|
||||
);
|
||||
|
||||
$result = $config_model->setAliossConfig($data, $status, $this->site_id, $this->app_module);
|
||||
return $result;
|
||||
} else {
|
||||
$info_result = $config_model->getAliossConfig($this->site_id, $this->app_module);
|
||||
$info = $info_result['data'];
|
||||
$this->assign('info', $info);
|
||||
return $this->fetch('config/config');
|
||||
}
|
||||
}
|
||||
}
|
||||
120
addon/alioss/shop/view/config/config.html
Executable file
120
addon/alioss/shop/view/config/config.html
Executable file
@@ -0,0 +1,120 @@
|
||||
<div class="layui-form form-wrap">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">是否开启:</label>
|
||||
<div class="layui-input-block" id="isOpen">
|
||||
<input type="checkbox" name="status" lay-filter="isOpen" value="1" lay-skin="switch" {if condition="$info.is_use == 1"} checked {/if} />
|
||||
</div>
|
||||
<div class="word-aux">当前使用阿里云上传配置</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>AccessKeyID:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="access_key_id" lay-verify="required" placeholder="请输入Access Key ID" value="{$info.value.access_key_id ?? ''}" autocomplete="off" class="layui-input len-long">
|
||||
</div>
|
||||
<div class="word-aux">填写阿里云Access Key管理的(ID)。</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>AccessKeySecret:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="access_key_secret" lay-verify="required" placeholder="请输入Access Key Secret" value="{$info.value.access_key_secret ?? ''}" autocomplete="off" class="layui-input len-long">
|
||||
</div>
|
||||
<div class="word-aux">Access Key Secret是您访问阿里云API的密钥,具有该账户完全的权限,请您妥善保管。(填写完Access Key ID 和 Access Key Secret 后请选择bucket)</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>Bucket:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="bucket" lay-verify="required" placeholder="请输入存储空间的名称" value="{$info.value.bucket ?? ''}" autocomplete="off" class="layui-input len-long">
|
||||
</div>
|
||||
<div class="word-aux">与阿里云OSS开通对象名称一致</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>endpoint:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="endpoint" lay-verify="required" placeholder="请输入endpoint" value="{$info.value.endpoint ?? ''}" autocomplete="off" class="layui-input len-long">
|
||||
</div>
|
||||
<div class="word-aux">Bucket地域endpoint</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">是否开启自定义域名:</label>
|
||||
<div class="layui-input-block" >
|
||||
<input type="checkbox" name="is_domain" lay-filter="is_domain" value="1" lay-skin="switch" {if condition="!empty($info.value.is_domain) && $info.value.is_domain == 1"} checked {/if} />
|
||||
</div>
|
||||
<div class="word-aux">默认选关闭,官方建议开启绑定域名,域名格式:http://xx.xxxx.com/(不可绑定当前网站域名,建议新开二级域名)</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item domain-view" {if empty($info.value.is_domain) || $info.value.is_domain == 0}style="display:none;"{/if}>
|
||||
<label class="layui-form-label"><span class="required">*</span>domain:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="domain" lay-verify="domain" placeholder="请输入domain" value="{$info.value.domain ?? ''}" autocomplete="off" class="layui-input len-long">
|
||||
</div>
|
||||
<div class="word-aux">域名格式:http://xx.xxxx.com/(不可绑定当前网站域名,建议新开二级域名)</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="backOss()">返回</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.use('form', function() {
|
||||
var form = layui.form,
|
||||
repeat_flag = false; //防重复标识
|
||||
|
||||
form.on('switch(is_domain)', function(data){
|
||||
if(data.elem.checked){
|
||||
$(".domain-view").show();
|
||||
}else{
|
||||
$(".domain-view").hide();
|
||||
}
|
||||
});
|
||||
form.verify({
|
||||
domain: function (value, item) {
|
||||
var is_domain = $("input[name=is_domain]").prop("checked");
|
||||
if(is_domain > 0 && value == ""){
|
||||
return '自定义域名不可为空!';
|
||||
}
|
||||
},
|
||||
});
|
||||
form.on('submit(save)', function(data) {
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
url: ns.url("alioss://shop/config/config"),
|
||||
data: data.field,
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
repeat_flag = false;
|
||||
if (res.code >= 0) {
|
||||
layer.confirm('编辑成功', {
|
||||
title:'操作提示',
|
||||
btn: ['返回列表', '继续编辑'],
|
||||
yes: function(index, layero) {
|
||||
location.hash = ns.hash("shop/upload/oss");
|
||||
layer.close(index);
|
||||
},
|
||||
btn2: function(index, layero) {
|
||||
layer.close(index);
|
||||
}
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
form.render();
|
||||
});
|
||||
|
||||
function backOss() {
|
||||
location.hash = ns.hash("shop/upload/oss");
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user