C# 中寫得很不錯的一段代碼摘出來
阿新 • • 發佈:2017-09-23
spa edi model png off callback 代碼 iss back
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 { //:上傳失敗 } }
C# 中寫得很不錯的一段代碼摘出來