开发者日志
开发者日志
scan扫描二位码
前端请求数据
请求协议:
JSON:
{
"device_key":device_key, //app扫描二维码后获取到的device_key
}
获得数据device从request.form.to_dict里
判断是否在数据库里, device_info = MDB.Devices.find_one(device)
if d_i : RET['code'] = 0 RET['MSG'] = '成功' RET['DATA'] = device 返回
else : RET['code'] = 1 RET['MSG'] = '失败' RET['DATA'] = {} 返回
后端返回数据 ,写到RET里
return jsonify(RET) # 返回前端数据,告诉前端的扫描情况
绑定玩具
URL地址: /bind_toy
请求方式: POST
请求协议:
JSON:
{
"toy_name":toy_name, //toy名称
"baby_name":baby_name, //toy所属主人名称
"remark":remark, //toy主人对App用户的称呼
"user_id":user_id,//绑定Toy的App用户Id
"device_key":device_key, //设备唯一编码device_key
}
响应数据
JSON:
{
"code":0,
"msg":"绑定完成",
"data":{}
}
写的这么简单 但是中间还有 绑定的逻辑 toy add app app add toy 好友 以及聊天的功能
绑定界面提交信息 获取信息
toy_info = request.form.to_dict()
# 增加一些数据结构要求的信息,提交没有的
根据数据结构,的提示
先写toy_info 的数据, 比如 user_id 到 bind_user , 还要pop user_id
给 ['friend_list'] =[] 因为内容太多, 要单独写一个{} toy_add_user的
写上user的id 昵称 等等
通过 user_info = MDB.User.find_one({'_id': Obj(user_id)}) 查到user_info的信息,填到上面
toy_add_user字典中还有个聊天的id , 所以 ,新insert_one 一个表, 然后可以获得id , 写到上面 # 这里有一个好的获得id的方法,
chat_id = MDB.Chats.insert_one({'user_list':[], 'chat_list':[]}) # 写就行,没有数据就写空,不要纠结,明儿不要忘了
chat_id.inserted_id # 但是得到的这个不是完备的,只有一个,应该是两个才对
信息准备完了, 更新到数据库里 , (也为后面的user_add_toy的id做准备 )
user_info['friend_list'].append(toy_add_user)
toy_id = MDB.Toys.insert_one(toy_info)
同理, 给user 设置好友
user_add_toy = {} 给了id 就是上面的 str(toy_id.inserted_id 给了 昵称 , 名字, 以及 toy.jpg 和 chat_id.insert_id # 聊天的 重复了不太对
然后 添加到数据库
user_info['bind_toy'] = str(toy_id.inserted_id) # 和上面一样
MDB.Users.update_one({'_id':Object(user_id)}:{$set:user_info}) # 这样set的 反正是字典 和 toy_info也差不哦
MDB.Chats.update_one("id")set:user_list : user_id , str(toy_id.inserted_id) #
更新完 Users 和 Chats的表
然后填写数据 RET 返回就完了
toy_list 显示toy
请求协议:
JSON:
{
"_id":user_id //App用户Id
}
响应数据: 不就是 toy吗
JSON:
{
"code":0,
"msg":"获取Toy列表",
"data":
[
{
"_id" : ObjectId("5bcdaaa6268d794ec8af3fa2"),
"device_key" : "bc557bcc9570069a494a64eb38698d35",
"bind_user" : "5bcda858268d796fc8d3e3de",
"toy_name" : "蛋蛋",
"avatar" : "toy.jpg",
"baby_name" : "臭屎蛋儿",
"gender" : "1",
"friend_list" : [
{
"friend_nickname" : "淫王",
"friend_avatar" : "girl.jpg",
"friend_remark" : "爸爸",
通过 前端返回的user_id 找 bind_user ,然后通过bind_user找到 toys
给str处理一下id , 然后写入RET 返还给后端 , 不要忘了格式,
RET['CODE'] = 0
RET['MSG'] ='获取Toy列表'