午夜91福利视频,午夜成人在线观看,午夜在线视频免费观看,午夜福利短视频,精品午夜成人免费视频APP

小程序模板網

小程序開發之模板消息篇

發布時間(jian):2018-12-26 11:40 所屬欄目:小程序開發教程

 

1|5API實現


 到這里,小(xiao)程序端的工作就完成了(le),但(dan)是事情還沒有結束,因為API也該咱實現(苦笑.JPG)。那我們接著來看看在API端有哪些需要處(chu)理(li)的活:

首先我(wo)們(men)要新建發送模板的(de)PostSendTemplete 模型

 
 public class PostSendTemplete
 {
        public string openId { get; set; }

        public string touser { get; set; }

        public string template_id { get; set; }

        public string page { get; set; }

        public string form_id { get; set; }

        public object data { get; set; }

        public string color { get; set; }

        public string emphasis_keyword { get; set; }
 }
 

和一個(ge)返回的TemplateResultModel 模型

 
public class TemplateResultModel
{
        public int errcode { get; set; }
        public string errmsg { get; set; }
        public string template_id { get; set; }
}
 

第一(yi)步,我們新建一(yi)個(ge)SendTemplateMessage 的業務 接口如下:

Task<TemplateResultModel> SendTemplateMessage(PostSendTemplete tmModel);

第二步,實現這個業(ye)務接口:

 
public async Task<TemplateResultModel> SendTemplateMessage(PostSendTemplete tmModel)
{
   WxaTempleteModel model = tmModel.TranslateToSendTemplateDto();
   var result = await _template.SendTemplateMessage(model, tmModel.openId);
   return result;
}
 

第(di)三(san)步(bu),上述(shu)標(biao)紅的是新建的一個數據接(jie)(jie)口,接(jie)(jie)口如(ru)下:

 Task<TemplateResultModel> SendTemplateMessage(WxaTempleteModel tmModel,string code);

第四(si)步,實現上述的數據接口:

 
public async Task<TemplateResultModel> SendTemplateMessage(WxaTempleteModel tmModel,string openid)
{
            tmModel.touser = openid;
            var url = _config[ConfigurationKeys.TEMPLATE_SEND_RUL];
            var accesstoken = MinTokenContext.AccessToken;//注:此處用到的appId和密匙都是小程序的
            string queryUrl = string.Format(url, accesstoken);
            var objectdata = JsonConvert.SerializeObject(tmModel);
            var data = Httphelper.SendPostHttpRequest(queryUrl, contentType, objectdata.ToString());
            TemplateResultModel userCard = JsonConvert.DeserializeObject<TemplateResultModel>(data);
            
            if (userCard.errcode == Invalid_token)
            {
                MinTokenContext.RefreshAccessToken();
                _logger.LogInformation(string.Format(@"模板消息: Access Token 刷新,時間 {0}", DateTime.Now.ToString("yy-MM-dd HH:mm")));

                data = Httphelper.SendPostHttpRequest(queryUrl, contentType, objectdata);
                userCard = JsonConvert.DeserializeObject<TemplateResultModel>(data);
            }

            return userCard;
}

上述方法實現中,都需要(yao)將接口和實現在初始化的(de)時候(hou)綁定,然后(hou)注(zhu)入:

 
//Startup中
    public Startup(IConfiguration configuration)
  {
    Configuration = configuration;
  }

  public IConfiguration Configuration { get; }



 //Configure中:

services.AddScoped<ITemplateMessage, TemplateMessage>();

需要(yao)引入:

using Microsoft.Extensions.Configuration;

1|6實現效果




易優小程序(xu)(企業版)+靈活api+前(qian)后(hou)代碼開(kai)源 碼云倉庫:
本文地址://www.jinyoudianli.com/wxmini/doc/course/25047.html 復制鏈接 如需定制(zhi)請聯系(xi)易優客服咨(zi)詢:

工作日 8:30-12:00 14:30-18:00
周六及部分節假日提供值(zhi)班服務

易小優(you)
轉人工 ×