1、模型数据需求

  • 意图:

    • 手机号
    • 密码
    • 网关ID
    • 打开该情景的命令
    • 情景号
    • 情景名
    • 情景背景图
    • 添加该意图时的 token值
  • 主程序登陆共享数据

    • 手机号
    • token值

2、操作逻辑

  • 1、意图被唤起

    • 获取当前意图中的手机 与 主机登陆的手机号 是否一致

      • 一致:

        • 当前主机登陆中的token值是否有效

          • 有效:

            • 获取主机登陆中的token值
            • 在意图中 获取打开该情景的命令
            • 发送命令
            • 根据意图手机号获取一个意图持久化数据模型,判断该模型是否存在
              • 存在:

                • 更新该token 值到该模型
              • 不存在:
                • 保存该token 值到该模型
          • 无效:
            • 获取意图中的手机号
            • 登陆密码
            • 登陆获取到token值
              • 将token 值返回到主程序登陆共享数据
              • 准备好该token值
              • 在意图中 获取打开该情景的命令
              • 发送命令
              • 根据意图手机号获取一个意图持久化数据模型,判断该模型是否存在
                • 存在:

                  • 更新该token 值到该模型
                • 不存在:
                  • 保存该token 值到该模型
      • 不一致:
        • 根据意图手机号获取一个意图持久化数据模型,判断该模型是否存在

          • 存在:

            • 获取该模型中的 token值
            • 在意图中 获取打开该情景的命令
            • 发送命令
          • 不存在
            • 获取意图中的手机号
            • 登陆密码
            • 登陆获取到token值
            • 准备好该token值
              • 在意图中 获取打开该情景的命令
              • 发送命令
              • 根据意图手机号获取一个意图持久化数据模型,判断该模型是否存在
                • 存在:

                  • 更新该token 值到该模型
                • 不存在:
                  • 保存该token 值到该模型
  • 2.2 主程序登陆

    • 登陆后获取到token值
    • 新建一个共享数据模型,模型中的属性有:
      • 当前登陆手机号
      • token值

SiriShortCut模型建立及数据交互逻辑的更多相关文章

  1. laravel模型建立和数据迁移和数据填充(数据填充没有成功)未完

    开始创建我们的第一个 Article 模型及其对应迁移文件了,我们在项目根目录运行如下 Artisan 命令一步到位: php artisan make:model Article -m -m 是 - ...

  2. easy-table-vue+VueJs、SpringBoot+Mybatis实现MVVM模型前后台数据交互

    该项目分为前端展示部分和后台服务部分. 前端部分 使用的技术是:NodeJs.Webpack.VueJs 使用的组件库是:IVIEW.easy-table-vue 使用的开发工具是:WebStorm ...

  3. spring-boot json数据交互

    SpringBoot学习之Json数据交互 最近在弄监控主机项目,对javaweb又再努力学习.实际的项目场景中,前后分离几乎是所以项目的标配,全栈的时代的逐渐远去,后端负责业务逻辑处理,前端负责数据 ...

  4. html5-websocket实现基于远程方法调用的数据交互

    html5-websocket实现基于远程方法调用的数据交互   一般在传统网页中注册用户信息都是通过post或ajax提交到页面处理,到了HTML5后我们有另一种方法就是通过websocket进行数 ...

  5. 基于Xen实现一种domain0和domainU的应用层数据交互高效机制

    项目里有一个需求,domain0的应用层需要定时给domainU(hvm windows)的应用层传递一块数据,原来的方案是在domainU的应用层架设一个http服务器,监听在某个端口,然后需要塞数 ...

  6. ajax数据交互

    目录 一.ORM查询优化 1-1. only与defer 1-2. select_related与prefatch_related 二.MTV与MVC模型 三.choices参数 四.AJAX 4-1 ...

  7. SpringMVC框架笔记02_参数绑定返回值文件上传异常处理器JSON数据交互_拦截器

    目录 第1章 高级参数的绑定 1.1 参数的分类 1.2 数组类型的参数的绑定 1.3 集合类型的参数的绑定 第2章 @RequestMapping的用法 2.1 URL路径映射 2.2 请求方法限定 ...

  8. 对GraphQL-BFF:微服务背景下的前后端数据交互方案的研究-------引用

    随着多终端.多平台.多业务形态.多技术选型等各方面的发展,前后端的数据交互,日益复杂. 同一份数据,可能以多种不同的形态和结构,在多种场景下被消费. 在理想情况下,这些复杂性可以全部由后端承担.前端只 ...

  9. springmvc-高级参数绑定-映射-异常-json数据交互-拦截器

    1.1. 高级参数绑定 1.1.1. 复制工程 把昨天的springmvc-web工程复制一份,作为今天开发的工程 复制工程,如下图: 粘贴并修改工程名为web2,如下图: 工程右键点击,如下图: 修 ...

随机推荐

  1. python对裤子进行一个查询

    前言: 获取到一个数据库,使用python对其 进简单的查询 代码: import time print('开房记录查询') def chax(): g=input('请输入要查询的>>& ...

  2. 如何卸载win10的自带应用

    win10自带了好多应用,有些看起来不错,其实用起来不太方便哈(我的个人感觉),我们都更喜欢第三方应用,所以我们就来看看如何卸载这些自带应用.如图,是卸载完成后的Windows PowerShell: ...

  3. 第一次接触python:学习最简单的print及变量

    # -*- coding:utf-8 -*- print "hello world" print("hello world") 这里面使用了2中print方式, ...

  4. DDD学习笔录——提炼问题域之知识提炼与协作的基本原则

    1.通过通用语言达成共识 通用语言,已经强调过好多遍了,在DDD再怎么重视都不为过,后面可能还会讲. 知识提炼的输出以及共识的构建就是常见的通用语言(UL). 当与业务相关人员和主题专家进行建模时,每 ...

  5. idea将项目导出为war包

    idea 那么好用,早就把eclipse抛弃了.不过每次都是在给项目发包的时候,不得不重新打开eclipse导出为war包.感觉自己蠢蠢的.上网查了一下教程,按照网上的教程设置好了之后,运行项目发现并 ...

  6. 在ubuntu中安装minicom时出现devic…

    未正常关闭minicom yesaidu@ywf-ubuntu: ~$ ls /var/lock LCK..ttyS0  subsys yesaidu@ywf-ubuntu: ~$ kill 0 ye ...

  7. 字符编码(续)---Unicode与ANSI字符串转换以及分辨字符编码形式

    Unicode与ANSI字符串转换 我们使用windows函数MultiByteToWideChar将多字节字符串转换为宽字符字符串,如下: int MultiByteToWideChar( UINT ...

  8. 刷题向》关于搜索+tarjan的奇怪组合题 BZOJ1194 (normal+)

    关于这道题,其实看懂了的话还是比较好写的,只是题目实在又臭又长,没有让人读下去的勇气. 给出题目翻译: 给你S张图, 每张图有M个点,其中M个点中有N个是特殊单位,会给出. 每个点又有0.1两条边指向 ...

  9. 【bzoj1019】[SHOI2008]汉诺塔

    1019: [SHOI2008]汉诺塔 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1427  Solved: 872[Submit][Status] ...

  10. Mybatis简化sql书写,别名的使用

    之前,我们在sql映射xml文件中的引用实体类时,需要写上实体类的全类名(包名+类名),如下: <!-- 创建用户(Create) --> <insert id="addU ...