Skip to content

Commit

Permalink
更新接口文档,实现全部接口功能,等待测试
Browse files Browse the repository at this point in the history
  • Loading branch information
刘享 committed May 20, 2020
1 parent e837cc8 commit 0d8caf5
Show file tree
Hide file tree
Showing 3 changed files with 207 additions and 10 deletions.
128 changes: 122 additions & 6 deletions API 接口 用户部分 v1.62.md → API 接口 用户部分 v1.7.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# API 接口 用户部分及导出 1.6
# API 接口 用户部分及导出 1.7

修改:

​ V1.7 增加拉取好友的项目的API和移除好友项目的API,修改拉取好友邀请的API

​ V1.62 修改拉取好友,拉取好友请求的返回信息的组织方式,修改邀请好友接口,现在前端需要发送被邀请的用户的id。修改拉取项目邀请的返回内容

​ V 1.61 修改了拉取好友和拉取好友的组织方式
Expand Down Expand Up @@ -325,8 +327,6 @@ Content-Type: application/json

http 响应消息 body 中, 数据以json格式存储,

如果修改昵称成功,返回如下

```
{
"action":"change_name",
Expand Down Expand Up @@ -371,6 +371,14 @@ Content-Type: application/json

服务器收到请求后发送用户的昵称和id(好友功能开发中)

```
{
"action":"get_user_info"
}
```



### 响应消息

```
Expand Down Expand Up @@ -585,7 +593,7 @@ Content-Type: application/json

```
{
"action":"get_friends_applications"
"action":"get_friends_appli"
}
```

Expand Down Expand Up @@ -772,16 +780,124 @@ http 响应消息 body 中, 数据以json格式存储,
'sum':1,
'invites': [
{
"user_id": "zhangsan",
"user_name": "法外狂徒张三",
"user_id": "zhangsan",
"project_id":"1234"
"project_id":"1234",
"project_name": "project_1"
}
]
}
```

其中sum为好友人数,user_name为申请者的昵称,user_id为申请者的id

## 拉取用户可参与编辑的好友的项目

### 请求消息

```
GET /user/other HTTP/1.1
Content-Type: application/json
```

### 请求参数

#### 请求参数

消息体的格式是json,如下示例:

```
{
"action":"get_fri_projects"
}
```

服务端接受到该请求后,返回用户的好友申请列表



### 响应消息

```
HTTP/1.1 200 OK
Content-Type: application/json
```

### 响应内容

http 响应消息 body 中, 数据以json格式存储,

如果修改成功,返回如下

```
{
'sum':1,
'invites': [
{
"user_id": "zhangsan",
"user_name": "法外狂徒张三",
"project_id":"1234",
"project_name": "project_1"
}
]
}
```

其中sum为好友人数,user_name为申请者的昵称,user_id为申请者的id,project_id为邀请的项目id,project_name 为邀请的项目的名称

## 移除好友的项目

### 请求消息

```
POST /user/other HTTP/1.1
Content-Type: application/json
```

### 请求参数

#### 请求参数

消息体的格式是json,如下示例:

```
{
"action":"remove_fri_project",
"project_id": "123"
}
```

服务端接受到该请求后,返回用户的好友申请列表



### 响应消息

```
HTTP/1.1 200 OK
Content-Type: application/json
```

### 响应内容

http 响应消息 body 中, 数据以json格式存储,

如果修改成功,返回如下

```
{
'ret': 1,
'msg': "移除成功"
}
```

```
{
'ret': -1,
'msg': "项目id不存在"
}
```



## 导出实体文件
Expand Down
2 changes: 1 addition & 1 deletion textMark/register/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class big_user(AbstractUser):
friends = set()
friend_apply = set()
project_invite = set()
fri_pro = set()
fri_project = set()



Expand Down
87 changes: 84 additions & 3 deletions textMark/register/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,42 @@
import json
from django.contrib.auth.hashers import check_password
from common.models import Project

from project.entity import export_entities
from project.relation import export_relations,export_triads

def dispatch(request):
if request.method in ['POST', 'PUT']:
request.params = json.loads(request.body)
action = request.params['action']
if action == 'logout':
return sign_out(request)
else:
elif action == 'change_name':
return modify_name(request)
elif action == 'friend_apply':
return apply_friends(request)
elif action == 'friend_apply_accept' or action == 'friend_apply_deny':
return friend_confirm(request)
elif action == 'project_invite':
return invite(request)
elif action == 'project_invite_accept' or action == 'project_invite_deny':
return invite_confirm(request)
elif action == 'remove_fri_project':
return remove_fri_project(request)
elif action == 'get_entities_json':
return export_entities(request)
elif action == 'get_relations_json':
return export_relations(request)
elif action == 'get_triads_json':
return export_triads(request)
elif request.method == 'GET':
return get_user_info(request)
request.params = json.loads(request.body)
action = request.params['action']
if action == 'get_user_info':
return get_user_info(request)
elif action == 'get_friends':
return get_friends(request)
elif action == 'get_friends_appli':
return get_fri_appli(request)


def modify_name(request):
Expand Down Expand Up @@ -200,3 +224,60 @@ def invite(request):
"msg": "邀请已发送"
})


def invite_confirm(request):
user = request.user
action = request.POST.get('action')
if action == 'project_apply_accept':
p_id = request.POST.get('project_id')
proj = Project.objects.get(id=p_id)
user.fri_project.add(proj)


def get_pro_inv(request):
user = request.user
js = {
'sum': len(user.project_invite),
'invites': []
}
for pro in user.project_invite:
js['invites'].append({
'user_id': pro.user.username,
'user_name': pro.user.name,
'project_id': pro.id,
'project_name': pro.name
})
return JsonResponse(json.dumps(js))


def get_fri_project(request):
user = request.user
js = {
'sum': len(user.fri_project),
'invites': []
}
for pro in user.fri_project:
js['invites'].append({
'user_id': pro.user.username,
'user_name': pro.user.name,
'project_id': pro.id,
'project_name': pro.name
})
return JsonResponse(json.dumps(js))


def remove_fri_project(request):
p_id = request.POST.get('project_id')
try:
pro = Project.objects.get(id=p_id)
user = request.user
user.fri_project.remove(pro)
return JsonResponse({
'ret': 1,
'msg': "移除成功"
})
except Project.DoesNotExist:
return JsonResponse({
'ret': -1,
'msg': "项目id不存在"
})

0 comments on commit 0d8caf5

Please sign in to comment.