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. 使用QuartZ.net来做定时计划任务 ; 值不能为 null。 参数名: assemblyString

    1. 当异常的时候, 发现需要的类名, 没有取到, 然后就发生异常了 2. 分析: 业务层调用数据层, 数据层去掉配置的时候, 发现配置文件中根本就没有配置, 这个时候使用反射来取, 肯定是拿不到的, ...

  2. Flask之单元测试

    5.2单元测试 为什么要测试? Web程序开发过程一般包括以下几个阶段:[需求分析,设计阶段,实现阶段,测试阶段].其中测试阶段通过人工或自动来运行测试某个系统的功能.目的是检验其是否满足需求,并得出 ...

  3. mvc 实体类 自定义验证特性

    mvc 实体类验证的时候 如果有多个验证特性需要在属性上层叠很多个验证特性,显得属性特别臃肿并且也不够直观,极大地影响我使用它的兴趣,所以我想自定义一个验证特性,然后将所有需要验证的情形全部放在一个特 ...

  4. Checker Challenge跳棋的挑战(n皇后问题)

    Description 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行,每列,每条对角线(包括两条主对角线的所有对角线)上都至多有一个棋子. 列号 0 1 2 3 4 5 6 ...

  5. Mysql问题随记

    [用户创建并授权远程访问] CREATE USER 'username'@'host' IDENTIFIED BY 'password’;   @后面跟主机地址,即这个用户可以从哪些地址访问数据库,l ...

  6. Pagination分页

    基本语法 下面展示Paginator的基本使用 >>> from django.core.paginator import Paginator >>> object ...

  7. inux下安装ab

    1,APR 下载地址:http://apr.apache.org/download.cgi 1)tar -zxf apr-1.4.5.tar.gz    ./configure --prefix=/u ...

  8. 使用mail架包发送邮件javax.mail.AuthenticationFailedException: failed to connect at javax.mail.Service.connec

    这个错误是因为连接不上邮箱服务器导致的,可能有以下几个原因(以网易邮箱为例) 1.当使用第三方登录邮箱时需要有邮箱的授权码,且要开启POP3/SMTP/IMAP:服务 2.在代码中要调用网易邮箱的密码 ...

  9. Luogu 4473 [国家集训队]飞飞侠

    BZOJ 2143 新技能:并查集优化最短路. 暴力最短路是$O(n^4)$的,然后拿个线段树优化一下连边就$O($能过$)$了. 但是这样都太慢了. 我们考虑一个点如果之前被更新过了,那么之后就不会 ...

  10. cakephp重写配置

    开启重新: (1)开启服务器的mod_rewrite模块 (2)注释掉app/ConfigScore.php中的 Configure::write('App.baseUrl', env('SCRIPT ...