/// <summary> /// 获取签名的参数生成器 /// </summary> private UrlParameterBuilder GetSignBuilder(bool isConvertToSingleQuotes = false) { var builder = new UrlParameterBuilder(_builder); if (Content.IsEmpty == false) { builder.Add(AlipayConst.BizContent, Content.ToJson(isConvertToSingleQuotes)); } builder.Add(AlipayConst.Sign, GetSign(builder)); return(builder); }
/// <summary> /// 获取签名的参数生成器 /// </summary> private UrlParameterBuilder GetSignBuilder() { var builder = new UrlParameterBuilder(_builder); builder.Add(AlipayConst.Sign, GetSign()); return(builder); }
/// <summary> /// 添加 /// </summary> /// <param name="key">键</param> /// <param name="value">值</param> /// <returns></returns> public AlipayParameterBuilder Add(string key, string value) { if (key.IsEmpty()) { return(this); } if (value.IsEmpty()) { return(this); } if (_builder.GetValue(key) == null) { return(this); } _builder.Remove(key); _builder.Add(key, value); return(this); }
/// <summary> /// 从Request加载查询参数 /// </summary> /// <param name="builder">Url参数生成器</param> public static void LoadQuery(this UrlParameterBuilder builder) { var query = Web.Request?.Query; if (query == null) { return; } foreach (var key in query.Keys) { if (query.ContainsKey(key)) { builder.Add(key, query[key]); } } }
/// <summary> /// 从Request加载表单参数 /// </summary> /// <param name="builder">Url参数生成器</param> public static void LoadForm(this UrlParameterBuilder builder) { var form = Web.Request?.Form; if (form == null) { return; } foreach (var key in form.Keys) { if (form.ContainsKey(key)) { builder.Add(key, form[key]); } } }
/// <summary> /// 设置格式 /// </summary> /// <param name="format">格式</param> /// <returns></returns> private AlipayParameterBuilder Format(string format) { _builder.Add(AlipayConst.Format, format); return(this); }
/// <summary> /// 添加参数 /// </summary> /// <param name="key">键</param> /// <param name="value">值</param> public ISignManager Add(string key, object value) { _builder.Add(key, value); return(this); }
public void TestAdd_1() { Assert.Equal("a=b", _builder.Add("a", "b").Result()); Assert.Equal("a=b&c=d", _builder.Add("c", "d").Result()); }
public void TestJoinUrl(string url, string result) { Assert.Equal(result, _builder.Add("a", "1").Add("b", "2").JoinUrl(url)); }
/// <summary> /// 设置应用ID /// </summary> /// <param name="appId">应用ID</param> /// <returns></returns> public AuthorizationParameterBuilder AppId(string appId) { _builder.Add(OAuthConst.AppId, appId); return(this); }