需要哪些东西解决了什么问题
- 一个公共的 github 仓库,github的仓库可以存1G的图片,一般心动好看的图得找好久,这个解决存储问题
- Jsdelivr 通过它解决 github 仓库图片国内访问速度问题,有不少域名,可以自己看情况,这个解决网速问题
- 阿里云ServerLess 函数计算FC,有100万的免费调用额度,自己用能用很久,这个解决 https 域名以及后端部署,接口问题
函数计算FC 接口步骤
部分步骤会简单描述,不会截图细说
- 使用支付宝账号创建一个阿里云账号
- 在控制台界面,点左上角打开侧边栏,搜索函数计算FC,并点击
- 开通后,创建一个任务
- 主要配置如下
这两个配置可以调很低很低,可以手动改更低
- 替换如下区域的代码,然后再点击部署
from urllib.parse import urlencode
import requests
import random
def handler(environ, start_response):
url = "https://api.github.com/repos/guicaiyue/FigureBed/contents/" + environ['PATH_INFO']
response = requests.get(url)
data = response.json()
picture_names = [item['name'] for item in data]
random_picture_name = random.choice(picture_names)
jsdelivr_url = "https://cdn.jsdelivr.net/gh/guicaiyue/FigureBed@latest/" + random_picture_name
status = '302 Found'
headers = [('Content-type', 'text/plain'), ('Location', jsdelivr_url)]
start_response(status, headers)
return []
- 点击触发器url,复制公网访问地址,然后地址+?PATH_INFO="哪个目录(不填为空)",直接访问就好了
说下其他的
前面的仓库是我自己的,具体地址 https://github.com/guicaiyue/FigureBed ,其中 guicaiyue 是我的用户名,FigureBed 是仓库名,只要替换掉代码里的 url 的相同字符就行,参数 PATH_INFO 可以实现分类。比如我的可以路径上拼接?PATH_INFO="MImg/"
总结
我感觉这个很适合一个前端开发人员,最少的学写量,最快的效果,域名都不用搞当然也可以接自己的域名,但我觉得后端开发也是可以借用这种思路的。