From c271f3005aa364fbb7fe99c9ab1ff2fb2a2cfcc4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com>
Date: Sat, 7 Oct 2023 17:51:05 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=81?=
=?UTF-8?q?=E7=A7=BB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../.env.development | 0
.../.env.production | 0
{Yi.Vue3.x.Vant => Yi.App.Vue3}/.env.staging | 0
{Yi.Vue3.x.Vant => Yi.App.Vue3}/.gitignore | 0
.../.vscode/extensions.json | 0
{Yi.Vue3.x.Vant => Yi.App.Vue3}/README.md | 0
.../components.d.ts | 14 -------
{Yi.Vue3.x.Vant => Yi.App.Vue3}/index.html | 0
.../package-lock.json | 0
{Yi.Vue3.x.Vant => Yi.App.Vue3}/package.json | 0
.../public/vite.svg | 0
{Yi.Vue3.x.Vant => Yi.App.Vue3}/src/App.vue | 0
.../src/api/agreeApi.ts | 0
.../src/api/articleApi.ts | 0
.../src/api/commentApi.ts | 0
.../src/api/fileApi.ts | 0
.../src/api/login.ts | 0
.../src/api/skuApi.ts | 0
.../src/api/spuApi.ts | 0
.../src/assets/vue.svg | 0
.../src/components/AppCard.vue | 0
.../src/components/AppCreateTime.vue | 0
.../src/components/AppGrid.vue | 0
.../src/components/AppUserIcon.vue | 0
.../src/components/HelloWorld.vue | 0
.../src/layout/bottom/index.vue | 0
.../src/layout/head/index.vue | 0
.../src/layout/index.vue | 0
.../src/layout/main/index.vue | 0
.../src/layout/tab/index.vue | 0
{Yi.Vue3.x.Vant => Yi.App.Vue3}/src/main.ts | 0
.../src/permission.ts | 0
.../src/router/index.ts | 0
.../src/store/index.ts | 0
.../src/store/modules/user.ts | 0
{Yi.Vue3.x.Vant => Yi.App.Vue3}/src/style.css | 0
.../src/type/class/AppGridData.ts | 0
.../src/type/interface/ArticleEntity.ts | 0
.../src/utils/auth.ts | 0
.../src/utils/myaxios.ts | 0
.../src/view/login.vue | 0
.../src/view/main/follow.vue | 0
.../src/view/main/recommend.vue | 0
.../src/view/main/square.vue | 0
.../src/view/my.vue | 0
.../src/view/send/imageText.vue | 0
.../src/view/shop/shopDetails.vue | 0
.../src/view/shop/shopIndex.vue | 0
.../src/view/shop/shopSearch.vue | 0
.../src/vite-env.d.ts | 0
{Yi.Vue3.x.Vant => Yi.App.Vue3}/tsconfig.json | 0
.../tsconfig.node.json | 0
.../vite.config.ts | 0
...vite.config.ts.timestamp-1665906237992.mjs | 0
.../Yi.Framework.Module.xml | 11 +++++
.../App/Services/ITrendsService.cs | 13 ++++++
.../App/Services/Impl/TrendsService.cs | 34 ++++++++++++++++
.../Services/Impl/MonitorServerService.cs | 6 +--
.../Yi.Furion.Application.xml | 17 ++++++++
.../App/Dtos/Trends/TrendsCreateInput.cs | 14 +++++++
.../App/Dtos/Trends/TrendsGetListInput.cs | 12 ++++++
.../App/Dtos/Trends/TrendsGetListOutputDto.cs | 20 +++++++++
.../App/Dtos/Trends/TrendsGetOutputDto.cs | 21 ++++++++++
.../App/Dtos/Trends/TrendsUpdateInput.cs | 10 +++++
.../App/Entities/TrendsEntity.cs | 38 ++++++++++++++++++
.../Yi.Furion.Core/Yi.Furion.Core.xml | 15 +++++++
Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs | 15 ++++++-
.../Yi.Furion.Web.Entry/yi-sqlsugar-dev.db | Bin 229376 -> 0 bytes
68 files changed, 222 insertions(+), 18 deletions(-)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/.env.development (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/.env.production (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/.env.staging (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/.gitignore (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/.vscode/extensions.json (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/README.md (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/components.d.ts (63%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/index.html (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/package-lock.json (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/package.json (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/public/vite.svg (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/App.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/api/agreeApi.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/api/articleApi.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/api/commentApi.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/api/fileApi.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/api/login.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/api/skuApi.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/api/spuApi.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/assets/vue.svg (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/components/AppCard.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/components/AppCreateTime.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/components/AppGrid.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/components/AppUserIcon.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/components/HelloWorld.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/layout/bottom/index.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/layout/head/index.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/layout/index.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/layout/main/index.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/layout/tab/index.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/main.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/permission.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/router/index.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/store/index.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/store/modules/user.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/style.css (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/type/class/AppGridData.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/type/interface/ArticleEntity.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/utils/auth.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/utils/myaxios.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/view/login.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/view/main/follow.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/view/main/recommend.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/view/main/square.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/view/my.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/view/send/imageText.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/view/shop/shopDetails.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/view/shop/shopIndex.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/view/shop/shopSearch.vue (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/src/vite-env.d.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/tsconfig.json (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/tsconfig.node.json (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/vite.config.ts (100%)
rename {Yi.Vue3.x.Vant => Yi.App.Vue3}/vite.config.ts.timestamp-1665906237992.mjs (100%)
create mode 100644 Yi.Furion.Net6/Yi.Furion.Application/App/Services/ITrendsService.cs
create mode 100644 Yi.Furion.Net6/Yi.Furion.Application/App/Services/Impl/TrendsService.cs
create mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsCreateInput.cs
create mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetListInput.cs
create mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetListOutputDto.cs
create mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetOutputDto.cs
create mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsUpdateInput.cs
create mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Entities/TrendsEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Entry/yi-sqlsugar-dev.db
diff --git a/Yi.Vue3.x.Vant/.env.development b/Yi.App.Vue3/.env.development
similarity index 100%
rename from Yi.Vue3.x.Vant/.env.development
rename to Yi.App.Vue3/.env.development
diff --git a/Yi.Vue3.x.Vant/.env.production b/Yi.App.Vue3/.env.production
similarity index 100%
rename from Yi.Vue3.x.Vant/.env.production
rename to Yi.App.Vue3/.env.production
diff --git a/Yi.Vue3.x.Vant/.env.staging b/Yi.App.Vue3/.env.staging
similarity index 100%
rename from Yi.Vue3.x.Vant/.env.staging
rename to Yi.App.Vue3/.env.staging
diff --git a/Yi.Vue3.x.Vant/.gitignore b/Yi.App.Vue3/.gitignore
similarity index 100%
rename from Yi.Vue3.x.Vant/.gitignore
rename to Yi.App.Vue3/.gitignore
diff --git a/Yi.Vue3.x.Vant/.vscode/extensions.json b/Yi.App.Vue3/.vscode/extensions.json
similarity index 100%
rename from Yi.Vue3.x.Vant/.vscode/extensions.json
rename to Yi.App.Vue3/.vscode/extensions.json
diff --git a/Yi.Vue3.x.Vant/README.md b/Yi.App.Vue3/README.md
similarity index 100%
rename from Yi.Vue3.x.Vant/README.md
rename to Yi.App.Vue3/README.md
diff --git a/Yi.Vue3.x.Vant/components.d.ts b/Yi.App.Vue3/components.d.ts
similarity index 63%
rename from Yi.Vue3.x.Vant/components.d.ts
rename to Yi.App.Vue3/components.d.ts
index b2477968..d4bc2f34 100644
--- a/Yi.Vue3.x.Vant/components.d.ts
+++ b/Yi.App.Vue3/components.d.ts
@@ -16,26 +16,12 @@ declare module '@vue/runtime-core' {
RouterView: typeof import('vue-router')['RouterView']
VanActionSheet: typeof import('vant/es')['ActionSheet']
VanButton: typeof import('vant/es')['Button']
- VanCell: typeof import('vant/es')['Cell']
- VanCellGroup: typeof import('vant/es')['CellGroup']
VanCol: typeof import('vant/es')['Col']
VanField: typeof import('vant/es')['Field']
- VanGrid: typeof import('vant/es')['Grid']
- VanGridItem: typeof import('vant/es')['GridItem']
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']
VanRow: typeof import('vant/es')['Row']
- VanSticky: typeof import('vant/es')['Sticky']
- VanSwipe: typeof import('vant/es')['Swipe']
- VanSwipeItem: typeof import('vant/es')['SwipeItem']
- VanTab: typeof import('vant/es')['Tab']
VanTabbar: typeof import('vant/es')['Tabbar']
VanTabbarItem: typeof import('vant/es')['TabbarItem']
- VanTabs: typeof import('vant/es')['Tabs']
}
}
diff --git a/Yi.Vue3.x.Vant/index.html b/Yi.App.Vue3/index.html
similarity index 100%
rename from Yi.Vue3.x.Vant/index.html
rename to Yi.App.Vue3/index.html
diff --git a/Yi.Vue3.x.Vant/package-lock.json b/Yi.App.Vue3/package-lock.json
similarity index 100%
rename from Yi.Vue3.x.Vant/package-lock.json
rename to Yi.App.Vue3/package-lock.json
diff --git a/Yi.Vue3.x.Vant/package.json b/Yi.App.Vue3/package.json
similarity index 100%
rename from Yi.Vue3.x.Vant/package.json
rename to Yi.App.Vue3/package.json
diff --git a/Yi.Vue3.x.Vant/public/vite.svg b/Yi.App.Vue3/public/vite.svg
similarity index 100%
rename from Yi.Vue3.x.Vant/public/vite.svg
rename to Yi.App.Vue3/public/vite.svg
diff --git a/Yi.Vue3.x.Vant/src/App.vue b/Yi.App.Vue3/src/App.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/App.vue
rename to Yi.App.Vue3/src/App.vue
diff --git a/Yi.Vue3.x.Vant/src/api/agreeApi.ts b/Yi.App.Vue3/src/api/agreeApi.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/api/agreeApi.ts
rename to Yi.App.Vue3/src/api/agreeApi.ts
diff --git a/Yi.Vue3.x.Vant/src/api/articleApi.ts b/Yi.App.Vue3/src/api/articleApi.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/api/articleApi.ts
rename to Yi.App.Vue3/src/api/articleApi.ts
diff --git a/Yi.Vue3.x.Vant/src/api/commentApi.ts b/Yi.App.Vue3/src/api/commentApi.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/api/commentApi.ts
rename to Yi.App.Vue3/src/api/commentApi.ts
diff --git a/Yi.Vue3.x.Vant/src/api/fileApi.ts b/Yi.App.Vue3/src/api/fileApi.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/api/fileApi.ts
rename to Yi.App.Vue3/src/api/fileApi.ts
diff --git a/Yi.Vue3.x.Vant/src/api/login.ts b/Yi.App.Vue3/src/api/login.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/api/login.ts
rename to Yi.App.Vue3/src/api/login.ts
diff --git a/Yi.Vue3.x.Vant/src/api/skuApi.ts b/Yi.App.Vue3/src/api/skuApi.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/api/skuApi.ts
rename to Yi.App.Vue3/src/api/skuApi.ts
diff --git a/Yi.Vue3.x.Vant/src/api/spuApi.ts b/Yi.App.Vue3/src/api/spuApi.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/api/spuApi.ts
rename to Yi.App.Vue3/src/api/spuApi.ts
diff --git a/Yi.Vue3.x.Vant/src/assets/vue.svg b/Yi.App.Vue3/src/assets/vue.svg
similarity index 100%
rename from Yi.Vue3.x.Vant/src/assets/vue.svg
rename to Yi.App.Vue3/src/assets/vue.svg
diff --git a/Yi.Vue3.x.Vant/src/components/AppCard.vue b/Yi.App.Vue3/src/components/AppCard.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/components/AppCard.vue
rename to Yi.App.Vue3/src/components/AppCard.vue
diff --git a/Yi.Vue3.x.Vant/src/components/AppCreateTime.vue b/Yi.App.Vue3/src/components/AppCreateTime.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/components/AppCreateTime.vue
rename to Yi.App.Vue3/src/components/AppCreateTime.vue
diff --git a/Yi.Vue3.x.Vant/src/components/AppGrid.vue b/Yi.App.Vue3/src/components/AppGrid.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/components/AppGrid.vue
rename to Yi.App.Vue3/src/components/AppGrid.vue
diff --git a/Yi.Vue3.x.Vant/src/components/AppUserIcon.vue b/Yi.App.Vue3/src/components/AppUserIcon.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/components/AppUserIcon.vue
rename to Yi.App.Vue3/src/components/AppUserIcon.vue
diff --git a/Yi.Vue3.x.Vant/src/components/HelloWorld.vue b/Yi.App.Vue3/src/components/HelloWorld.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/components/HelloWorld.vue
rename to Yi.App.Vue3/src/components/HelloWorld.vue
diff --git a/Yi.Vue3.x.Vant/src/layout/bottom/index.vue b/Yi.App.Vue3/src/layout/bottom/index.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/layout/bottom/index.vue
rename to Yi.App.Vue3/src/layout/bottom/index.vue
diff --git a/Yi.Vue3.x.Vant/src/layout/head/index.vue b/Yi.App.Vue3/src/layout/head/index.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/layout/head/index.vue
rename to Yi.App.Vue3/src/layout/head/index.vue
diff --git a/Yi.Vue3.x.Vant/src/layout/index.vue b/Yi.App.Vue3/src/layout/index.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/layout/index.vue
rename to Yi.App.Vue3/src/layout/index.vue
diff --git a/Yi.Vue3.x.Vant/src/layout/main/index.vue b/Yi.App.Vue3/src/layout/main/index.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/layout/main/index.vue
rename to Yi.App.Vue3/src/layout/main/index.vue
diff --git a/Yi.Vue3.x.Vant/src/layout/tab/index.vue b/Yi.App.Vue3/src/layout/tab/index.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/layout/tab/index.vue
rename to Yi.App.Vue3/src/layout/tab/index.vue
diff --git a/Yi.Vue3.x.Vant/src/main.ts b/Yi.App.Vue3/src/main.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/main.ts
rename to Yi.App.Vue3/src/main.ts
diff --git a/Yi.Vue3.x.Vant/src/permission.ts b/Yi.App.Vue3/src/permission.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/permission.ts
rename to Yi.App.Vue3/src/permission.ts
diff --git a/Yi.Vue3.x.Vant/src/router/index.ts b/Yi.App.Vue3/src/router/index.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/router/index.ts
rename to Yi.App.Vue3/src/router/index.ts
diff --git a/Yi.Vue3.x.Vant/src/store/index.ts b/Yi.App.Vue3/src/store/index.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/store/index.ts
rename to Yi.App.Vue3/src/store/index.ts
diff --git a/Yi.Vue3.x.Vant/src/store/modules/user.ts b/Yi.App.Vue3/src/store/modules/user.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/store/modules/user.ts
rename to Yi.App.Vue3/src/store/modules/user.ts
diff --git a/Yi.Vue3.x.Vant/src/style.css b/Yi.App.Vue3/src/style.css
similarity index 100%
rename from Yi.Vue3.x.Vant/src/style.css
rename to Yi.App.Vue3/src/style.css
diff --git a/Yi.Vue3.x.Vant/src/type/class/AppGridData.ts b/Yi.App.Vue3/src/type/class/AppGridData.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/type/class/AppGridData.ts
rename to Yi.App.Vue3/src/type/class/AppGridData.ts
diff --git a/Yi.Vue3.x.Vant/src/type/interface/ArticleEntity.ts b/Yi.App.Vue3/src/type/interface/ArticleEntity.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/type/interface/ArticleEntity.ts
rename to Yi.App.Vue3/src/type/interface/ArticleEntity.ts
diff --git a/Yi.Vue3.x.Vant/src/utils/auth.ts b/Yi.App.Vue3/src/utils/auth.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/utils/auth.ts
rename to Yi.App.Vue3/src/utils/auth.ts
diff --git a/Yi.Vue3.x.Vant/src/utils/myaxios.ts b/Yi.App.Vue3/src/utils/myaxios.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/utils/myaxios.ts
rename to Yi.App.Vue3/src/utils/myaxios.ts
diff --git a/Yi.Vue3.x.Vant/src/view/login.vue b/Yi.App.Vue3/src/view/login.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/view/login.vue
rename to Yi.App.Vue3/src/view/login.vue
diff --git a/Yi.Vue3.x.Vant/src/view/main/follow.vue b/Yi.App.Vue3/src/view/main/follow.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/view/main/follow.vue
rename to Yi.App.Vue3/src/view/main/follow.vue
diff --git a/Yi.Vue3.x.Vant/src/view/main/recommend.vue b/Yi.App.Vue3/src/view/main/recommend.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/view/main/recommend.vue
rename to Yi.App.Vue3/src/view/main/recommend.vue
diff --git a/Yi.Vue3.x.Vant/src/view/main/square.vue b/Yi.App.Vue3/src/view/main/square.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/view/main/square.vue
rename to Yi.App.Vue3/src/view/main/square.vue
diff --git a/Yi.Vue3.x.Vant/src/view/my.vue b/Yi.App.Vue3/src/view/my.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/view/my.vue
rename to Yi.App.Vue3/src/view/my.vue
diff --git a/Yi.Vue3.x.Vant/src/view/send/imageText.vue b/Yi.App.Vue3/src/view/send/imageText.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/view/send/imageText.vue
rename to Yi.App.Vue3/src/view/send/imageText.vue
diff --git a/Yi.Vue3.x.Vant/src/view/shop/shopDetails.vue b/Yi.App.Vue3/src/view/shop/shopDetails.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/view/shop/shopDetails.vue
rename to Yi.App.Vue3/src/view/shop/shopDetails.vue
diff --git a/Yi.Vue3.x.Vant/src/view/shop/shopIndex.vue b/Yi.App.Vue3/src/view/shop/shopIndex.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/view/shop/shopIndex.vue
rename to Yi.App.Vue3/src/view/shop/shopIndex.vue
diff --git a/Yi.Vue3.x.Vant/src/view/shop/shopSearch.vue b/Yi.App.Vue3/src/view/shop/shopSearch.vue
similarity index 100%
rename from Yi.Vue3.x.Vant/src/view/shop/shopSearch.vue
rename to Yi.App.Vue3/src/view/shop/shopSearch.vue
diff --git a/Yi.Vue3.x.Vant/src/vite-env.d.ts b/Yi.App.Vue3/src/vite-env.d.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/src/vite-env.d.ts
rename to Yi.App.Vue3/src/vite-env.d.ts
diff --git a/Yi.Vue3.x.Vant/tsconfig.json b/Yi.App.Vue3/tsconfig.json
similarity index 100%
rename from Yi.Vue3.x.Vant/tsconfig.json
rename to Yi.App.Vue3/tsconfig.json
diff --git a/Yi.Vue3.x.Vant/tsconfig.node.json b/Yi.App.Vue3/tsconfig.node.json
similarity index 100%
rename from Yi.Vue3.x.Vant/tsconfig.node.json
rename to Yi.App.Vue3/tsconfig.node.json
diff --git a/Yi.Vue3.x.Vant/vite.config.ts b/Yi.App.Vue3/vite.config.ts
similarity index 100%
rename from Yi.Vue3.x.Vant/vite.config.ts
rename to Yi.App.Vue3/vite.config.ts
diff --git a/Yi.Vue3.x.Vant/vite.config.ts.timestamp-1665906237992.mjs b/Yi.App.Vue3/vite.config.ts.timestamp-1665906237992.mjs
similarity index 100%
rename from Yi.Vue3.x.Vant/vite.config.ts.timestamp-1665906237992.mjs
rename to Yi.App.Vue3/vite.config.ts.timestamp-1665906237992.mjs
diff --git a/Yi.Furion.Net6/Yi.Framework.Module/Yi.Framework.Module.xml b/Yi.Furion.Net6/Yi.Framework.Module/Yi.Framework.Module.xml
index 2c394b0c..5964d07e 100644
--- a/Yi.Furion.Net6/Yi.Framework.Module/Yi.Framework.Module.xml
+++ b/Yi.Furion.Net6/Yi.Framework.Module/Yi.Framework.Module.xml
@@ -554,6 +554,17 @@
+
+
+ WebFirst
+
+
+
+
+ 测试
+
+
+
Web To Code
diff --git a/Yi.Furion.Net6/Yi.Furion.Application/App/Services/ITrendsService.cs b/Yi.Furion.Net6/Yi.Furion.Application/App/Services/ITrendsService.cs
new file mode 100644
index 00000000..b3634c97
--- /dev/null
+++ b/Yi.Furion.Net6/Yi.Furion.Application/App/Services/ITrendsService.cs
@@ -0,0 +1,13 @@
+using Yi.Framework.Infrastructure.Ddd.Services.Abstract;
+using Yi.Furion.Core.App.Dtos.Trends;
+
+namespace Yi.Furion.Application.App.Services
+{
+ ///
+ /// Trends服务抽象
+ ///
+ public interface ITrendsService : ICrudAppService
+ {
+
+ }
+}
diff --git a/Yi.Furion.Net6/Yi.Furion.Application/App/Services/Impl/TrendsService.cs b/Yi.Furion.Net6/Yi.Furion.Application/App/Services/Impl/TrendsService.cs
new file mode 100644
index 00000000..ee78f699
--- /dev/null
+++ b/Yi.Furion.Net6/Yi.Furion.Application/App/Services/Impl/TrendsService.cs
@@ -0,0 +1,34 @@
+using SqlSugar;
+using Yi.Framework.Infrastructure.Ddd.Dtos;
+using Yi.Framework.Infrastructure.Ddd.Services;
+using Yi.Furion.Application.App.Services;
+using Yi.Furion.Core.App.Dtos.Trends;
+using Yi.Furion.Core.App.Entities;
+
+namespace Yi.Furion.Application.App.Services.Impl
+{
+ ///
+ /// Trends服务实现
+ ///
+ [ApiDescriptionSettings("App")]
+ public class TrendsService : CrudAppService,
+ ITrendsService, IDynamicApiController, ITransient
+ {
+ ///
+ /// 多查
+ ///
+ ///
+ ///
+ public override async Task> GetListAsync(TrendsGetListInput input)
+ {
+ var entity = await MapToEntityAsync(input);
+
+ RefAsync total = 0;
+
+ var entities = await _DbQueryable
+ .WhereIF(input.StartTime is not null && input.EndTime is not null, x => x.CreationTime >= input.StartTime && x.CreationTime <= input.EndTime)
+ .ToPageListAsync(input.PageNum, input.PageSize, total);
+ return new PagedResultDto(total, await MapToGetListOutputDtosAsync(entities));
+ }
+ }
+}
diff --git a/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/MonitorServerService.cs b/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/MonitorServerService.cs
index 5d296305..18184f25 100644
--- a/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/MonitorServerService.cs
+++ b/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/MonitorServerService.cs
@@ -12,16 +12,16 @@ using Microsoft.Extensions.Options;
using Yi.Framework.Infrastructure.Extensions;
using Yi.Framework.Infrastructure.Helper;
-namespace Yi.Furion.Application.Rbac.Services
+namespace Yi.Furion.Application.Rbac.Services.Impl
{
[ApiDescriptionSettings("RBAC")]
- public class MonitorServerService: IMonitorServerService,IDynamicApiController, ITransient
+ public class MonitorServerService : IMonitorServerService, IDynamicApiController, ITransient
{
private IWebHostEnvironment _hostEnvironment;
private IHttpContextAccessor _httpContextAccessor;
public MonitorServerService(IWebHostEnvironment hostEnvironment, IHttpContextAccessor httpContextAccessor)
{
- this._hostEnvironment = hostEnvironment;
+ _hostEnvironment = hostEnvironment;
_httpContextAccessor = httpContextAccessor;
}
[HttpGet("info")]
diff --git a/Yi.Furion.Net6/Yi.Furion.Application/Yi.Furion.Application.xml b/Yi.Furion.Net6/Yi.Furion.Application/Yi.Furion.Application.xml
index 0444753b..ffba5655 100644
--- a/Yi.Furion.Net6/Yi.Furion.Application/Yi.Furion.Application.xml
+++ b/Yi.Furion.Net6/Yi.Furion.Application/Yi.Furion.Application.xml
@@ -4,6 +4,23 @@
Yi.Furion.Application
+
+
+ Trends服务实现
+
+
+
+
+ 多查
+
+
+
+
+
+
+ Trends服务抽象
+
+
论坛模块的领域服务
diff --git a/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsCreateInput.cs b/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsCreateInput.cs
new file mode 100644
index 00000000..d96891af
--- /dev/null
+++ b/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsCreateInput.cs
@@ -0,0 +1,14 @@
+namespace Yi.Furion.Core.App.Dtos.Trends
+{
+ ///
+ /// Trends输入创建对象
+ ///
+ public class TrendsCreateInput
+ {
+ public string Title { get; set; }
+ public string Content { get; set; }
+ public string? Remark { get; set; }
+ public List? Images { get; set; }
+
+ }
+}
diff --git a/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetListInput.cs b/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetListInput.cs
new file mode 100644
index 00000000..47f9db3c
--- /dev/null
+++ b/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetListInput.cs
@@ -0,0 +1,12 @@
+using Yi.Framework.Infrastructure.Ddd.Dtos;
+
+namespace Yi.Furion.Core.App.Dtos.Trends
+{
+ ///
+ /// 查询参数
+ ///
+ public class TrendsGetListInput : PagedAllResultRequestDto
+ {
+
+ }
+}
diff --git a/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetListOutputDto.cs b/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetListOutputDto.cs
new file mode 100644
index 00000000..c0a5567b
--- /dev/null
+++ b/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetListOutputDto.cs
@@ -0,0 +1,20 @@
+using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
+
+namespace Yi.Furion.Core.App.Dtos.Trends
+{
+ public class TrendsGetListOutputDto : IEntityDto
+ {
+ public long Id { get; set; }
+ public string Title { get; set; }
+ public string Content { get; set; }
+ public long UserId { get; set; }
+ public bool IsDeleted { get; set; }
+ public string? Remark { get; set; }
+ public List? Images { get; set; }
+ public DateTime CreationTime { get; set; }
+ public long? CreatorId { get; set; }
+ public long? LastModifierId { get; set; }
+ public DateTime? LastModificationTime { get; set; }
+
+ }
+}
diff --git a/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetOutputDto.cs b/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetOutputDto.cs
new file mode 100644
index 00000000..79e4e2b0
--- /dev/null
+++ b/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetOutputDto.cs
@@ -0,0 +1,21 @@
+using Yi.Framework.Infrastructure.Ddd.Dtos.Abstract;
+
+namespace Yi.Furion.Core.App.Dtos.Trends
+{
+ public class TrendsGetOutputDto : IEntityDto
+ {
+ public long Id { get; set; }
+ public string Title { get; set; }
+ public string Content { get; set; }
+ public long UserId { get; set; }
+ public bool IsDeleted { get; set; }
+ public string? Remark { get; set; }
+ public List? Images { get; set; }
+ public DateTime CreationTime { get; set; }
+ public long? CreatorId { get; set; }
+ public long? LastModifierId { get; set; }
+ public DateTime? LastModificationTime { get; set; }
+
+
+ }
+}
diff --git a/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsUpdateInput.cs b/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsUpdateInput.cs
new file mode 100644
index 00000000..ff42e11c
--- /dev/null
+++ b/Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsUpdateInput.cs
@@ -0,0 +1,10 @@
+namespace Yi.Furion.Core.App.Dtos.Trends
+{
+ public class TrendsUpdateInputVo
+ {
+ public string? Title { get; set; }
+ public string? Content { get; set; }
+ public string? Remark { get; set; }
+ public List? Images { get; set; }
+ }
+}
diff --git a/Yi.Furion.Net6/Yi.Furion.Core/App/Entities/TrendsEntity.cs b/Yi.Furion.Net6/Yi.Furion.Core/App/Entities/TrendsEntity.cs
new file mode 100644
index 00000000..623a9c2b
--- /dev/null
+++ b/Yi.Furion.Net6/Yi.Furion.Core/App/Entities/TrendsEntity.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using SqlSugar;
+using Yi.Framework.Infrastructure.Data.Auditing;
+using Yi.Framework.Infrastructure.Data.Entities;
+using Yi.Framework.Infrastructure.Ddd.Entities;
+using Yi.Framework.Infrastructure.Helper;
+
+namespace Yi.Furion.Core.App.Entities
+{
+ ///
+ /// 动态
+ ///
+ [SugarTable("Trends")]
+ public class TrendsEntity : AuditedObject, IEntity, ISoftDelete
+ {
+ [SugarColumn(IsPrimaryKey = true)]
+ public long Id { get; set; }
+
+ public string Title { get; set; }
+
+
+ [SugarColumn(Length = 99999)]
+ public string Content { get; set; }
+
+ public bool IsDeleted { get; set; }
+
+ public string? Remark { get; set; }
+
+ [SugarColumn(IsJson = true, Length = 99999)]
+ public List Images { get; set; }
+ }
+
+
+}
diff --git a/Yi.Furion.Net6/Yi.Furion.Core/Yi.Furion.Core.xml b/Yi.Furion.Net6/Yi.Furion.Core/Yi.Furion.Core.xml
index 7c05e273..c9d86f36 100644
--- a/Yi.Furion.Net6/Yi.Furion.Core/Yi.Furion.Core.xml
+++ b/Yi.Furion.Net6/Yi.Furion.Core/Yi.Furion.Core.xml
@@ -4,6 +4,21 @@
Yi.Furion.Core
+
+
+ Trends输入创建对象
+
+
+
+
+ 查询参数
+
+
+
+
+ 动态
+
+
常量定义
diff --git a/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs b/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs
index 95a4913a..66ea8066 100644
--- a/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs
+++ b/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs
@@ -1,4 +1,5 @@
using System;
+using System.Text;
using Furion;
using Furion.Schedule;
using Furion.TimeCrontab;
@@ -38,7 +39,7 @@ public class Startup : AppStartup
{
// 注册作业,并配置作业触发器
//options.AddJob(Triggers.Period(10000));
- //options.AddJob(Triggers.Period(10000));
+ //options.AddJob(Triggers.Period(10000));
options.AddJob(Triggers.Cron("0 0 0,12 ? * ?", CronStringFormat.WithSeconds)); // 表示每天凌晨与12点
});
services.AddFileLogging("log/application-{0:yyyy}-{0:MM}-{0:dd}.log", options =>
@@ -72,7 +73,19 @@ public class Startup : AppStartup
app.UseAuthorization();
app.UseInject(string.Empty);
+ }
+ private string ConverStr(string utf8mb3String)
+ {
+ // 将 utf8mb3String 转换为 UTF-8mb3 编码的字节数组
+ byte[] utf8mb3Bytes = Encoding.UTF8.GetBytes(utf8mb3String);
+
+ // 将 UTF-8mb3 编码的字节数组转换为 UTF-8mb4 编码的字节数组
+ byte[] utf8mb4Bytes = Encoding.Convert(Encoding.UTF8, new UTF8Encoding(true), utf8mb3Bytes);
+
+ // 将 UTF-8mb4 编码的字节数组转换为字符串
+ string utf8mb4String = Encoding.UTF8.GetString(utf8mb4Bytes);
+ return utf8mb4String;
}
}
diff --git a/Yi.Furion.Net6/Yi.Furion.Web.Entry/yi-sqlsugar-dev.db b/Yi.Furion.Net6/Yi.Furion.Web.Entry/yi-sqlsugar-dev.db
deleted file mode 100644
index 8f7450951be88ee600afdac0808256bd12e32cdf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 229376
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