public ServiceResult <WxEE_JssdkConfigOutput> config(WxEE_JssdkConfigInput input) { var result = _ee_jssdk.GetConfig(input); Response.StatusCode = result.code; return(result); }
/// <summary> /// 获取jssdk配置 /// </summary> /// <param name="mid"></param> /// <param name="url"></param> /// <returns></returns> public ServiceResult <WxEE_JssdkConfigOutput> GetConfig(WxEE_JssdkConfigInput input) { try { input.CheckNull(nameof(WxEE_JssdkConfigInput)); input.guid.CheckEmpty(nameof(input.guid)); input.url.CheckEmpty(nameof(input.url)); var config = new WxEE_JssdkConfigOutput(); //时间戳 config.time_stamp = WxContext.Common.GenerateTimeStamp(); //随机字符 config.nonce_str = WxContext.Common.GenerateNonceStr(); //获取微信配置 var wechatConfig = _middleDB.WechatEeappConfig.Select(s => new { s.Id, s.Guid, s.CorpId }).FirstOrDefault(w => w.Guid == input.guid); config.corpid = wechatConfig.CorpId; //token var token = _configService.GetAccessToken(new WxEE_AuthorizeAccessTokenInput { guid = wechatConfig.Guid }); if (token.code != StatusCodes.Status200OK) { return(ServiceResult <WxEE_JssdkConfigOutput> .Failed(token.code, token.msg)); } //jsapi_ticket var ticket = GetJsapiTicket(new WxEE_JssdkJsapiTicketInput { guid = wechatConfig.Guid, access_token = token.data.access_token }); //signature config.signature = WxContext.Common.GenerateSignature(config.time_stamp, config.nonce_str, ticket.data.jsapi_ticket, input.url); return(ServiceResult <WxEE_JssdkConfigOutput> .Success(config)); } catch (Exception ex) { return(ServiceResult <WxEE_JssdkConfigOutput> .Exception(ex.Message)); } }