• 开发者日志


    开发者日志

    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列表'
    
  • 相关阅读:
    数据库mysql中`的作用
    省,市,区三级下拉框联动以及localStorage当做缓存优化
    仿头条新闻app,实现下拉刷新,上拉加载分页
    js获取checkbox多选表单
    这两天的工作:webApp接口对接开发
    我做的一个考试资料app的控制器和后台
    我做的cms后台管理1,商业网站
    thinkphp简单后台cms的操作逻辑
    thinkphp后台登陆自动监测方法_initialize
    topthink有时间看看
  • 原文地址:https://www.cnblogs.com/Doner/p/11229309.html
Copyright © 2020-2023  润新知