diff --git a/CoreCms.Net.Uni-App/CoreShop/core/api/member.ts b/CoreCms.Net.Uni-App/CoreShop/core/api/member.ts index 057f4b24..b78f3c9f 100644 --- a/CoreCms.Net.Uni-App/CoreShop/core/api/member.ts +++ b/CoreCms.Net.Uni-App/CoreShop/core/api/member.ts @@ -131,4 +131,11 @@ export const queryDelGoodsBrowsing = (data : any) : Promise> => { return post('Api/User/DelGoodsBrowsing', { data, }, true); +} + +/** 获取直播列表 */ +export const queryLiveInfo = (data : any) : Promise> => { + return post('Api/LiveBroadCast/GetLiveInfo', { + data, + }, true); } \ No newline at end of file diff --git a/CoreCms.Net.Uni-App/CoreShop/core/enum/home.enum.ts b/CoreCms.Net.Uni-App/CoreShop/core/enum/home.enum.ts index 87d4e0de..0711cb7b 100644 --- a/CoreCms.Net.Uni-App/CoreShop/core/enum/home.enum.ts +++ b/CoreCms.Net.Uni-App/CoreShop/core/enum/home.enum.ts @@ -84,4 +84,39 @@ export enum RouteSwitchNameEnum { cart = '/pages/cart/cart', /** 个人中心 */ member = '/pages/member/member', +} + +/** 直播状态 */ +export enum LiveStatusEnum { + /** 直播中 */ + liveStreaming = 101, + /** 未开始 */ + notStarted = 102, + /** 已结束 */ + end = 103, + /** 禁播 */ + bannedBroadcasting = 104, + /** 暂停 */ + pause = 105, + /** 异常 */ + abnormal = 106, + /** 已过期 */ + expired = 107, +} + +export enum LiveStatusTitleEnum { + /** 直播中 */ + liveStreaming = '直播中', + /** 未开始 */ + notStarted = '未开始', + /** 已结束 */ + end = '已结束', + /** 禁播 */ + bannedBroadcasting = '禁播', + /** 暂停 */ + pause = '暂停', + /** 异常 */ + abnormal = '异常', + /** 已过期 */ + expired = '已过期', } \ No newline at end of file diff --git a/CoreCms.Net.Uni-App/CoreShop/core/enum/member.enum.ts b/CoreCms.Net.Uni-App/CoreShop/core/enum/member.enum.ts index e8a6d4fd..7d58fe71 100644 --- a/CoreCms.Net.Uni-App/CoreShop/core/enum/member.enum.ts +++ b/CoreCms.Net.Uni-App/CoreShop/core/enum/member.enum.ts @@ -40,7 +40,8 @@ export enum MemberPageNameEnum { checkIn = 'checkIn', /** 万能表单 */ form = 'form', - + /** 直播 */ + live = 'live', /** 通知公告 */ notice = 'notice', diff --git a/CoreCms.Net.Uni-App/CoreShop/pages-config.json b/CoreCms.Net.Uni-App/CoreShop/pages-config.json index c36fd7f1..a5f71683 100644 --- a/CoreCms.Net.Uni-App/CoreShop/pages-config.json +++ b/CoreCms.Net.Uni-App/CoreShop/pages-config.json @@ -33,7 +33,8 @@ "pages-config/subpackage-agency.json", "pages-config/subpackage-merchant.json", "pages-config/subpackage-custom.json", - "pages-config/subpackage-webview.json" + "pages-config/subpackage-webview.json", + "pages-config/subpackage-livebroadcast.json" ], "preloadRule": "pages-config/preloadRule.json", diff --git a/CoreCms.Net.Uni-App/CoreShop/pages-config/subpackage-livebroadcast.json b/CoreCms.Net.Uni-App/CoreShop/pages-config/subpackage-livebroadcast.json new file mode 100644 index 00000000..843bbd5a --- /dev/null +++ b/CoreCms.Net.Uni-App/CoreShop/pages-config/subpackage-livebroadcast.json @@ -0,0 +1,19 @@ +{ + "subPackages": [{ + "root": "pages/subpackage/livebroadcast", + "pages": [{ + "path": "index", + "style": { + "navigationBarTitleText": "直播列表", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }], + "plugins": { + "live-player-plugin": { + "version": "1.3.5", // 注意该直播组件最新版本号 + "provider": "wx2b03c6e691cd7370" // 必须填该直播组件appid,不是小程序的appid + } + } + }] +} \ No newline at end of file diff --git a/CoreCms.Net.Uni-App/CoreShop/pages.json b/CoreCms.Net.Uni-App/CoreShop/pages.json index e3d45739..ebf4a855 100644 --- a/CoreCms.Net.Uni-App/CoreShop/pages.json +++ b/CoreCms.Net.Uni-App/CoreShop/pages.json @@ -805,7 +805,23 @@ "navigationStyle": "custom" } }] - }], + },{ + "root": "pages/subpackage/livebroadcast", + "pages": [{ + "path": "index", + "style": { + "navigationBarTitleText": "直播列表", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }], + "plugins": { + "live-player-plugin": { + "version": "1.3.5", // 注意该直播组件最新版本号 + "provider": "wx2b03c6e691cd7370" // 必须填该直播组件appid,不是小程序的appid + } + } + }], "preloadRule": { "pages/member/member": { "network": "all", diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/member/member.vue b/CoreCms.Net.Uni-App/CoreShop/pages/member/member.vue index 363d854c..ac315334 100644 --- a/CoreCms.Net.Uni-App/CoreShop/pages/member/member.vue +++ b/CoreCms.Net.Uni-App/CoreShop/pages/member/member.vue @@ -303,7 +303,7 @@ /** 分类服务跳转页面 */ const handleClassifyServiceJumpPage = (item : MemberServiceType) => { /** 判断签到,系统设置 */ - if (item.name == MemberPageNameEnum.checkIn || item.name == MemberPageNameEnum.setting) { + if (item.name == MemberPageNameEnum.checkIn || item.name == MemberPageNameEnum.setting ) { _useLoginStore.checkLogin(() => { handleRouteNavigateTo(item.url); }) diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/member/use-nav-hook.ts b/CoreCms.Net.Uni-App/CoreShop/pages/member/use-nav-hook.ts index 727aeb69..c1fe329e 100644 --- a/CoreCms.Net.Uni-App/CoreShop/pages/member/use-nav-hook.ts +++ b/CoreCms.Net.Uni-App/CoreShop/pages/member/use-nav-hook.ts @@ -4,7 +4,7 @@ import { ShowAgentPortalEnum, ShowInviterEnum, ShowStoresSwitchEnum, ShowServicePackageEnum, ShowCouponEnum, ShowPinTuanEnum, ShowSeckillEnum, ShowGroupBuyingEnum, ShowSolitaireEnum, ShowCalendarEnum, ShowCustomFormEnum, - ShowInvoiceEnum, + ShowInvoiceEnum,ShowLiveBroadCastEnum, OrderTabStatusEnum } from '@/core/enum'; import { useShopConfigStore } from '@/core/store'; @@ -171,6 +171,12 @@ export const useNavHook = () => { name: MemberPageNameEnum.form, isShow: config?.showCustomForm === ShowCustomFormEnum.yes, url: "/pages/subpackage/form/list/list" + }, { + title: '直播', + img: "/static/images/member/icon-live.png", + name: MemberPageNameEnum.live, + isShow: config?.showCustomForm === ShowLiveBroadCastEnum.yes, + url: "/pages/subpackage/livebroadcast/index" } ]; } diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/subpackage/livebroadcast/index.scss b/CoreCms.Net.Uni-App/CoreShop/pages/subpackage/livebroadcast/index.scss new file mode 100644 index 00000000..7f3985a4 --- /dev/null +++ b/CoreCms.Net.Uni-App/CoreShop/pages/subpackage/livebroadcast/index.scss @@ -0,0 +1,58 @@ +.navbar-box{ + position: fixed; + left: 0; + padding: 0 30rpx; + width: calc(100% - 60rpx); + display: flex; + align-items: center; + background-color: #eef2f6; + z-index: 99; + .item{ + padding: 20rpx 0; + width: 200rpx; + font-size: 30rpx; + text-align: center; + border-bottom: 5rpx solid #fff; + } + .on{ + color: #d33123; + border-color: #d33123; + } +} +.layout-box{ + padding-top: 90rpx; + .box{ + .item-box{ + position: relative; + margin: 30rpx; + padding: 20rpx; + border-radius: 15rpx; + background-color: #fff; + .img{ + display: block; + width: 100%; + height: 250rpx; + } + .tag{ + position: absolute; + right: 40rpx; + top: 40rpx; + } + .title{ + font-size: 32rpx; + margin: 20rpx 0; + } + .subtitle{ + margin: 20rpx 0; + display: flex; + align-items: center; + justify-content: space-between; + font-size: 27rpx; + } + .time{ + font-size: 24rpx; + color: gray; + } + } + } +} \ No newline at end of file diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/subpackage/livebroadcast/index.vue b/CoreCms.Net.Uni-App/CoreShop/pages/subpackage/livebroadcast/index.vue new file mode 100644 index 00000000..da7013cb --- /dev/null +++ b/CoreCms.Net.Uni-App/CoreShop/pages/subpackage/livebroadcast/index.vue @@ -0,0 +1,134 @@ + + + \ No newline at end of file diff --git a/CoreCms.Net.Uni-App/CoreShop/static/images/member/icon-live.png b/CoreCms.Net.Uni-App/CoreShop/static/images/member/icon-live.png new file mode 100644 index 00000000..e1048a4c Binary files /dev/null and b/CoreCms.Net.Uni-App/CoreShop/static/images/member/icon-live.png differ