namespace Yw
|
{
|
/// <summary>
|
/// ViewToken
|
/// </summary>
|
public sealed partial class BimfaceClient
|
{
|
//视图令牌请求地址
|
private const string _viewtokenurl = @"https://api.bimface.com/view/token";
|
|
/// <summary>
|
/// 获取ViewToken
|
/// </summary>
|
public string GetViewToken(long id, eModelIdType modelIdType = eModelIdType.fileId)
|
{
|
GetAccessToken();
|
if (_expiretime.ValidViewTokenExpiration(id, DateTime.Now))
|
getViewToken(id, modelIdType);
|
return _viewtokenDic[id];
|
}
|
|
|
|
//获取ViewToken,内部调用
|
private void getViewToken(long id, eModelIdType modelIdType = eModelIdType.fileId)
|
{
|
var url = string.Format("{0}?{1}={2}", _viewtokenurl, modelIdType.ToString(), id);
|
using (var httpClient = new HttpClient())
|
{
|
httpClient.DefaultRequestHeaders.Add("Method", "Get");
|
var header = new HttpHeaders().GetBasicAuthorHeader(_accesstoken);
|
httpClient.DefaultRequestHeaders.Add(header.Key, header.Value);
|
var response = httpClient.GetAsync(url).Result;
|
response.EnsureSuccessStatusCode();
|
var responsetext = response.Content.ReadAsStringAsync().Result;
|
var result = JsonHelper.Json2Object<Result<string>>(responsetext);
|
if (result.code != Constants.Success)
|
{
|
throw new Exception(result.code);
|
}
|
if (_viewtokenDic.ContainsKey(id))
|
_viewtokenDic[id] = result.data;
|
else
|
_viewtokenDic.Add(id, result.data);
|
_expiretime.SetViewTokenGetTime(id, DateTime.Now);
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
}
|