FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 常见报错提醒

代码端的报错提醒名称,更好的可以定位找到问题原因

错误原因 页面报错码 项目报错代码 标题显示
INVALID_PARAMETER 400 4000 Invalid parameter
PLUGIN_NOT_INSTALLED 400 4001 Plugin not installed
PLUGIN_ID_NOT_GIVEN 400 4002 Missing plugin id
DATASOURCE_NOT_GIVEN 400 4003 Missing datasource
PAGE_ID_NOT_GIVEN 400 4004 Missing page id
DUPLICATE_KEY_USER_ERROR 400 4005 Name already used
PAGE_DOESNT_BELONG_TO_USER_WORKSPACE 400 4006 Page doesn''t belong to this workspace
UNSUPPORTED_OPERATION 400 4007 Unsupported operation
DEPRECATED_API 400 4008 Deprecated API
USER_DOESNT_BELONG_ANY_WORKSPACE 400 4009 User doesn''t belong to any workspace
USER_DOESNT_BELONG_TO_WORKSPACE 400 4010 User doesn''t belong to this workspace
NO_CONFIGURATION_FOUND_IN_DATASOURCE 400 4011 Datasource configuration is invalid
INVALID_ACTION_COLLECTION 400 4038 Collection configuration is invalid
INVALID_ACTION 400 4012 Action configuration is invalid
INVALID_DATASOURCE 400 4013 Datasource configuration is invalid
INVALID_DATASOURCE_CONFIGURATION 400 4015 Datasource configuration is invalid
INVALID_ACTION_NAME 400 4014 Invalid action name
NO_CONFIGURATION_FOUND_IN_ACTION 400 4016 No configurations found in this action
NAME_CLASH_NOT_ALLOWED_IN_REFACTOR 400 4017 Name already taken
PAGE_DOESNT_BELONG_TO_APPLICATION 400 4018 Page doesn''t belong to this application
INVALID_DYNAMIC_BINDING_REFERENCE 400 4022 Invalid dynamic binding reference
USER_ALREADY_EXISTS_IN_WORKSPACE 400 4021 User already exists in this workspace
UNAUTHORIZED_DOMAIN 401 4019 Invalid or unauthorized email domain
USER_NOT_SIGNED_IN 401 4020 User not signed in
INVALID_PASSWORD_RESET 400 4020 Invalid password reset request
INVALID_PASSWORD_LENGTH 400 4037 Invalid password length
JSON_PROCESSING_ERROR 400 4022 Json processing error
INVALID_CREDENTIALS 200 4023 Invalid credentials
UNAUTHORIZED_ACCESS 403 4025 Unauthorized access
DUPLICATE_KEY 409 4024 Duplicate key
USER_ALREADY_EXISTS_SIGNUP 409 4025 Account already exists with this email
ACTION_IS_NOT_AUTHORIZED 403 4026 Permission denied
NO_RESOURCE_FOUND 404 4027 No resource found
USER_NOT_FOUND 404 4027 No user found
ACL_NO_RESOURCE_FOUND 404 4028 No resource found or permission denied
GENERIC_BAD_REQUEST 400 4028 Invalid request
VALIDATION_FAILURE 400 4028 Validation failed
INVALID_CURL_COMMAND 400 4029 Invalid cURL command
INVALID_LOGIN_METHOD 401 4030 Invalid login method
INVALID_GIT_CONFIGURATION 400 4031 Invalid Git configuration
INVALID_GIT_SSH_CONFIGURATION 400 4032 SSH key not configured
INVALID_GIT_REPO 400 4033 Invalid Git repository
DEFAULT_RESOURCES_UNAVAILABLE 400 4034 Default resources not found
GIT_MERGE_FAILED_REMOTE_CHANGES 406 4036 Git merge failed for remote changes
GIT_MERGE_FAILED_LOCAL_CHANGES 406 4037 Git merge failed for local changes
REMOVE_LAST_WORKSPACE_ADMIN_ERROR 400 4038 Last admin cannot be removed
INVALID_CRUD_PAGE_REQUEST 400 4039 Invalid page generation request
UNSUPPORTED_OPERATION_FOR_REMOTE_BRANCH 400 4040 Unsupported Operation
ROLES_FROM_SAME_WORKSPACE 400 4041 Roles already exist
INTERNAL_SERVER_ERROR 500 5000 Internal server error
REPOSITORY_SAVE_FAILED 500 5001 Failed to save
PLUGIN_INSTALLATION_FAILED_DOWNLOAD_ERROR 500 5002 Plugin installation failed
PLUGIN_RUN_FAILED 500 5003 Plugin execution failed
PLUGIN_EXECUTION_TIMEOUT 504 5040 Timeout in plugin execution
PLUGIN_LOAD_FORM_JSON_FAIL 500 5004 Unable to load datasource form configuration
PLUGIN_LOAD_TEMPLATES_FAIL 500 5005 Unable to load datasource templates
IO_ERROR 503 5003 I/O error
MARKETPLACE_TIMEOUT 504 5041 Datasource cannot be deleted
WORKSPACE_ID_NOT_GIVEN 400 4031 Missing workspace id
INVALID_CURL_METHOD 400 4032 Invalid method in cURL command
OAUTH_NOT_AVAILABLE 500 5006 Unsupported login method
MARKETPLACE_NOT_CONFIGURED 500 5007 Marketplace not configured
PAYLOAD_TOO_LARGE 413 4028 Payload exceeds max allowed size
SIGNUP_DISABLED 403 4033 Signup disabled
FAIL_UPDATE_USER_IN_SESSION 500 5008 Unable to update user in session
APPLICATION_FORKING_NOT_ALLOWED 403 4034 Forking application not permitted
GOOGLE_RECAPTCHA_TIMEOUT 504 5042 Timeout in Google recaptcha verification
GOOGLE_RECAPTCHA_FAILED 401 4035 Google recaptcha verification failed
UNKNOWN_ACTION_RESULT_DATA_TYPE 500 5009 Unexpected data type
INVALID_CURL_HEADER 400 4036 Invalid header in cURL command
AUTHENTICATION_FAILURE 500 5010 Authentication
INSTANCE_REGISTRATION_FAILURE 500 5011 Registration failed for this instance
TOO_MANY_REQUESTS 429 4039 Too many requests
INVALID_JS_ACTION 400 4040 Invalid action in JS object
CYCLICAL_DEPENDENCY_ERROR 400 4041 Cyclical Dependency in Page Load Actions
CLOUD_SERVICES_ERROR 500 5012 Error in cloud services
GIT_APPLICATION_LIMIT_ERROR 402 4043 Maximum number of Git repo connection limit reached
GIT_ACTION_FAILED 400 4044 Git failed
GIT_FILE_SYSTEM_ERROR 503 5013 Git file system error
GIT_EXECUTION_TIMEOUT 504 5014 Timeout in Git command execution
INCOMPATIBLE_IMPORTED_JSON 400 4045 Incompatible Json file
GIT_MERGE_CONFLICTS 400 4046 Merge conflicts found
GIT_PULL_CONFLICTS 400 4047 Merge conflicts found during the pull operation
SSH_KEY_GENERATION_ERROR 500 5015 Failed to generate SSH keys
GIT_GENERIC_ERROR 504 5016 Git command execution error
GIT_UPSTREAM_CHANGES 400 4048 Git push failed for pending upstream changes
GENERIC_JSON_IMPORT_ERROR 400 4049 Unable to import application in workspace
FILE_PART_DATA_BUFFER_ERROR 500 5017 Failed to upload file
MIGRATION_ERROR 500 5018 Action already migrated
INVALID_GIT_SSH_URL 400 4050 Invalid SSH URL
REPOSITORY_NOT_FOUND 404 4051 Repository not found
UNKNOWN_PLUGIN_REFERENCE 400 4052 Unknown
ENV_FILE_NOT_FOUND 500 5019 Environment file not found
PUBLIC_APP_NO_PERMISSION_GROUP 500 5020 Required permission missing for public access
RTS_SERVER_ERROR 500 5021 RTS server error

