评论
这是检查访问令牌的机制,它将尝试使用查询参数或请求正文中的 json 数据获取令牌: // Check if the provided credentials are correct
const token = get(req, 'query.token') || get(req, 'body.token');
bypass = bypass || (token && verifyToken(token));
要获得 API 访问权限,您可以在请求正文中使用 您可以在https://github.com/MitchBradley/cncjs-shopfloor-tablet/blob/master/src/controller.js#L18-L35找到访问令牌。 |
如果我为了方便在服务器上添加一个“watchdir:list”命令会有帮助吗? 例如: // List the files in the root of the watch directory
controller.command('watchdir:list', function(files) {
});
// List the files in a specified path of the watch directory
controller.command('watchdir:list', path, function(files) {
});
|
谢谢,我会尝试令牌的事情。关于提议的 watchdir:list 命令,它将如何返回结果?一些新事件? API 方法有一个很好的属性,即请求者和响应处理程序位于同一个 JQuery.get() 调用中。我认为 watchdir:list 公式会导致分离的请求和响应代码,可能不如将它们放在一起那么清晰。 |
哦,对不起,我误会了。我现在看到 controller.command(…) 中的“function(files) { … }”是响应处理程序。 这确实会有帮助,但可能与 API 公式没有太大区别。 |
将令牌添加到请求中解决了问题。
建议的 watchdir:list 命令有一些优点:
|
我创建了一个 cncjs UI 变体,该变体针对平板电脑上的车间使用进行了优化。
https://github.com/MitchBradley/cncjs-shopfloor-tablet
它是一种“超级挂件”(源自 cncjs-pendant-tinyweb),添加了 GCode 加载/显示、更好地控制工作坐标和 MDI。按钮布局减少了操作员错误。我目前正在使用它来控制我的小型生产厂。
问题:为了列出 cncjs 服务器的监视目录文件,我不得不将“api/watch/files”API 移动到“公共访问”部分。肯定有更好的方法,但我对 cncjs 网络应用程序中的授权逻辑了解不够深,无法在更简单的“挂件”环境中复制它。任何建议、指针或代码片段将不胜感激。