源脚本的三种登录方式怎么写
需要账号的站点,源脚本在 account 块里声明登录方式。三种方式对应三类站点,写源时按目标站点的认证形态选。
三种方式对照
| 方式 | 实现 | 适用站点 |
|---|---|---|
| 账密登录 | 实现 login 函数,收账号密码返回成功 | 有开放登录接口、验证简单的站点 |
| 网页登录 | 声明登录页地址与状态检查函数 | 复杂验证码、OAuth 跳转类站点 |
| Cookie 登录 | 声明所需 Cookie 字段与校验函数 | 手动从浏览器导 Cookie 的场景 |
各自要点
账密登录
- login 函数收账号、密码两个参数,成功时返回任意值
- 站点有验证码的,这条路走不通,换网页登录
网页登录
- 应用弹出内嵌网页打开你声明的登录地址
- checkStatus 函数根据当前网址或页面标题判断是否已登录成功
- 可选挂一个登录成功的回调做收尾(存状态、刷新数据)
- 登录状态由内嵌浏览器维持,体验最接近人工操作
Cookie 登录
- fields 数组声明需要用户提供哪些 Cookie 字段
- validate 函数校验这组 Cookie 是否有效,无效返回假
- 校验前先用网络接口把 Cookie 装进会话再验证
- 如果同时实现了账密登录,Cookie 登录会被忽略
公共收尾
- logout 函数负责清空账号相关数据
- 可以声明注册页地址,界面上给出跳转入册的入口
- 登录过期抛出约定错误,应用会自动重登并重试刚才失败的收藏操作,见网络收藏夹