腾讯云微搭低代码

外部系统对接相关

数据能否被外部网站访问?

支持,详情请参见 数据模型

微搭是否支持调用外部接口?

可以使用 外部数据源 来实现,目前支持 HTTP 请求和云函数(自定义代码)两种方式,详情请参见 数据源自定义方法

自建数据源支持被外部服务调用吗?

目前自建数据源暂时没有直接的 OPEN API 提供给外部服务调用。但是自建数据源数据存储在云开发的数据库中,开发者可以参考以下步骤,通过读取数据库的方式来获取数据:

  1. 云开发控制台 根据 环境 ID 找到微搭对应云开发环境;
  2. 基础服务 > 数据库 中找到对应的数据库名;
  3. 通过以下方式调用数据库 API:

数据源字段相关

数据源字段能设置排序吗?

暂不支持。

数据源建好后如何建立数据表?

内部数据源会自动生成数据表,且数据源对应数据表,数据源字段就是数据表里面的表头。

数据源与应用关联相关

一个应用是可以关联 N 个数据源的关联关系吗?(一个应用可以同时绑定多个数据源吗?)

一个应用可以关联 N 个数据源。

想把数据源的四条数据,两两展示在两个页面,怎么操作呢?

两个页面都创建模型变量,都绑定这个数据源,然后使用数据源的 getList 方法进行实现。

数据源方法相关

调用数据源方法报错,提示调用方法失败,内部错误,操作失败?

查看所提交的数据是否有问题。配置字段和类型需要选择正确。

如何将日期或时间格式化展示?

目前官方自定义应用中使用变量绑定模型应用都会自动将时间格式化。详情请参见 数据源自定义方法

数据源默认的查询单条和更新方法的入参是不能更改的吗?

每个数据源会有六个默认方法,这些方法不能修改,但可以基于默认方法,新建自定义方法来做修改和引用。

数据源进行重新请求,怎么实现?

在低码编辑器中调用 app.cloud.callDatasource 即可(相当于更新数据源的变量)。

自定义数据源不能用,那自定义方法就必须使用自定义 API 吗?

当自定义数据源不能用时,自定义方法必须使用自定义 API 。

如何从数据源获取数据放到组件中展示?

详情请参见 组件与事件绑定

数据源管理相关

管理数据源提示当前页面无具备编辑权限的任何字段?

解决方案是先单独升级该用户工作台版本。

自定义数据源变更可以触发工作流引擎吗?

不可以,工作流引擎目前只能通过数据模型应用内的新建功能触发。

数据源建好的数据后续怎么批量导入数据?

如果是第一次导入,可以基于 Excel 创建,导入数据。也可以用 Excel 直接生成模型应用,直接把数据同步导入。

自建数据源后,在数据管理后台看不到新建的数据源,数据源无法导入?

目前数据源创建好之后,需要被低码应用使用,应用需预览或发布后,才能在数据管理后台中看到相应的应用,单击应用名称操作列中的管理数据即可看到对应的数据源。

如何在应用上预览到后台真实的数据?

编辑器预览区看到的是静态数据或动态数据(数据源)的假数据。真实数据需要预览发布应用,数据源管理后台里再前往数据管理后台配置内容,就可以在应用上实时动态看到:

在数据管理平台导出数据时,身份证号都会变成科学计数法?

Excel 中默认对长数字或者一些特殊数据例如手机号/身份证号等,会自动变成科学计数法显示,可以设置下单元格格式,改成文本或者数值来显示,
详情请参见 Excel 中的科学计数法

数据管理平台如何实现导入功能?

数据管理平台暂时不提供导入功能,可通过云开发的云数据库的导入导出来实现:

云开发控制台 > 数据库 可以找到数据源对应的数据库集合,带有 preview 的为体验数据,不带 preview 的为正式数据。然后使用数据库集合的导入导出实现数据导入导出功能。

微搭平台云函数怎么使用?

详情请参见 自定义代码(云函数)

为什么访问企业工作台或数据管理后台报404错误?

