Cloudflare Auth
现场的使用场景
Section titled “现场的使用场景”- 语音指令来调试和测试。用手机下达语音指令。
- 输入简单指令来调试和测试。用手机简单编辑指令。
- 远程控制现场设备。相当于向现场助手临时下达命令。
- 语音输入指令,特别是对于一些反复调试的指令。提高工作效率,减轻工作压力。
- 复杂命令,需要大量的公式计算。或者需要对文件进行大量修改操作。
- 更换电脑。用户已经登录,正常使用工具之后,没有退出登录。当电脑无法使用,更换电脑重新登录并使用工具。此时,device_id 与记录中的肯定不符,但 user_id 相同,那么必须从 clerk 读取最新的 session,如果新的 session 为 Active 状态,且 session_id 与来访者 token 解码出来的相同,那就意味着用户已经更换了电脑。最后,更新记录中的 session 信息,包括新的 device_id。
- 更换浏览器,但还是同一台电脑。用户在同一台电脑中更换浏览器,登录账号并使用工具。device_id 相同,user_id 相同,但 session_id 不同。必须从 clerk 读取最新的 session,然后对比 expired_at 和 created_at。最后,如果 读取的 session 为最新的,则更新记录中的 session 信息。
- 两台电脑共享一个账号。用户试图在两台电脑上同时登录并使用工具。其中的一台电脑如果不重新登录的话,则无法通过 session_id 的对比。如果退出并重新登录了,则另一台电脑又要面临同样的情况。相当于两台电脑在争抢资源,除非错开时间登录,才能共享一个账号。同一原理,多台电脑也可以错开时间共享一个账号。
- 对于节目编排,MA Connector 独立运行。只需要通过 user_id 读取节目时间表即可。
节目编排的操作
Section titled “节目编排的操作”- 将 token 保存到本地文件中。token 解码出 user_id, 在数据库中查询节目编排记录。
- 功能必须标记为 schedule.
数量限制,加油包
Section titled “数量限制,加油包”- 免费套餐,每个功能都有数量限制。
- 用户购买的套餐名称、价格、时长、过期时间。
- 套餐中每个功能没有数量限制。
- 不限制数量,只限制总存储空间大小。如果用户将数据保存在自己的本地电脑的文件中,则没有大小限制。
- 初期不允许上传数据,只能保存为本地文件。
- 等收入稳定之后再增加云存储功能。
- 使用脚本工具包才能上传保存数据。基础工具包的数据不能上传,除了节目编排功能。
- R2 存储文件。视音频、图片等媒体文件。
- D1 数据库。脚本、特效、项目、媒体、时间表、表演时段、执行器、属性、编组
Session schema of Cloudflare KV
Section titled “Session schema of Cloudflare KV”interface Session { session_id: string; user_id: string; device_id: string; expired_at: number; created_at: number; updated_at: number; status: string; limits: Limit[]; pay_expired_at: number;}Limits of quantity
Section titled “Limits of quantity”interface Limit { function_name: number;}const limits = { stage: 100, executor: 100, timeline: 100, script: 100, device_dmx: 100,}places
contains
uses
CUSTOMER
ORDER
LINE-ITEM
DELIVERY-ADDRESS
Still
Moving
Crash
DB
A
A wide one in the middle
C
D
Animal
+int age
+String gender
+isMammal()
+mate()
Duck
+String beakColor
+swim()
+quack()
Fish
-int sizeInFeet
-canEat()
Zebra
+bool is_wild
+run()
From Duck till Zebra
can fly\ncan swim\ncan dive\ncan help in debugging