mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:33:27 +08:00
【新增】微信小程序直播增加历史直播回放功能。
This commit is contained in:
@@ -13190,5 +13190,10 @@
|
||||
订单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:CoreCms.Net.Model.WeChatEntites.MyWxaBusinessGetLiveInfoRequest">
|
||||
<summary>
|
||||
<para>扩展 表示 [POST] /wxa/business/getliveinfo 接口的请求。</para>
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CoreCms.Net.Model.WeChatEntites
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>扩展 表示 [POST] /wxa/business/getliveinfo 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class MyWxaBusinessGetLiveInfoRequest : SKIT.FlurlHttpClient.Wechat.Api.Models.WxaBusinessGetLiveInfoRequest
|
||||
{
|
||||
[Newtonsoft.Json.JsonProperty("action")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("action")]
|
||||
public string Action { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -10,12 +10,15 @@
|
||||
<view slot="right">
|
||||
</view>
|
||||
</u-navbar>
|
||||
|
||||
<view class="coreshop-padding-left-10 coreshop-padding-right-10 coreshop-padding-top-10">
|
||||
<u-subsection :list="items" :current="current" :animation="true" @change="onClickItem" active-color="#ff9900"></u-subsection>
|
||||
</view>
|
||||
<view class="coreshop-padding-left-5 coreshop-padding-right-5 coreshop-padding-top-5">
|
||||
<view class="coreshop-margin-top-10" v-if="list.length > 0">
|
||||
<view class="coreshop-bg-white coreshop-border-radius-9 coreshop-margin-10" v-for="item in list" :key="item.roomid" @click="goRoom(item.roomid)">
|
||||
<view class="coreshop-flex coreshop-position-relative coreshop-border-radius-9">
|
||||
<view style="border-top-right-radius: 10px; border-top-left-radius: 10px ">
|
||||
<u--image :src="item.share_img" mode="widthFix" width="716rpx" height="170px" ></u--image>
|
||||
<u--image :src="item.share_img" mode="widthFix" width="698rpx" height="250px"></u--image>
|
||||
</view>
|
||||
<view class="coreshop-position-absolute" v-if="item.live_status==101">
|
||||
<u-tag text="直播中" size="mini" type="success"></u-tag>
|
||||
@@ -59,12 +62,11 @@
|
||||
<u-loadmore :status="status" :icon-type="iconType" :load-text="loadText" margin-top="0" margin-bottom="20" class="coreshop-padding-top-10" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 无数据时默认显示 -->
|
||||
<view class="coreshop-emptybox" v-else>
|
||||
<u-empty :icon="$globalConstVars.apiFilesUrl+'/static/images/empty/data.png'" icon-size="150" text="当前列表为空" mode="list"></u-empty>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<!-- 登录提示 -->
|
||||
<coreshop-login-modal></coreshop-login-modal>
|
||||
</view>
|
||||
@@ -75,8 +77,10 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
items: ['直播计划', '历史直播'],
|
||||
current: 0,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
limit: 50,
|
||||
list: [],
|
||||
status: 'loadmore',
|
||||
iconType: 'flower',
|
||||
@@ -119,11 +123,30 @@
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
// tab点击切换
|
||||
onClickItem(index) {
|
||||
if (this.current !== index) {
|
||||
this.current = index;
|
||||
this.page = 1;
|
||||
this.list = [];
|
||||
this.getList();
|
||||
}
|
||||
},
|
||||
getList() {
|
||||
let data = {
|
||||
page: this.page,
|
||||
limit: this.limit,
|
||||
};
|
||||
if (this.current == 0) {
|
||||
data['where'] = '';
|
||||
}
|
||||
if (this.current == 1) {
|
||||
data['where'] = 'get_replay';
|
||||
}
|
||||
uni.showLoading({
|
||||
title: '加载中',
|
||||
mask: true
|
||||
});
|
||||
this.status = 'loading';
|
||||
this.$u.api.getLiveInfo(data).then(res => {
|
||||
if (res.status) {
|
||||
@@ -132,12 +155,15 @@
|
||||
if (res.data.total > this.list.length) {
|
||||
this.status = 'loadmore';
|
||||
this.page++;
|
||||
uni.hideLoading();
|
||||
} else {
|
||||
// 数据已加载完毕
|
||||
this.status = 'nomore';
|
||||
uni.hideLoading();
|
||||
}
|
||||
} else {
|
||||
// 接口请求出错了
|
||||
uni.hideLoading();
|
||||
this.$u.toast(res.msg);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Mvc;
|
||||
using SKIT.FlurlHttpClient.Wechat.Api.Models;
|
||||
using System.Threading.Tasks;
|
||||
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||
using CoreCms.Net.Model.WeChatEntites;
|
||||
|
||||
namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
{
|
||||
@@ -42,10 +43,12 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||
|
||||
var request = new WxaBusinessGetLiveInfoRequest
|
||||
var request = new MyWxaBusinessGetLiveInfoRequest
|
||||
{
|
||||
AccessToken = accessToken,
|
||||
Limit = entity.limit,
|
||||
Offset = (entity.page - 1) * entity.limit,
|
||||
Action = !string.IsNullOrEmpty(entity.where) ? "get_replay" : ""
|
||||
};
|
||||
|
||||
var response = await client.ExecuteWxaBusinessGetLiveInfoAsync(request);
|
||||
@@ -57,7 +60,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
else
|
||||
{
|
||||
jm.status = false;
|
||||
jm.msg = response.ErrorCode == 9410000 ? "直播间列表为空" : response.ErrorMessage;
|
||||
jm.msg = response.ErrorCode == 9410000 ? "暂无直播信息" : response.ErrorMessage;
|
||||
jm.otherData = response;
|
||||
}
|
||||
return jm;
|
||||
|
||||
Reference in New Issue
Block a user