开发者日志

开发者日志

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 好友 以及聊天的功能

1563806909699

绑定界面提交信息 获取信息

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列表'
posted @ 2019-07-22 23:57  learnacode  阅读(568)  评论(0编辑  收藏  举报