Technology

起因

事情是这样的,项目里需要对路由和按钮配置权限,所以会涉及到动态输出路由的问题,然后前端用的是 vue-element-admin ,看项目里是支持动态加载的,但是官方文档里对这块说得…算是语焉不详吧。

然后我翻了翻 issue 挺多人在问的,也有不少人给出了解决方案。嗯,我权当整理一下,怕年纪大容易忘。

思路

因为 vue-element-admin 主要是用于后台管理的框架,所以访问流程大致是这样子的:

  1. 发送登录请求
  2. 验证成功,返回 token
  3. 根据 token 返回当前用户信息,其中包括当前用户的角色,以及所属角色能访问的路由
  4. 前端创建一个路由组件映射表,主要作用是将后端返回的 component 的值替换为可执行的对象
  5. 将清洗过的路由表和前端存在的路由表合并
  6. 重载路由表,完成

其实核心在上面的第 4 条。根据项目 issue 里作者和其他人提供的方法,有两种映射表的创建方式:

  1. 前端创建创建一份静态的路由组件映射表
  2. 根据后端返回的路由表动态替换

我个人倾向于向后端录入一份路由表,然后再动态匹配。这样子只需要维护一份路由表,而不是一份路由表和一份路由组件映射表。

阅读更多

起因

最近在学 scrapy 爬虫,顺手从微博上爬了张子枫和谭松韵的微博相片。然后就想,要不就顺手用爬的相片做个视频出来?

需求&思路

我的思路是这样子的:

  1. 这个视频是 1080p 30fps;
  2. 我要给这个视频选一首好听的 BGM,然后每一幅相片都按 BGM 的节拍来显示;
  3. 视频长度和 BGM 长度匹配;
  4. 获取相片并将相片分辨率处理成和视频一样;
  5. 按节拍创建剪辑片段;
  6. 合并剪辑,生成视频

准备工作

  1. 由于我机器上使用的是 python 3 的环境,所以需要有 python 3。
  2. 建议在 python 的虚拟环境中运行这个项目。
  3. 在虚拟环境中安装 moviepy librosa click三个包。
  4. 如果要加字幕,还需要安装 imagemagick
  5. 如果需要对字幕做分词处理,再安装一个 jieba

阅读更多

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×