# REST API 错误

1、缺少URL

DEFAULT_REST_DATASOURCE is not correctly configured. Please fix the following and then re-run: \n[Missing URL.]

此消息表示API 编辑器表单中的 REST API 的 URL 字段已留空。 可以通过编辑REST API 表单并提供 URL来修复此错误。

2、缺少客户端密码/客户端 ID/访问令牌

DEFAULT_REST_DATASOURCE is not correctly configured. Please fix the following and then re-run: \n[Missing Client Secret, Missing Client ID, Missing Access Token URL]

此消息表示提到的参数字段 - //Client Secret已留空。这些字段嵌套在子部分中,如果该字段已被选为OAuth 2.0 ,则子部分将变得可见Client IDAccess Token URLAuthenticationAuthentication Type

3、需要密钥

Secret key is required when sending session details is switched on, and should be at least 32 characters in length.

此消息表示该Send Appsmith signature header字段已被标记为Yes但该Session Details Signature Key字段留空。

可以通过填写该字段或通过选择Session Details Signature Key禁用该字段来解决此错误。Send Appsmith signature headerNo

# JS错误

使用JS 对象或编写JS 函数时可能会遇到错误。它们可能是由代码中的语法错误、数据类型不匹配或尝试访问不存在的属性或函数引起的。

# 1、数据类型评估

当小部件属性中的值与属性所需的数据类型不匹配时,会发生此错误。

错误信息1:

example

This value does not evaluate to type Array[Object]

导致的原因:

例如在使用Lists时,您可能会遇到此错误,因为数据属性需要一个可能与API响应的数据类型不匹配的对象数组。

