## 1.2.7(2022-01-1)

通用调整:
【调整】启用SqlSugar.Ioc及SqlSugarCore,弃用SqlSugarClient,保证线程安全及提高对象代码容错率。减少mysql下偶发性问题。
【优化】优化【后台生成小程序码】【后台生成预览页面设计小程序码】代码,并修复【七牛云】上传方式。#I4OHP9
【优化】修复treeTable的折叠列字符字符过长导致内容显示不全的问题。
【调整】应会员需求,开源社区版前端代码增加使用账号密码登录,取回账号密码的示例文档。详情预览【CoreCms.Net.Uni-App\CoreShop\pages\login】下文件。#I4O4H4
【优化】调整首页商品【goods】在根据栏目选择商品时候排序问题,调整为【sort desc,id desc】按照先自定义排序,后数据序列排序。取消【creattime desc】排序。#I4NW4F
【修复】修复首页设计使用【图片模块】导致图片浮动遮挡右下角按钮的问题。#I4NPZL
【优化】调整小程序消息通知设置,当未设置消息提醒时,不弹出错误项提示功能,保证订单下单时到支付订单页面不报错误提示。#I4N4UL。

## 0.0.3 会员版/商业版:
【修复】修复下单界面【添加收货地址】按钮宽度及不居中的问题。
【优化】去除接口生成海报不需要的字体,只保留思源标准字体。
【修复】修复弹窗登录报【checkbox未嵌套的问题】,导致授权页有报错。#I4OYPR
【修复】移除【Microsoft.IdentityModel.Tokens】组件,防止更新组件导致对jwt token校验的影响。
【优化】移除【http.interceptor.js】遗留的前端请求拦截器。
This commit is contained in:
JianWeie
2022-01-03 03:11:25 +08:00
parent 3d08dbfce3
commit 35811f0be1
14 changed files with 114 additions and 241 deletions

View File

