diff --git a/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs b/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs index ff55b90e..e53a4a15 100644 --- a/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs +++ b/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs @@ -832,6 +832,176 @@ namespace CoreCms.Net.Web.Admin.Controllers #endregion + #region 后台生成代理商小程序码============================================================ + + // POST: Api/Tools/GetAgentWxCode + /// + /// 后台生成代理商小程序码 + /// + /// + [HttpPost] + [Description("后台生成小程序码")] + public async Task 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 + /// + /// 后台生成分销商小程序码 + /// + /// + [HttpPost] + [Description("后台生成小程序码")] + public async Task 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 获取商品列表==================================================== diff --git a/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.xml b/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.xml index 5d909616..d8e26dcf 100644 --- a/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.xml +++ b/CoreCms.Net.Web.Admin/CoreCms.Net.Web.Admin.xml @@ -763,6 +763,18 @@ + + + 后台生成代理商小程序码 + + + + + + 后台生成分销商小程序码 + + + 获取商品列表 diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/agent/agents/index.html b/CoreCms.Net.Web.Admin/wwwroot/views/agent/agents/index.html index e71136c0..2d03bdf8 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/agent/agents/index.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/agent/agents/index.html @@ -82,6 +82,7 @@ + \ No newline at end of file diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/index.html b/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/index.html index f3d93758..4ca22cd0 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/index.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/index.html @@ -103,6 +103,7 @@ + \ No newline at end of file