【新增】后端代理商列表、分销商列表增加二维码功能。

This commit is contained in:
jianweie code
2023-06-05 22:50:20 +08:00
parent fe5766e090
commit d9b682dbe6
6 changed files with 284 additions and 2 deletions

View File

@@ -832,6 +832,176 @@ namespace CoreCms.Net.Web.Admin.Controllers
#endregion
#region ============================================================
// POST: Api/Tools/GetAgentWxCode
/// <summary>
/// 后台生成代理商小程序码
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("后台生成小程序码")]
public async Task<AdminUiCallBack> GetAgentWxCode([FromBody] FMIntId entity)
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var filesStorageOptions = await _coreCmsSettingServices.GetFilesStorageOptions();
var userModel = await _userServices.QueryByIdAsync(entity.id);
if (userModel == null)
{
jm.code = 1;
jm.msg = "不存在此信息";
return jm;
}
var userCode = UserHelper.GetShareCodeByUserId(entity.id);
var path = "pages/share/jump/jump?scene=11-" + userCode + "-" + userCode;
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
var request = new CgibinWxaappCreateWxaQrcodeRequest();
request.AccessToken = accessToken;
request.Path = path;
var response = await client.ExecuteCgibinWxaappCreateWxaQrcodeAsync(request);
if (response.IsSuccessful())
{
var memStream = new MemoryStream(response.RawBytes);
string url = string.Empty;
if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.LocalStorage.ToString())
{
url = _toolsServices.UpLoadBase64ForLocalStorage(filesStorageOptions, memStream);
}
else if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.AliYunOSS.ToString())
{
//上传到阿里云
url = await _toolsServices.UpLoadBase64ForAliYunOSS(filesStorageOptions, memStream);
}
else if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.QCloudOSS.ToString())
{
//上传到腾讯云OSS
url = _toolsServices.UpLoadBase64ForQCloudOSS(filesStorageOptions, response.RawBytes);
}
else if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.QiNiuKoDo.ToString())
{
//上传到七牛云kodo
url = _toolsServices.UpLoadBase64ForQiNiuKoDo(filesStorageOptions, response.RawBytes);
}
var bl = !string.IsNullOrEmpty(url);
jm.code = bl ? 0 : 1;
jm.msg = bl ? "上传成功!" : "上传失败";
jm.data = new
{
fileUrl = url,
src = url,
path
};
}
else
{
jm.code = 1;
jm.msg = response.ErrorMessage;
}
jm.otherData = response;
return jm;
}
#endregion
#region ============================================================
// POST: Api/Tools/GetDistributionWxCode
/// <summary>
/// 后台生成分销商小程序码
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("后台生成小程序码")]
public async Task<AdminUiCallBack> GetDistributionWxCode([FromBody] FMIntId entity)
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var filesStorageOptions = await _coreCmsSettingServices.GetFilesStorageOptions();
var userModel = await _userServices.QueryByIdAsync(entity.id);
if (userModel == null)
{
jm.code = 1;
jm.msg = "不存在此信息";
return jm;
}
var userCode = UserHelper.GetShareCodeByUserId(entity.id);
var path = "pages/share/jump/jump?scene=4-" + userCode + "-" + userCode;
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
var request = new CgibinWxaappCreateWxaQrcodeRequest();
request.AccessToken = accessToken;
request.Path = path;
var response = await client.ExecuteCgibinWxaappCreateWxaQrcodeAsync(request);
if (response.IsSuccessful())
{
var memStream = new MemoryStream(response.RawBytes);
string url = string.Empty;
if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.LocalStorage.ToString())
{
url = _toolsServices.UpLoadBase64ForLocalStorage(filesStorageOptions, memStream);
}
else if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.AliYunOSS.ToString())
{
//上传到阿里云
url = await _toolsServices.UpLoadBase64ForAliYunOSS(filesStorageOptions, memStream);
}
else if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.QCloudOSS.ToString())
{
//上传到腾讯云OSS
url = _toolsServices.UpLoadBase64ForQCloudOSS(filesStorageOptions, response.RawBytes);
}
else if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.QiNiuKoDo.ToString())
{
//上传到七牛云kodo
url = _toolsServices.UpLoadBase64ForQiNiuKoDo(filesStorageOptions, response.RawBytes);
}
var bl = !string.IsNullOrEmpty(url);
jm.code = bl ? 0 : 1;
jm.msg = bl ? "上传成功!" : "上传失败";
jm.data = new
{
fileUrl = url,
src = url
};
}
else
{
jm.code = 1;
jm.msg = response.ErrorMessage;
}
jm.otherData = response;
return jm;
}
#endregion
//通用页面获取=========================================================================
#region ====================================================