一般是因为删除了自己静态托管里的 index.html 文件导致的。下面介绍解决步骤:

  1. 复制以下代码,并另存为 index.html 文件。
    注意:

    将代码 window.WedaPortalConfig = {envId: 'YOUR_ENV_ID'} 中的 YOUR_ENV_ID 参数替换成您对应的真实环境 ID。

    <!DOCTYPE html>
    <html lang="en" translate="no">

    <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="keywords" content="weda,微搭,admin" />
    <meta name="description" content="微搭" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
    <link rel="icon" href="https://cloudcache.tencentcs.com/qcloud/app/resource/ac/favicon.ico" type="image/x-icon" />
    <style>
    html,
    body,
    #root {
    background: #e3e6eb;
    }

    #loading,
    .page-loading {
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: 0;
    right: 0;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    cursor: pointer;
    font-size: 14px;
    }

    .dot {
    position: relative;
    display: inline-block;
    font-size: 32px;
    width: 1em;
    height: 1em;
    transform: rotateZ(45deg);
    transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
    animation: Rotate45 1.2s infinite linear;
    }

    .dot>i {
    height: 14px;
    width: 14px;
    background-color: #0052d9;
    display: block;
    position: absolute;
    border-radius: 100%;
    transform: scale(0.75);
    transform-origin: 50% 50%;
    opacity: 0.3;
    animation: myAnimationMove 1s infinite linear alternate;
    }

    .dot:nth-child(1) {
    top: 0;
    left: 0;
    }

    .dot :nth-child(2) {
    top: 0;
    right: 0;
    animation-delay: 0.4s;
    }

    .dot :nth-child(3) {
    bottom: 0;
    right: 0;
    animation-delay: 0.8s;
    }

    .dot :nth-child(4) {
    left: 0;
    bottom: 0;
    animation-delay: 1.2s;
    }

    @keyframes Rotate45 {
    to {
    transform: rotate(405deg);
    }
    }

    @keyframes myAnimationMove {
    to {
    opacity: 1;
    }
    }
    </style>
    <script>
    window.routerBase = "/";
    </script>
    <script>
    //! umi version: 3.5.20
    </script>
    </head>

    <body>
    <div id="root"></div>
    <div class="page-loading" id="loading">
    <div class="dot">
    <i></i>
    <i></i>
    <i></i>
    <i></i>
    </div>
    </div>

    <script>
    window.WedaPortalConfig = {
    envId: 'YOUR_ENV_ID',
    }
    </script>
    <script src="https://weda-adminportal-prod-4a2666d9f3-1258344699.tcloudbaseapp.com/rainbowConfig.js"></script>
    <script src="https://cdn-go.cn/aegis/aegis-sdk/latest/aegis.min.js"></script>
    </body>

    </html>
  2. 进入 静态网站托管 页面,选到正确环境并检查有无 adminportal 目录。将修改过的 index.html 上传到 adminportal 目录下即可。

如何区分发布版本数据库和预览数据库?数据库发布与否对前端调用有什么实质性影响?

不带 preview 的是发布版本数据库,不修改字段不会产生影响。

自定义 API

请问自定义 API 可以删除吗?

可以。进入微搭控制台 > 数据源 > *自定义 API * 页面,在对应自定义 API 操作列中单击删除

数据源可以自定义方法吗?

数据模型不支持新增自定义方法,可以使用自定义 API 。

自定义 API ,暂无关联应用,怎么关联应用呢?

在其他应用调用后就能自动进行关联。

如何利用 Python 云函数调用微搭的自定义 API ?

两种方式:

  • 直接操作云开发数据库。
  • OPENAPI。

在自定义 API 中,获得小程序用户的 openid 时,params 和 context 需要更换为什么?

openId 只有从微信小程序访问才有。使用微搭的方式写自定义代码可参见 云函数
可以通过 context.env 访问到环境变量 添加自定义方法
, 那 context.env.uid 会有一个标志用户的 Id,如果是来自小程序,通过 context.env.currentOpenId 可以拿到小程序用户 openId。

使用微搭时,自定义 API 是不是必须指定所属应用?

自定义 API 并不需要指定所属应用,当需要时在应用里引用即可。

目录