大道至简,新一代企业应用无栈开发

平台之上,一种语言,可视化、脚本化、全端一体化开发

站点管理

站点密匙、连接和设置管理

docutils document without title

1   使用场景

桌面助手主要是通过浏览器发起任务,发送给桌面助手去执行。

但也有如下几种情况,是需要在桌面主动发起任务的:

  • 桌面助手消息通知
  • 映射盘:在桌面进行文件管理
  • 同步盘:可以在桌面文件管理器中发起同步操作

这时候要求桌面助手预先建立和站点的连接,包括站点的信息,当前用户等:

  • 每个站点只能建立一个链接
  • 在首次发起任务的时候建立连接
  • 如果需要切换用户,需要登出现有连接,再重新建立连接

2   站点管理器 SiteManager

2.1   得到站点管理器 get_site_manager

sm = get_site_manager()

2.2   添加站点 add_site

site = sm.add_site(
    oc_url, account, instance, instance_url, instance_name,
    username, pid, token
)

2.3   查看全部站点 list_sites

sites = sm.list_sites()

返回一组site对象

2.4   得到某个站点 get_site

site = sm.get_site(oc_url, account, instance)

2.5   删除某个站点 remove_site

sm.remove_site(site)

3   站点 Site

3.1   登录管理

3.1.1   站点登录 login

site.login(token)

3.1.2   站点登出 logout

site.logout()

3.1.3   站点登录状态 has_token

site.has_token()

3.2   设置管理

3.2.1   设置站点配置 set_config

设置键值对:

site.set_config(key, value)

比如站点是否接收消息通知:

site.set_config('notification', True)

比如设置是否直接运行站点下发的联机脚本:

site.set_config('allow_script', True)

3.2.2   得到站点配置 get_config

site.get_config(key)

3.3   得到站点访问客户端 get_client

用于某个服务的Open API(短连接):

site.get_client(app_name)

app_name可以是workonline/oc/message

3.4   消息线程管理 get_message_thread

只有主进程能够获取到消息线程:

thread = site.get_message_thread()

4   消息线程

4.1   消息线程状态 state

消息连接的状态,有 offline 和 online 两种状态:

thread.state

4.2   建立连接 connect

thread.connect()

4.3   断开连接 disconnect

thread.disconnect()