Пример #1
0
def SaveMarkdownData(request):  #用来保存协同作战数据
    RequestLogRecord(request, request_api="save_markdown_data")
    if request.method == "POST":
        try:
            UserToken = json.loads(request.body)["token"]
            MarkdownData = json.loads(request.body)["markdown_data"]  #传入保存的数据
            MarkdownName = json.loads(request.body)["markdown_name"]  #传入文档名称
            MarkdownDataToBast64 = base64.b64encode(
                str(MarkdownData).encode('utf-8')).decode(
                    'utf-8')  #转换成base64的数据
            Uid = UserInfo().QueryUidWithToken(UserToken)  # 如果登录成功后就来查询用户名
            if Uid != None:  # 查到了UID
                UserOperationLogRecord(request,
                                       request_api="save_markdown_data",
                                       uid=Uid)
                CheckPermissionsResult = MarkdownRelationship(
                ).CheckPermissions(markdown_name=MarkdownName,
                                   uid=Uid)  #检查是否有权限,也就是说这个项目是否属于该用户
                if CheckPermissionsResult:  #如果属于该用户
                    CheckConflictResult = MarkdownInfo().CheckConflict(
                        markdown_name=MarkdownName)  #检查数据库这个文件是否存在
                    if CheckConflictResult:  #如果文件已经有数据了
                        if not MarkdownInfo().Update(
                                markdown_name=MarkdownName,
                                markdown_data=MarkdownDataToBast64
                        ):  #就对数据进行更新,接着判断更新返回值
                            return JsonResponse({
                                'message': "保存失败~玛卡巴卡~~",
                                'code': 503,
                            })
                    else:  #如果没有数据
                        MarkdownInfo().Write(
                            markdown_name=MarkdownName,
                            markdown_data=MarkdownDataToBast64)  #就对数据进行写入
                    return JsonResponse({
                        'message': "保存成功啦~阿巴阿巴~",
                        'code': 200,
                    })
                else:
                    return JsonResponse({
                        'message': "小朋友不是你的东西别乱动哦~~",
                        'code': 404,
                    })
            else:
                return JsonResponse({
                    'message': "小宝贝这是非法操作哦(๑•̀ㅂ•́)و✧",
                    'code': 403,
                })
        except Exception as e:
            ErrorLog().Write(
                "Web_CollaborationPlatform_Markdown_SaveMarkdownData(def)", e)
            return JsonResponse({
                'message': '呐呐呐!莎酱被玩坏啦(>^ω^<)',
                'code': 169,
            })
    else:
        return JsonResponse({
            'message': '请使用Post请求',
            'code': 500,
        })
Пример #2
0
def QueryMarkdownData(request):  #用来查询协同作战数据
    RequestLogRecord(request, request_api="query_markdown_data")
    if request.method == "POST":
        try:
            UserToken = json.loads(request.body)["token"]
            MarkdownName = json.loads(request.body)["markdown_name"]  #传入文档名称
            Uid = UserInfo().QueryUidWithToken(UserToken)  # 如果登录成功后就来查询用户名
            if Uid != None:  # 查到了UID
                UserOperationLogRecord(request,
                                       request_api="query_markdown_data",
                                       uid=Uid)
                CheckPermissionsResult = MarkdownRelationship(
                ).CheckPermissions(markdown_name=MarkdownName,
                                   uid=Uid)  #检查是否有权限,也就是说这个项目是否属于该用户
                if CheckPermissionsResult:  #如果属于该用户
                    CheckConflictResult = MarkdownInfo().CheckConflict(
                        markdown_name=MarkdownName)  #检查数据库这个文件是否存在
                    if CheckConflictResult:  #如果文件已经有数据了
                        MarkdownInfoResult = MarkdownInfo().Query(
                            markdown_name=MarkdownName)  #文件数据查询
                        return JsonResponse({
                            'message': MarkdownInfoResult,
                            'code': 200,
                        })
                    else:  #如果没有数据

                        return JsonResponse({
                            'message': "",
                            'code': 200,
                        })
                else:
                    return JsonResponse({
                        'message': "小朋友不是你的东西别乱动哦~~",
                        'code': 404,
                    })
            else:
                return JsonResponse({
                    'message': "小宝贝这是非法操作哦(๑•̀ㅂ•́)و✧",
                    'code': 403,
                })
        except Exception as e:
            ErrorLog().Write(
                "Web_CollaborationPlatform_Markdown_QueryMarkdownData(def)", e)
            return JsonResponse({
                'message': '呐呐呐!莎酱被玩坏啦(>^ω^<)',
                'code': 169,
            })
    else:
        return JsonResponse({
            'message': '请使用Post请求',
            'code': 500,
        })


#数据对比函数,以及关系表中多人相关数据
Пример #3
0
def MarkdownDataComparison(request):  #md文档数据对比
    RequestLogRecord(request, request_api="markdown_data_comparison")
    if request.method == "POST":
        try:
            UserToken = json.loads(request.body)["token"]
            MarkdownData = json.loads(
                request.body)["new_markdown_data"]  #传入新文本数据
            MarkdownName = json.loads(request.body)["markdown_name"]  # 传入文档名称
            Uid = UserInfo().QueryUidWithToken(UserToken)  # 如果登录成功后就来查询用户名
            if Uid != None:  # 查到了UID
                UserOperationLogRecord(request,
                                       request_api="markdown_data_comparison",
                                       uid=Uid)
                CheckPermissionsResult = MarkdownRelationship(
                ).CheckPermissions(markdown_name=MarkdownName,
                                   uid=Uid)  #检查是否有权限,也就是说这个项目是否属于该用户
                if CheckPermissionsResult:  #如果属于该用户

                    MarkdownDataResult = MarkdownInfo().QueryMarkdownData(
                        markdown_name=MarkdownName)  #文件数据查询
                    if MarkdownDataResult == None:
                        MarkdownDataResult = ""  #如果数据库中无数据
                    OldMarkdownData = base64.b64decode(
                        str(MarkdownDataResult).encode('utf-8')).decode(
                            'utf-8').splitlines()
                    NewMarkdownData = MarkdownData.splitlines()
                    ComparisonResult = difflib.HtmlDiff().make_file(
                        OldMarkdownData, NewMarkdownData)  #对比结果
                    return JsonResponse({
                        'message': ComparisonResult,
                        'code': 200,
                    })

                else:
                    return JsonResponse({
                        'message': "小朋友不是你的东西别乱动哦~~",
                        'code': 404,
                    })
            else:
                return JsonResponse({
                    'message': "小宝贝这是非法操作哦(๑•̀ㅂ•́)و✧",
                    'code': 403,
                })
        except Exception as e:
            ErrorLog().Write(
                "Web_CollaborationPlatform_Markdown_MarkdownDataComparison(def)",
                e)
            return JsonResponse({
                'message': '呐呐呐!莎酱被玩坏啦(>^ω^<)',
                'code': 169,
            })
    else:
        return JsonResponse({
            'message': '请使用Post请求',
            'code': 500,
        })


#数据对比函数,以及关系表中多人相关数据