专栏首页web云开发利用云开发搭建私人云盘
原创

利用云开发搭建私人云盘

最近参加了云开发Web训练营,算是为自己的web开发打下一点点基础,利用这点基础,我通过云开发搭建了一个私人云盘,本文主要分享搭建的步骤。

云开发提供了完整的后台基础能力帮助开发者进行网站应用的开发,主要包括:

  • 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码。
  • 数据库:一个既可在网站应用前端操作,也能在云函数中读写的 JSON 数据库。
  • 存储:在网站应用前端直接上传或下载云端文件,并可在云开发控制台进行可视化管理。

如下图所示,在利用云开发(CloudBase)进行网站开发之前,开发者需要进行一些简单的准备工作。

  1. 在微信平台 注册 所需开发的网站应用,被审核通过后从微信侧获取网站应用的 AppID 与 AppSecret 。
  2. 登录腾讯云控制台 开通云开发,进行安全配置并创建资源用于开发。
  3. 使用腾讯云开发 CloudBase 资源进行 Web 端开发

初始化云开发能力

若需要使用云开发的其他能力,需要先进行初始化。示例代码如下:

<script src="https://imgcache.qq.com/qcloud/tcbjs/$version/tcb.js"></script>
<script>
  tcb.init({
    env: 'example-envid' //当前环境ID
  })
</script>

TIP

  • 代码中的 $version 为 SDK 版本号,example-envid 为环境 ID。
  • 建议您从控制台的添加应用弹窗中单击复制,得到的代码中包含 SDK 实际路径和您当前的环境 ID。

#登录授权

初始化完成后,您需要完成登录授权。示例代码如下:

var auth = app.auth();
auth
  .weixinAuthProvider({
    appid: 'example-appid', //微信应用appid
    scope: 'snsapi_type' //网页授权类型
  })
  .signIn((err, res) => {});

TIP

  • 您需要将代码中 example-appid 修改为您微信应用的 appid 。
  • snsapi_type 为网页授权类型,可选值为 snsapi_base(公众平台,只获取用户的 openid)、snsapi_userinfo(公众平台,获取用户的基本信息)和 snsapi_login(开放平台网页授权)。

#操作数据库

您可以完成对数据库基础的 CRUD 及服务端时间(serverDate)、正则查找(regExp)和地理位置(geo)等特殊数据结构的使用。示例代码如下:

var db = app.database();

db.collection('blog')
  .get()
  .then(res => {
    var data = res.data;
    console.log(data);
  });

更多详情请参考数据库相关 开发指南

#操作文件存储

您可以完成文件上传、获取下载链接或者删除文件等操作。示例代码如下:

// 上传文件
app.uploadFile({
  filePath: (<HTMLInputElement>document.getElementById('file')).files[0],
  cloudPath: 'cos.jpeg',
  onUploadProgress: (progressEvent) => {
    let percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
    console.log('uploadFile progress: ' + percentCompleted, progressEvent);
  }
}, function (err, res) {

});

// 获取下载链接
app.getTempFileURL({
  fileList: ['cloud://example.jpeg']    //fileid
}, (err, res) => {
  res.fileList && res.fileList.length
  && res.fileList.map(item => {
    console.log(item.download_url)
  });
});

TIP

您需要将代码中的 cloud://example.jpeg 修改为文件的 fileid 。

更多详情请参考文件存储相关 开发指南

#操作云函数

您可以对云函数的安全调用。示例代码如下:

//调用云函数
app.callFunction({ name: 'test', data: { hello: 'world' }, function(err, res) {

}};

更多详情请参考云函数相关 开发指南

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 产品研发做到又快又好的一个核心原则

    内容来源:2018 年 5 月 19 日,G7汇通天下技术合伙人廖强在“PHPCon China 2018 技术峰会”进行《敏捷工程实践与自动化》演讲分享。IT...

    IT大咖说
  • 40岁,编程的年龄过了吗?

    前几天翻出一些很久以前开发的程序还在跟同事炫耀,看当时写的代码,多工整、多规范,一个人就能完成一个开发项目,真的是好汉不提当年勇啊!我已经好几年不写代码了,现在...

    用户1247399
  • 苹果maccms最新漏洞补丁 防止数据库被反复挂马

    2020年刚开始,苹果CMS被爆出数据库代码执行漏洞,大量的电影网站被挂马,尤其电影的页面被篡改植入了恶意代码,数据库中的VOD表里的d_name被全部修改,导...

    网站安全专家
  • 2020苹果cms木马最新漏洞补丁数据库被js挂马该如何解决

    2020年刚开始,苹果CMS被爆出数据库代码执行漏洞,大量的电影网站被挂马,尤其电影的页面被篡改植入了恶意代码,数据库中的VOD表里的d_name被全部修改,导...

    技术分享达人
  • 21个令程序员泪流满面的瞬间

    用户1634449
  • 21个令程序员泪流满面的瞬间

    IT大咖说
  • 出现身份验证错误要求的函数不受支持

    今天在使用远程连接时遇到了一个错误,始终是无法连接到远程的服务器上面,提示信息如下:出现身份验证错误,要求的函数不受支持,这可能是由于CredSSP加密数据库修...

    申霖
  • 天天写代码,觉得自己特别苦逼?嗯,还有20年AI就来解放你

    Root 编译整理 量子位 出品 | 公众号 QbitAI “年轻人呐,别想着写代码写到老啊喂。时代在变啦!” 美国能源部橡树岭国家实验室研究委员会苦口婆心地劝...

    量子位
  • 多元回归中常见的变量选择方法及其在R中实现

    多元回归中,有时预测变量太多,需要想办法减少预测变量的数量。一般来讲,减少预测变量的数量可能有两个并不冲突的原因:

    用户7585161
  • 糟糕程序员和优秀程序员的区别?

    软件蚕食一切,未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。

    蜻蜓队长

扫码关注云+社区

领取腾讯云代金券