35 lines
1.6 KiB
C#
35 lines
1.6 KiB
C#
using Assets.Scripts.Apis.Models;
|
|
using Newtonsoft.Json.Linq;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Assets.Scripts.Apis
|
|
{
|
|
public class ThirdPartApi : ApiBase
|
|
{
|
|
public async Task<JObject> GetWxAccessToken(string code)
|
|
{
|
|
return await GetThirdPartAsync<JObject>($"https://api.weixin.qq.com/sns/oauth2/access_token?appid={App.WxAppId}&secret={App.WxAppSecret}&code={code}&grant_type=authorization_code");
|
|
}
|
|
public async Task<JObject> GetWxUserInfo(string accessToken, string openId)
|
|
{
|
|
return await GetThirdPartAsync<JObject>($"https://api.weixin.qq.com/sns/userinfo?access_token=" + accessToken + "&openid=" + openId);
|
|
}
|
|
public async Task<IpToGeoModel> GetLocationInfo()
|
|
{
|
|
return await GetThirdPartAsync<IpToGeoModel>("https://ip.seeip.org/geoip");
|
|
//return await GetThirdPartAsync<LocationModel>($"http://api.map.baidu.com/location/ip?ak=NsfCV0Sp5r0O8yY49RPIpOQZkWFlDnmi&coor=gcj02");
|
|
}
|
|
public async Task<Stream> GetMapImage(IpToGeoModel locationInfo)
|
|
{
|
|
return await GetThirdPartStreamAsync($"https://api.mapbox.com/styles/v1/mapbox/dark-v10/static/{locationInfo.longitude},{locationInfo.latitude},12.14,0/1280x1280?access_token={App.MapBoxAccessToken}");
|
|
//pk.eyJ1IjoiYW5keXNqdCIsImEiOiJja2ZhajE5OGwwamRiMnltcW96bHk0ZWFuIn0.GvKanc6UveWSvIjS9HfBPA
|
|
//pk.eyJ1IjoiYW5keXNqdCIsImEiOiJja2ZhajE5OGwwamRiMnltcW96bHk0ZWFuIn0.GvKanc6UveWSvIjS9HfBPA
|
|
}
|
|
}
|
|
}
|