@@ -591,7 +591,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var _filesStorageOptions = await _coreCmsSettingServices.GetFilesStorageOptions();
var filesStorageOptions = await _coreCmsSettingServices.GetFilesStorageOptions();
var formModel = await _coreCmsFormServices.QueryByIdAsync(entity.id);
@@ -615,100 +615,37 @@ namespace CoreCms.Net.Web.Admin.Controllers
{
var memStream = new MemoryStream(response.RawBytes);
var newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + ".jpg";
var today = DateTime.Now.ToString("yyyyMMdd");
if (_filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.LocalStorage.ToString())
string url = string.Empty;
if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.LocalStorage.ToString())
{
var saveUrl = "/Upload/QrCode/" + today + "/";
var dirPath = _webHostEnvironment.WebRootPath + saveUrl;
string bucketBindDomain = AppSettingsConstVars.AppConfigAppUrl;
url = _toolsServices.UpLoadBase64ForLocalStorage(filesStorageOptions, memStream);
if (!Directory.Exists(dirPath)) Directory.CreateDirectory(dirPath);
var filePath = dirPath + newFileName;
var fileUrl = saveUrl + newFileName;
//储存图片
System.IO.File.Delete(filePath);
await using (var fs = new FileStream(filePath, FileMode.CreateNew))
{
await memStream.CopyToAsync(fs).ConfigureAwait(false);
await fs.FlushAsync().ConfigureAwait(false);
}
jm.code = 0;
jm.msg = "上传成功!";
jm.data = new
{
fileUrl,
src = bucketBindDomain + fileUrl
};
}
else if (_filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.AliYunOSS.ToString())
else if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.AliYunOSS.ToString())
{
//上传到阿里云
// 设置当前流的位置为流的开始
memStream.Seek(0, SeekOrigin.Begin);
await using var fileStream = memStream;
var md5 = OssUtils.ComputeContentMd5(fileStream, memStream.Length);
var filePath = "Upload/QrCode/" + today + "/" + newFileName; //云文件保存路径
//初始化阿里云配置--外网Endpoint、访问ID、访问password
var aliyun = new OssClient(_filesStorageOptions.Endpoint, _filesStorageOptions.AccessKeyId, _filesStorageOptions.AccessKeySecret);
//将文件md5值赋值给meat头信息服务器验证文件MD5
var objectMeta = new ObjectMetadata
{
ContentMd5 = md5
};
//文件上传--空间名、文件保存路径、文件流、meta头信息(文件md5) //返回meta头信息(文件md5)
aliyun.PutObject(_filesStorageOptions.BucketName, filePath, fileStream, objectMeta);
//返回给UEditor的插入编辑器的图片的src
jm.code = 0;
jm.msg = "上传成功";
jm.data = new
{
fileUrl = _filesStorageOptions.BucketBindUrl + filePath,
src = _filesStorageOptions.BucketBindUrl + filePath
};
url = await _toolsServices.UpLoadBase64ForAliYunOSS(filesStorageOptions, memStream);
}
else if (_filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.QCloudOSS.ToString())
else if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.QCloudOSS.ToString())
{
//上传到腾讯云OSS
//初始化 CosXmlConfig
string appid = _filesStorageOptions.AccountId;//设置腾讯云账户的账户标识 APPID
string region = _filesStorageOptions.CosRegion; //设置一个默认的存储桶地域
CosXmlConfig config = new CosXmlConfig.Builder()
//.SetAppid(appid)
.IsHttps(true) //设置默认 HTTPS 请求
.SetRegion(region) //设置一个默认的存储桶地域
.SetDebugLog(true) //显示日志
.Build(); //创建 CosXmlConfig 对象
long durationSecond = 600; //每次请求签名有效时长,单位为秒
QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(
_filesStorageOptions.AccessKeyId, _filesStorageOptions.AccessKeySecret, durationSecond);
var cosXml = new CosXmlServer(config, qCloudCredentialProvider);
byte[] bytes = memStream.ToArray();
var filePath = "Upload/QrCode/" + today + "/" + newFileName; //云文件保存路径
COSXML.Model.Object.PutObjectRequest putObjectRequest = new COSXML.Model.Object.PutObjectRequest(_filesStorageOptions.TencentBucketName, filePath, bytes);
cosXml.PutObject(putObjectRequest);
jm.code = 0;
jm.msg = "上传成功";
jm.data = new
{
fileUrl = _filesStorageOptions.BucketBindUrl + filePath,
src = _filesStorageOptions.BucketBindUrl + filePath
};
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
{
@@ -737,7 +674,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var _filesStorageOptions = await _coreCmsSettingServices.GetFilesStorageOptions();
var filesStorageOptions = await _coreCmsSettingServices.GetFilesStorageOptions();
var pageModel = await _pagesServices.QueryByClauseAsync(p => p.code == entity.id);
@@ -761,100 +698,37 @@ namespace CoreCms.Net.Web.Admin.Controllers
{
var memStream = new MemoryStream(response.RawBytes);
var newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + ".jpg";
var today = DateTime.Now.ToString("yyyyMMdd");
if (_filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.LocalStorage.ToString())
string url = string.Empty;
if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.LocalStorage.ToString())
{
var saveUrl = "/Upload/QrCode/" + today + "/";
var dirPath = _webHostEnvironment.WebRootPath + saveUrl;
string bucketBindDomain = AppSettingsConstVars.AppConfigAppUrl;
url = _toolsServices.UpLoadBase64ForLocalStorage(filesStorageOptions, memStream);
if (!Directory.Exists(dirPath)) Directory.CreateDirectory(dirPath);
var filePath = dirPath + newFileName;
var fileUrl = saveUrl + newFileName;
//储存图片
System.IO.File.Delete(filePath);
await using (var fs = new FileStream(filePath, FileMode.CreateNew))
{
await memStream.CopyToAsync(fs).ConfigureAwait(false);
await fs.FlushAsync().ConfigureAwait(false);
}
jm.code = 0;
jm.msg = "上传成功!";
jm.data = new
{
fileUrl,
src = bucketBindDomain + fileUrl
};
}
else if (_filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.AliYunOSS.ToString())
else if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.AliYunOSS.ToString())
{
//上传到阿里云
// 设置当前流的位置为流的开始
memStream.Seek(0, SeekOrigin.Begin);
await using var fileStream = memStream;
var md5 = OssUtils.ComputeContentMd5(fileStream, memStream.Length);
var filePath = "Upload/QrCode/" + today + "/" + newFileName; //云文件保存路径
//初始化阿里云配置--外网Endpoint、访问ID、访问password
var aliyun = new OssClient(_filesStorageOptions.Endpoint, _filesStorageOptions.AccessKeyId, _filesStorageOptions.AccessKeySecret);
//将文件md5值赋值给meat头信息服务器验证文件MD5
var objectMeta = new ObjectMetadata
{
ContentMd5 = md5
};
//文件上传--空间名、文件保存路径、文件流、meta头信息(文件md5) //返回meta头信息(文件md5)
aliyun.PutObject(_filesStorageOptions.BucketName, filePath, fileStream, objectMeta);
//返回给UEditor的插入编辑器的图片的src
jm.code = 0;
jm.msg = "上传成功";
jm.data = new
{
fileUrl = _filesStorageOptions.BucketBindUrl + filePath,
src = _filesStorageOptions.BucketBindUrl + filePath
};
url = await _toolsServices.UpLoadBase64ForAliYunOSS(filesStorageOptions, memStream);
}
else if (_filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.QCloudOSS.ToString())
else if (filesStorageOptions.StorageType == GlobalEnumVars.FilesStorageOptionsType.QCloudOSS.ToString())
{
//上传到腾讯云OSS
//初始化 CosXmlConfig
string appid = _filesStorageOptions.AccountId;//设置腾讯云账户的账户标识 APPID
string region = _filesStorageOptions.CosRegion; //设置一个默认的存储桶地域
CosXmlConfig config = new CosXmlConfig.Builder()
//.SetAppid(appid)
.IsHttps(true) //设置默认 HTTPS 请求
.SetRegion(region) //设置一个默认的存储桶地域
.SetDebugLog(true) //显示日志
.Build(); //创建 CosXmlConfig 对象
long durationSecond = 600; //每次请求签名有效时长,单位为秒
QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(
_filesStorageOptions.AccessKeyId, _filesStorageOptions.AccessKeySecret, durationSecond);
var cosXml = new CosXmlServer(config, qCloudCredentialProvider);
byte[] bytes = memStream.ToArray();
var filePath = "Upload/QrCode/" + today + "/" + newFileName; //云文件保存路径
COSXML.Model.Object.PutObjectRequest putObjectRequest = new COSXML.Model.Object.PutObjectRequest(_filesStorageOptions.TencentBucketName, filePath, bytes);
cosXml.PutObject(putObjectRequest);
jm.code = 0;
jm.msg = "上传成功";
jm.data = new
{
fileUrl = _filesStorageOptions.BucketBindUrl + filePath,
src = _filesStorageOptions.BucketBindUrl + filePath
};
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
{