iHealth 项目的后台程序
- Django==1.8.17
- pymongo==3.4.0
- uWSGI==2.0.15
- 本地启动(windows):
python manage.py runserver 0.0.0.0:8000
-
打开浏览器访问 http://127.0.0.1:8000/
出现 Hello, I am iHealth ' backend! 表示启动成功 -
测试其它接口
获取文章列表:http://127.0.0.1:8000/api/v1/articlelist
获取文章详情:http://127.0.0.1:8000/api/v1/articledetail?id=59eefad4e6c80c707840adc2
- 【接口】获取文章首页列表
- 【接口】获取文章详情
- 【接口】用户登陆验证
- 【接口】模糊匹配指定用户名,返回符合的用户列表
- 【接口】获取用户详情
- 【接口】用户注册
- 【接口】根据 id 批量请求用户信息
- 【接口】点赞数更新
- 【接口】推荐列表 个性化推荐文章
- 【接口】获取用户个人病历
- 【接口】获取某用户的主治医生信息
- 【接口】个人信息的修改
- 【接口】医生为病人添加病历
API 接口采用 RESTful 规范设计
什么是 RESTful 请看:怎样用通俗的语言解释REST,以及RESTful? - 知乎
- 获取首页文章列表
请求方式:GET
参数 | 默认值 | 说明 |
---|---|---|
page | 1 | 取第几页的数据 |
limit | 10 | 一次取多少个 |
userID | None | 用户ID,个性化推荐用 |
cate | None | 首页文章分类,'recommend'为推荐 |
- 获取文章详情
请求方式:GET
参数 | 默认值 | 说明 |
---|---|---|
id | None | 取指定id的文章详情 |
userID | None | 用户ID,个性化推荐用 |
- 点赞接口
请求方式:GET
参数 | 默认值 | 说明 |
---|---|---|
id | None | 取指定id的文章详情 |
userID | None | 用户ID,个性化推荐用 |
- 用户登陆验证
示例:http://ihealth.yangyingming.com/api/v1/usercheck
请求方式:POST
参数 | 默认值 | 说明 |
---|---|---|
None | 待验证用户的邮箱 | |
password | None | 待验证用户的密码 |
- 模糊匹配指定用户名,返回符合的用户列表
示例:http://ihealth.yangyingming.com/api/v1/userlist?name=小明
请求方式:GET
参数 | 默认值 | 说明 |
---|---|---|
name | '' | 模糊匹配条件 |
selfname | '' | 需要排除的name值 |
limit | 10 | 最多匹配多少条结果 |
- 获取用户详情
示例:http://ihealth.yangyingming.com/api/v1/user?id=59fb1595dfdeee2b4c26c346
请求方式:GET
参数 | 默认值 | 说明 |
---|---|---|
id | None | 用户id |
- 用户注册
示例:http://ihealth.yangyingming.com/api/v1/reguser
请求方式:POST
参数 | 默认值 | 说明 |
---|---|---|
None | 注册邮箱 | |
password | None | 密码 |
nickname | None | 用户昵称 |
name | None | 用户真实姓名 |
sex | None | 性别 0:女 1:男 |
usertype | None | 用户类别 0:游客 1:患者 2:医生 3:管理员 |
birthday | None | 用户出生日期 |
introduction | None | 个人介绍 |
age | None | 用户年龄 |
phone | None | 注册手机号 |
- 根据ID批量获取用户信息
请求方式:GET
参数 | 默认值 | 说明 |
---|---|---|
id | None | 要获取的用户id,可以是多个 |
- 修改昵称
示例:http://ihealth.yangyingming.com/api/v1/changeNickname
请求方式:POST
参数 | 默认值 | 说明 |
---|---|---|
id | None | 要修改昵称的用户id |
newName | None | 修改后的昵称 |
- 修改手机号
示例:http://ihealth.yangyingming.com/api/v1/changePhone
请求方式:POST
参数 | 默认值 | 说明 |
---|---|---|
id | None | 要修改手机号的用户id |
newPhone | None | 修改后的手机号 |
- 修改姓名
示例:http://ihealth.yangyingming.com/api/v1/changeName
请求方式:POST
参数 | 默认值 | 说明 |
---|---|---|
id | None | 要修改姓名的用户id |
newName | None | 修改后的姓名 |
- 修改性别
示例:http://ihealth.yangyingming.com/api/v1/changeSex
请求方式:POST
参数 | 默认值 | 说明 |
---|---|---|
id | None | 要修改性别的用户id |
newSex | None | 修改后的性别 |
- 修改密码
示例:http://ihealth.yangyingming.com/api/v1/changePassword
请求方式:POST
参数 | 默认值 | 说明 |
---|---|---|
id | None | 要修改密码的用户id |
oldPassword | None | 原密码 |
newPassword | None | 新密码 |
- 修改出生日期
示例:http://ihealth.yangyingming.com/api/v1/changeBirthday
请求方式:POST
参数 | 默认值 | 说明 |
---|---|---|
id | None | 要修改出生日期的用户id |
newBirthday | None | 新的出生日期 |
- 添加病历
示例:http://ihealth.yangyingming.com/api/v1/addMedicalRecord
请求方式:POST
参数 | 默认值 | 说明 |
---|---|---|
id | None | 要添加病历的用户id |
date | None | 添加病历的日期 |
doctor | None | 添加病历的主治医生 |
content | None | 病历内容 |
- 创建项目目录
django-admin startproject iHealth_site
- 运行自带服务器进行测试
python manage.py runserver 0.0.0.0:8000
注意:想要外网访问需要在 settings.py 的 ALLOWED_HOSTS = ['*']
- 创建app目录
python manage.py startapp mysite
-
开启 MongoDB 权限认证:在配置文件中加入 auth = true
-
创建管理员用户(如果你是第一次使用 MongoDB)
use admin
db.createUser({user:"admin",pwd:"admin123",roles:["userAdminAnyDatabase"]})
管理员用户用来创建其他数据库和用户
- 使用管理员账户远程登录
C:\Users\cs>mongo [your_ip]:27017
> use admin
switched to db admin
> db.auth('admin','admin123')
1
- 创建 iHealth 数据库,以及操作该数据库的用户
use iHealth // 创建 iHealth 数据库,并作为认证数据库
db.createUser({
user:'admin', // 用户名
pwd:'admin123', // 用户密码
roles:[{role:'readWrite',db:'iHealth'}] // 为该用户赋予数据库的读写权限
})
- 使用该用户远程登录 iHealth 数据库
C:\Users\cs>mongo [your_ip]:27017
> use iHealth
switched to db iHealth
> db.auth('admin','admin123')
1
> db.getCollectionNames()
[ ]
数据库刚刚创建,所以没有数据
- client 提交post 到 django出现403错误
http://blog.csdn.net/watsy/article/details/9009847