用户 - jues-zz/ddexpert_server GitHub Wiki

1. get /user/:id/profile 获取用户信息

接收 get 参数

user_id String 自己的用户id 可选  有则返回自己跟它的关系

示例:/api/v1/user/5534ac219369c8c44862db2a/profile
如果成功匹配上用户,返回成功信息。否则 403。
返回值示例

{
"data": {
    "id": "55506c62f73577b459968be0",
    "role": {
        "title": "user",
        "bitMask": 2
    },
    "name": "swimming",
    "avatar_url": "http://192.168.1.9:3000/public/upload/4146f8cdda4302136c02a4220205a9ba.jpg",
    "signature": "hahahhahahahhahaha",
    "achievement": "hahahahahah",
    "category": "hahahahahah",
    "careers": [
        {
            "title": "ios",
            "end": "2015-07-13",
            "company": "a&b",
            "start": "2015-06-13",
            "_id": "5552f282c2ee99011aff16a8"
        }
    ],
    "skills": [
        {
            "price": 4,
            "title": "eee",
            "description": "dddddddddd",
            "_id": "5552f282c2ee99011aff16a9"
        }
    ],
    "create_at": "2015-05-11T08:46:26.257Z",
    "score": 85
}
}

var CareerSchema = new Schema({ company: String, title: String, start: String, end: String, });

var SkillSchema = new Schema({ title: String, price: Number, description: String });

2. get /user/setting 获取用户设置

接收 get 参数

accesstoken String

如果成功匹配上用户,返回成功信息。否则 403。
返回值示例

{
"data": {
    "id": "55506c62f73577b459968be0",
    "accesstoken": "eae6060e-3349-44b9-8fca-debe8b168afd",
    "role": {
        "title": "user",
        "bitMask": 2
    },
    "name": "swimming",
    "avatar_url": "http://192.168.1.9:3000/public/upload/4146f8cdda4302136c02a4220205a9ba.jpg",
    "signature": "hahahhahahahhahaha",
    "achievement": "hahahahahah",
    "category": "hahahahahah",
    "careers": [
        {
            "title": "ios",
            "end": "2015-07-13",
            "company": "a&b",
            "start": "2015-06-13",
            "_id": "5552f282c2ee99011aff16a8"
        }
    ],
    "skills": [
        {
            "price": 4,
            "title": "eee",
            "description": "dddddddddd",
            "_id": "5552f282c2ee99011aff16a9"
        }
    ],
    "create_at": "2015-05-11T08:46:26.257Z",
    "score": 85
}
}


var CareerSchema = new Schema({
      company: String,
      title: String,
      start: String,
      end: String,
    });


var SkillSchema = new Schema({
      title: String,
      price: Number,
      description: String
    });

3. post /user/setting 修改用户信息

示例:
post /accesstoken 验证 accessToken 的正确性
接收 post 参数

accesstoken String 用户的 accessToken
id 用户ID
setting String json结构
setting =  { 
  expert_submit:{ } 
  change_heading:{ } 
  change_info:{ } 
  change_careers:{ } 
  change_skills:{ } 
}

expert_submit: { catecory: careers: [ ] skills: [ ] certificate: }
expert_submit里有内容时对应axure页面 申请专家 需有字段:
category 用户行业
careers 职业(json数组,结构见上)
skills 技能(json数组,结构见上)
certificate 证书照片url

change_heading: { avatar: name: category: }
change_heading里有内容时对应axure页面 我的信息编辑 需有字段:
avatar 头像图片地址
name 用户名称
sex 性别 0为女,1为男
category 用户行业

change_info: { achievement: signature: }
change_info里有内容时对应axure页面 个人信息 需有字段:
achievement 专家成就
signature 关于我的

change_tags: { tags: [ ] }
tags 用户感兴趣的标签(string数组)

change_push_setting: { followed: liked: reply: }
followed string类型 关注消息 0为发,1为勿打扰
liked string类型 关注消息 0为发,1为勿打扰
reply string类型 关注消息 0为发,1为勿打扰

change_careers: { careers: [ ] }
careers 职业(json数组,结构见上)

change_skills: { skills: [ ] }
change_skills里有内容时对应axure页面 擅长内容编辑 需有字段:
skills 技能(json数组,结构见上)

返回值示例

{
"data": {
    "name": "jues001",
    "avatar_url": "/agent?url=https%3A%2F%2Fgravatar.com%2Favatar%2Fd41d8cd98f00b204e9800998ecf8427e%3Fsize%3D48",
    "careers": [],
    "skills": [],
    "create_at": "2015-04-20T08:28:54.103Z",
    "score": 0
}
}

4. get /user/:id/topiccollections 用户收藏的所有话题页

接收 get 参数

offset Number 偏移文章数
tab String 主题分类 (如果没有或为'all'时则默认获取全部主题列表)
limit Number 每一页的主题数量
mdrender String 当为 false 时,不渲染。默认为 true
accesstoken String

示例:/api/v1/user/5534ac219369c8c44862db2a/collections

5. get /user/:id/songcollections 用户收藏的所有歌曲

接收 get 参数

offset Number 偏移文章数
limit Number 每一页的主题数量
accesstoken String

示例:/api/v1/user/5534ac219369c8c44862db2a/collections

6. get /user/:id/topics 用户发布的所有话题页

接收 get 参数

offset Number 偏移文章数
tab String 主题分类 (如果没有或为'all'时则默认获取全部主题列表)
limit Number 每一页的主题数量
mdrender String 当为 false 时,不渲染。默认为 true
hot String 热门主题 可选,为1时按主题热门排序

示例:/api/v1/user/5534ac219369c8c44862db2a/topics

7. get /user/:id/drafts 用户的所有话题草稿页

接收 get 参数

offset Number 偏移文章数
tab String 主题分类 (如果没有或为'all'时则默认获取全部主题列表)
limit Number 每一页的主题数量
mdrender String 当为 false 时,不渲染。默认为 true
accesstoken String

示例:/api/v1/user/5534ac219369c8c44862db2a/drafts

8. get /user/:id/replies 用户参与的所有回复页

接收 get 参数

offset Number 偏移文章数
tab String 主题分类 (如果没有或为'all'时则默认获取全部主题列表)
limit Number 每一页的主题数量
mdrender String 当为 false 时,不渲染。默认为 true

示例:/api/v1/user/5534ac219369c8c44862db2a/replies

9. get /user/:id/followers 用户的被关注者列表

接收 get 参数

offset Number 偏移文章数
tab String 主题分类 (如果没有或为'all'时则默认获取全部主题列表)
limit Number 每一页的主题数量
mdrender String 当为 false 时,不渲染。默认为 true

示例:/api/v1/user/5534ac219369c8c44862db2a/followers

10. get /user/:id/followings 用户关注的人的列表

接收 get 参数

offset Number 偏移文章数
tab String 主题分类 (如果没有或为'all'时则默认获取全部主题列表)
limit Number 每一页的主题数量
mdrender String 当为 false 时,不渲染。默认为 true

示例:/api/v1/user/5534ac219369c8c44862db2a/followings

11. post /user/:user_id/block 屏蔽用户

接受 post 参数

accesstoken String 接口会自动判断用户是否已屏蔽,如果否,则屏蔽;如果是,则取消屏蔽。屏蔽动作反应在返回数据的 action 字段中,block or unblock。 返回值示例

{"success": true, "action": "unblock"}

12. get /user/:id/blocklist 用户屏蔽的人的列表

接收 get 参数

offset Number 偏移文章数
limit Number 每一页的主题数量
accesstoken String