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. 浏览器访问IPv6地址

    http://[IPv6]:port/index.html http://[3ffe:3201:1200:1::91]:8080/index.html 目前现在的网络运营商基本都不支持基于IPv6地址 ...

  2. Py修行路 python基础 (十八) 反射 内置attr 包装

    一.isinstance 和 issubclass1.isinstance(obj,cls)检查是否obj是否是类 cls 的对象.2.issubclass(sub, super)检查sub类是否是 ...

  3. IDA Pro 权威指南学习笔记(四) - IDA 用户界面的基本规则

    基本规则: IDA 不提供撤销功能 如果由于不小心按下某个键,导致数据库文件发生意外,这时需要将显示窗口恢复到以前的状态 几乎所有的操作都有其对应的菜单项.热键和工具栏按钮 IDA 的工具栏高度可配置 ...

  4. Bind("入库日期", "{0:yyyy-MM-dd}") 关于asp.net格式化数据库日期字符串

    Bind("入库日期", "{0:yyyy-MM-dd}") 关于asp.net格式化数据库日期字符串,删除多余的000:0:00

  5. MongoDB安全加固方案,防止数据泄露被勒索

    早上起来,发现生产数据库被删了,留下一个数据库名叫“PLEASE_READ”,里面内容如下: "Info" : "Your DB is Backed up at our ...

  6. windows命令行 查询/kill 进程

    查询: tasklist kill对应进程 按名称:taskkill /im xxx.exe 按pid: taskill /pid pid kill掉xxx进程的相关进程(子进程) taskkill ...

  7. AngularJS学习(二)——Angular应用的解析

    本节描述AngularJS应用程序的三个组成部分,并解释它们如何映射到模型-视图-控制器设计模式 模板(Template) 模板是您用HTML和CSS编写的文件,展现应用的视图.您可给HTML添加新的 ...

  8. Android4.0+锁屏程序开发——设置锁屏页面篇

    [如何开发一个锁屏应用] 想要开发一个锁屏应用,似乎很难,其实并没有想象中那么难. 从本质上来说,锁屏界面也只是一个Activity而已,只是这个界面比较特殊,在我们点亮屏幕的时候,这个界面就会出现. ...

  9. web Servise(服务)

    服务层:对项目的业务层(业务层调用数据层)的一个包装成对外的服务,是的UI展示可以从单一的WEB扩展为移动端可WINDFROM端等,这叫做面向服务的编程思想. 发布:和网站发布也是一样的. //web ...

  10. Codeforces 1109E 线段树

    思路及博客:https://www.cnblogs.com/uid001/p/10507346.html 代码: #include <bits/stdc++.h> #define LL l ...