public virtual async Task <string> Getwxacodeunlimit(string scene, string page = "pages/index/index") { var key = "SoMall:QR:Mini"; var cache = await _redisClient.HashGetAsync(key, scene); if (cache.HasValue) { return(cache.ToString()); } var appId = await _setting.GetOrNullAsync(WeixinManagementSetting.MiniAppId); var appSec = await _setting.GetOrNullAsync(WeixinManagementSetting.MiniAppSecret); var token = await GetAccessTokenAsync(appId, appSec); var url = $"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={token}"; var img = HttpEx.PostGotImageByte(url, new { scene, page }); var upyun = await GetUploader(); var result = upyun.writeFile($"/somall/mini_qr/{scene}.jpg", img, true); if (result) { var path = $"{upyun.Domain}/somall/mini_qr/{scene}.jpg"; await _redisClient.HashSetAsync(key, scene, path); return(path); } throw new UserFriendlyException("生成小程序二维码失败"); }