- 身份认证采用
token
,已登录状态下,所有请求都默认带上token
字段(在接口文档中的参数并没有直接写出) - 一些地方没有写明api是哪一个,需要根据文档进行查找(如果愿意的话也可以更新到这里)
- 很多API的返回结果是空,并不是没有状态,状态会通过HTTP的状态码表示(
2xx
正常,4xx
是客户端错误,5xx
是服务端错误) - 需要决定一下各页面的路由(仅供参考)
- API的地址前缀可能会一直变更!(后面的/什么/什么是固定的)
- 所有中文名字的字段,都有对应的英文变量名(最好是用统一规范的,见文档)
- 【腾讯文档】数据库与接口设计
- logo(暂时使用興化語記,颜色可变)
- 搜索栏(支持选择 总、拼(音)、(单)字、词(语)、文(章))
- 每日一字(通过
GET /website/word_of_the_day
获取词语id,再通过GET /words/{id}
获取内容)
- 拼音搜索(如果输入是拼音,搜索对应的汉字;考虑多拼音情况)
- 单字搜索(这个字的所有发音,如果有音频资源可以点击按钮播放;考虑多字情况)
- 词语搜索(搜索相关的词语,简单显示拼音和释义,点击更多进入词条具体内容)
- 文章搜索(搜索相关文章,显示标题、简介、封面,点击进入文章具体内容)
注:未来可能不仅只有文章,或许还有类似于知乎提问+回答。暂时不确定的地方:把这种问答也视作文章与评论,还是单独开设数据库?(目前大青蛙更倾向于把提问视作特殊类型的文章,回答视作评论。这样后端只需要加一个字段“文章类型”,前端只需要根据这个字段调整显示方式即可)。这个功能暂放
- 词语、拼音、国际音标、发音按钮、词条贡献者
- 词语的解释、附注、对应普通话词语
- 网友发音的显示(贡献者(昵称、县区、乡镇)、发音拼音、按钮)(呈现形式近期列表,远期可以拓展地图显示)
- 跳转链接:我要上传发音
- 相关词汇、相关文章
- 远期:我要反馈 注:所有贡献者可以点击访问其个人主页
- 基本信息(发音的词语、发音人位置(县区、乡镇))
- 开始录音
- 播放录音
- 重新录音
- 录音对应的拼音与国际音标(这对于用户来说是可选内容的文本框)
- 确认上传/确认更新
- (已上传的文章)删除按钮
- 权限管理
注:
- 发音人位置信息,在用户信息里有存一份,作为默认的,实际上还可以再更改。
- 发音词语是必选项(而且要记录词语id)默认是从词语显示那里跳过来的(这样就自带参数),但是也支持直接进入上传发音界面(这也意味着可以自己搜索要上传哪个词语的发音)
- 录音对应的拼音与国际音标,近期直接是两个空格让用户自己填,远期应当会根据上传的录音返回相关信息,然后有默认值。
- username+password+登录按钮
- 忘记密码(点击跳转至忘记密码页面)
- 注册(点击跳转至注册页面)
- 第一步:要求用户输入用户名
- 第二步:向对应的邮箱发送了验证码,要求输入验证码
- 第三步:重新设置新密码
- 用户名、密码、重复密码
- 邮箱,邮箱验证码
- 注册完直接进入登录状态,进入新手引导页面(近期:个人信息修改页面)
- 昵称、手机、生日、头像、县区、乡镇:直接更改
-
username
:要查重,不能重复(后端会返回不同的状态码,例如409往往代表重名) - 邮箱:需要重新发送验证码,通过后更改
- 密码:旧密码、新密码、重复密码
- 远期:更改绑定的qq、微信
- 头像、用户名
- 已经录了多少条语音,一共被听了多少次(也是在
GET user/{id}
里面,但是可能还没实现) - 跳转:个人信息修改、联系我们、关于我们
- 其他功能根据情况自己设计?(然后更新到这里)
提供若干种查询工具
- 各个工具的列表(每个工具都会有一个图片)
- 音乐列表(封面、标题、演唱者、贡献者(昵称、跳转链接))
- 远期:点赞歌曲功能
-
筛选声母
-
筛选韵母
-
筛选声调
-
显示结果
注:声母、韵母、声调的列表另附
目前主要是文章与评论,远期支持问答
- 封面、标题、简介、正文(markdown)
- 发布时间、更新时间、点赞数、阅读量
- 评论区(头像、昵称、评论时间、评论内容、发表评论、回复评论、删除评论(文章作者、评论发布者))
- 点赞、取消点赞
- (文章作者)跳转编辑文章
- 封面:文本框贴url,旁边附“上传图像”按钮,上传本地图片并将返回的url填在此处,预览图片;如果是新建文章则贴
默认图片url
- 标题、简介:文本框,简介允许换行
- 正文:常用markdown编辑(或许有框架可以套用),不过手机端大概率是“编辑/预览”按钮(视情况决定)
- 发布:编辑文章为更新,新建文章为发布
- 返回:返回上一个页面
- 删除:编辑文章专属按钮,删除这篇文章,警告信息!
- 权限:作者才能访问
- 头像、昵称、注册时间、最近登陆时间、身份(管理员、普通用户)
- 邮箱、电话、生日、县区、乡镇(远期设置为是否公开)
- 点赞的文章列表、创作的文章列表(远期设置是否公开)
- (目前已登录用户自己):跳转到修改界面