Ejemplo n.º 1
0
        public JsonResult GetShareLinks()
        {
            try
            {
                var           tokenId = CommonHelper.GetToken(Request.Form["TokenId"]);
                ShareLinkItem item    = new ShareLinkItem()
                {
                    id   = Request.Form["Docid"],
                    type = Request.Form["FileType"]
                };

                IShareLinkAPIHelper helper = new ShareLinkAPIHelper();
                long errorCode             = 0;
                var  model = helper.GetShareLink(tokenId, item, out errorCode);
                if (errorCode > 0)
                {
                    return(Json(new JsonModel {
                        Success = true, StatusCode = errorCode
                    }));
                }

                return(Json(new JsonModel {
                    Success = true, StatusCode = errorCode, Data = JsonConvert.SerializeObject(model)
                }));
            }
            catch (Exception ex)
            {
                _log.Debug($"GetShareLinks Exception: {ex.Message}");
                return(Json(new JsonModel {
                    Success = false, Message = ex.Message
                }));
            }
        }
        /// <summary>
        ///  获取匿名共享
        /// </summary>
        /// <param name="item">ShareLinkItem</param>
        /// <returns>匿名共享集合</returns>
        public List <ShareLinkModel> GetShareLink(string token, ShareLinkItem item, out long errorCode)
        {
            try
            {
                errorCode = 0;
                var handler = new WebRequestHandler();
                handler.ServerCertificateValidationCallback = delegate { return(true); };
                using (var httpClient = new HttpClient(handler))
                {
                    httpClient.DefaultRequestHeaders.Add("Authorization", token);

                    var res    = httpClient.GetAsync($"{Constant.OAuth2Url}/api/shared-link/v1/document/{item.type}/{item.id}?type=anonymous&offset=0&limit=1000").Result;
                    var resStr = res.Content.ReadAsStringAsync().Result;

                    int resCode = (int)res.StatusCode;
                    // 若为错误返回码则抛出异常
                    if (resCode < 200 || resCode >= 300)
                    {
                        var errModel = JsonConvert.DeserializeObject <ErrorModel>(resStr);
                        _log.Debug($"GetShareLink Exception: {errModel.cause}, Code: {errModel.code}");
                        errorCode = errModel.code;
                        return(null);
                    }
                    var oList = JsonConvert.DeserializeObject <List <OriginShareLinkModel> >(resStr);
                    return(GetShareLinkModels(oList));
                }
            }
            catch (Exception ex)
            {
                _log.Debug($"DeleteShareLink Exception: {ex.Message}");
                throw ex;
            }
        }
Ejemplo n.º 3
0
        public void GetRealNameShareLink()
        {
            var model = new ShareLinkItem()
            {
                id   = CommonHelper.EncodeUrl(TestData.fileId),
                type = "file"
            };
            var res = helper.GetRealNameShareLink(TestData.access_token, model, out long code);

            Assert.IsNotNull(res);
        }
Ejemplo n.º 4
0
        public JsonResult GetRealNameShareLinkId()
        {
            try
            {
                _log.Debug("GetRealNameShareLink Start");
                var           tokenId = CommonHelper.GetToken(Request.Form["TokenId"]);
                ShareLinkItem item    = new ShareLinkItem()
                {
                    id   = Request.Form["Docid"],
                    type = Request.Form["FileType"]
                };

                IShareLinkAPIHelper helper = new ShareLinkAPIHelper();
                long errorCode             = 0;
                var  realNameId            = helper.GetRealNameShareLink(tokenId, item, out errorCode);
                if (errorCode > 0)
                {
                    return(Json(new JsonModel {
                        Success = true, StatusCode = errorCode
                    }));
                }
                if (string.IsNullOrEmpty(realNameId))
                {
                    item.id = CommonHelper.DecodeUrl(item.id);
                    CreatRealNameShareLinkModel model = new CreatRealNameShareLinkModel()
                    {
                        item = item
                    };
                    realNameId = helper.CreatRealNameShareLink(tokenId, model, out errorCode);
                    if (errorCode > 0)
                    {
                        return(Json(new JsonModel {
                            Success = true, StatusCode = errorCode
                        }));
                    }
                }

                _log.Debug("GetRealNameShareLink End");
                return(Json(new JsonModel {
                    Success = true, StatusCode = errorCode, Data = realNameId
                }));
            }
            catch (Exception ex)
            {
                _log.Debug($"GetRealNameShareLink Exception: {ex.Message}");
                return(Json(new JsonModel {
                    Success = false, Message = ex.Message
                }));
            }
        }
Ejemplo n.º 5
0
        public void CreatRealNameShareLinkModelTest()
        {
            ShareLinkItem shareLinkItem = new ShareLinkItem()
            {
                id   = "id",
                type = "type"
            };
            var id   = shareLinkItem.id;
            var type = shareLinkItem.type;

            Assert.IsTrue(id == "id");
            Assert.IsTrue(type == "type");

            CreatRealNameShareLinkModel creatRealNameShareLinkModel = new CreatRealNameShareLinkModel()
            {
                item = shareLinkItem
            };
            var item = creatRealNameShareLinkModel.item;

            Assert.IsTrue(item == shareLinkItem);
        }