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. Linux性能监测:CPU篇

    CPU 也是一种硬件资源,和任何其他硬件设备一样也需要驱动和管理程序才能使用,我们可以把内核的进程调度看作是 CPU 的管理程序,用来管理和分配 CPU 资源,合理安排进程抢占 CPU,并决定哪个进程 ...

  2. 【树莓派智能门锁】使用脚本控制GPIO来开锁【4】

    假定你已经通过此文章或者其他方式完成了树莓派的基本配置 [树莓派]RASPBIAN镜像初始化配置 我们通过VNC View连接到树莓派查看一下~ 1.更新一下基本的设置:更新一下源,把python-d ...

  3. 02-26 ASP.NET加密解密的方法

    MD5加密.解密的方法. 使用时的代码备忘:Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile("要加 ...

  4. leetcode700

    class Solution { public: TreeNode* searchBST(TreeNode* root, int val) { if (root == NULL) { return n ...

  5. leetcode378

    public class Solution { public int KthSmallest(int[,] matrix, int k) { ); ); var list = new List< ...

  6. Android studio如何和VS的region一样折叠代码

    相信用过VS的朋友都会经常有用到VS的region来折叠代码,非常方便.那么Android studio是否可以呢?当然可以. 选择代码,Ctrl + Alt + T 选择 第二项,这样就可以啦

  7. Python 小练习二 数据库MySQL、Redis

    import pymysql,redis def op_mysql(host,user,password,db,sql,port=3306,charset='utf8'): conn = pymysq ...

  8. Java调用Webservice(asmx)的几个例子

    Java调用Webservice(asmx)的几个例子 2009-06-28 17:07 写了几个调用例子: 1. import org.apache.axis.client.*;import org ...

  9. 刷题向》图论》BZOJ1001 平面图最大流、平面图最小割、单源最短路(easy+)

    坦白的说这是一道水题,但是因为是BZOJ上的1001,所以这道题有着特殊的意义. 关于最大流转最短路的博客链接如下:关于最大流转最短路两三事 这道题的图形很规矩,所以建边和建点还是很简单的. 题目如下 ...

  10. 【NOI2002】荒岛野人

    [题解] 可以枚举m 那么任意两个野人之间有 c[i]+x*p[i]=c[j]+x*p[j] (mod m)  无解,或 x 的最小值<=min(l[i] , l[j]) 化为丢番图方程:(p[ ...