diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/ArticleController.cs b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/ArticleController.cs index fef4fcac..50f7ff67 100644 --- a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/ArticleController.cs +++ b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/ArticleController.cs @@ -50,7 +50,9 @@ namespace Yi.Framework.ApiMicroservice.Controllers public override Task Add(ArticleEntity entity) { //如果标题为空,默认为内容的前20个字符 - entity.Title = string.IsNullOrEmpty(entity.Title) ? entity.Content.Substring(0, 20): entity.Title; + entity.Title = string.IsNullOrEmpty(entity.Title) ? + (entity.Content.Length > 20 ? entity.Content.Substring(0, 20) : entity.Content) : + entity.Title; entity.UserId = HttpContext.GetUserIdInfo(); return base.Add(entity); } diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/FileController.cs b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/FileController.cs index 0d274f65..cc9c5dde 100644 --- a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/FileController.cs +++ b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/FileController.cs @@ -56,10 +56,10 @@ namespace Yi.Framework.ApiMicroservice.Controllers try { //路径为: 文件路径/文件id+文件扩展名 - var path = Path.Combine($"{PathConst.wwwroot}/{file.FilePath}", file.Id.ToString()+ Path.GetExtension(file.FileName)); + var path = Path.Combine($"{PathConst.wwwroot}/{file.FilePath}", file.Id.ToString() + Path.GetExtension(file.FileName)); var stream = System.IO.File.OpenRead(path); var MimeType = Common.Helper.MimeHelper.GetMimeMapping(file.FileName); - return File(stream, MimeType, file.FileName); + return File(stream, MimeType, file.FileName); } catch { @@ -76,22 +76,18 @@ namespace Yi.Framework.ApiMicroservice.Controllers /// [Route("/api/file/Upload/{type?}")] [HttpPost] - public async Task Upload([FromRoute] string? type, [FromForm] IFormFileCollection file,[FromQuery] string? remark) + public async Task Upload([FromRoute] string? type, [FromForm] IFormFileCollection file, [FromQuery] string? remark) { - if (type is null) + type = type ?? PathEnum.File.ToString(); + + type = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(type.ToLower()); + if (!Enum.IsDefined(typeof(PathEnum), type)) { - type = PathEnum.File.ToString(); - } - else - { - type = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(type!.ToLower()); - if (!Enum.IsDefined(typeof(PathEnum), type)) - { - //后续类型可从字典表中获取 - return Result.Error("上传失败!文件类型不支持!"); - } + //后续类型可从字典表中获取 + return Result.Error("上传失败!文件类型不支持!"); } + if (file.Count() == 0) { return Result.Error("未选择文件"); @@ -118,7 +114,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers string filename = data.Id.ToString() + Path.GetExtension(f.FileName); string typePath = $"{PathConst.wwwroot}/{type}"; if (!Directory.Exists(typePath)) - { + { Directory.CreateDirectory(typePath); } using (var stream = new FileStream(Path.Combine(typePath, filename), FileMode.CreateNew, FileAccess.Write)) diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/yi-sqlsugar-dev.db b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/yi-sqlsugar-dev.db index da5b244a..70b96057 100644 Binary files a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/yi-sqlsugar-dev.db and b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/yi-sqlsugar-dev.db differ diff --git a/Yi.Framework.Net6/Yi.Framework.Common/Helper/TreeHelper.cs b/Yi.Framework.Net6/Yi.Framework.Common/Helper/TreeHelper.cs index da1242ab..b1252d6b 100644 --- a/Yi.Framework.Net6/Yi.Framework.Common/Helper/TreeHelper.cs +++ b/Yi.Framework.Net6/Yi.Framework.Common/Helper/TreeHelper.cs @@ -11,14 +11,14 @@ namespace Yi.Framework.Common.Helper { public static List SetTree(List list, Action action = null) { - if (list != null && list.Count > 0) + if (list is not null && list.Count > 0) { IList result = new List(); long pid = list.Min(m => (m as ITreeModel).ParentId); IList t = list.Where(m => (m as ITreeModel).ParentId == pid).ToList(); foreach (T model in t) { - if (action != null) + if (action is not null) { action(model); } @@ -40,7 +40,7 @@ namespace Yi.Framework.Common.Helper mm.Children = new List(); foreach (T item in children) { - if (action != null) + if (action is not null) { action(item); } diff --git a/Yi.Vue3.x.Vant/components.d.ts b/Yi.Vue3.x.Vant/components.d.ts index f9d48ee6..b04c459e 100644 --- a/Yi.Vue3.x.Vant/components.d.ts +++ b/Yi.Vue3.x.Vant/components.d.ts @@ -25,6 +25,7 @@ declare module '@vue/runtime-core' { VanIcon: typeof import('vant/es')['Icon'] VanImage: typeof import('vant/es')['Image'] VanList: typeof import('vant/es')['List'] + VanLoading: typeof import('vant/es')['Loading'] VanNavBar: typeof import('vant/es')['NavBar'] VanPopup: typeof import('vant/es')['Popup'] VanPullRefresh: typeof import('vant/es')['PullRefresh'] diff --git a/Yi.Vue3.x.Vant/src/main.ts b/Yi.Vue3.x.Vant/src/main.ts index 429931bc..50eb4bb1 100644 --- a/Yi.Vue3.x.Vant/src/main.ts +++ b/Yi.Vue3.x.Vant/src/main.ts @@ -7,9 +7,11 @@ import 'vant/es/notify/style'; import router from './router' import store from './store' import './permission' +import { Lazyload } from 'vant'; import App from './App.vue' const app=createApp(App) app.use(router) app.use(store) +app.use(Lazyload); app.mount('#app'); \ No newline at end of file diff --git a/Yi.Vue3.x.Vant/src/view/main/recommend.vue b/Yi.Vue3.x.Vant/src/view/main/recommend.vue index 4573e0c1..2a7eb6dc 100644 --- a/Yi.Vue3.x.Vant/src/view/main/recommend.vue +++ b/Yi.Vue3.x.Vant/src/view/main/recommend.vue @@ -30,13 +30,18 @@ v-for="(image, imageIndex) in item.images" :key="imageIndex" class="imageCol" - @click="openImage(item.images)" + @click="openImage(item.images,imageIndex)" > + @@ -61,6 +66,7 @@ @@ -102,7 +108,7 @@ const list = ref([]); const loading = ref(false); const finished = ref(false); const refreshing = ref(false); - +const startIndex=ref(0) const show = ref(false); const actions = [{ name: "取消关注" }, { name: "将TA拉黑" }, { name: "举报" }]; @@ -138,8 +144,9 @@ const onRefresh = () => { queryParams.value.pageNum = 1; onLoad(); }; -const openImage = (imagesUrl: string[]) => { +const openImage = (imagesUrl: string[],imageIndex:any) => { imagesPreview.value = imagesUrl.map((i) => url + i); + startIndex.value=imageIndex; imageShow.value = true; }; onMounted(() => { @@ -149,7 +156,7 @@ onMounted(() => { const getList = () => { articleApi.pageList(queryParams.value).then((response: any) => { - articleList.value.unshift(...(response.data.data)); + articleList.value.push(...(response.data.data)); totol.value = response.data.totol; }); }; diff --git a/Yi.Vue3.x.Vant/src/view/send/imageText.vue b/Yi.Vue3.x.Vant/src/view/send/imageText.vue index 183b2430..6fbf7933 100644 --- a/Yi.Vue3.x.Vant/src/view/send/imageText.vue +++ b/Yi.Vue3.x.Vant/src/view/send/imageText.vue @@ -53,12 +53,11 @@ import articleApi from "@/api/articleApi"; import { Toast } from "vant"; import { useRouter } from 'vue-router' const router = useRouter(); -const form = reactive({ +const form = reactive({ title: "", content: "", images: [], - isDeleted: false, - createTime:"" + isDeleted: false }); const isSend=ref(false)