解决方案:

解决方案是在响应对象中绑定数组或使用 JavaScript 转换响应对象。下面以 fetch users API的响应为例。将其直接绑定到表会导致错误。

{
 "next": "https://mock-api.appsmith.com/users?page=2&pageSize=10",
 "previous": null,
 "users": [
   {
     "id": 1,
     "name": "Barty Crouch",
     "status": "APPROVED",
     "avatar": "https://robohash.org/sednecessitatibuset.png?size=100x100&set=set1",
     "email": "barty.crouch@gmail.com",
   },
   {
     "id": 2,
     "name": "Jenelle Kibbys",
     "status": "APPROVED",
     "avatar": "https://robohash.org/quiaasperiorespariatur.bmp?size=100x100&set=set1",
     "email": "jkibby1@hp.com",
   }
 ]
}

为了克服这个问题,您可以使用 JavaScript 绑定用户的响应数组而不是整个响应对象:

{{ fetch_users.data.users }}

错误信息2:

example

This value does not evaluate to type Array[{label: string, value: string}]

导致的原因:

在向单选或多选下拉列表添加选项时,您可能会遇到数据不匹配错误。在这种情况下,请确保options属性是包含标签和值作为字符串的对象数组。

解决方案:

如果响应不包含如下所示的标签和值键,您可以映射响应以使用 JavaScript 对其进行转换。

// invalid response of fetchColors API
[
 'Blue',
 'Green',
 'Red'
]
// Transform Response
{{
   fetchColors.data.map((color) =>{
       return {
           label: color,
           value: color
       }
   })
}}

错误信息3:

example

Value does not match ISO 8601 standard date string

导致的原因:

日期选择器需要标准ISO 格式的默认日期。如果您提供的日期与此不匹配,您将看到此错误。

解决方案:

要解决此问题,您可以使用 moment.js 转换日期字符串。

// Moment can be used to set the default date to the current date
{{moment()}}
// Moment can parse your date format
{{ moment("2021-07-26", "YYYY-MM-DD") }}

错误信息4:

example

This value does not evaluate to type `boolean

导致的原因:

此错误通常发生在isVisible和isDisabled属性中,表示属性中的值与类型不匹配boolean。

解决方案:

您可以使用比较运算符解决此问题。

{{ Dropdown1.selectedOptionValue === "RED" }}

错误信息5:

example

This value does not evaluate to type string

导致的原因:

使用小部件时,您可能会遇到错误,其中数据属性需要一个与查询响应的数据类型不匹配的字符串值。

解决方案:

该问题的解决方案是将 API 响应的数据类型转换为字符串。这可以使用 JavaScript 方法来完成。此外,确保传递给小部件的数据格式正确。例如:

To get text,
{{Text1.text}}

To get image,
{{Image1.image}}

如果前面的方法不起作用,您还可以检查 EVALUATED VALUE 部分以确保它返回的是字符串值而不是对象或其他数据类型。

错误信息6:

example

This value must be number

导致的原因:

您可能会遇到一个错误,其中数据属性需要一个与 API 响应的数据类型不匹配的数值。

解决方案:

确保传递给小部件的数据属性的数据与预期的数据类型相匹配很重要。此问题的一种解决方案是使用 JavaScript 将 API 响应转换为正确的数据类型,或者从 API 响应访问正确的数据类型。

您还可以检查 EVALUATED VALUE 部分以确保它返回的是数值而不是对象或其他数据类型。

# 2、语法错误

当 handlebars 中存在无效的 JavaScript 时,会发生此错误。在这种情况下,字段的评估值显示为未定义。验证代码中大括号的数量,并考虑将JS 重写为多行代码。 在下面的示例中,应用程序中的任何地方都没有定义 test

# 3、死循环错误

当函数或代码块无限重复时会发生无限循环错误,导致应用程序或函数变得无响应,甚至会阻止用户访问应用程序的某些功能。

导致的原因:

问题可能是由于页面加载函数卡在了循环中。如果您添加了使用该navigateTo函数并在 上执行的代码,就会发生这种情况onPageLoad,这可能会导致页面无法访问或导致应用程序陷入循环并不断路由到目标页面。

解决方案:

要解决此问题,您可以在 Pageplug 中使用调试器语句来停止代码的执行并确定无限循环的来源。以下是执行此操作的步骤:

  • 在 Pageplug 中打开应用程序并转到发生死循环的页面。

  • 找到导致无限循环的函数或代码块。

  • 在暂停代码执行并允许您检查其状态的函数或代码块的开头插入调试器语句。有关详细信+ 息,请参阅调试语句及其使用方法。

  • 使用浏览器的调试器控制台单步执行代码并确定无限循环的原因。

  • 确定问题后,对代码进行必要的更改以修复它。

  • 保存更改并再次测试应用程序以确保无限循环问题已得到解决。

© FinClip with ❤ , Since 2017