前言
碰巧掘金新上签到活动,碰巧喝了咖啡睡不着,碰巧双休不用上班,所以写了个插件,方便工作日签到(顺道练练手)
先来看看成品
总的来看,插件需要实现以下几个目标:
- 检测当前用户登录态
- 判断用户今天是否已签到
- 发送签到请求
- 展示信息(用户信息,奖励信息)
请求分析
用户登录凭证
通过登录请求[POST] /passport/web/user/login
可以看到,请求响应设置的Cookie
中有好几个键值对,选择一个普通的请求在postman
上分析,可以看到掘金
通过Cookie
中的sessionid
作为用户登录凭证
签到相关的接口
在签到功能的请求中,跟这次要实现功能相关的接口有4个,分别是:
- 获取签到天数的汇总信息
[GET]/growth_api/v1/get_counts
- 获取当前的矿石数量
[GET]/growth_api/v1/get_cur_point
- 判断用户今天是否已签到
[GET]/growth_api/v1/get_today_status
- 用户签到
[POST]/growth_api/v1/check_in
这里大致分析一下功能对应的请求即可,具体传参以及返回值的含义可以通过浏览器控制台查看(
F12
)
流程图
下面通过几个场景的时序图来阐述清楚插件的工作流程
未登录场景
未签到场景
已签到场景
搭建chrome插件开发工程
通过vue-web-extension实现快速搭建chrome插件开发工程(Vue)