HEX
Server: nginx/1.28.3
System: Linux VM-0-7-opencloudos 6.6.117-45.oc9.x86_64 #1 SMP Thu Dec 4 10:26:39 CST 2025 x86_64
User: www (1000)
PHP: 8.2.28
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.213n.cn/wp-content/plugins/wpturbo/tpl/assets/js/chunk-2d0aa1ba.9bdfe9fa.js
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0aa1ba"],{1038:function(t,e,o){"use strict";o.r(e);var a=function(){var t=this,e=t._self._c;return"base"==t.editing?e("div",{staticClass:"wbs-content-inner"},[e("div",{staticClass:"wbs-main with-act-panel"},[e("div",{staticClass:"wbs-primary"},[e("div",{staticClass:"wbs-page-heading"},[t._m(0),e("div",{staticClass:"wph-description"},[t._v(" 启用对象存储,可以将指定目录内容同步至对象存储服务器,以减少主服务器的数据访问以提升服务器性能。 "),e("br"),e("el-link",{attrs:{type:"primary",href:"https://www.wbolt.com/aliyun-oss.html",target:"_blank"}},[t._v("深入了解"),e("i",{staticClass:"el-icon-link el-icon--right"})]),t.$cnf.is_pro?e("div",{staticClass:"mt"},[e("el-button",{attrs:{type:t.opt.switch?"info":"primary",size:"small"},on:{click:function(e){t.opt.switch=!t.opt.switch}}},[t._v(t._s(t.opt.switch?"停用":"启用")+"对象存储")])],1):e("div",[e("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(e){return t.getPro()}}},[t._v("升级至PRO")])],1)],1)]),t.isLoaded&&"base"==t.editing?e("div",{staticClass:"opt-group"},[e("wbs-opt-box",{attrs:{name:"配置存储",desc:"对象存储配置文件支持数据库和wp-config两种,默认采用数据库保存,您也可以选择将对象存储的配置保存至wp-config文件。","doc-link":""},scopedSlots:t._u([{key:"ctrlItems",fn:function(){return[e("el-select",{attrs:{size:"mini",placeholder:"请选择"},model:{value:t.opt.conf,callback:function(e){t.$set(t.opt,"conf",e)},expression:"opt.conf"}},[e("el-option",{attrs:{value:"db",label:"数据库(默认)"}}),e("el-option",{attrs:{value:"file",label:"wp-config.php"}})],1)]},proxy:!0}],null,!1,676680151)}),e("wbs-opt-box",{attrs:{name:"服务商",desc:"目前对象存储我们支持阿里云、腾讯云、百度云和华为云主流服务商,未来根据站长需求加入更多的支持。","doc-link":"https://www.wbolt.com/aliyun-oss.html#oss-setting-for-wpturbo"},scopedSlots:t._u([{key:"ctrlItems",fn:function(){return[e("el-select",{attrs:{size:"mini",placeholder:"请选择"},model:{value:t.opt.vendor,callback:function(e){t.$set(t.opt,"vendor",e)},expression:"opt.vendor"}},[e("el-option",{attrs:{value:"aliyun",label:"阿里云"}}),e("el-option",{attrs:{value:"tencent",label:"腾讯云"}}),e("el-option",{attrs:{value:"huawei",label:"华为云"}}),e("el-option",{attrs:{value:"baidu",label:"百度云"}}),t._e()],2),e("div",{staticClass:"mt align-center"},[e("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(e){t.editing="vendor-api"}}},[t._v("配置API")])],1)]},proxy:!0}],null,!1,1070029262)}),e("wbs-opt-box",{attrs:{name:"服务模式",desc:"支持选择对象存储服务器作为网站文件备份服务器(私有)或者文件访问服务器(公共读)。","doc-link":""},scopedSlots:t._u([{key:"ctrlItems",fn:function(){return[e("el-radio-group",{attrs:{size:"mini"},model:{value:t.oss_mode,callback:function(e){t.oss_mode=e},expression:"oss_mode"}},[e("el-radio",{attrs:{label:"back"}},[t._v("备份服务 "),e("wbs-tooltip",{attrs:{"data-msg":"将媒体文件上传至对象存储服务器作,相当于将对象存储作为文件备份。"}})],1),e("el-radio",{attrs:{label:"server"}},[t._v("访问服务 "),e("wbs-tooltip",{attrs:{"data-msg":"将媒体文件复制到对象存储服务器(可删除或保留本地服务器源文件),使用对象存储服务器提供文件提供服务。"}})],1),t._e()],2),"server"===t.oss_mode?e("div",{staticClass:"mt align-center"},[e("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(e){t.editing="server-options"}}},[t._v("文件服务配置")])],1):t._e()]},proxy:!0}],null,!1,1826816427)}),e("wbs-opt-box",{attrs:{name:"媒体库迁移",desc:"同步上传旧的媒体库资源到OSS。","doc-link":""},scopedSlots:t._u([{key:"ctrlItems",fn:function(){return[e("div",{staticClass:"group-description"},[t._v("未同步媒体资源数 "+t._s(t.media_num))]),t.media_num>0?e("div",{staticClass:"mt align-center"},[e("el-button",{attrs:{type:"primary",size:"mini"},on:{click:t.syncData}},[t._v(t._s(t.in_sync?"数据同步中":"执行同步"))])],1):t._e()]},proxy:!0}],null,!1,3486972908)})],1):t._e(),e("wb-prompt",{directives:[{name:"show",rawName:"v-show",value:t.isLoaded&&"base"===t.editing,expression:"isLoaded && editing === 'base'"}],staticClass:"mt"})],1),e("wbs-act-panel")],1),e("wbs-ctrl-bar",{directives:[{name:"show",rawName:"v-show",value:t.isLoaded&&"base"===t.editing,expression:"isLoaded && editing === 'base'"}],on:{submit:t.updateData}})],1):e("div",{staticClass:"wbs-content-inner"},[e("div",{staticClass:"wbs-main"},["vendor-api"===t.editing?e("FormVendorApi",{attrs:{opt:t.opt},on:{save:function(e){t.opt=e,t.editing="base"},cancel:function(e){t.editing="base"}}}):t._e(),"server-options"===t.editing?e("FormServerOptions",{attrs:{opt:t.opt},on:{save:function(e){t.changeServer(e),t.editing="base"},cancel:function(e){t.editing="base"}}}):t._e()],1)])},n=[function(){var t=this,e=t._self._c;return e("h2",{staticClass:"wph-name"},[e("strong",[t._v("对象存储")])])}],i=function(){var t=this,e=t._self._c;return e("div",[t._m(0),e("el-form",{ref:"form",attrs:{size:"small",model:t.opt,"label-width":"8em"}},[e("el-form-item",{attrs:{label:"模式"}},[e("el-radio-group",{attrs:{size:"mini"},model:{value:t.opt.oss_mode,callback:function(e){t.$set(t.opt,"oss_mode",e)},expression:"opt.oss_mode"}},[e("el-radio",{attrs:{label:"back"}},[t._v("仅备份 "),e("wbs-tooltip",{attrs:{"data-msg":"将媒体文件上传至对象存储服务器作,相当于将对象存储作为文件备份。"}})],1),e("el-radio",{attrs:{label:"server"}},[t._v("访问服务(保留本地文件) "),e("wbs-tooltip",{attrs:{"data-msg":"将媒体文件复制到对象存储服务器并保留本地服务器源文件,使用对象存储服务器提供文件提供服务。"}})],1),e("el-radio",{attrs:{label:"server_adv"}},[t._v("访问服务(删除本地文件) "),e("wbs-tooltip",{attrs:{"data-msg":"将媒体文件复制到对象存储服务器并删除本地服务器源文件,使用对象存储服务器提供文件提供服务。"}})],1)],1)],1),t._e(),t._e(),e("el-form-item",[e("el-button",{attrs:{type:"primary"},on:{click:function(e){return t.$emit("save",t.opt)}}},[t._v("保存")]),e("el-button",{on:{click:function(e){return t.$emit("cancel")}}},[t._v("取消")])],1)],1),e("wb-key-point",{staticClass:"mt",attrs:{content:"删除服务器本地文件,插件会默认使用用一个空图片替换服务器本地文件。"}})],1)},l=[function(){var t=this,e=t._self._c;return e("h3",{staticClass:"sc-header"},[e("strong",[t._v("文件服务配置")])])}],s={name:"FormServerOptions",props:["opt"],provide(){return{needPro:!0}},mounted(){window.scrollTo(0,0)}},r=s,c=o("2877"),p=Object(c["a"])(r,i,l,!1,null,null,null),u=p.exports,d=function(){var t=this,e=t._self._c;return e("div",[t._m(0),e("el-tabs",{model:{value:t.activeName,callback:function(e){t.activeName=e},expression:"activeName"}},[e("el-tab-pane",{attrs:{label:"阿里云",name:"aliyun"}},[e("el-form",{ref:"form",attrs:{size:"small",model:t.opt,"label-width":"10em"}},[e("el-form-item",{attrs:{label:"ACCESSKey ID"}},[e("el-input",{attrs:{placeholder:"登录阿里云工作台>点击主账号头像>AccessKey管理,创建生成。"},model:{value:t.opt.aliyun.id,callback:function(e){t.$set(t.opt.aliyun,"id",e)},expression:"opt.aliyun.id"}})],1),e("el-form-item",{attrs:{label:"AccessKey Secret"}},[e("el-input",{attrs:{placeholder:"登录阿里云工作台>点击主账号头像>AccessKey管理,创建生成。"},model:{value:t.opt.aliyun.key,callback:function(e){t.$set(t.opt.aliyun,"key",e)},expression:"opt.aliyun.key"}})],1),e("el-form-item",{attrs:{label:"BUCKET"}},[e("el-input",{attrs:{placeholder:"此处填入创建的Bucket名称。"},model:{value:t.opt.aliyun.bucket,callback:function(e){t.$set(t.opt.aliyun,"bucket",e)},expression:"opt.aliyun.bucket"}})],1),e("el-form-item",{attrs:{label:"ENDPOINT"}},[e("el-input",{attrs:{placeholder:"进入阿里云OSS的Bucket列表,找到对应的Bucket查看概述>访问端口>外网访问对应的Endpoint。"},model:{value:t.opt.aliyun.endpoint,callback:function(e){t.$set(t.opt.aliyun,"endpoint",e)},expression:"opt.aliyun.endpoint"}})],1),e("el-form-item",{attrs:{label:"访问域名"}},[e("el-input",{attrs:{placeholder:"进入阿里云OSS的Bucket列表,点击对应的Bucket>Bucket配置>域名管理>绑定域名。"},model:{value:t.opt.aliyun.domain,callback:function(e){t.$set(t.opt.aliyun,"domain",e)},expression:"opt.aliyun.domain"}})],1),e("el-form-item",[e("el-button",{attrs:{type:"primary"},on:{click:function(e){return t.$emit("save",t.opt)}}},[t._v("保存")]),e("el-button",{on:{click:function(e){return t.$emit("cancel")}}},[t._v("取消")])],1)],1)],1),e("el-tab-pane",{attrs:{label:"腾讯云",name:"tencent"}},[e("el-form",{ref:"form1",attrs:{size:"small",model:t.opt,"label-width":"10em"}},[e("el-form-item",{attrs:{label:"SecretId"}},[e("el-input",{attrs:{placeholder:"登录腾讯云控制台>点击主账号头像>访问管理>访问密钥>API密钥管理,创建生成。"},model:{value:t.opt.tencent.id,callback:function(e){t.$set(t.opt.tencent,"id",e)},expression:"opt.tencent.id"}})],1),e("el-form-item",{attrs:{label:"SecretKey"}},[e("el-input",{attrs:{placeholder:"登录腾讯云控制台>点击主账号头像>访问管理>访问密钥>API密钥管理,创建生成。"},model:{value:t.opt.tencent.key,callback:function(e){t.$set(t.opt.tencent,"key",e)},expression:"opt.tencent.key"}})],1),e("el-form-item",{attrs:{label:"存储桶名称"}},[e("el-input",{attrs:{placeholder:"此处填入创建的存储桶名称。"},model:{value:t.opt.tencent.bucket,callback:function(e){t.$set(t.opt.tencent,"bucket",e)},expression:"opt.tencent.bucket"}})],1),e("el-form-item",{attrs:{label:"所属地域"}},[e("el-input",{attrs:{placeholder:"进入腾讯云COS存储桶列表,找到对应的存储桶>所属地域对应的英文部分。"},model:{value:t.opt.tencent.endpoint,callback:function(e){t.$set(t.opt.tencent,"endpoint",e)},expression:"opt.tencent.endpoint"}})],1),e("el-form-item",{attrs:{label:"访问域名"}},[e("el-input",{attrs:{placeholder:"进入腾讯云COS的桶列表,点击对应的存储桶>域名与传输管理>自定义CDN加速域名或者源站域名。"},model:{value:t.opt.tencent.domain,callback:function(e){t.$set(t.opt.tencent,"domain",e)},expression:"opt.tencent.domain"}})],1),e("el-form-item",[e("el-button",{attrs:{type:"primary"},on:{click:function(e){return t.$emit("save",t.opt)}}},[t._v("保存")]),e("el-button",{on:{click:function(e){return t.$emit("cancel")}}},[t._v("取消")])],1)],1)],1),e("el-tab-pane",{attrs:{label:"华为云",name:"huawei"}},[e("el-form",{ref:"form2",attrs:{size:"small",model:t.opt,"label-width":"10em"}},[e("el-form-item",{attrs:{label:"Access Key Id"}},[e("el-input",{attrs:{placeholder:"登录华为云控制台>点击主账号名称>访问管理>我的凭证>访问密钥,创建生成。"},model:{value:t.opt.huawei.id,callback:function(e){t.$set(t.opt.huawei,"id",e)},expression:"opt.huawei.id"}})],1),e("el-form-item",{attrs:{label:"Secret Access Key"}},[e("el-input",{attrs:{placeholder:"登录华为云控制台>点击主账号名称>访问管理>我的凭证>访问密钥,创建生成。"},model:{value:t.opt.huawei.key,callback:function(e){t.$set(t.opt.huawei,"key",e)},expression:"opt.huawei.key"}})],1),e("el-form-item",{attrs:{label:"桶名称"}},[e("el-input",{attrs:{placeholder:"此处填入创建的存储桶名称。"},model:{value:t.opt.huawei.bucket,callback:function(e){t.$set(t.opt.huawei,"bucket",e)},expression:"opt.huawei.bucket"}})],1),e("el-form-item",{attrs:{label:"Endpoint"}},[e("el-input",{attrs:{placeholder:"进入华为云OBS桶列表,找到对应的桶查看概览>基本信息>Endpoint。"},model:{value:t.opt.huawei.endpoint,callback:function(e){t.$set(t.opt.huawei,"endpoint",e)},expression:"opt.huawei.endpoint"}})],1),e("el-form-item",{attrs:{label:"访问域名"}},[e("el-input",{attrs:{placeholder:"进入华为云OBS的桶列表,点击对应的存储桶>域名管理>配置加速域名。"},model:{value:t.opt.huawei.domain,callback:function(e){t.$set(t.opt.huawei,"domain",e)},expression:"opt.huawei.domain"}})],1),e("el-form-item",[e("el-button",{attrs:{type:"primary"},on:{click:function(e){return t.$emit("save",t.opt)}}},[t._v("保存")]),e("el-button",{on:{click:function(e){return t.$emit("cancel")}}},[t._v("取消")])],1)],1)],1),e("el-tab-pane",{attrs:{label:"百度云",name:"baidu"}},[e("el-form",{ref:"form3",attrs:{size:"small",model:t.opt,"label-width":"10em"}},[e("el-form-item",{attrs:{label:"Access Key"}},[e("el-input",{attrs:{placeholder:"登录百度云控制台>点击主账号头像>安全认证>创建Access Key,创建生成。"},model:{value:t.opt.baidu.id,callback:function(e){t.$set(t.opt.baidu,"id",e)},expression:"opt.baidu.id"}})],1),e("el-form-item",{attrs:{label:"Secret Key\t"}},[e("el-input",{attrs:{placeholder:"登录百度云控制台>点击主账号头像>安全认证>创建Access Key,创建生成。"},model:{value:t.opt.baidu.key,callback:function(e){t.$set(t.opt.baidu,"key",e)},expression:"opt.baidu.key"}})],1),e("el-form-item",{attrs:{label:"BUCKET"}},[e("el-input",{attrs:{placeholder:"此处填入创建的BUCKET名称。"},model:{value:t.opt.baidu.bucket,callback:function(e){t.$set(t.opt.baidu,"bucket",e)},expression:"opt.baidu.bucket"}})],1),e("el-form-item",{attrs:{label:"官方域名"}},[e("el-input",{attrs:{placeholder:"进入百度云BOS对象存储Bucket列表,找到对应的Bucket查看概览>域名发布信息>官方域名。"},model:{value:t.opt.baidu.endpoint,callback:function(e){t.$set(t.opt.baidu,"endpoint",e)},expression:"opt.baidu.endpoint"}})],1),e("el-form-item",{attrs:{label:"访问域名"}},[e("el-input",{attrs:{placeholder:"进入百度云BOS对象存储Bucket列表,点击对应的Bucket>发布管理>官方域名或者自定义域名。"},model:{value:t.opt.baidu.domain,callback:function(e){t.$set(t.opt.baidu,"domain",e)},expression:"opt.baidu.domain"}})],1),e("el-form-item",[e("el-button",{attrs:{type:"primary"},on:{click:function(e){return t.$emit("save",t.opt)}}},[t._v("保存")]),e("el-button",{on:{click:function(e){return t.$emit("cancel")}}},[t._v("取消")])],1)],1)],1)],1),e("wb-key-point",{staticClass:"mt"},[e("dl",[e("dt",[t._v("温馨提示")]),e("dd",[t._v("目前仅支持阿里云、腾讯云、华为云和百度云对象存储服务商,如有其他对象存储添加需求,可以通过闪电博工单提交建议。")]),e("dd",[t._v("各家对象存储服务器商的配置大同小异,查看"),e("a",{attrs:{href:"https://www.wbolt.com/aliyun-oss.html?utm_source=wpturbo",target:"_blank"}},[t._v("详细配置教程")]),t._v("。")]),e("dd",[t._v("如对象存储对接WordPress站点资源属于对外开放访问资源,务必选择公共读策略。")]),e("dd",[t._v("访问域名尽可能选择自定义域名,而且最好使用CDN域名,这样可以实现CDN+对象存储的方式对网站静态资源进行加速。")])])])],1)},m=[function(){var t=this,e=t._self._c;return e("h3",{staticClass:"sc-header"},[e("strong",[t._v("对象存储服务商配置")])])}],b={name:"FormVendorApi",props:["opt"],provide(){return{needPro:!0}},data(){return{activeName:"aliyun"}},mounted(){window.scrollTo(0,0)}},f=b,v=Object(c["a"])(f,d,m,!1,null,null,null),_=v.exports,h={name:"WPTurboStorage",components:{FormVendorApi:_,FormServerOptions:u},provide(){return{needPro:!0}},inject:["getPro"],data(){const t=this;return{editing:"base",wb_cnf:t.$cnf,formChanged:0,isLoaded:0,loading:0,media_num:0,is_pro:t.$cnf.is_pro,oss_mode:"back",in_sync:!1,opt:{aliyun:{},tencent:{}}}},created(){const t=this;t.loadData(),t.$cnf.is_pro&&t.$verify((e,o)=>{t.$cnf.is_pro=e,t.is_pro=e})},methods:{loadData(){const t=this;t.loading=t.$wbui.loading(),t.$api.getData({_ajax_nonce:_wb_wpturbo_ajax_nonce,action:t.$cnf.action.act,op:"storage_setting"}).then(e=>{t.$wbui.close(t.loading),t.opt=e["opt"],t.oss_mode=t.opt.oss_mode,"server_adv"===t.opt.oss_mode&&(t.oss_mode="server"),t.media_num=e["media_num"],t.isLoaded=1})},updateData(t){const e=this,o={_ajax_nonce:_wb_wpturbo_ajax_nonce,action:e.$cnf.action.act,op:"storage_update",opt:e.opt};e.$api.saveData(o).then(o=>{e.$wbui.toast("设置保存成功"),e.formChanged=1,t&&t()})},changeServer(t){const e=this;e.opt=t,e.oss_mode=e.opt.oss_mode,"server_adv"===e.opt.oss_mode&&(e.oss_mode="server")},syncData(){const t=this;t.in_sync?t.$wbui.toast("资源正在同步中。如长时间无响应,请刷新重试。"):(t.in_sync=!0,t.$wbui.confirm("确认迁移媒体库资源到OSS?",(function(){t.runOssUpload()})))},runOssUpload(){const t=this,e={_ajax_nonce:_wb_wpturbo_ajax_nonce,action:t.$cnf.action.act,op:"storage_upload_media_to_oss",total:t.media_num};t.$api.saveData(e).then(e=>{if(e["code"])return t.$wbui.toast("同步数据异常,请刷新重试。"),void(t.in_sync=!1);t.media_num=e["data"],t.media_num&&t.media_num>0?setTimeout(()=>{t.runOssUpload()},200):t.in_sync=!1})}},watch:{opt:{handler(){this.formChanged++},deep:!0}},beforeRouteLeave(t,e,o){const a=this;a.formChanged>1?a.$wbui.open({content:"您修改的设置尚未保存,确定离开此页面吗?",btn:["保存并离开","放弃修改"],yes(){return o(!1),a.updateData((function(){o()})),!1},no(){return o(),!1}}):o()}},w=h,k=Object(c["a"])(w,a,n,!1,null,null,null);e["default"]=k.exports}}]);