From d9b682dbe6533941ca9e9e11508821ff0c778405 Mon Sep 17 00:00:00 2001 From: jianweie code Date: Mon, 5 Jun 2023 22:50:20 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E4=BB=A3=E7=90=86=E5=95=86=E5=88=97=E8=A1=A8=E3=80=81?= =?UTF-8?q?=E5=88=86=E9=94=80=E5=95=86=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Com/ToolsController.cs | 170 ++++++++++++++++++ .../CoreCms.Net.Web.Admin.xml | 12 ++ .../wwwroot/views/agent/agents/index.html | 27 ++- .../wwwroot/views/agent/agents/qrCode.html | 25 +++ .../views/distribution/distributor/index.html | 27 ++- .../distribution/distributor/qrCode.html | 25 +++ 6 files changed, 284 insertions(+), 2 deletions(-) create mode 100644 CoreCms.Net.Web.Admin/wwwroot/views/agent/agents/qrCode.html create mode 100644 CoreCms.Net.Web.Admin/wwwroot/views/distribution/distributor/qrCode.html 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