/PickPicture

拾影应用服务器端

Primary LanguagePHP

#拾影服务器设计

#数据库设计

##user 用户

  • id
  • number
  • password
  • name
  • avatar
  • background
  • gender
  • intro
  • token

##picture 图片

  • id
  • name//图片名称
  • intro//图片简介长度200
  • width
  • height
  • src//图片地址长度200
  • author_id
  • tag//tag名字文本存储,逗号分割
  • score //评分
  • watch_count//查看次数
  • collection_count//收藏次数
  • album_id
  • create_time//创建时间

##album 图片专辑

  • id
  • name
  • avatar
  • author_id
  • intro

##picture_collection 图片收藏关系表

  • id
  • user_id
  • photo_id

##album_collection 专辑收藏关系表

  • id
  • user_id
  • album_id

##tag 标签管理表,记录了每个用户的每个标签得分

  • id
  • name
  • score
  • author_id

##follow

  • id
  • star//被关注者id
  • fans//关注者id

#API设计

  • header上增加token,UID2个请求头识别用户。
  • 标准RestfulAPI。状态为HTTP响应头状态
  • 200 正常
  • info指:{"info":"你随便写些什么,没什么写的写个success"}
  • 400 参数错误
  • 401 未授权 比如没有token,或token失效
  • 403 权限不足 比如去改删别人专辑,信息
  • 500 服务器内部错误
  • 所有错误返回error {"error":"解释一下错误原因"}

##login 登录

参数

  • number
  • password

返回:

  • id
  • number
  • password
  • name
  • avatar
  • gender
  • intro
  • token

##register注册

参数:

  • number
  • password
  • code
  • name
  • avatar

返回

  • info

##popularPicture 取热门推荐 将所有图片降序按照规则(collection_count*5+watch_count),返回前10张

参数

返回

  • picture[]

##recommendPicture 取推荐图片 算法未定

参数

  • page

返回

  • picture[]

##pictureDetail 查看图片 查看时将将图片的所有tag取出,看用户是否已有此tag,有则+1,没有则创建,分数为1. 返回相关作品,算法未定

参数

  • id

返回

  • picture[]

##grade 评分 参数

  • id
  • score

返回

  • info

##userDetail 查看用户信息 参数

  • id

返回

  • id
  • number
  • name
  • avatar
  • gender
  • intro
  • pictures[]
  • albums[]
  • collection_pictures[]
  • collection_albums[]
  • fans[]//他的粉丝,follow他的人
  • star[]//他的明星,他follow的人

##follow 关注 关注用户

参数

  • id //被关注者id

返回

  • info

##updateUserDetail 更新用户资料 参数

  • avatar
  • name
  • gender
  • background
  • intro 返回 info

##createAlbum 创建专辑 参数

  • id //可空,如果没有这个属性,表示新建,如果有表示更新此id的信息
  • name
  • avatar
  • intro

返回

  • info

##uploadPicture 上传图片 参数

  • src
  • name
  • intro
  • height
  • width
  • album_id //专辑id
  • tag //eg:人物,游泳,宠物 直接保存即可

返回

  • info

##deletePicture 参数

  • id

返回

  • info

##deleteAlbum 参数

  • id

返回

  • info