mirror of
https://gitee.com/tawords/tawords-docs
synced 2025-09-01 23:43:27 +08:00
BTaDC Document
This commit is contained in:
0
docs/manual/2. 使用说明/.keep
Normal file
0
docs/manual/2. 使用说明/.keep
Normal file
63
docs/manual/2. 使用说明/开始使用(撰写中).md
Normal file
63
docs/manual/2. 使用说明/开始使用(撰写中).md
Normal file
@@ -0,0 +1,63 @@
|
||||
# 开始使用
|
||||
|
||||
## 访问网站
|
||||
|
||||
使用浏览器打开 `https://reciteword.com/`
|
||||
|
||||
|
||||
## 功能介绍
|
||||
|
||||
> 电脑端点击左侧菜单可以切换功能,平板或手机端可以点击左上角『三』按钮展开菜单,然后便可点击相关栏目切换功能。
|
||||
|
||||
### 无需登录即可使用的功能
|
||||
|
||||
#### 首页
|
||||
|
||||
在首页,如果您还没有进行过登录操作,您可以看到一个随机显示出来的单词,这个单词来自于随机的一个词书,包含音标和中文释义等。
|
||||
|
||||
如果您登录过账号,您还可以看到您对该单词的记忆历史。首页也会优先推送您希望背诵的词书,您记忆历史中掌握相对薄弱的单词,或者该词书中相对重要,常用常考的单词。
|
||||
|
||||
注意:如果您是新注册的账号,或者您重置过单词的记忆历史,在记忆历史较少的情况下,首页仍然会显示随机单词。您可以多进行单词学习,以使得单词推荐更具有针对性。
|
||||
|
||||
|
||||
### 用户账号相关功能
|
||||
|
||||
#### 注册
|
||||
|
||||
点击右上角『登录』按钮,或者选择左侧『登录/注册』按钮,然后选择『注册』选项卡,按照页面指引填写相关个人信息,即可完成用户注册。
|
||||
|
||||
注意:用户注册需要在无用户登录的情况下进行,如果您已经进行过登录操作,则需要先进行『退出登录』操作,然后再按照上述步骤进行操作。
|
||||
|
||||
|
||||
#### 登录
|
||||
|
||||
点击右上角『登录』按钮,或者选择左侧『登录/注册』按钮,然后选择『登录』选项卡,按照页面指引填写您的用户名,密码,有时可能还需要填写验证码,点击登录按钮。
|
||||
|
||||
#### 退出登录
|
||||
|
||||
在登录状态下,点击页面右上角用户名,然后点击『退出登录』,稍等1秒即可退出登录,页面会自动刷新,完成退出登录操作。如果退出登录失败,您可以刷新网页后再次尝试。
|
||||
|
||||
#### 修改密码
|
||||
|
||||
|
||||
#### 重置密码
|
||||
|
||||
|
||||
#### 账号注销
|
||||
|
||||
【该功能程序员正在加紧开发啦,请过段时间再来关注吧~】
|
||||
|
||||
#### 用户中心
|
||||
|
||||
在登陆状态下,您可以点击菜单栏中『用户中心』按钮打开用户中心。
|
||||
|
||||
在用户中心中,您可以查看您的个人信息(为了保护您的账户安全,您的密码在设置后将永远不会明文显示在网页任何地方,如果您忘记了自己的密码,可以通过忘记密码的功能,对自己的账号密码进行重置)
|
||||
|
||||
|
||||
### 登录后可使用的功能
|
||||
|
||||
> 以下功能需要先进行用户登录才可使用
|
||||
|
||||
#### 选择词书
|
||||
|
||||
在您注册用户后,或者
|
0
docs/manual/start/.keep
Normal file
0
docs/manual/start/.keep
Normal file
191
docs/manual/start/8. 目录结构.md
Normal file
191
docs/manual/start/8. 目录结构.md
Normal file
@@ -0,0 +1,191 @@
|
||||
## 文字版
|
||||
|
||||
> 最后修改日期:2021年3月23日
|
||||
> 备注:文字版比图片版更详细
|
||||
|
||||
```html
|
||||
├ about
|
||||
│ ├ credits // 使用开源框架的开源协议
|
||||
│ │ ├ css // CSS样式文件
|
||||
│ │ │ ├ text_defaults.css //
|
||||
│ │ ├ js // JavaScript文件
|
||||
│ │ │ ├ cr.js //
|
||||
│ │ │ ├ credits.js //
|
||||
│ │ ├ index.htm //
|
||||
│ ├ feedback // 用户反馈
|
||||
|
||||
├ admin
|
||||
│ ├ login.php // 登录
|
||||
│ ├ index.php // 管理员后台的主路由
|
||||
│ ├ install.php // 网站安装脚本,安装之后会自动删除
|
||||
│ ├ update.php // 网站升级脚本
|
||||
|
||||
├ api
|
||||
│ ├ v1 // 接口(第1版)
|
||||
│ │ ├ captcha // 验证码
|
||||
│ │ ├ upload // 用户上传文件
|
||||
│ │ │ ├ avatar // 用户头像
|
||||
│ │ │ ├ wordbook // 词书
|
||||
│ │ ├ users // 用户账户
|
||||
│ │ │ │ ├ get-status.php // 获取用户是否登录
|
||||
│ │ │ │ ├ login.php // 用户登录
|
||||
│ │ │ │ ├ logout.php // 用户注销
|
||||
│ │ │ │ ├ regist.php // 用户注册
|
||||
│ │ │ ├ words // 单词
|
||||
│ │ │ │ ├ get-random-words.php // 随机单词
|
||||
|
||||
├ file // 和用户有关的数据
|
||||
│ ├ avatar // 用户头像
|
||||
│ │ ├ crop // 头像
|
||||
│ │ ├ original // 头像裁切前原图
|
||||
│ │ ├ thumbnail // 头像缩略图
|
||||
│ ├ upload // 用户上传的文件(按照`年-月`分文件夹存放)
|
||||
│ ├ wordbook // 用户上传的词书
|
||||
|
||||
├ resources //
|
||||
│ ├ prompt //
|
||||
│ │ ├ check_javascript // 检查浏览器是否支持JavaScript
|
||||
│ │ │ ├ check.php //
|
||||
│ │ │ ├ noscript.html //
|
||||
│ │ ├ 404.php // 404页面
|
||||
│ ├ template // 前端页面模板
|
||||
│ │ ├ ...... //
|
||||
│ ├ views //
|
||||
│ │ ├ avatar-upload // 头像上传前端页面
|
||||
|
||||
├ static // 静态文件
|
||||
│ ├ css // 前端CSS样式
|
||||
│ │ ├ universe.css // 全局CSS样式
|
||||
│ ├ image // 前端公用静态图片素材
|
||||
│ │ ├ ......
|
||||
│ ├ js // JavaScript脚本
|
||||
│ │ ├ app.js //
|
||||
│ │ ├ ...... //
|
||||
│ ├ vendor // 前端使用的第三方库
|
||||
│ │ ├ jquery //
|
||||
│ │ │ ├ jquery-3.5.1.min.js // jQuery 3.5.1
|
||||
│ │ ├ mdui //
|
||||
│ │ │ ├ ...... //
|
||||
│ │ ├ ...... //
|
||||
|
||||
├ system
|
||||
│ ├ function // 网站核心函数(用户不可以直接访问该文件夹下页面)
|
||||
│ │ ├ api // api后台实现
|
||||
│ │ ├ basic // 网站基础函数
|
||||
│ │ │ ├ user.php // 用户操作
|
||||
│ │ │ │ ├ ...... //
|
||||
│ │ │ ├ token.php // 令牌生成与失效
|
||||
│ │ │ │ ├ generate // 生成页面token
|
||||
│ │ │ │ ├ destroy // 销毁页面token
|
||||
│ │ │ ├ ......
|
||||
│ │ ├ database // 数据库连接
|
||||
│ │ │ ├ mysql.php
|
||||
│ │ │ ├ sql.php
|
||||
│ │ │ ├ sqlite.php
|
||||
│ │ │ ├ ......
|
||||
│ │ ├ page // 页面显示时可能会用的到的一些组件
|
||||
│ │ │ ├ components // 组件(可供主题、插件调用)
|
||||
│ │ │ ├ partials // 片段(可供主题、插件调用)
|
||||
│ │ │ ├ public // 网站页面公共部分(导航栏、菜单、页脚等)
|
||||
│ │ │ ├ ...... // 网站各个功能页面
|
||||
│ │ ├ statistics // 统计页面执行速度及使用内存
|
||||
│ │ │ ├ begin.php
|
||||
│ │ │ ├ end.php
|
||||
│ │ ├ ......
|
||||
│ ├ install // 网站安装【安装后自动删除】
|
||||
│ │ ├ ..... .php
|
||||
│ ├ plugin // 插件(还没启用)
|
||||
│ │ ├ pluginName1
|
||||
│ │ │ ├ settings.php
|
||||
│ │ │ │ ├ 待完善
|
||||
│ │ │ ├ .......
|
||||
│ │ ├ pluginName2
|
||||
│ │ │ ├ .......
|
||||
│ │ │ ├ .......
|
||||
│ ├ theme // 主题(还没启用)
|
||||
│ │ ├ default
|
||||
│ │ │ ├ head.php // 页面头部 <head></head>
|
||||
│ │ │ ├ navbar.php // 头部导航栏
|
||||
│ │ │ ├ footer.php // 页脚
|
||||
│ │ │ ├ frame.php // 页面框架
|
||||
│ │ │ ├ .......
|
||||
│ ├ themeName1
|
||||
│ │ ├ .......
|
||||
│ │ ├ .......
|
||||
│ ├ themeName2
|
||||
│ │ ├ .......
|
||||
│ │ ├ .......
|
||||
│ ├ .......
|
||||
│ ├ config.php // 网站配置文件
|
||||
|
||||
├ index.php // 网站的主路由
|
||||
│ ├ privacy.html // 网站隐私政策
|
||||
```
|
||||
|
||||
|
||||
## 图形版
|
||||
|
||||
> 最后修改日期:2021年3月23日,图片使用 <a href="https://www.processon.com/" target="_blank">Process On</a> 制作
|
||||
|
||||
<a href="https://www.processon.com/embed/604db2a3637689019dd8ca17" target="_blank">新标签页打开</a>
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
<!--
|
||||
│ ├ upload // 用户上传的文件,目前仅限制登录用户才可上传,且仅可上传txt文档。按照年月分文件夹存放,文件名格式(待定)
|
||||
|
||||
|
||||
├ page // 功能页面**(用户不可以直接访问该文件夹下页面)**
|
||||
│ ├ component // 功能页面中使用到的组件
|
||||
│ │ ├ 【!】not-exists.php.bak //
|
||||
│ │ ├ notifications.php // 首页消息提示组件
|
||||
│ │ ├ refresh-btn.php // 首页刷新按钮
|
||||
│ │ ├ under-construction.php // 该功能正在建设中 提示页面
|
||||
│ │ ├ words-block.php // 单词展示框
|
||||
│ ├ .htaccess //
|
||||
│ ├ about.php // 关于
|
||||
│ ├ bookmark.php // 我的书签**还未开发**
|
||||
│ ├ favi-word.php // 我的收藏**还未开发**
|
||||
│ ├ feedback.php // 意见反馈 需要完善(目前是调用的网站的意见反馈)
|
||||
│ ├ home.php // 主页
|
||||
│ ├ index.html(空文件) //
|
||||
│ ├ login.php // 登录
|
||||
│ ├ my-wordbook.php // 我的单词本**还未开发**
|
||||
│ ├ pub-wordbook.php // 公共词书**还未开发**
|
||||
│ ├ random.php // 随便学学
|
||||
│ ├ search.php // 查单词**还未开发**
|
||||
│ ├ select-wordbook.php // 选择背诵词书**还未开发**
|
||||
│ ├ settings.php // 设置**还未开发**
|
||||
│ ├ star-word.php // 我的星标**还未开发**
|
||||
│ ├ ucenter.php // 个人中心**还未开发**
|
||||
│ ├ upload-wordbook.php // 上传自定义词书**还未开发**
|
||||
|
||||
├ public // 首页用到的一些组件**(用户不可以直接访问该文件夹下页面)**
|
||||
│ ├ .htaccess //
|
||||
│ ├ footer.php //
|
||||
│ ├ head.php //
|
||||
│ ├ index.html(空文件) //
|
||||
│ ├ menu.php //
|
||||
│ ├ navbar.php //
|
||||
│ ├ navbar-mobi.php //
|
||||
|
||||
├ test // 测试用文件
|
||||
│ ├ 【略】 //
|
||||
│ ├ SQLite
|
||||
│ ├ MySQL
|
||||
│ ├ union-login.bak
|
||||
│ ├ css
|
||||
│ ├ js
|
||||
│ ├ php
|
||||
|
||||
├ 根目录 //
|
||||
│ ├ .htaccess //
|
||||
│ ├ config.php // 网站相关配置
|
||||
│ ├ favicon.ico // 网站图标
|
||||
│ ├ index.php // 网站主页面
|
||||
│ ├ privacy.html // 隐私条款**(后期转移到Licence文件夹下)**
|
||||
│ ├ 【!】(英语音标字体)Ksphonet.ttf //
|
||||
|
||||
-->
|
46
docs/manual/start/9. 常见问题.md
Normal file
46
docs/manual/start/9. 常见问题.md
Normal file
@@ -0,0 +1,46 @@
|
||||
## 登录验证码未加载出来
|
||||
|
||||
### 问题描述
|
||||
|
||||
程序安装后登陆时的验证码无法绘制,报 [Warning: Wrong parameter count for imagettftext() in xxx/captcha.php 错误]
|
||||
|
||||
|
||||
### 问题出现原因
|
||||
|
||||
安装路径中,出现空格、中文字符以及特殊符号,导致调用GD库时无法找到字体文件。
|
||||
|
||||
|
||||
### 解决方案
|
||||
|
||||
1. 将程序安装在无空格、中文字符以及特殊符号的路径下(推荐)
|
||||
2. 如果不得不安装在特定目录下,请将 `static/font/geneva.ttf` 字体文件复制一份至符合上述要求的路径,然后按照下方说明修改 `api/captcha.php` 文件。
|
||||
|
||||
```
|
||||
// 修改`api/captcha.php`文件以下内容
|
||||
imagettftext($image, $fontsize, 0, $x, $y, $fontcolor, dirname(__DIR__).'/static/font/geneva.ttf', $fontcontent);
|
||||
|
||||
// 为
|
||||
imagettftext($image, $fontsize, 0, $x, $y, $fontcolor, '复制出来的字体所在路径/geneva.ttf', $fontcontent);
|
||||
|
||||
// 注意 1. 不得使用相对路径,要使用绝对路径;
|
||||
// 2. 引号不要漏掉了;
|
||||
// 3. 修改后记得保存captcha.php文件,然后再刷新页面
|
||||
```
|
||||
|
||||
---------------
|
||||
|
||||
# 无法创建SQLite3数据库
|
||||
|
||||
> 这个问题一般出现在Windows环境下
|
||||
|
||||
|
||||
### 解决方案
|
||||
|
||||
需要修改php.ini文件
|
||||
|
||||
```
|
||||
extension=pdo_sqlite # 去掉前面的分号
|
||||
extension=sqlite3 # 去掉前面的分号
|
||||
sqlite3.extension_dir = "php所在目录/ext" # 去掉前面的分号,并将值设为ext文件夹的路径
|
||||
```
|
||||
|
19
docs/manual/start/backup.md
Normal file
19
docs/manual/start/backup.md
Normal file
@@ -0,0 +1,19 @@
|
||||
## 网站备份
|
||||
|
||||
**在您要对网站升级时,请务必先对网站数据进行备份。**
|
||||
|
||||
网站备份分为两个步骤,即**网站文件备份**和**数据库备份**,二者缺一不可,而且建议尽可能在同一时间备份(即二者备份之间的时间差不要太大,尽可能减小在备份期间用户操作导致的网站文件和数据库不完全同步)。
|
||||
|
||||
> 建议在半夜用户活跃度低的时候进行备份操作,以免加大服务器压力。如果有条件的话,可以暂时关闭站点进行备份。
|
||||
|
||||
### 网站文件备份
|
||||
|
||||
在服务器端,将网站所在文件夹打包压缩,检查压缩包是否完好(即是否可以正常解压,解压出来的文件数量及大小是否与压缩前相等),然后将压缩包存档。
|
||||
> 特别是`.tar.gz`格式的压缩包一定要检查是否完整,这类压缩包如果在压缩中出现错误而中断,压缩包是可以查看的,但是文件会不完整。相比之下,`.zip`格式的压缩包一般来说可以正常打开基本上就是完整的。
|
||||
> 对于备份网站代码部分来说,`.tar.gz`格式会比`.zip格式`压缩包明显小不少,但是压缩时间会略长。如果网站附件、图片比较多的话,还是建议用`.zip格式`压缩,反之建议用`.tar.gz格式`压缩。
|
||||
|
||||
### 数据库备份
|
||||
|
||||
您可以通过MySQL管理工具(如网页版的phpMyAdmin,桌面版的Navicat等等软件),或者使用MySQL命令行进行备份。
|
||||
|
||||
> **使用宝塔的用户,千万不要为了贪图一时方便使用数据库一键备份**,宝塔一键备份在某种情况下会出现丢失部分数据,或者部分特殊字符变乱码等情况。同时,也**不要使用宝塔面板中一键导入数据库功能**。这些功能虽然操作起来方便,但是根据我们实际测试,数据库中的部分特殊字符以及表情符号等,会变成乱码。(测试版本为`宝塔Linux面板7.4.7`)
|
281
docs/manual/start/database - 副本.md
Normal file
281
docs/manual/start/database - 副本.md
Normal file
@@ -0,0 +1,281 @@
|
||||
> 数据表前缀默认为`bdc_`
|
||||
|
||||
- 在线数据库关系图设计工具:https://dbdiagram.io/
|
||||
|
||||
|
||||
<!--
|
||||
# v1.
|
||||
【附件】
|
||||
> 更新时间:2021.04.08
|
||||
> 上次更新时间:2021.01.02
|
||||
<details>
|
||||
<summary>点击展开</summary>
|
||||
</details>
|
||||
-->
|
||||
|
||||
# v1.5
|
||||
> 更新时间:2021.04.10
|
||||
```sql
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `users`
|
||||
--
|
||||
|
||||
CREATE TABLE `users` (
|
||||
|
||||
-- 用户基本信息
|
||||
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户 id',
|
||||
`username` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名(可以修改,但唯一)',
|
||||
`uuid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '注册时生成,全局唯一不可改',
|
||||
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码(暂时,因为后期加密方式可能会升级)',
|
||||
`encryptedpwd` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码(MD5加盐后Bcypt加密)',
|
||||
`safety_password` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '安全密码',
|
||||
`encryptedsafety_pwd` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '密码(MD5加盐后Bcypt加密)',
|
||||
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '用户状态(0正常 1禁用 2审核中 3审核拒绝 4审核忽略)',
|
||||
`sex` tinyint(4) NOT NULL DEFAULT '0' COMMENT '性别(0未填写 1男 2女)',
|
||||
`education` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '手机号',
|
||||
`mobile` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '手机号',
|
||||
`mail` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '邮箱',
|
||||
|
||||
-- 用户社交信息 及 统计
|
||||
`nickname` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '用户昵称',
|
||||
`avatar` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '头像地址',
|
||||
`avatar_at` datetime DEFAULT NULL COMMENT '头像修改时间',
|
||||
`signature` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '个性签名',
|
||||
`signature_at` datetime DEFAULT NULL COMMENT '个性签名更新时间',
|
||||
`thread_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '主题数',
|
||||
`follow_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '关注数',
|
||||
`fans_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '粉丝数',
|
||||
`liked_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '点赞数',
|
||||
|
||||
-- 虚拟资产
|
||||
`virtual_currency` DECIMAL(10,0) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'β币',
|
||||
|
||||
-- 付费信息
|
||||
`joined_at` datetime DEFAULT NULL COMMENT '付费时间',
|
||||
`expired_at` datetime DEFAULT NULL COMMENT '付费到期时间',
|
||||
|
||||
-- 实名认证
|
||||
`identity` char(18) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '身份证号码',
|
||||
`realname` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '身份证姓名',
|
||||
|
||||
-- 登陆相关
|
||||
`last_login_ip` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '最后登录 ip',
|
||||
`login_at` datetime DEFAULT NULL COMMENT '最后登录时间',
|
||||
`login_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '登录次数',
|
||||
|
||||
-- 注册相关,暂时用不到,但是保留,后续找回密码可能用得到
|
||||
`register_ip` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '注册ip',
|
||||
`created_at` datetime NOT NULL COMMENT '注册时间',
|
||||
`register_reason` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '注册原因',
|
||||
|
||||
-- 账户修改相关
|
||||
`username_bout` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户名修改次数',
|
||||
|
||||
-- 协议相关
|
||||
`accept_policy_version` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户接受的相关协议版本号,相关协议更新后可通知到用户',
|
||||
|
||||
-- 用户独立表相关(这个待定)
|
||||
`db_file` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '用户学习记录SQLite数据库文件名',
|
||||
`db_version` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'SQLite数据库内用户数据版本,记录版本便于后期分批升级用户数据',
|
||||
|
||||
-- 设置表的索引
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`),
|
||||
|
||||
-- 设置唯一
|
||||
UNIQUE KEY `users_uuid_unique` (`uuid`),
|
||||
UNIQUE KEY `users_username_unique` (`username`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `attachments`
|
||||
--
|
||||
|
||||
CREATE TABLE `attachments` (
|
||||
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '附件 id',
|
||||
`uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'uuid',
|
||||
`user_id` bigint(20) UNSIGNED NOT NULL COMMENT '用户 id',
|
||||
`type` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT '附件类型(0未知,1图片,2视频,3音频,4其他附件)',
|
||||
`is_remote` tinyint(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '是否远程附件',
|
||||
`is_approved` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT '是否合法',
|
||||
`attachment` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '文件系统生成的名称',
|
||||
`file_path` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '文件路径',
|
||||
`file_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '文件原名称',
|
||||
`file_size` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '文件大小',
|
||||
`file_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '文件类型',
|
||||
`ip` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'ip 地址',
|
||||
`created_at` datetime NOT NULL COMMENT '创建时间',
|
||||
`updated_at` datetime NOT NULL COMMENT '更新时间',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`),
|
||||
|
||||
-- 设置唯一
|
||||
UNIQUE KEY `attachments_attachment_unique` (`attachment`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='附件';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `settings`
|
||||
--
|
||||
|
||||
CREATE TABLE `settings` (
|
||||
`key` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '设置项 key(设置项的名称)',
|
||||
`value` text COLLATE utf8mb4_unicode_ci COMMENT '设置项 value(设置项的值)',
|
||||
`tag` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'default' COMMENT '设置项 tag(设置项所在分类)',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`key`,`tag`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='网站设置';
|
||||
|
||||
--
|
||||
-- 转存表中的数据 `settings`
|
||||
--
|
||||
|
||||
INSERT INTO `settings` (`key`, `value`, `tag`) VALUES
|
||||
('favicon', 'favicon.png', 'default'),
|
||||
('title','在线背单词(开发中)','site'),
|
||||
('captcha_font', '/static/font/geneva.ttf', 'font');
|
||||
COMMIT;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `words`
|
||||
--
|
||||
|
||||
CREATE TABLE `words` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '单词 id',
|
||||
`words` varchar(255) NOT NULL DEFAULT '' COMMENT '英语单词(词组)',
|
||||
`word_type` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类型(0未知,1单词,2词组)',
|
||||
`pho` text NOT NULL COMMENT '音标 phonetic-transcription',
|
||||
`trans` longtext NOT NULL COMMENT '中文',
|
||||
`search_count` int(11) NOT NULL DEFAULT 0 COMMENT '查询统计',
|
||||
`look_count` int(11) NOT NULL DEFAULT 0 COMMENT '浏览统计',
|
||||
`favi_count` int(11) NOT NULL DEFAULT 0 COMMENT '收藏统计',
|
||||
`star_count` int(11) NOT NULL DEFAULT 0 COMMENT '星标统计',
|
||||
`mark_count` int(11) NOT NULL DEFAULT 0 COMMENT '书签统计',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`,`words`),
|
||||
|
||||
-- 设置唯一
|
||||
UNIQUE(`words`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='单词表';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `wordbooks`
|
||||
--
|
||||
|
||||
CREATE TABLE `wordbooks` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '词书 id',
|
||||
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '词书名称(用于显示给用户)',
|
||||
`alias` varchar(255) NOT NULL DEFAULT '' COMMENT '词书别名(用于url访问及数据库查询)',
|
||||
`intro` text NOT NULL COMMENT '词书简介',
|
||||
|
||||
`type` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类型(0用户上传词书,1公共词书)',
|
||||
`permission` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '权限(0私密,1公开,2审核中)',
|
||||
`recommend` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类型(0不推荐,1推荐)',
|
||||
|
||||
`create_at` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_at` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
|
||||
`search_count` int(11) NOT NULL DEFAULT 0 COMMENT '查询统计',
|
||||
`look_count` int(11) NOT NULL DEFAULT 0 COMMENT '浏览统计',
|
||||
`favi_count` int(11) NOT NULL DEFAULT 0 COMMENT '收藏统计',
|
||||
`star_count` int(11) NOT NULL DEFAULT 0 COMMENT '星标统计',
|
||||
`mark_count` int(11) NOT NULL DEFAULT 0 COMMENT '书签统计',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`,`alias`),
|
||||
|
||||
-- 设置唯一
|
||||
UNIQUE(`alias`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='词书表';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `word_ref_wordbook`
|
||||
--
|
||||
|
||||
CREATE TABLE `word_ref_wordbook` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||
`word_id` int(11) NOT NULL COMMENT 'id',
|
||||
`wordbook_id` int(11) NOT NULL COMMENT 'id',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`,`word_id`,`wordbook_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='单词、词书关联表';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `word_supplements` (用于保存用户提交的数据库中不存在或者有错误的单词)
|
||||
--
|
||||
|
||||
CREATE TABLE `word_supplements` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '工单 id',
|
||||
`word_id` int(11) NOT NULL COMMENT '单词 id',
|
||||
`uuid` varchar(100) NOT NULL COMMENT '用户 uuid',
|
||||
`type` smallint(5) UNSIGNED NOT NULL COMMENT '类型(0补充数据库中不存在的单词,1单词拼写错误,2单词释义错误、错字、乱码,3单词释义不全,4其他)',
|
||||
`create_at` datetime DEFAULT NULL COMMENT '创建时间(时间戳)',
|
||||
`content` text NOT NULL COMMENT '用户提交内容',
|
||||
`status` smallint(5) UNSIGNED NOT NULL COMMENT '状态(0等待管理员回复,1被采纳,2被拒绝,3未被采纳但是有一定用处)',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`,`word_id`,`uuid`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='错误单词反馈记录表';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
ALTER TABLE `attachments` ADD FOREIGN KEY (`uuid`) REFERENCES `users` (`uuid`);
|
||||
|
||||
ALTER TABLE `word_supplements` ADD FOREIGN KEY (`word_id`) REFERENCES `words` (`id`);
|
||||
|
||||
ALTER TABLE `word_supplements` ADD FOREIGN KEY (`uuid`) REFERENCES `users` (`uuid`);
|
||||
|
||||
ALTER TABLE `word_ref_wordbook` ADD FOREIGN KEY (`word_id`) REFERENCES `words` (`id`);
|
||||
|
||||
ALTER TABLE `word_ref_wordbook` ADD FOREIGN KEY (`wordbook_id`) REFERENCES `wordbooks` (`id`);
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- 删除表
|
||||
--
|
||||
DROP TABLE `word_supplements`;
|
||||
DROP TABLE `wordbooks`;
|
||||
DROP TABLE `words`;
|
||||
DROP TABLE `settings`;
|
||||
DROP TABLE `attachments`;
|
||||
DROP TABLE `users`;
|
||||
```
|
||||
|
||||
|
||||
# v1.3
|
||||
[【附件】v1.3.sql](https://docs.only4.work/media/attachment/2021/01/v1.3.sql)
|
||||
|
||||
> 更新时间:2021.01.22
|
292
docs/manual/start/database.md
Normal file
292
docs/manual/start/database.md
Normal file
@@ -0,0 +1,292 @@
|
||||
> 数据表前缀默认为`bdc_`
|
||||
|
||||
- 在线数据库关系图设计工具:https://dbdiagram.io/
|
||||
|
||||
|
||||
<!--
|
||||
# v1.
|
||||
【附件】
|
||||
> 更新时间:2021.04.08
|
||||
> 上次更新时间:2021.01.02
|
||||
<details>
|
||||
<summary>点击展开</summary>
|
||||
</details>
|
||||
-->
|
||||
|
||||
# v1.5
|
||||
> 更新时间:2021.04.10
|
||||
|
||||
|
||||
<details>
|
||||
<summary>点击展开</summary>
|
||||
|
||||
```sql
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `users`
|
||||
--
|
||||
|
||||
CREATE TABLE `users` (
|
||||
|
||||
-- 用户基本信息
|
||||
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户 id',
|
||||
`username` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名(可以修改,但唯一)',
|
||||
`uuid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '注册时生成,全局唯一不可改',
|
||||
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码(暂时,因为后期加密方式可能会升级)',
|
||||
`encryptedpwd` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码(MD5加盐后Bcypt加密)',
|
||||
`safety_password` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '安全密码',
|
||||
`encryptedsafety_pwd` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '密码(MD5加盐后Bcypt加密)',
|
||||
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '用户状态(0正常 1禁用 2审核中 3审核拒绝 4审核忽略)',
|
||||
`sex` tinyint(4) NOT NULL DEFAULT '0' COMMENT '性别(0未填写 1男 2女)',
|
||||
`education` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '手机号',
|
||||
`mobile` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '手机号',
|
||||
`mail` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '邮箱',
|
||||
|
||||
-- 用户社交信息 及 统计
|
||||
`nickname` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '用户昵称',
|
||||
`avatar` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '头像地址',
|
||||
`avatar_at` datetime DEFAULT NULL COMMENT '头像修改时间',
|
||||
`signature` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '个性签名',
|
||||
`signature_at` datetime DEFAULT NULL COMMENT '个性签名更新时间',
|
||||
`thread_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '主题数',
|
||||
`follow_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '关注数',
|
||||
`fans_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '粉丝数',
|
||||
`liked_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '点赞数',
|
||||
|
||||
-- 虚拟资产
|
||||
`virtual_currency` DECIMAL(10,0) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'β币',
|
||||
|
||||
-- 付费信息
|
||||
`joined_at` datetime DEFAULT NULL COMMENT '付费时间',
|
||||
`expired_at` datetime DEFAULT NULL COMMENT '付费到期时间',
|
||||
|
||||
-- 实名认证
|
||||
`identity` char(18) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '身份证号码',
|
||||
`realname` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '身份证姓名',
|
||||
|
||||
-- 登陆相关
|
||||
`last_login_ip` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '最后登录 ip',
|
||||
`login_at` datetime DEFAULT NULL COMMENT '最后登录时间',
|
||||
`login_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '登录次数',
|
||||
|
||||
-- 注册相关,暂时用不到,但是保留,后续找回密码可能用得到
|
||||
`register_ip` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '注册ip',
|
||||
`created_at` datetime NOT NULL COMMENT '注册时间',
|
||||
`register_reason` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '注册原因',
|
||||
|
||||
-- 账户修改相关
|
||||
`username_bout` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户名修改次数',
|
||||
|
||||
-- 协议相关
|
||||
`accept_policy_version` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户接受的相关协议版本号,相关协议更新后可通知到用户',
|
||||
|
||||
-- 用户独立表相关(这个待定)
|
||||
`db_file` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '用户学习记录SQLite数据库文件名',
|
||||
`db_version` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'SQLite数据库内用户数据版本,记录版本便于后期分批升级用户数据',
|
||||
|
||||
-- 设置表的索引
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`),
|
||||
|
||||
-- 设置唯一
|
||||
UNIQUE KEY `users_uuid_unique` (`uuid`),
|
||||
UNIQUE KEY `users_username_unique` (`username`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `attachments`
|
||||
--
|
||||
|
||||
CREATE TABLE `attachments` (
|
||||
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '附件 id',
|
||||
`uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'uuid',
|
||||
`user_id` bigint(20) UNSIGNED NOT NULL COMMENT '用户 id',
|
||||
`type` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT '附件类型(0未知,1图片,2视频,3音频,4其他附件)',
|
||||
`is_remote` tinyint(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '是否远程附件',
|
||||
`is_approved` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT '是否合法',
|
||||
`attachment` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '文件系统生成的名称',
|
||||
`file_path` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '文件路径',
|
||||
`file_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '文件原名称',
|
||||
`file_size` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '文件大小',
|
||||
`file_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '文件类型',
|
||||
`ip` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'ip 地址',
|
||||
`created_at` datetime NOT NULL COMMENT '创建时间',
|
||||
`updated_at` datetime NOT NULL COMMENT '更新时间',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`),
|
||||
|
||||
-- 设置唯一
|
||||
UNIQUE KEY `attachments_attachment_unique` (`attachment`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='附件';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `settings`
|
||||
--
|
||||
|
||||
CREATE TABLE `settings` (
|
||||
`key` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '设置项 key(设置项的名称)',
|
||||
`value` text COLLATE utf8mb4_unicode_ci COMMENT '设置项 value(设置项的值)',
|
||||
`tag` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'default' COMMENT '设置项 tag(设置项所在分类)',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`key`,`tag`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='网站设置';
|
||||
|
||||
--
|
||||
-- 转存表中的数据 `settings`
|
||||
--
|
||||
|
||||
INSERT INTO `settings` (`key`, `value`, `tag`) VALUES
|
||||
('favicon', 'favicon.png', 'default'),
|
||||
('title','在线背单词(开发中)','site'),
|
||||
('captcha_font', '/static/font/geneva.ttf', 'font');
|
||||
COMMIT;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `words`
|
||||
--
|
||||
|
||||
CREATE TABLE `words` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '单词 id',
|
||||
`words` varchar(255) NOT NULL DEFAULT '' COMMENT '英语单词(词组)',
|
||||
`word_type` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类型(0未知,1单词,2词组)',
|
||||
`pho` text NOT NULL COMMENT '音标 phonetic-transcription',
|
||||
`trans` longtext NOT NULL COMMENT '中文',
|
||||
`search_count` int(11) NOT NULL DEFAULT 0 COMMENT '查询统计',
|
||||
`look_count` int(11) NOT NULL DEFAULT 0 COMMENT '浏览统计',
|
||||
`favi_count` int(11) NOT NULL DEFAULT 0 COMMENT '收藏统计',
|
||||
`star_count` int(11) NOT NULL DEFAULT 0 COMMENT '星标统计',
|
||||
`mark_count` int(11) NOT NULL DEFAULT 0 COMMENT '书签统计',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`,`words`),
|
||||
|
||||
-- 设置唯一
|
||||
UNIQUE(`words`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='单词表';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `wordbooks`
|
||||
--
|
||||
|
||||
CREATE TABLE `wordbooks` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '词书 id',
|
||||
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '词书名称(用于显示给用户)',
|
||||
`alias` varchar(255) NOT NULL DEFAULT '' COMMENT '词书别名(用于url访问及数据库查询)',
|
||||
`intro` text NOT NULL COMMENT '词书简介',
|
||||
|
||||
`type` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类型(0用户上传词书,1公共词书)',
|
||||
`permission` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '权限(0私密,1公开,2审核中)',
|
||||
`recommend` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类型(0不推荐,1推荐)',
|
||||
|
||||
`create_at` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_at` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
|
||||
`search_count` int(11) NOT NULL DEFAULT 0 COMMENT '查询统计',
|
||||
`look_count` int(11) NOT NULL DEFAULT 0 COMMENT '浏览统计',
|
||||
`favi_count` int(11) NOT NULL DEFAULT 0 COMMENT '收藏统计',
|
||||
`star_count` int(11) NOT NULL DEFAULT 0 COMMENT '星标统计',
|
||||
`mark_count` int(11) NOT NULL DEFAULT 0 COMMENT '书签统计',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`,`alias`),
|
||||
|
||||
-- 设置唯一
|
||||
UNIQUE(`alias`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='词书表';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `word_ref_wordbook`
|
||||
--
|
||||
|
||||
CREATE TABLE `word_ref_wordbook` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||
`word_id` int(11) NOT NULL COMMENT 'id',
|
||||
`wordbook_id` int(11) NOT NULL COMMENT 'id',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`,`word_id`,`wordbook_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='单词、词书关联表';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- 表的结构 `word_supplements` (用于保存用户提交的数据库中不存在或者有错误的单词)
|
||||
--
|
||||
|
||||
CREATE TABLE `word_supplements` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '工单 id',
|
||||
`word_id` int(11) NOT NULL COMMENT '单词 id',
|
||||
`uuid` varchar(100) NOT NULL COMMENT '用户 uuid',
|
||||
`type` smallint(5) UNSIGNED NOT NULL COMMENT '类型(0补充数据库中不存在的单词,1单词拼写错误,2单词释义错误、错字、乱码,3单词释义不全,4其他)',
|
||||
`create_at` datetime DEFAULT NULL COMMENT '创建时间(时间戳)',
|
||||
`content` text NOT NULL COMMENT '用户提交内容',
|
||||
`status` smallint(5) UNSIGNED NOT NULL COMMENT '状态(0等待管理员回复,1被采纳,2被拒绝,3未被采纳但是有一定用处)',
|
||||
|
||||
-- 设置主键
|
||||
PRIMARY KEY (`id`,`word_id`,`uuid`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='错误单词反馈记录表';
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
ALTER TABLE `attachments` ADD FOREIGN KEY (`uuid`) REFERENCES `users` (`uuid`);
|
||||
|
||||
ALTER TABLE `word_supplements` ADD FOREIGN KEY (`word_id`) REFERENCES `words` (`id`);
|
||||
|
||||
ALTER TABLE `word_supplements` ADD FOREIGN KEY (`uuid`) REFERENCES `users` (`uuid`);
|
||||
|
||||
ALTER TABLE `word_ref_wordbook` ADD FOREIGN KEY (`word_id`) REFERENCES `words` (`id`);
|
||||
|
||||
ALTER TABLE `word_ref_wordbook` ADD FOREIGN KEY (`wordbook_id`) REFERENCES `wordbooks` (`id`);
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- 删除表
|
||||
--
|
||||
DROP TABLE `word_supplements`;
|
||||
DROP TABLE `wordbooks`;
|
||||
DROP TABLE `words`;
|
||||
DROP TABLE `settings`;
|
||||
DROP TABLE `attachments`;
|
||||
DROP TABLE `users`;
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
# v1.3
|
||||
|
||||
> 更新时间:2021.01.22
|
||||
|
||||
[【附件】v1.3.sql](https://docs.only4.work/media/attachment/2021/01/v1.3.sql)
|
5
docs/manual/start/initial-configuration.md
Normal file
5
docs/manual/start/initial-configuration.md
Normal file
@@ -0,0 +1,5 @@
|
||||
## 初次使用配置说明
|
||||
|
||||
# 操作场景
|
||||
|
||||
本文档将对常用功能进行简要说明,帮助您更好的了解常用功能项与配置方式,更快的上手使用。
|
55
docs/manual/start/install.md
Normal file
55
docs/manual/start/install.md
Normal file
@@ -0,0 +1,55 @@
|
||||
## 下载
|
||||
|
||||
> 生产环境使用请下载“ **最新稳定版** ”。
|
||||
|
||||
||版本号|更新日期|下载链接|特别说明|
|
||||
|--|--|--|--|--|
|
||||
|最新稳定版|v1.0.0|XXXX-XX-XX|[点击下载(待完善)]()||
|
||||
|预发行版本|v1.0.0-beta|XXXX-XX-XX|[点击下载(待完善)]()||
|
||||
|最新测试版|v1.0.0-alpha|XXXX-XX-XX|[点击下载(待完善)]()||
|
||||
|
||||
更多历史版本:[点击查看(待完善)]()(关于👉版本信息👉发行版本)
|
||||
|
||||
## 安装
|
||||
|
||||
**此处说明待完善**
|
||||
将下载得到的`.zip`或`.tar.gz`格式压缩包解压到您想要安装的目录(如果希望部署在网站首页,请解压至您的网站根目录)。
|
||||
|
||||
> 例如,您的网站根目录为`/home/wwwroot/`,则压缩包解压后目录结构为`/home/wwwroot/install`。然后运行`/install/index.php`文件,按照提示进行进一步安装。
|
||||
|
||||
> 在后续的文档中,因为每个人的网站域名都不相同,我们将省略域名,直接写为`/`。
|
||||
假设您将网站安装在`https://域名/XXX/`,则`https://域名/XXX/index.php`会被写作`/index.php`。
|
||||
|
||||
在安装过程中,您需要提供以下信息:
|
||||
- 您的网站名称
|
||||
- 管理员账号密码
|
||||
- 数据库地址、数据库名、数据库用户名、数据库密码,如果您希望在同一个数据库中安装多个网站,请确保每个网站的**表前缀**不同。
|
||||
|
||||
安装过程通常很快,如果您很熟悉的话,5分钟内完成安装应该不成问题。填好上方所有信息,点击`立即安装`按钮,几秒后便可安装成功。
|
||||
|
||||
> 在安装过程结束后,您还需要手动设置部分目录为禁止访问,以免用户信息被他人利用以及导致网站出现安全漏洞。
|
||||
- /file/avatar/original 用户上传的头像源文件
|
||||
- /file/sqlitedb 网站用户SQLite数据库所在的文件夹
|
||||
- /file/upload 用户上传的文件
|
||||
|
||||
不同HTTP Server的设置方式不同。例如:
|
||||
> 【此处完档为草稿,请勿直接拷贝代码!】
|
||||
Nginx **说明待完善 **
|
||||
```
|
||||
禁止访问扩展名为bat的文件,配置如下:
|
||||
location ~* /.bat {
|
||||
deny all;
|
||||
}
|
||||
禁止访问configs目录,以及其下所有子目录或文件,配置如下:
|
||||
location ^~ /configs/ {
|
||||
deny all;
|
||||
}
|
||||
```
|
||||
|
||||
Apache **说明待完善 **
|
||||
配置htaccess文件(安装包中提供,只需要检查是否生效即可)
|
||||
```
|
||||
```
|
||||
|
||||
|
||||
安装后,如果希望修改数据库相关信息,请修改文件**【待完善】**。
|
29
docs/manual/start/introduction.md
Normal file
29
docs/manual/start/introduction.md
Normal file
@@ -0,0 +1,29 @@
|
||||
## 如何安装
|
||||
|
||||
背Ta单词的安装非常快速。在大多数情况下,安装过程只需不到1分钟就能完成。
|
||||
|
||||
### 服务器要求
|
||||
|
||||
在开始安装之前,请检查你的服务器是否满足要求。如果你不了解你的服务器是否满足要求也没关系,安装脚本会自动帮你完成检查。服务器要求如下:
|
||||
- Apache 或 Nginx
|
||||
- PHP 7.2+(???),需要启用 imagemagick(???) 扩展
|
||||
- MySQL 5.6+
|
||||
|
||||
### 开始安装
|
||||
|
||||
1. 下载最新版本安装包、上传至服务器并解压至希望安装的目录。
|
||||
1. 在你的 Web 服务器上创建数据库,数据库编码建议设置为`utf8mb4_general_ci`。
|
||||
1. 设置文件夹权限。
|
||||
1. 在浏览器中访问 URL 运行安装脚本。
|
||||
|
||||
------------
|
||||
|
||||
### 版本号规范
|
||||
|
||||
> 本项目版本号遵循 `Major.Minor.Patch` 原则(即`主版本号.次版本号.修订版本号`)。
|
||||
> **主版本号**增加代表重大更新,同时也意味着可能会有与以前插件等不兼容的升级,例如进行了不兼容的Api升级,插件开发者可能需要进行适配。
|
||||
> **次版本号**增大代表一般更新,即进行了向下兼容的版本升级。在新版本推出一定时间无问题后,可以放心升级。
|
||||
> **修订版本号**增大代表向下兼容的问题修正,Bug修正等。这种情况下,建议始终保持最新版本,以免漏洞被他人利用给您造成损失。
|
||||
> 总之,主版本号相同的情况下,建议您升级至最新版本。主版本号不同时,升级需要考虑兼容问题,建议先按照“网站迁移”的步骤对现有网站进行克隆,将克隆出来的站点作为测试站点,然后升级测试站点。确认升级后各功能均正常,方可对主站点进行升级。
|
||||
|
||||
> 参考文档:[语义化版本 2.0.0](https://semver.org/lang/zh-CN/)
|
9
docs/manual/start/migration.md
Normal file
9
docs/manual/start/migration.md
Normal file
@@ -0,0 +1,9 @@
|
||||
### 修改数据库表前缀
|
||||
|
||||
> 以下内容非最终代码,请不要直接复制运行。
|
||||
|
||||
```sql
|
||||
Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO bdc_', substring(table_name,CHAR_LENGTH('oldpre')+1)),';' )
|
||||
FROM information_schema.tables
|
||||
Where table_name LIKE 'oldpre_%';
|
||||
```
|
45
docs/manual/start/requirements.md
Normal file
45
docs/manual/start/requirements.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 环境
|
||||
|
||||
## 服务器端环境要求
|
||||
|
||||
> 推荐环境:LNMP(Linux、Nginx、PHP、MySQL)
|
||||
|
||||
| 项目 | 环境 | 最低配置要求 | 推荐配置要求 | 说明 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 服务器系统 | Linux(CentOS、Ubuntu等) / Windows Server and so on... | | | 建议使用Linux系列系统,不建议使用Windows Server |
|
||||
| Web Server | Nginx / Apache / IIS and so on... | | | 建议使用Nginx或Apache(首选Nginx) |
|
||||
| 服务器端脚本语言 | PHP | <!--5.2.0-->7.3 | 7.4 | GD库版本需要大于2.0.18 |
|
||||
| 数据库 | MySQL | 5.0 | 5.7 | |
|
||||
|
||||
<!--
|
||||
参考:
|
||||
- Web Server: IIS / Apache / nginx / Lighttpd / Kangle / Tengine / Caddy and so on...
|
||||
- PHP 5.2 - 7.2 / HHVM 3
|
||||
- MySQL 5+ / MariaDB 10+ / SQLite 3
|
||||
-->
|
||||
------------
|
||||
|
||||
## PHP扩展
|
||||
|
||||
GD库(用户上传头像、网站登录、注册、找回密码、注销账号等时使用)
|
||||
|
||||
|
||||
------------
|
||||
|
||||
## 客户端环境要求
|
||||
|
||||
### 浏览器
|
||||
|
||||
> 浏览器需要开启JavaScript,如果需要使用登录后相关功能还需要开启Cookie,**目前市面上绝大多数浏览器都满足此条件**。
|
||||
|
||||
#### 兼容性
|
||||
|
||||
不支持IE 10 以下版本的浏览器。
|
||||
|
||||
|
||||
#### PC端(网页)
|
||||
推荐使用`Chrome`浏览器,或者使用`Chrome内核`的浏览器(一般双核浏览器的极速模式为Chrome内核,比如`QQ浏览器`),也可使用`Firefox`浏览器。
|
||||
**非常不推荐使用IE浏览器**,IE浏览器已经逐步被抛弃,我们不会为其做适配,经过测试,确认无法在IE10及以下浏览器中运行。
|
||||
|
||||
#### 移动端(网页)
|
||||
目前仍在测试中,手机浏览器测试过QQ浏览器,Firefox浏览器,均可正常使用。如果您在使用过程中遇到问题,也可及时联系我们。
|
1
docs/manual/start/upgrade.md
Normal file
1
docs/manual/start/upgrade.md
Normal file
@@ -0,0 +1 @@
|
||||
.keep
|
9
docs/manual/test.md
Normal file
9
docs/manual/test.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# drawio
|
||||
|
||||
[filename](https://cdn.jsdelivr.net/npm/docsify-drawio/test.drawio ':include :type=code')
|
||||
|
||||
-----
|
||||
|
||||
# 深色背景 <!-- 深色背景 -->
|
||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/dark.css" />
|
||||
|
3
docs/manual/todo.md
Normal file
3
docs/manual/todo.md
Normal file
@@ -0,0 +1,3 @@
|
||||
- [ ] Tests
|
||||
- [ ] Example
|
||||
- [x] ~Documentation~
|
Reference in New Issue
Block a user