Skip to content

Cloudflare Auth

This content is not available in your language yet.

  • 语音指令来调试和测试。用手机下达语音指令。
  • 输入简单指令来调试和测试。用手机简单编辑指令。
  • 远程控制现场设备。相当于向现场助手临时下达命令。
  • 语音输入指令,特别是对于一些反复调试的指令。提高工作效率,减轻工作压力。
  • 复杂命令,需要大量的公式计算。或者需要对文件进行大量修改操作。

No

Yes

Yes

Yes

No

Yes

No

No。New session

Yes

Yes

No

Yes

Yes

Yes

No

Yes

No

Yes

No

No

Yes

Yes

Yes

No

No

No

No

开始

hono 中间件 bearerAuth

verifyToken 解码出 user_id

method == schedule ?

user_id 命中 session 缓存 ?

session 有效 ?

读取节目时间表

读取成功?

返回时间表。

结束

KVspace 读取 session

读取 session 成功 ?

返回提示信息。如:没有找到节目时间表。

clerkClient 读取 session

读取 session 成功 ?

session 为 Active ?

旧 session 有效?

更新 session 和 deviceID,写入 KV

新的 created_at 更大?

device_id 相同 ?

获取限制信息并返回

device_id 相同 ?

结束

刚读取的 session_id 与来访者的相同 ?

返回提示信息。如:MA2 助手已在其他电脑上用同一账号登录使用。如果你希望用本台电脑登录使用,需先退出登录,然后再重新登录即可。

返回信息。如:MA2 助手可能正在被尝试非正常使用。

device_id 相同 ?

session_id 相同 ?

返回提示信息。如:检查网络连接状态后再试。

结束

返回提示信息。如:会话失效,需要重新登录。

  1. 更换电脑。用户已经登录,正常使用工具之后,没有退出登录。当电脑无法使用,更换电脑重新登录并使用工具。此时,device_id 与记录中的肯定不符,但 user_id 相同,那么必须从 clerk 读取最新的 session,如果新的 session 为 Active 状态,且 session_id 与来访者 token 解码出来的相同,那就意味着用户已经更换了电脑。最后,更新记录中的 session 信息,包括新的 device_id。
  2. 更换浏览器,但还是同一台电脑。用户在同一台电脑中更换浏览器,登录账号并使用工具。device_id 相同,user_id 相同,但 session_id 不同。必须从 clerk 读取最新的 session,然后对比 expired_at 和 created_at。最后,如果 读取的 session 为最新的,则更新记录中的 session 信息。
  3. 两台电脑共享一个账号。用户试图在两台电脑上同时登录并使用工具。其中的一台电脑如果不重新登录的话,则无法通过 session_id 的对比。如果退出并重新登录了,则另一台电脑又要面临同样的情况。相当于两台电脑在争抢资源,除非错开时间登录,才能共享一个账号。同一原理,多台电脑也可以错开时间共享一个账号。
  4. 对于节目编排,MA Connector 独立运行。只需要通过 user_id 读取节目时间表即可。
  • 将 token 保存到本地文件中。token 解码出 user_id, 在数据库中查询节目编排记录。
  • 功能必须标记为 schedule.
  • 免费套餐,每个功能都有数量限制。
  • 用户购买的套餐名称、价格、时长、过期时间。
  • 套餐中每个功能没有数量限制。
  • 不限制数量,只限制总存储空间大小。如果用户将数据保存在自己的本地电脑的文件中,则没有大小限制。
  • 初期不允许上传数据,只能保存为本地文件。
  • 等收入稳定之后再增加云存储功能。
  • 使用脚本工具包才能上传保存数据。基础工具包的数据不能上传,除了节目编排功能。
  • R2 存储文件。视音频、图片等媒体文件。
  • D1 数据库。脚本、特效、项目、媒体、时间表、表演时段、执行器、属性、编组
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;
}
interface Limit {
function_name: number;
}
const limits = {
stage: 100,
executor: 100,
timeline: 100,
script: 100,
device_dmx: 100,
}

标题

任务描述

DatabaseStorageStorageServerAPI 90%6%4%What Voldemort doesn't have?NOSEFAMILYFRIENDS Sales Revenuejanfebmaraprmayjunjulaugsepoctnovdec110001050010000950090008500800075007000650060005500500045004000Revenue (in $) mindmapOriginsResearchToolsLong history
PopularisationOn effectivenessand featuresOn Automatic creationPen and paperMermaidBritish popular psychologyauthor Tony BuzanUsesCreative techniquesStrategic planningArgument mapping
1 ~ 4.2LinkedIn2004长虹贯日蒸蒸日上2005Youtube2006TwitterHistory of Social Media Platform

places

contains

uses

CUSTOMER

ORDER

LINE-ITEM

DELIVERY-ADDRESS

Still

Moving

Crash

DB
   
A
A wide one in the middle
C
D
Agricultural 'waste' 124.73Bio-conversion 388.93Liquid 647.59Losses 878.33Solid 447.48Gas 204.1Biofuel imports 35Biomass imports 35Coal imports 11.61Coal 75.57Coal reserves 63.97District heating 79.33Industry 568.93Heating and cooling - commercial 134.16Heating and cooling - homes 372.2Electricity grid 918.61Over generation / exports 104.45H2 conversion 27.14Road transport 194.53Agriculture 11.03Rail transport 12.28Lighting & appliances - commercial 90.01Lighting & appliances - homes 93.49Gas imports 40.72Ngas 122.95Gas reserves 82.23Thermal generation 1391.99Geothermal 7.01H2 20.9Hydro 7International shipping 128.69Domestic aviation 14.46International aviation 206.27National navigation 33.22Marine algae 4.38Nuclear 839.98Oil imports 504.29Oil 611.99Oil reserves 107.7Other waste 134.4Pumped heat 263.7Solar PV 59.9Solar Thermal 19.26Solar 79.16Tidal 9.45UK land based bioenergy 182.01Wave 19.01Wind 289.37 2014-01-052014-01-122014-01-192014-01-262014-02-022014-02-092014-02-16A task Task in Another another task Another task SectionAnotherA Gantt Diagram

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