本工具完全使用腾讯云云开发提供的服务进行部署
展示URL:https://f.dnuise.cn
File-S文件转储服务用于无障碍跨平台文件传输,用户可以免登录存放和收取文件;应用于一些临时文件使用场景下的文件传输服务。
- 打印店场景:手机内的文件发送给打印机电脑
- 大文件传输:超过聊天工具限制大小的文件传输
- 无连接传输:两个端没有工具链接的文件传输场景
- 群发大文件:无线上关系网络情况下的文件群发
云开发出色的跨端支持能力,可以覆盖WEB端平台,微信小程序,QQ小程序,移动APP等多个端应用。让用户摆脱平台间的隔阂,无缝连接文件传输。
FILE-S文件转储服务支持6小时的文件存储时长,支持取后即删;配备密码设定,让你的文件更加安全。
同时在取文件时加载腾讯验证码,最大程度的防止恶意人员穷举攻击。
文件存储使用云开发文件存储服务,超大容量,无文件大小限制,20M带宽文件上下载速度。
-
后端服务使用腾讯云云开发提供的一体化解决方案,包括云函数、云数据库、云存储能力
-
前端使用原生JavaScript,配合腾讯云云开发提供的JS-SDK完成后端服务的对接
-
前端静态资源部署在腾讯云云开发的静态网站托管服务上
GitHub: tcb-demo-files
- 访问腾讯云云开发控制台,新建【按量计费云开发环境】,记住云开发环境ID。
- 进入静态网站控制页,开通静态网站托管服务
- 进入数据库控制页,添加3个集合;集合名字分别为dustbin、file、manage
- 进入用户管理控制页-登录设置的登录方式中,勾选匿名登录
- 找到项目目录下cloudfunctions/asset/manage-database.json文件,此为数据库集合manage的初始数据结构
- 进入环境控制台的【数据库】,点击进入manage集合,导入manage-database.json文件
-
用代码工具打开项目目录,将以下文件中标注有【云开发环境ID】处替换成自己的云开发环境ID -- cloudfunctions/cloudbaserc.js 第2行 -- webviews/js/index.js 第1行
-
前往腾讯验证码官网创建验证码应用,获得aid和AppSecretKey;并打开cloudfunctions/functions/getFile/index.js,在第3行TCaptchaID中填充自己项目的aid和AppSecretKey;另外在webviews/index.html大约119行,id为TencentCaptcha的button元素,将属性data-appid填写为【应用验证码aid】。
-
前往静态网站控制台-设置,复制域名信息下的默认域名;粘贴至cloudfunctions/functions/getFile/index.js第9行AllowOriginList数组中第1项。
- 确定本机已经安装了nodejs和npm,如果没有安装请自行下载安装
- 命令行进入cloudfunctions/functions下的每个文件目录,每个目录均执行一遍以下代码:
$ npm install tcb-admin-node注意:getFile文件夹下需要安装request
- 使用CloudBase CLI工具登录后,进入cloudfunctions/目录,依次执行以下代码: 注意:envID 替换成自己的云开发环境ID
$ cloudbase functions:deploy -e envID delete
$ cloudbase functions:deploy -e envID downFile
$ cloudbase functions:deploy -e envID getFile
$ cloudbase functions:deploy -e envID myfile
$ cloudbase functions:deploy -e envID upload
$ cloudbase service:create -e envID -p /getFile -f getFile
$ cloudbase functions:trigger:create -e envID delete- 上面最后两行是为 getFile云函数创建HTTP服务 和 为delete创建触发器
- 使用CloudBase CLI工具登录后,进入根目录,依次执行以下代码: 注意:envID 替换成自己的云开发环境ID
$ cloudbase hosting:deploy -e envID webviews到这里,整个项目就部署完毕,你可以访问静态网站服务默认域名访问使用了。如果你要对外使用,需要将域名换成自己已经备案的域名。
- 如果云函数访问提示找不到tcb-admin-node,则使用代码更新命令重新更新即可
$ cloudbase functions:code:update -e envID fun- 如果上传文件提示同源限制,则在环境设置中重新配置一下静态托管域名(删掉重新安装)
云开发提供了完备的web端资源服务,但是一个对外公开使用的web项目需要有自己的备案域名,需要受到监管。所以,在正式对外推出之前,需要将云开发提供的默认域名替换成自己已经备案的域名
-
前往静态网站控制台-设置,在【域名信息】下点击添加域名按钮,填写已经备案的域名。域名需要配有SSL证书,腾讯云下域名会自动监测证书;如果是非腾讯云旗下域名,则需要上传SSL证书。
-
需要等待域名添加状态为【已启动】后,才可以去域名解析中配置CNAME。
-
前往用户管理控制台-登录设置,在WEB安全域名中删除云开发的默认域名,只保留自定义域名。
-
cloudfunctions/functions/getFile/index.js第9行AllowOriginList数组中,将默认域名更换成自定义域名,保存;使用CloudBase CLI到cloudfunctions目录下,执行下面代码更新: 注意:envID 替换成自己的云开发环境ID
$ cloudbase functions:code:update -e envID getFile- 为了全面展示腾讯云云开发的各项能力,有些地方代码不自然,可以根据自己的技术水准做升级
- util-min.js是作者自己封装的JS方法库的一小部分,用于做原生JS应用的快速开发,目前无法做到开源水平,小打小闹。
- 此项目为云开发原生JS-Demo,所以任何框架和库都没用,会计划对各大框架做云开发Demo,也欢迎各位大神前来贡献。
- 如果对于此项目有任何疑惑可以在Github项目下new issues