SiriShortCut模型建立及数据交互逻辑
1、模型数据需求
意图:
- 手机号
- 密码
- 网关ID
- 打开该情景的命令
- 情景号
- 情景名
- 情景背景图
- 添加该意图时的 token值
主程序登陆共享数据
- 手机号
- token值
2、操作逻辑
1、意图被唤起
- 获取当前意图中的手机 与 主机登陆的手机号 是否一致
- 一致:
- 当前主机登陆中的token值是否有效
- 有效:
- 获取主机登陆中的token值
- 在意图中 获取打开该情景的命令
- 发送命令
- 根据意图手机号获取一个意图持久化数据模型,判断该模型是否存在
- 存在:
- 更新该token 值到该模型
- 不存在:
- 保存该token 值到该模型
- 存在:
- 无效:
- 获取意图中的手机号
- 登陆密码
- 登陆获取到token值
- 将token 值返回到主程序登陆共享数据
- 准备好该token值
- 在意图中 获取打开该情景的命令
- 发送命令
- 根据意图手机号获取一个意图持久化数据模型,判断该模型是否存在
- 存在:
- 更新该token 值到该模型
- 不存在:
- 保存该token 值到该模型
- 存在:
- 有效:
- 当前主机登陆中的token值是否有效
- 不一致:
- 根据意图手机号获取一个意图持久化数据模型,判断该模型是否存在
- 存在:
- 获取该模型中的 token值
- 在意图中 获取打开该情景的命令
- 发送命令
- 不存在
- 获取意图中的手机号
- 登陆密码
- 登陆获取到token值
- 准备好该token值
- 在意图中 获取打开该情景的命令
- 发送命令
- 根据意图手机号获取一个意图持久化数据模型,判断该模型是否存在
- 存在:
- 更新该token 值到该模型
- 不存在:
- 保存该token 值到该模型
- 存在:
- 存在:
- 根据意图手机号获取一个意图持久化数据模型,判断该模型是否存在
- 一致:
- 获取当前意图中的手机 与 主机登陆的手机号 是否一致
2.2 主程序登陆
- 登陆后获取到token值
- 新建一个共享数据模型,模型中的属性有:
- 当前登陆手机号
- token值
SiriShortCut模型建立及数据交互逻辑的更多相关文章
- laravel模型建立和数据迁移和数据填充(数据填充没有成功)未完
开始创建我们的第一个 Article 模型及其对应迁移文件了,我们在项目根目录运行如下 Artisan 命令一步到位: php artisan make:model Article -m -m 是 - ...
- easy-table-vue+VueJs、SpringBoot+Mybatis实现MVVM模型前后台数据交互
该项目分为前端展示部分和后台服务部分. 前端部分 使用的技术是:NodeJs.Webpack.VueJs 使用的组件库是:IVIEW.easy-table-vue 使用的开发工具是:WebStorm ...
- spring-boot json数据交互
SpringBoot学习之Json数据交互 最近在弄监控主机项目,对javaweb又再努力学习.实际的项目场景中,前后分离几乎是所以项目的标配,全栈的时代的逐渐远去,后端负责业务逻辑处理,前端负责数据 ...
- html5-websocket实现基于远程方法调用的数据交互
html5-websocket实现基于远程方法调用的数据交互 一般在传统网页中注册用户信息都是通过post或ajax提交到页面处理,到了HTML5后我们有另一种方法就是通过websocket进行数 ...
- 基于Xen实现一种domain0和domainU的应用层数据交互高效机制
项目里有一个需求,domain0的应用层需要定时给domainU(hvm windows)的应用层传递一块数据,原来的方案是在domainU的应用层架设一个http服务器,监听在某个端口,然后需要塞数 ...
- ajax数据交互
目录 一.ORM查询优化 1-1. only与defer 1-2. select_related与prefatch_related 二.MTV与MVC模型 三.choices参数 四.AJAX 4-1 ...
- SpringMVC框架笔记02_参数绑定返回值文件上传异常处理器JSON数据交互_拦截器
目录 第1章 高级参数的绑定 1.1 参数的分类 1.2 数组类型的参数的绑定 1.3 集合类型的参数的绑定 第2章 @RequestMapping的用法 2.1 URL路径映射 2.2 请求方法限定 ...
- 对GraphQL-BFF:微服务背景下的前后端数据交互方案的研究-------引用
随着多终端.多平台.多业务形态.多技术选型等各方面的发展,前后端的数据交互,日益复杂. 同一份数据,可能以多种不同的形态和结构,在多种场景下被消费. 在理想情况下,这些复杂性可以全部由后端承担.前端只 ...
- springmvc-高级参数绑定-映射-异常-json数据交互-拦截器
1.1. 高级参数绑定 1.1.1. 复制工程 把昨天的springmvc-web工程复制一份,作为今天开发的工程 复制工程,如下图: 粘贴并修改工程名为web2,如下图: 工程右键点击,如下图: 修 ...
随机推荐
- Linux性能监测:CPU篇
CPU 也是一种硬件资源,和任何其他硬件设备一样也需要驱动和管理程序才能使用,我们可以把内核的进程调度看作是 CPU 的管理程序,用来管理和分配 CPU 资源,合理安排进程抢占 CPU,并决定哪个进程 ...
- 【树莓派智能门锁】使用脚本控制GPIO来开锁【4】
假定你已经通过此文章或者其他方式完成了树莓派的基本配置 [树莓派]RASPBIAN镜像初始化配置 我们通过VNC View连接到树莓派查看一下~ 1.更新一下基本的设置:更新一下源,把python-d ...
- 02-26 ASP.NET加密解密的方法
MD5加密.解密的方法. 使用时的代码备忘:Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile("要加 ...
- leetcode700
class Solution { public: TreeNode* searchBST(TreeNode* root, int val) { if (root == NULL) { return n ...
- leetcode378
public class Solution { public int KthSmallest(int[,] matrix, int k) { ); ); var list = new List< ...
- Android studio如何和VS的region一样折叠代码
相信用过VS的朋友都会经常有用到VS的region来折叠代码,非常方便.那么Android studio是否可以呢?当然可以. 选择代码,Ctrl + Alt + T 选择 第二项,这样就可以啦
- Python 小练习二 数据库MySQL、Redis
import pymysql,redis def op_mysql(host,user,password,db,sql,port=3306,charset='utf8'): conn = pymysq ...
- Java调用Webservice(asmx)的几个例子
Java调用Webservice(asmx)的几个例子 2009-06-28 17:07 写了几个调用例子: 1. import org.apache.axis.client.*;import org ...
- 刷题向》图论》BZOJ1001 平面图最大流、平面图最小割、单源最短路(easy+)
坦白的说这是一道水题,但是因为是BZOJ上的1001,所以这道题有着特殊的意义. 关于最大流转最短路的博客链接如下:关于最大流转最短路两三事 这道题的图形很规矩,所以建边和建点还是很简单的. 题目如下 ...
- 【NOI2002】荒岛野人
[题解] 可以枚举m 那么任意两个野人之间有 c[i]+x*p[i]=c[j]+x*p[j] (mod m) 无解,或 x 的最小值<=min(l[i] , l[j]) 化为丢番图方程:(p[ ...