跳到主要内容

常见问题

云应用和开放 API 有什么区别?​

开放 API 是让外部程序读写信多帮业务数据的接口;云应用是把一个完整页面或小系统发布到信多帮托管环境。云应用后端可以通过 SDK 继续调用开放 API。

使用云应用必须懂 Node.js 或 Python 吗?​

不要求使用者自行选择技术栈。可以把官方说明交给本地 AI,让它根据当前项目生成配置。平台目前只运行静态项目、Node.js 和 Python 后端。

AI 提示当前目录为空时怎么办?​

创建云应用后,可以点击“进入云开发”直接描述需求,无需准备本地目录,见云开发使用指南。

如果选择本地 WorkBuddy/CLI,创建云应用只准备托管空间,不会自动生成业务应用。此时不需要选择静态、Node.js 或 Python:如果已经有代码,请让 AI 打开或切换到真实项目根目录;如果还没有代码,请先描述要解决的业务问题、使用者、核心流程和页面,让 AI 在受支持范围内选择实现并创建项目,再进行关联和发布。

为什么建议先发 Preview?​

Preview 是这次版本的独立测试地址。先验收再 Promote,可以避免未确认的页面和逻辑直接替换 Production。

AI 说部署成功,为什么团队还打不开?​

默认 xdbapp deploy 发布的是测试版。请先打开测试链接试用,确认后让 AI“将这个已试用版本正式上线”。正式上线后可从云应用卡片“打开应用”进入;需要左侧菜单入口时,由商家管理员再点击“添加到左侧菜单”。详见后台管理与使用。

可以直接对 AI 说“推送吧”吗?​

以下是本地 WorkBuddy/CLI 的约定;浏览器云开发会结合当前版本判断发布目标,见对话发布。

可以让本地 AI 按最新官方约定理解:当前项目已关联信多帮时,目标未说明的“推送吧”默认发布测试版;明确说推送 Git 则按 Git 处理。正式上线仍须明确确认已试用的版本,详见开发完成后,怎么让 AI 发布。

发布到信多帮会自动提交 Git 吗?​

本地 xdbapp deploy 上传当前项目的源码包,不会替你提交或推送 Git。需要 Git 备份时,让 AI 或开发者在自己的项目仓库单独提交并推送;发布历史与 Git 提交是两份不同记录。

open --preview 会把历史版本重新上线吗?​

不会。open 只打开仍然可用的地址,不改变任何托管状态。需要重新试用历史版本时执行 xdbapp preview <deployment-id> --yes;需要恢复正式版时才使用 rollback。

一台电脑能开发多个商家的应用吗?​

可以。用 xdbapp accounts 查看已保存账号,用 xdbapp use <账号ID或商家名称> 切换。每个项目绑定自己的商家账号和应用,全局切换不会把其他项目改绑。账号授权失效或新应用不在授权范围时,重新登录对应商家即可。

本地效果能通过商家登录给其他人试用吗?​

本地后端经 xdbapp dev 取得的是当前 CLI 授权用户的开发身份;本地地址只在开发电脑运行。需要别人通过商家账号试用时,发布 Preview 并发送测试地址,由平台处理登录和权限,不把本地开发身份当作客户登录。

为什么没有“进入云开发”按钮?​

云开发已正式向商家开放。请先进入商家后台的“云应用”页面,找到要开发的应用;“进入云开发”显示在对应应用的操作区。

如果仍未显示,请联系商家管理员检查云开发是否已开通、当前员工是否具有开发权限。操作步骤见在后台使用云开发。本地 WorkBuddy/CLI 的开发和发布方式仍可继续使用。

回滚会恢复数据库吗?​

不会。代码版本和数据库数据是两类状态。数据库变更应使用向前兼容的 migration,并单独准备数据修复方案。

本地做好的 SQL 怎么上线到 Production?​

不要上传整库,也不要索要 Production 数据库密码。把建表、字段和索引变更整理成有版本号的 migration 文件,随代码提交,并在 xdb-paas-deploy.yaml 配置 database.migrate_command。xdbapp deploy 自动在 Preview 验证,随后 xdbapp promote <deployment-id> --yes 在切流前对 Production 执行同一批 migration。完整的 Node.js、Python 和原生 SQL 目录示例见数据库与本地代理。

删除应用后还能恢复吗?​

普通删除可以。应用进入 30 天保留期并立即释放名额;恢复时需要仍有可用名额。若管理员选择“立即彻底删除”且已开始清理,则不能恢复。运行实例、开放平台凭据、数据库和文件在各阶段的具体处理见应用生命周期与数据清理。

应用到期后数据会立即删除吗?​

不会。到期会停止 Runtime 和对外访问,但保留版本、数据库和文件;完成续期后,平台会按现有 Preview/Production 指针恢复运行。详见应用生命周期与数据清理。

可以把数据库密码写入 .env 再发布吗?​

不可以。平台数据库直接注入 DATABASE_URL;其他密钥使用 xdbapp env 保存。.env 默认不会上传。

为什么上传的文件不能保存在项目目录?​

应用目录属于某个发布版本,升级或重启时可能被替换。SDK Storage 提供持久存储、短期访问地址、用量统计以及 App/环境隔离。

私有应用直接访问域名会怎样?​

未登录时会跳转到当前 App 绑定的信多帮后台完成登录,再回到原地址。应用不需要另做一套账号密码。

私有应用默认允许当前商家的全体在职员工访问。商家管理员可在“云应用 → 管理设置”中按员工角色缩小范围;管理员始终可以访问。员工被禁用、删除、失去原角色或不在允许范围内后,直接输入应用网址也无法绕过 Gateway 校验。

能否从商家后台配置第三方密钥?​

可以。商家管理员可在应用的“管理设置 → 运行环境变量”中分别保存 Preview 和 Production 变量,值加密且保存后不回显。开发者也可以用 xdbapp env 管理同一份配置。不要把密钥硬编码到源码、浏览器资源或 .env 后再上传。

支持定时任务、SSE 或 WebSocket 吗?​

Node.js/Python 应用支持。定时任务配置在 xdb-paas-deploy.yaml 的 jobs 中,只在当前 Production 版本运行;SSE 与 WebSocket 通过 App Gateway 流式转发,并沿用应用登录和角色权限。具体字段见项目与部署约定。

CLI 提示未登录或无权访问 App 怎么办?​

先运行:

xdbapp whoami
xdbapp doctor

确认使用的是当前商家后台地址、当前账号未被禁用,并且账号是商家管理员或已被勾选“开发者”角色。必要时重新执行 xdbapp login。

如何查看构建失败原因?​

xdbapp inspect <deployment-id>
xdbapp logs --deployment <deployment-id> --type build

如果仍无法判断,把 xdbapp doctor --json 和已脱敏的构建日志提供给信多帮技术支持;不要发送任何 Token、密码或 .env 内容。