前言

昨天去上海出差了,公干完后跟着公司去了迪斯尼玩了一圈,不得不说,迪斯尼的那个巡演很棒,全都是迪斯尼IP的人物,看的激动坏了!
因为心系博客的文章更新,所以当天晚上就买了机票飞回来了,今天咱就说说怎么自定义一个私有的api,意思就是自己用的,通过登录验证的用户才能使用的api。
qexo在部署运行后会自动生成一个api key,这个api key是在鉴权时使用的,现在还用不到,但是后面会用到,所以现在先自定义个一个私有的api来获取这个key的值,看看这个值的内容是啥,方便后面使用这个key。

预览效果

效果如下图:
获取api密钥

定义并实现私有api

找到 hexoweb\api.py 文件,在文件末尾添加内容如下:

1
2
3
4
5
6
+# 获取api key
+@login_required(login_url="/login/")
+def get_apikey(request):
+ msg = SettingModel.objects.get(name="WEBHOOK_APIKEY").content
+ context = {"msg": msg, "status": True}
+ return JsonResponse(safe=False, data=context)

配置私有api路由

找到 core\urls.py 文件,添加如下内容:

1
2
3
4
    path('api/run_online_script/', run_online_script, name='run_online_script'),
+ path('api/get_apikey/', get_apikey, name="get_apikey"),

path('pub/save/', pub.save, name='pub_save'),

Qexo四连

在cmd命令行中输入如下命令运行部署Qexo项目:

1
2
3
4
E:\Qexo> pip3 install -r requirements.txt
E:\Qexo> python3 manage.py makemigrations
E:\Qexo> python3 manage.py migrate
E:\Qexo> python3 manage.py runserver --noreload

访问 http://127.0.0.1:8000/api/get_apikey/ 查看页面效果。