如何从 moodle API 读取完成标准以在 App 中使用?

How to read completion criteria from moodle API to use in App?

我正在使用 core_course_get_contents 我想知道 activity 限制标准。

我得到这样的可用性

{\"op\":\"&\",\"showc\":[true],\"c\":[{\"type\":\"completion\",\"cm\":10889,\"e\":1}]}

{\"op\":\"&\",\"showc\":[true],\"c\":[{\"type\":\"completion\",\"cm\":9989,\"e\":1}]}

{\"op\":\"&\",\"c\":[{\"type\":\"grade\",\"id\":3410,\"min\":100}

这个怎么读?这是什么意思?

这在其他人中总是不同的参数吗?

可用性参数的常用结构是什么?

你得到的是一个 JSON 字符串,有 key/value 对。该字符串告诉您要满足的可用性条件是什么。

第一对是"op": & 这意味着:布尔运算符是一个 AND。另一个值可能是 OR。

运算符会告诉您可用性条件应如何相互关联:是否全部有效 (AND) 或至少其中之一有效 (OR)。

第二对是"showc": true。 这意味着,我想(不确定):显示可用性条件:true。当然,另一个值可能是 false。

第三对是:"c"(条件): array 据我了解,"c" 键为您提供了可用性条件的详细说明。让我们在这里详细介绍:

"type" 键告诉您要评估的字段类型:在您的第一个和第二个示例中,它是一个课程模块 ID ("cm"),其值分别为10889 和 9989。意思是:"what follows has to do with course module 10889"。

不过我不知道 key/value 对 "e":1 是什么意思。它可能意味着:"this course-module should be completed"。尝试一下:您可以更改某些课程模块的可用性条件,看看会发生什么。

顺便说一句,您可以直接从数据库 table mdl_course_modules(或 your_prefix_course_modules)的字段 availability 中读取此 JSON 对象。

在您的第三个示例中,类型是成绩 ("grade"),成绩的 ID 是“3410”,"min"(我想是最小值)是“100” .

请注意,可能还有其他类型:例如:"type": "date""type": "grouping"。不过,我不知道可用类型的列表。