From ea14690bdd8307451edbf2073a5dacb49ecb2601 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8A=B1=E5=9F=8E?= <141405260+17521612761@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:06:08 +0800 Subject: [PATCH] =?UTF-8?q?uniapp=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91?= =?UTF-8?q?=EF=BC=9A=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=9B=B4=E6=92=AD=E5=85=A5=E5=8F=A3=EF=BC=8C=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CoreShop/core/api/member.ts | 7 + .../CoreShop/core/enum/home.enum.ts | 35 +++++ .../CoreShop/core/enum/member.enum.ts | 3 +- .../CoreShop/pages-config.json | 3 +- .../subpackage-livebroadcast.json | 19 +++ CoreCms.Net.Uni-App/CoreShop/pages.json | 18 ++- .../CoreShop/pages/member/member.vue | 2 +- .../CoreShop/pages/member/use-nav-hook.ts | 8 +- .../pages/subpackage/livebroadcast/index.scss | 58 ++++++++ .../pages/subpackage/livebroadcast/index.vue | 134 ++++++++++++++++++ .../static/images/member/icon-live.png | Bin 0 -> 1727 bytes 11 files changed, 282 insertions(+), 5 deletions(-) create mode 100644 CoreCms.Net.Uni-App/CoreShop/pages-config/subpackage-livebroadcast.json create mode 100644 CoreCms.Net.Uni-App/CoreShop/pages/subpackage/livebroadcast/index.scss create mode 100644 CoreCms.Net.Uni-App/CoreShop/pages/subpackage/livebroadcast/index.vue create mode 100644 CoreCms.Net.Uni-App/CoreShop/static/images/member/icon-live.png 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 0000000000000000000000000000000000000000..e1048a4cad2008a3524b59e19cfd7be107a14e89 GIT binary patch literal 1727 zcmah~X;2eq7!DfbuF*1D5O4`X)rMRgA!|}dvI&QTB1EJNMnbYcgzSc7k$@wjq8613 zWhiw}%TcO=99|PG#Z*xd6)GY+sN7mXK&7-=5u_Ug^+(6<%^6af4kYCA^tX& z_Lc+!!6q;O3d5zJ@iw1>KV7Z<$i{^oCXB?w(Kswsrhy4O1sV$jfht)%90to2X~|76 zhd`KXtCU1yk>X%bj;g3KBZjI|sc|-e!12|oW%5KA17hKLCBh{?t22-RrGiUd=Ow0# z)dDy{8IZ1l!_z|~^7KSGTS4~y65!}S+<*$kWPnbUglIt>mppA3#MeeOjSNgfutYBT zZBUWoP(XlcV1P}fyUXcxI>2I687zjJ$%>Q3QUE5M$)wSJXbf+6CKL4V0zDbP%tgi> zY7}u`7$ll;hwr%L1PoJyG+JtEDmB%EifZC%3^tohqcdqtraO*s*QOzuOy`bhU1lvn zuvV^7sxc*s07i?lSTqIWlJQ{QW}#Ax#qSIw+L>D6Rio)-Y8rz|r>RuN)TYr|EDU}h z#($!fru89A#!+@t9;L8eUu9dG_VXqH4+p}nr&cc z0*ay91XOKol?Sj+i73!it+BE*fx;T)CRicTpekUxG@$YW_abkI2eBcM$eZEG6MD1R z5QENQc(K?#p~zb(gvc`-#RuvBFNcOZry2YBL0@N8_^=q4?*v2CH>ricB+v$tH~7%X^j()mJ3aYAksluIwiBqaN2D7Uut zrfd9?tbGZjtfN)J3&r-t0;qJkdGeDO|tZcuqxS!;~kZ;Q2|+jrHf>sL%-sHkOmgcMf62o4vvndg^o*?HkOa} z_sdU2Le2gC{cUY+?d@whjL>6}fqH3;KAIYSHZQ1rpo~JH{FU)$a_uZkG5y)%?D zTw%6@cXP>9a(YI_`S7E6hdO>pIoPNq7G6(DOY3mk2azLB@7Bq!vumP$L-Y;ypod4> z#*pA(2L}fVm8#*El*nPYJaqYk?ry7{{DL6UBCGk#limT#7VgXVO4GNM_|N9m&kHmC zfF6d4bi*y{vGnn+tF1F%_#(tp9lzGqy`Gr3Azut~I9UqQmdCjl=O>vwJxg+^7Kua` zd({SF)SHH5KJ%=GM@E_+{TWHQQ{nPAnNXpXjrZDCNmdSiS6H}se!zkr~=;c5DK0j3YI4)Ul_6voF z=vUe<4EpxYM+eRv+8f>bi8y`^IQugo*I{0T-gV2|tqr7)8&N>vR81 Z6GFB}_UE1i$!6m(B~TawRr6!E{|kh5r0)O# literal 0 HcmV?d00001