1. 如何创建一个地球号的SDK

本节介绍如何创建一个地球号的SDK。地球号的第一个SDK是BrowserSDK。是一个完整设计的SDK。本节参考BrowserSDK来讲解如何创建一个其它语言的SDK。

1.1. 应用的生命周期

任何一个应用的生命周期独有如下几个环节:初始化,登陆,路由,请求服务。应用的一次运行就是一次初始化,多次登陆,许多次路由,和很多次服务请求组成的。尽管不同应用会因为语言不同,架构设计不同,其生命周期不一定能优雅的分解成这四部分。但都可以通过稍微刻意拟合成这四部分的组成。

在一个页面我们可以多次请求后端服务,例如,多次查询。所以请求服务的次数要多于路由的次数。

1.1.1. 浏览器应用生命周期

环节 说明
初始化 首页加载的时候
登陆 登陆页面,当登陆token过期的时候,不管在用户浏览到哪个页面,都要跳回到登陆页面
路由 页面路由发生变化的时候,比如,前一页,后一页,点击切换页面
请求服务 当页面向后端服务发起API请求的时候

1.1.2. 移动端应用生命周期

环节 说明
初始化 APP启动的时候,例如安卓里的onCreate
登陆 登陆页面
路由 APP页面发生切换的时候
请求服务 当APP向后台发起API请求的时候

1.1.3. 桌面端应用生命周期

环节 说明
初始化 可执行程序启动的时候,初始化的时候
登陆 登陆页面
路由 可执行程序在切换页面或者模块的时候
请求服务 程序向远程后台请求服务的时候

1.1.4. 命令行应用生命周期

这里我们假定:一个命令行应用是典型的守护进程应用,典型的应用是nginx,httpd。这些应用定时重启,运行后,在模块间进行切换,每个模块里可能要访问多次其它服务。

环节 说明
初始化 程序启动的时候
登陆 登陆页面
路由 程序在模块间切换的时候
请求服务 程序向远程后台请求服务的时候

1.2. 实现SDK

根据上面所提的应用的四个环节,SDK要按照如下规则实现。SDK一定要有个类,类的方法一定有构造函数,initialize,isLogin和其它命名好的方法。虽然这样的规则设计过于生硬,限制了程序设计者的个性。但统一的SDK设计会让地球号的使用功能者很方便的在多个SDK间理解。

环节 接口 规则
构造函数 construct(key,secret) 根据key和secret构造对象
初始化 initialize() 在localstorage中查看有没有有效的token,如果没有,就要获取匿名token,并存放到localstorage里
登陆 login() 通过用户名和密码登陆,登陆成功后会把匿名token换成登陆token存入localstorage
路由 isLogin() 在每个路由的时刻,应用都应该调用isLogin接口来判断当前token代表的用户登录是否是还在有效期,isLogin就需要拿到localstorage里的token到gettoken接口去解析token内容并判断vtl字段
请求服务 *() 在每个请求里,如果错误码返回4011,就表示令牌过期,需要跳转到登陆页面

results matching ""

    No results matching ""