TPV是一个数据库管理系统,默认支持 App Inventor 的 Tinywebdb,并以此得名。
一般会有四个下载选项
dist.tar.gz - 自动构建结果(仅包含Tinywebdb插件)dist.zip - 自动构建结果(仅包含Tinywebdb插件)Source code (zip) - 源码Source code (tar.gz) - 源码php, 标准环境, 7.0, git 应用应用->代码管理,创建版本,并选择上传代码包,将 Release 页面下载的 dist.zip 上传上传代码包旁边的编辑代码(编辑界面有时候是弹窗,会被浏览器拦截,请注意放行)config.phphttp://{app-id}.applinzi.com/#/manage/init ,设置后台密码http://{app-id}.applinzi.com)只需要前往应用->代码管理,选择上传代码包,上传 Release 中的 dist.zip 文件即可
dist.zip 或者 dist.tar.gzconfig.php只需要前往网站->站点根目录,像首次部署一样上传并解压 Release 中的 dist 包即可
上线生产环境之前请确保负责提供配置的 config.php 已经被创建并设置
| 常量 | 必须? | 默认值 | 备注 |
|---|---|---|---|
| DEBUG_MODE | 否 | false | 调试模式,如果发生错误会附带错误信息在result |
| ACCESS_CONTROL_ALLOW_ORIGIN | 否 | (未设置则不生效) | 是否允许浏览器跨域/其策略,"*"即为允许所有 |
| MANAGE_LOGIN_TIMEOUT | 否 | 600 | 后台管理会话自动结束时长(秒) |
其他设置:
样例参见 config.sample.php
TPV支持使用插件,目前内置插件有:
如需调整插件启用情况,则需要自行构建TPV
git clone https://github.com/ColinTree/tinywebdb-php-vue.git
cd tinywebdb-php-vue
git submodule update --init
npm i tar-to-zip -g
plugins.json,格式参照源码中的样例 plugins.sample.jsonnpm run build
执行完之后你就可以看到 dist.tar.gz 和 dist.zip 出现在你当前的文件夹中
Api.class.php 中定义的状态码| 状态名 | 分类 | 状态码 | http状态码 | 描述 |
|---|---|---|---|---|
| STATUS_SUCCEED | 全局 | 0 | 200 | API执行成功,具体细节返参见返回值 |
| STATUS_API_NOT_FOUND | 全局 | 1 | 404 | 未能找到请求的API |
| STATUS_API_FAILED | 全局 | 2 | 200 | API在运行过程中出现错误 |
| STATUS_INTERNAL_ERROR | 全局 | 3 | 500 | 服务器内部错误 |
| STATUS_UNAUTHORIZED | 全局 | 4 | 401 | 请求未提供token或者token已失效 |
| STATUS_PLUGIN_API_FAILED | 插件 | 5 | 200 | 插件通用错误码 |
| STATUS_SYSTEM_NOT_CONFIGURED | 全局 | 6 | 200 | 系统尚未初始化(需要配置config.php) |
| STATUS_KEY_NOT_FOUNT | 需要提供标签的地方 | 10 | 200 | 数据库中未能找到请求的标签 |
| STATUS_KEY_RESERVED | 需要提供标签的地方 | 11 | 200 | 请求了管理系统的保留标签 |
| STATUS_UNACCEPTED_LIMIT | 需要返回分页的地方 | 20 | 200 | 分页限制应该在1-100之间 |
| STATUS_KEY_ALREADY_EXIST | 需要添加标签的地方 | 30 | 200 | 标签已存在 |
| STATUS_PASSWORD_TOO_SHORT | 初始化 | 40 | 200 | 密码太短 |
| STATUS_PASSWORD_INVALID | 初始化 | 41 | 200 | 密码过于简单或者包含了不允许的字符 |
| STATUS_SETTING_NOT_RECOGNISED | 更新设置 | 50 | 200 | 服务器不支持指定的设置 |
| STATUS_EXPORT_UNACCEPTED_TYPE | 导出数据 | 60 | 200 | 服务器不支持指定的导出格式 |
| STATUS_EXPORT_XLSX_UNSUPPORTED | 导出数据(仅限xlsx) | 61 | 200 | 服务器未安装xlsx相关的模块 |
请求头 X-TPV-Manage-Token 大部分时候是必须的,是一串用于身份验证的token,只有token验证通过的操作才会被服务器执行
X-TPV-Manage-Token - 必须key - 必需 - 默认为空 - 标签value - 必需 - 默认为空 - 值X-TPV-Manage-Token - 必须prefix - 非必须 - 默认为空X-TPV-Manage-Token - 必须key - 必需 - 默认为空 - 标签X-TPV-Manage-Token - 必须X-TPV-Manage-Token - 必须X-TPV-Manage-Token - 必须token - 必需 - 功能同X-TPV-Manage-Token,旨在方便通过链接直接下载type - 必需 - 支持json, xml, csv, xlsx,具体导出格式自行尝试prefix - 非必需 - 默认为空 - 标签前缀include_reserved - 非必需 - 默认为false - 是否导出保留标签X-TPV-Manage-Token - 必须key - 必需 - 默认为空 - 标签X-TPV-Manage-Token - 必须key - 必需 - 默认为空 - 标签file - 必需 - FormData格式文件pwd - 必须 - 只接受POST - 密码pwd - 必须 - 只接受POST - 密码X-TPV-Manage-Token - 非必须X-TPV-Manage-Token - 必须keys - 必需 - 默认为空列表 - 标签列表,使用JSON样式传递(如 ["key1", "key2"])[ true(第一个值删除成功), false(第二个值删除失败) ] ]X-TPV-Manage-Token - 必须page - 非必需 - 默认为1 - 要获取的页数perPage - 非必需 - 默认为100 - 每页最大数量prefix - 非必需 - 默认为空 - 标签前缀{ ["key":"key1","value":"valueOfKey1"], ["key":"key2","value":"valueOfKey2"] } ] ]X-TPV-Manage-Token - 非必须X-TPV-Manage-Token - 必须key - 必需 - 默认为空 - 标签value - 必需 - 默认为空 - 值X-TPV-Manage-Token - 必须{ "all_category": "#student_#teacher_" } ]X-TPV-Manage-Token - 必须key - 必需 - 默认为空 - 标签value - 必需 - 默认为空 - 值| 设置Id | 设置名 | 接受的值 |
|---|---|---|
| all_category | 标签浏览页·分类列表 | 使用井号#分隔的文本 |