• C# 中写得很不错的一段代码摘出来


    private void LikeMyworkEvent(EditedImg img, bool islike)  //点赞自己的作品
        {
            if (ApplicationModel.userInfo != null)
            {
                OffLineController.Instance.OffLine();
                return;
            }
            if(img.workId == null || img.workId == "")     //这个作品还没有自己的作品id,需要先上传
            {
                UploadUserEditedFileCo(img , image => { LikeMyworkEvent(image, islike);});
            }
            else
            {
                NetLoadcontroller.Instance.RequestUrlWidthMethodGet(
                ApplicationModel.HOST + "/image/like?uid=" + ApplicationModel.userInfo.Uid +
                         "&authorUid=" + ApplicationModel.userInfo.Uid + "&workId=" + img.workId + "&action=" + GetActionStrByBool(islike) + "&sessionId=" + ApplicationModel.userInfo.SessionId,
                            (json, isSuccess) => { LikeRequestCallback(json, isSuccess); }
                );
            }
        }
        public IEnumerator UploadUserEditedFileCo(EditedImg img, Action<EditedImg> calback)
        {
            yield return new WaitForSeconds(2f);
            //TODO:daiwancheng
            WWWForm postForm = GetPostFormByEditedImg(img);
            WWW upload = new WWW(ApplicationModel.HOST + "/image/saveWork", postForm);
            yield return upload;
            NetLoadcontroller.Instance.RequestUrlWidthMethodPost(
                    ApplicationModel.HOST + "/image/saveWork",
                    postForm,
                    (json, isSuccess) => { UploadUserEditedFileCallback(json, isSuccess, img, calback); }
                );
        }
     private WWWForm GetPostFormByEditedImg(EditedImg img)
        {
            WWWForm postForm = new WWWForm();
            postForm.AddField("imageId", img.imageId);
            postForm.AddBinaryData("clickPos", GetClickPosFromImg(img.imageId).EncodeToPNG(), img.imageId + "_pos");
            postForm.AddBinaryData("palette", GetPaletteFromImg(img.imageId).EncodeToPNG(), img.imageId + "_ed");
            postForm.AddField("deviceId", ApplicationModel.device_id);
            postForm.AddField("uid", ApplicationModel.userInfo.Uid);
            postForm.AddBinaryData("finalImg", GetTex2dFromImg(img.imageId).EncodeToPNG(), img.imageId);
            postForm.AddField("sessionId", ApplicationModel.userInfo.SessionId);
            return postForm;
        }
    private void UploadUserEditedFileCallback(string json, bool isSuccess, EditedImg img, Action<EditedImg> calback)
        {
            if (isSuccess)
            {
                UploadEditedFileReturnJson uploadEditedFileReturnJson = JsonConvert.DeserializeObject<UploadEditedFileReturnJson>(json);
                if (uploadEditedFileReturnJson.status == 0)
                {
                    img.workId = uploadEditedFileReturnJson.data.workId;
                    calback(img);
                }
            }
            else
            {
                //:上传失败
            }
        }
  • 相关阅读:
    Javascript代码收集
    JS表自动取值赋值
    数据分析04 /基于pandas的DateFrame进行股票分析、双均线策略制定
    数据分析03 /基于pandas的数据清洗、级联、合并
    数据分析02 /pandas基础
    数据分析01 /numpy模块
    爬虫07 /scrapy图片爬取、中间件、selenium在scrapy中的应用、CrawlSpider、分布式、增量式
    爬虫06 /scrapy框架
    爬虫05 /js加密/js逆向、常用抓包工具、移动端数据爬取
    爬虫04 /asyncio、selenium规避检测、动作链、无头浏览器
  • 原文地址:https://www.cnblogs.com/qianxinxu/p/7577525.html
Copyright © 2020-2023  润新知