我是怎样开发一款zblog应用的-腾讯云cos储存插件开发过程全解析

文章中心8个月前发布 admin
72 0 0

我是如何开发zblog应用的——腾讯云cos存储插件开发流程全解析

说起zblog插件,首先得有zblog。首先下载安装zblog,在管理后台登录开发者账号(确保开发者模式开启),添加新插件。

应用创建完成后,我们可以在网站目录/zbusers/plugin下看到我们填写的插件ID的文件夹名称。

我是怎样开发一款zblog应用的-腾讯云cos储存插件开发过程全解析

此时我们就要思考这个插件需要调用什么接口。顺便说一句,附件,对吗?去官方wiki找到对应的接口列表:

我是怎样开发一款zblog应用的-腾讯云cos储存插件开发过程全解析

打开应用下的include.php可以看到有3个方法

UninstallPluginqcloudcos、InstallPluginqcloudcos和ActivePluginqcloudcos,这里分别介绍卸载方法、安装方法和处理方法。从腾讯云的开发文档中可以看到,需要appid、secretid、secretkey、bucket、region。这里不讨论这些参数。这里不再详细介绍如何获取参数。可以参考腾讯云的cos开发文档:

https://cloud.tencent.com/document/product/436/6052

制作一个应用,首先要让用户能够在不改变代码的情况下使用这个插件。这时候我们就需要制作一个页面,让用户填写这些信息。在此之前,我们需要整理一下用户需要提供哪些参数,初始化它们,将它们放入安装方法中,并分配空值。

我是怎样开发一款zblog应用的-腾讯云cos储存插件开发过程全解析

所以我需要这样写:

functionUninstallPluginqcloudcos(){global$zbp;if(!$zbp->Config(‘qcloudcos’)->HasKey(‘versions’)){$zbp->Config(‘qcloudcos’)->versions’1.0′;$zbp->Config(‘qcloudcos’)->appid”;$zbp->Config(‘qcloudcos’)->secretid”;$zbp->Config(‘qcloudcos’)->secretkey”;$zbp->Config(‘qcloudcos’)->存储桶”;$zbp->Config(‘qcloudcos’)->savePath”;$zbp->SaveConfig(‘qcloudcos’);}$zbp->Config(‘qcloudcos’)->版本’1.0′;$zbp->SaveConfig(‘qcloudcos’);}

那么剩下的方法就是卸载了。如果您卸载了,我们不需要处理。回头看我们刚才查询的系统界面,我们不需要菜单,所以需要处理的方法有3个,所以我们需要创建3个方法。

functionqcloudCosGetUrl(){}functionqcloudCosSaveFile(){}functionqcloudCosSaveFileBase64(){}

最后连接这三个方法

functionActivePluginqcloudcos(){AddFilterPlugin(‘FilterPluginUploadUrl’,’qcloudCosGetUrl’);AddFilterPlugin(‘FilterPluginUploadSaveFile’,’qcloudCosSaveFile’);AddFilterPlugin(‘FilterPluginUploadSaveBase64File’,’qcloudCosSaveFileBase64′);}functionqcloudCosGetUrl(){}functionqcloudCosSaveFile(){}函数qcloudCosSaveFileBase64(){}

连接好后我们来测试一下

我是怎样开发一款zblog应用的-腾讯云cos储存插件开发过程全解析

事实证明,到达这里是成功的,然后您可以像传统开发一样编写代码。

首先用自己的账号测试一下(我直接引用了腾讯云的sdk)

functionqclouClient(){$cosClientnewQcloudCosClient(array(‘地区’>’ap-广州’,’凭证’>array(‘secretId’>’COSKEY’,’secretKey’>’COSSECRET’)));return$cosClient;}functionqcloudCosSaveFile($temp){try{$resultqclouClient()->upload($bucket’testbucket-1252448703′,$key’/111.txt’,$bodyfopen($temp,’rb’),$optionsarray(“ACL”>’private’,’CacheControl’>’private’));printr($result);}catch(Exception$e){回显”$e

“;}}

到这里后发现无法获取文件扩展名–,无奈之下打开了。

检查zbsystem/function/csystemplugin.php

我是怎样开发一款zblog应用的-腾讯云cos储存插件开发过程全解析

我发现还有一个this变量,打印出来看看是什么。

functionqcloudCosSaveFile($temp,$f){printr($f);}

我是怎样开发一款zblog应用的-腾讯云cos储存插件开发过程全解析

很好,现在一切都准备好了

调用upload来查看是否到达catch。如果没有,则说明上传成功。

我是怎样开发一款zblog应用的-腾讯云cos储存插件开发过程全解析

接下来,只需添加配置页面和geturl即可完成。您现在可以向f变量添加一个附加对象。

我是怎样开发一款zblog应用的-腾讯云cos储存插件开发过程全解析

我们来看看效果:

我是怎样开发一款zblog应用的-腾讯云cos储存插件开发过程全解析

文章来自:liaozixu.com

© 版权声明

相关文章