短视频细节调整,语言统一调整优化

master
gongfuxiang 2026-02-27 18:35:16 +08:00
parent 295bbfdc28
commit 6e2615980d
22 changed files with 340 additions and 216 deletions

View File

@ -17,8 +17,15 @@
"add": "Add",
"copy": "Copy",
"remove": "Remove",
"expand": "Expand",
"retract": "Retract",
"reply": "Reply",
"remove_success": "Remove successful",
"remove_fail": "Remove failed",
"history": "History",
"history_record": "History record",
"clear": "Clear",
"clear_record": "Clear record",
"del": "Delete",
"del_record": "Delete record",
"del_success": "Delete successful",
@ -49,6 +56,8 @@
"refuse": "Refuse",
"buy": "Buy",
"complaint": "Complaint",
"comment": "Comment",
"like": "Like",
"info": "Info",
"web_client": "WebClient",
"app_client": "AppClient",
@ -332,8 +341,9 @@
"plugins-certificate-userauth-detail": "Certificate detail",
"plugins-goodscompare-index": "Goods Compare",
"plugins-video-index": "Short Video List",
"plugins-video-search": "Short video search",
"plugins-video-detail": "Short video details",
"plugins-video-search": "Short video search",
"plugins-video-search-record": "Short video searchrecord",
"plugins-live-pull": "Live Details",
"plugins-complaint-user": "Complaint/Report List",
"plugins-complaint-form": "Complaint/Report",
@ -666,7 +676,6 @@
"goods-search": {
"j8o278": "Filter out",
"t9nikq": "Piece of data",
"pxk051": "clear",
"4eerty": "origin",
"6n8316": "brand",
"v6e5b7": "attribute"
@ -683,8 +692,6 @@
"75l3l2": "Unreturned",
"17vy72": "Missing tab data!",
"i78v36": "Returning to the store",
"lkld04": "Comment:",
"r6vv25": "Like:",
"6rsqp1": "All",
"pot64x": "Popular",
"8t4j95": "Recommended products",
@ -1551,7 +1558,6 @@
},
"user-order": {
"user-order": {
"twc3r7": "comment",
"lp1v28": "Urge and urge",
"ht65c9": "Suborder",
"9l47b6": "form",
@ -1627,15 +1633,11 @@
},
"ask-comments": {
"ask-comments": {
"2zlnb5": "Comment",
"du7rcv": "Like",
"6l6vz7": "word",
"3fcnme": "Reply",
"ymmd24": "Replies",
"dfhg54": "View more replies",
"5401r1": "Comments",
"4l77wt": "View more comments",
"8sjar6": "Reply@",
"m67961": "Looking forward to your speech",
"3o1rq6": "The maximum input character limit has been exceeded"
}
@ -1646,12 +1648,6 @@
"g6mc44": "If you have any questions, please ask other classmates~"
}
},
"binding-list": {
"binding-list": {
"2u4v35": "Put it away",
"91d60h": "launch"
}
},
"bottom-line": {
"bottom-line": {
"44bct2": "I have a bottom line"
@ -2020,5 +2016,19 @@
"54rttr": "Choose other products",
"fsdft3": "Feedback on this product"
}
},
"video-search": {
"video-search": {
"sdfgg4": "Sort by",
"gf3212": "Release time",
"iuyt42": "video duration"
}
},
"video-detail": {
"video-detail": {
"rfsdfg": "Reason for reporting",
"fsdf33": "Please choose a specific type",
"98yyuf": "Please enter your wonderful comment"
}
}
}

View File

@ -17,8 +17,15 @@
"add": "新增",
"copy": "复制",
"remove": "移除",
"expand": "展开",
"retract": "收起",
"reply": "回复",
"remove_success": "移除成功",
"remove_fail": "移除失败",
"history": "历史",
"history_record": "历史记录",
"clear": "清除",
"clear_record": "清除记录",
"del": "删除",
"del_record": "删除记录",
"del_success": "删除成功",
@ -49,6 +56,8 @@
"refuse": "拒绝",
"buy": "购买",
"complaint": "举报",
"comment": "评论",
"like": "点赞",
"info": "信息",
"web_client": "web端",
"app_client": "手机端",
@ -330,8 +339,9 @@
"plugins-certificate-userauth-detail": "资质认证详情",
"plugins-goodscompare-index": "商品对比",
"plugins-video-index": "短视频列表",
"plugins-video-search": "短视频搜索",
"plugins-video-detail": "短视频详情",
"plugins-video-search": "短视频搜索",
"plugins-video-search-record": "短视频搜索记录",
"plugins-live-pull": "直播详情",
"plugins-complaint-user": "投诉/举报列表",
"plugins-complaint-form": "投诉/举报",
@ -657,7 +667,6 @@
"goods-search": {
"j8o278": "筛选出",
"t9nikq": "条数据",
"pxk051": "清除",
"4eerty": "产地",
"6n8316": "品牌",
"v6e5b7": "属性"
@ -674,8 +683,6 @@
"75l3l2": "未回",
"17vy72": "缺失tab数据",
"i78v36": "回到店铺",
"lkld04": "评论:",
"r6vv25": "点赞:",
"6rsqp1": "所有",
"pot64x": "热门",
"8t4j95": "推荐商品",
@ -1541,7 +1548,6 @@
},
"user-order": {
"user-order": {
"twc3r7": "评论",
"lp1v28": "催催",
"ht65c9": "子单",
"9l47b6": "表单",
@ -1617,15 +1623,11 @@
},
"ask-comments": {
"ask-comments": {
"2zlnb5": "评论(",
"du7rcv": "点赞(",
"6l6vz7": "字",
"3fcnme": "回复(",
"ymmd24": "条回复",
"dfhg54": "查看更多回复",
"5401r1": "条评论",
"4l77wt": "查看更多评论",
"8sjar6": "回复 @",
"m67961": "期待您的发言...",
"3o1rq6": "已超过最大输入字符限制"
}
@ -1636,12 +1638,6 @@
"g6mc44": "有疑问就问问其他同学吧~"
}
},
"binding-list": {
"binding-list": {
"2u4v35": "收起",
"91d60h": "展开"
}
},
"bottom-line": {
"bottom-line": {
"44bct2": "我是有底线的"
@ -2004,5 +2000,19 @@
"54rttr": "选择其他商品",
"fsdft3": "反馈该商品"
}
},
"video-search": {
"video-search": {
"sdfgg4": "排序依据",
"gf3212": "发布时间",
"iuyt42": "视频时长"
}
},
"video-detail": {
"video-detail": {
"rfsdfg": "举报原因",
"fsdf33": "请选择具体的类型",
"98yyuf": "请输入您的精彩评论"
}
}
}

View File

@ -60,7 +60,7 @@
<text>{{$t('goods-search.goods-search.j8o278')}}</text>
<text class="cr-main"> {{data_total}} </text>
<text>{{$t('goods-search.goods-search.t9nikq')}}</text>
<text class="fr cr-red cp" @tap="map_remove_event">{{$t('goods-search.goods-search.pxk051')}}</text>
<text class="fr cr-red cp" @tap="map_remove_event">{{$t('common.clear')}}</text>
</view>
<!-- 搜索关键字 -->
<input type="text" confirm-type="search" :placeholder="$t('customview.customview.726k7y')" name="wd" :value="(post_data.wd || '')" class="map-keywords wh-auto round bg-base margin-top-lg"

View File

@ -7,11 +7,11 @@
<view v-if="propType == 'detail'" class="tr ask-comments-bottom-container cr-base">
<view v-if="(data_base.is_ask_comments_show || 0) == 1" class="item dis-inline-block cr-base" :data-value="'/pages/plugins/ask/comments/comments?id=' + data.id" @tap="url_event">
<iconfont name="icon-message-square" size="28rpx" propClass="pr top-sm margin-right-xs"></iconfont>
<text class="text-size-xs">{{$t('ask-comments.ask-comments.2zlnb5')}}{{ data.comments_count }})</text>
<text class="text-size-xs">{{$t('common.comment')}}({{ data.comments_count }})</text>
</view>
<view v-if="(data_base.is_ask_give_thumbs || 0) == 1" :class="'item dis-inline-block cr-' + ((data.is_give_thumbs || 0) == 1 ? 'main' : 'base')" :data-askid="data.id" @tap="give_thumbs_event">
<iconfont :name="(data.is_give_thumbs || 0) == 1 ? 'icon-givealike' : 'icon-givealike-o'" size="28rpx" propClass="pr top-sm margin-right-xs"></iconfont>
<text class="va-m text-size-xs">{{$t('ask-comments.ask-comments.du7rcv')}}{{ data.give_thumbs_count }})</text>
<text class="va-m text-size-xs">{{$t('common.like')}}({{ data.give_thumbs_count }})</text>
</view>
<view class="item dis-inline-block cr-base" @tap="popup_share_event">
<iconfont name="icon-share" size="28rpx" propClass="pr top-sm margin-right-xs"></iconfont>
@ -31,7 +31,7 @@
<!-- #ifndef MP-ALIPAY -->
<text class="text-size-xs cr-grey-d margin-right-sm">{{$t('login.login.n24i5u')}}{{ input_comments_length_value }}{{$t('ask-comments.ask-comments.6l6vz7')}}</text>
<!-- #endif -->
<button type="default" size="mini" class="comment-btn cr-white border-radius-sm text-size-md va-m" :class="input_comments_value.length > 0 ? 'bg-main br-main ' : 'comment-btn-default'" @tap="comments_event">{{$t('user-order.user-order.twc3r7')}}</button>
<button type="default" size="mini" class="comment-btn cr-white border-radius-sm text-size-md va-m" :class="input_comments_value.length > 0 ? 'bg-main br-main ' : 'comment-btn-default'" @tap="comments_event">{{$t('common.comment')}}</button>
</view>
</view>
</view>
@ -53,11 +53,11 @@
<view class="ask-comments-right-content-operate margin-top-main flex-row jc-e align-c text-size-xs cr-grey-9">
<view v-if="(data_base.is_ask_comments_show || 0) == 1" class="item dis-inline-block" :data-index="index" :data-username="item.user.user_name_view" :data-askcommentsid="item.id" @tap="modal_open_event">
<iconfont name="icon-message-square" size="28rpx" propClass="pr top-md margin-right-xs"></iconfont>
<text class="va-m">{{$t('ask-comments.ask-comments.3fcnme')}}{{ item.comments_count }})</text>
<text class="va-m">{{$t('common.reply')}}({{ item.comments_count }})</text>
</view>
<view v-if="(data_base.is_ask_give_thumbs || 0) == 1" :class="'item dis-inline-block margin-left-xxxl padding-left-sm cr-' + ((item.is_give_thumbs || 0) == 1 ? 'main' : '')" data-type="1" :data-index="index" :data-askid="item.ask_id" :data-askcommentsid="item.id" @tap="give_thumbs_event">
<iconfont :name="(item.is_give_thumbs || 0) == 1 ? 'icon-givealike' : 'icon-givealike-o'" size="28rpx" propClass="pr top-md margin-right-xs"></iconfont>
<text class="va-m">{{$t('ask-comments.ask-comments.du7rcv')}}{{ item.give_thumbs_count }})</text>
<text class="va-m">{{$t('common.like')}}({{ item.give_thumbs_count }})</text>
</view>
</view>
<view v-if="(item.reply_comments_list || null) != null && item.reply_comments_list.length > 0" class="reply-ask-comments-list">
@ -75,11 +75,11 @@
<view class="ask-comments-right-content-operate flex-row jc-e align-c text-size-xs cr-grey-9 padding-0">
<view v-if="(data_base.is_ask_comments_show || 0) == 1" class="item dis-inline-block" :data-index="index" :data-username="comments.user.user_name_view" :data-askcommentsid="comments.ask_comments_id" :data-replycommentsid="comments.id" @tap="modal_open_event">
<iconfont name="icon-message-square" size="28rpx" propClass="pr top-md margin-right-xs"></iconfont>
<text class="va-m">{{$t('ask-comments.ask-comments.3fcnme')}}{{ comments.comments_count }})</text>
<text class="va-m">{{$t('common.reply')}}({{ comments.comments_count }})</text>
</view>
<view v-if="(data_base.is_ask_give_thumbs || 0) == 1" :class="'item dis-inline-block margin-left-xxxl padding-left-sm cr-' + ((comments.is_give_thumbs || 0) == 1 ? 'main' : '')" data-type="2" :data-index="index" :data-indexs="index2" :data-askid="comments.ask_id" :data-askcommentsid="comments.id" :data-replycommentsid="comments.ask_comments_id" @tap="give_thumbs_event">
<iconfont :name="(comments.is_give_thumbs || 0) == 1 ? 'icon-givealike' : 'icon-givealike-o'" size="28rpx" propClass="pr top-md margin-right-xs"></iconfont>
<text class="va-m">{{$t('ask-comments.ask-comments.du7rcv')}}{{ comments.give_thumbs_count }})</text>
<text class="va-m">{{$t('common.like')}}({{ comments.give_thumbs_count }})</text>
</view>
</view>
</view>
@ -116,7 +116,7 @@
<view v-if="input_comments_modal_status" class="ask-comments-modal pf">
<view class="ask-comments-modal-content bg-white border-radius-main pr">
<view class="tc margin-bottom-lg">
<text>{{$t('ask-comments.ask-comments.8sjar6')}}{{ input_comments_modal_username }}</text>
<text>{{$t('common.reply')}} @{{ input_comments_modal_username }}</text>
<view class="close pa">
<view @tap.stop="modal_close_event">
<iconfont name="icon-close-line" size="28rpx" color="#999"></iconfont>
@ -128,7 +128,7 @@
<image :src="common_static_url + 'emoji-icon.png'" mode="aspectFill" class="emoji-icon va-m" @tap="emoji_event"></image>
<view class="fr">
<text class="va-m text-size-xs cr-base margin-right-lg">{{$t('login.login.n24i5u')}}{{ input_comments_length_value }}{{$t('ask-comments.ask-comments.6l6vz7')}}</text>
<button type="default" size="mini" class="comment-btn cr-white border-radius-sm text-size-xs va-m" :class="input_comments_value.length > 0 ? 'bg-main br-main ' : 'comment-btn-default'" @tap="comments_event">{{$t('user-order.user-order.twc3r7')}}</button>
<button type="default" size="mini" class="comment-btn cr-white border-radius-sm text-size-xs va-m" :class="input_comments_value.length > 0 ? 'bg-main br-main ' : 'comment-btn-default'" @tap="comments_event">{{$t('common.comment')}}</button>
</view>
</view>
</view>

View File

@ -42,7 +42,7 @@
</view>
<view class="bg-white padding-top-main wh-auto bs-bb bottom-elastic" :class="(item.is_home_show_goods || 0) != 1 ? 'br-t-dashed' : ''" :data-index="index" @tap="item_more_goods_event">
<view class="flex-row jc-sb align-c">
<view class="cr-grey-9 text-size-xs">{{ (item.is_home_show_goods || 0) == 1 ? $t('binding-list.binding-list.2u4v35') : $t('binding-list.binding-list.91d60h') }}{{ item.type_name }}{{$t('common.goods')}}</view>
<view class="cr-grey-9 text-size-xs">{{ (item.is_home_show_goods || 0) == 1 ? $t('common.retract') : $t('common.expand') }}{{ item.type_name }}{{$t('common.goods')}}</view>
<iconfont :name="(item.is_home_show_goods || 0) == 1 ? 'icon-arrow-top' : 'icon-arrow-bottom'" size="24rpx" color="#666"></iconfont>
</view>
</view>

View File

@ -2,16 +2,16 @@
<view :class="theme_view">
<view v-if="(data || null) != null && (data_base || null) != null">
<view class="flex-row jc-sb align-c">
<view v-if="(data_base.is_blog_comments_show || 0) == 1" class="fw-b">{{$t('user-order.user-order.twc3r7')}}{{ data.comments_count || '' }}</view>
<view v-if="(data_base.is_blog_comments_show || 0) == 1" class="fw-b">{{$t('common.comment')}}{{ data.comments_count || '' }}</view>
<!-- 点赞评论分享 -->
<view v-if="propType == 'detail'" class="tr blog-comments-bottom-container cr-grey">
<view v-if="(data_base.is_blog_comments_show || 0) == 1" class="item dis-inline-block cr-base" :data-value="'/pages/plugins/blog/comments/comments?id=' + data.id" @tap="url_event">
<iconfont name="icon-message-square" size="28rpx" propClass="pr top-sm margin-right-xs"></iconfont>
<text class="text-size-xs">{{$t('ask-comments.ask-comments.2zlnb5')}}{{ data.comments_count }})</text>
<text class="text-size-xs">{{$t('common.comment')}}({{ data.comments_count }})</text>
</view>
<view v-if="(data_base.is_blog_give_thumbs || 0) == 1" :class="'item dis-inline-block cr-' + ((data.is_give_thumbs || 0) == 1 ? 'main' : 'base')" :data-blogid="data.id" @tap="give_thumbs_event">
<iconfont :name="(data.is_give_thumbs || 0) == 1 ? 'icon-givealike' : 'icon-givealike-o'" size="28rpx" propClass="pr top-sm margin-right-xs"></iconfont>
<text class="va-m text-size-xs">{{$t('ask-comments.ask-comments.du7rcv')}}{{ data.give_thumbs_count }})</text>
<text class="va-m text-size-xs">{{$t('common.like')}}({{ data.give_thumbs_count }})</text>
</view>
<view class="item dis-inline-block cr-base" @tap="popup_share_event">
<iconfont name="icon-share" size="28rpx" propClass="pr top-sm margin-right-xs"></iconfont>
@ -31,7 +31,7 @@
<!-- #ifndef MP-ALIPAY -->
<text class="text-size-xs cr-grey-d margin-right-sm">{{$t('login.login.n24i5u')}}{{ input_comments_length_value }}{{$t('ask-comments.ask-comments.6l6vz7')}}</text>
<!-- #endif -->
<button type="default" size="mini" class="comment-btn cr-white border-radius-sm text-size-md va-m" :class="input_comments_value.length > 0 ? 'bg-main br-main ' : 'comment-btn-default'" @tap="comments_event">{{$t('user-order.user-order.twc3r7')}}</button>
<button type="default" size="mini" class="comment-btn cr-white border-radius-sm text-size-md va-m" :class="input_comments_value.length > 0 ? 'bg-main br-main ' : 'comment-btn-default'" @tap="comments_event">{{$t('common.comment')}}</button>
</view>
</view>
</view>
@ -51,11 +51,11 @@
<view class="blog-comments-right-content-operate margin-top-main flex-row jc-e align-c text-size-xs cr-grey-9">
<view v-if="(data_base.is_blog_comments_show || 0) == 1" class="item dis-inline-block" :data-index="index" :data-username="item.user.user_name_view" :data-blogcommentsid="item.id" @tap="modal_open_event">
<iconfont name="icon-message-square" size="28rpx" propClass="pr top-md margin-right-xs"></iconfont>
<text class="va-m">{{$t('ask-comments.ask-comments.3fcnme')}}{{ item.comments_count }})</text>
<text class="va-m">{{$t('common.reply')}}({{ item.comments_count }})</text>
</view>
<view v-if="(data_base.is_blog_give_thumbs || 0) == 1" :class="'item dis-inline-block margin-left-xxxl padding-left-sm cr-' + ((item.is_give_thumbs || 0) == 1 ? 'main' : '')" data-type="1" :data-index="index" :data-blogid="item.blog_id" :data-blogcommentsid="item.id" @tap="give_thumbs_event">
<iconfont :name="(item.is_give_thumbs || 0) == 1 ? 'icon-givealike' : 'icon-givealike-o'" size="28rpx" propClass="pr top-md margin-right-xs"></iconfont>
<text class="va-m">{{$t('ask-comments.ask-comments.du7rcv')}}{{ item.give_thumbs_count }})</text>
<text class="va-m">{{$t('common.like')}}({{ item.give_thumbs_count }})</text>
</view>
</view>
<view v-if="(item.reply_comments_list || null) != null && item.reply_comments_list.length > 0" class="reply-blog-comments-list">
@ -73,7 +73,7 @@
<view class="blog-comments-right-content-operate flex-row jc-e align-c text-size-xs cr-grey-9 padding-0">
<view v-if="(data_base.is_blog_comments_show || 0) == 1" class="item dis-inline-block" :data-index="index" :data-username="comments.user.user_name_view" :data-blogcommentsid="comments.blog_comments_id" :data-replycommentsid="comments.id" @tap="modal_open_event">
<iconfont name="icon-message-square" size="28rpx" propClass="pr top-md margin-right-xs"></iconfont>
<text class="va-m">{{$t('ask-comments.ask-comments.3fcnme')}}{{ comments.comments_count }})</text>
<text class="va-m">{{$t('common.reply')}}({{ comments.comments_count }})</text>
</view>
<view
v-if="(data_base.is_blog_give_thumbs || 0) == 1"
@ -87,7 +87,7 @@
@tap="give_thumbs_event"
>
<iconfont :name="(comments.is_give_thumbs || 0) == 1 ? 'icon-givealike' : 'icon-givealike-o'" size="28rpx" propClass="pr top-md margin-right-xs"></iconfont>
<text class="va-m">{{$t('ask-comments.ask-comments.du7rcv')}}{{ comments.give_thumbs_count }})</text>
<text class="va-m">{{$t('common.like')}}({{ comments.give_thumbs_count }})</text>
</view>
</view>
</view>
@ -124,7 +124,7 @@
<view v-if="input_comments_modal_status" class="blog-comments-modal pf">
<view class="blog-comments-modal-content bg-white border-radius-main pr">
<view class="tc margin-bottom-lg">
<text>{{$t('ask-comments.ask-comments.8sjar6')}}{{ input_comments_modal_username }}</text>
<text>{{$t('common.reply')}} @{{ input_comments_modal_username }}</text>
<view class="close pa">
<view @tap.stop="modal_close_event">
<iconfont name="icon-close-line" size="28rpx" color="#999"></iconfont>
@ -136,7 +136,7 @@
<image :src="common_static_url + 'emoji-icon.png'" mode="aspectFill" class="emoji-icon va-m" @tap="emoji_event"></image>
<view class="fr">
<text class="va-m text-size-xs cr-grey margin-right-lg">{{$t('login.login.n24i5u')}}{{ input_comments_length_value }}{{$t('ask-comments.ask-comments.6l6vz7')}}</text>
<button type="default" size="mini" class="comment-btn cr-white border-radius-sm text-size-xs va-m" :class="input_comments_value.length > 0 ? 'bg-main br-main ' : 'comment-btn-default'" @tap="comments_event">{{$t('user-order.user-order.twc3r7')}}</button>
<button type="default" size="mini" class="comment-btn cr-white border-radius-sm text-size-xs va-m" :class="input_comments_value.length > 0 ? 'bg-main br-main ' : 'comment-btn-default'" @tap="comments_event">{{$t('common.comment')}}</button>
</view>
</view>
</view>

View File

@ -24,8 +24,8 @@
</view>
<view v-if="(item.blog_data || null) != null" class="single-text cr-grey text-size-xs">
<text>{{ blog_main_name }}: {{ item.blog_data.blog_count }}</text>
<text v-if="(data_base.is_blog_comments_show || 0) == 1" class="margin-left">{{ $t('index.index.lkld04') }}{{ item.blog_data.comments_count }}</text>
<text v-if="(data_base.is_blog_give_thumbs || 0) == 1" class="margin-left">{{ $t('index.index.r6vv25') }}{{ item.blog_data.give_thumbs_count }}</text>
<text v-if="(data_base.is_blog_comments_show || 0) == 1" class="margin-left">{{$t('common.comment')}}:{{ item.blog_data.comments_count }}</text>
<text v-if="(data_base.is_blog_give_thumbs || 0) == 1" class="margin-left">{{$t('common.like')}}:{{ item.blog_data.give_thumbs_count }}</text>
</view>
</view>
</view>

View File

@ -45,8 +45,11 @@ export default {
onLoad(params) {
// 调用公共事件方法
app.globalData.page_event_onload_handle(params);
// 设置参数
this.params = app.globalData.launch_params_handle(params);
this.setData({
params: app.globalData.launch_params_handle(params),
});
},
/**
@ -56,14 +59,13 @@ export default {
// 调用公共事件方法
app.globalData.page_event_onshow_handle();
// 分享菜单处理
app.globalData.page_share_handle();
const data = uni.getWindowInfo();
this.windowWidth = data.windowWidth > 800 ? 800 : data.windowWidth;
this.windowHeight = data.windowHeight;
// 初始化
this.init();
// 页面显示时连接直播间socket, 避免用户切换到其他页面再切换回来时socket连接断开
if (this.$refs.liveContent) {
this.$refs.liveContent.socket_connect();
@ -72,6 +74,9 @@ export default {
if (this.$refs.liveVideo) {
this.$refs.liveVideo.reload_video();
}
// 分享菜单处理
app.globalData.page_share_handle();
},
/**

View File

@ -37,7 +37,7 @@
<text>{{$t('goods-search.goods-search.j8o278')}}</text>
<text class="cr-main"> {{data_total}} </text>
<text>{{$t('goods-search.goods-search.t9nikq')}}</text>
<text class="fr cr-red" @tap="map_remove_event">{{$t('goods-search.goods-search.pxk051')}}</text>
<text class="fr cr-red" @tap="map_remove_event">{{$t('common.clear')}}</text>
</view>
<!-- 搜索关键字 -->
<input type="text" confirm-type="done" :placeholder="$t('search.search.723rbx')" name="wd" :value="(post_data.wd || '')" class="map-keywords wh-auto round bg-base margin-top-lg" placeholder-class="cr-grey">

View File

@ -27,7 +27,7 @@
<view class="comment-operation flex-row align-c jc-sb gap-10">
<view class="comment-operation-left flex-row align-c gap-10">
<view class="comment-time">{{ propComment.add_time }}</view>
<view class="comment-reply flex-row align-c gap-5">{{ propReplyContent }}({{ propComment.comments_count }})</view>
<view class="comment-reply flex-row align-c gap-5">{{ propReplyContent || $t('common.reply') }}({{ propComment.comments_count }})</view>
</view>
<view class="comment-operation-right flex-row align-c gap-5" @tap.stop="comment_like">
<iconfont name="icon-givealike-o-fine" :color="propComment.is_give_thumbs == 0 ? '#000' : '#F4B73F'" size="28rpx" />
@ -56,7 +56,7 @@
},
propReplyContent: {
type: String,
default: '回复'
default: ''
},
//
propDropDownVisible: {
@ -68,8 +68,8 @@
return {
//
dropdownOptions: [
{ label: '删除', type: 'delete' },
{ label: '举报', type: 'report' }
{ label: this.$t('common.del'), type: 'delete' },
{ label: this.$t('common.complaint'), type: 'report' }
]
};
},

View File

@ -1,7 +1,7 @@
<template>
<view class="more-title flex-row align-c" @tap="comment_more_event">
{{ propText }}
<view class="ml-3">
<text>{{ propText || $t('common.expand') }}</text>
<view class="ml-5">
<iconfont :name="propIconName" color="#999" size="20rpx" />
</view>
</view>
@ -16,7 +16,7 @@ export default {
},
propText: {
type: String,
default: '展开'
default: ''
},
propIsLevel: {
type: Number,
@ -36,9 +36,6 @@ export default {
</script>
<style lang="scss" scoped>
.ml-3 {
margin-left: 6rpx;
}
.more-title {
font-size: 24rpx;
color: #999999;

View File

@ -4,7 +4,7 @@
<view class="more-history-btn-icon margin-right-xs">
<iconfont name="icon-reset" size="28rpx" color="#999"></iconfont>
</view>
<text>{{ propContent }}</text>
<text>{{ propContent || $t('common.loading_in_text') }}</text>
</view>
</view>
</template>
@ -14,7 +14,7 @@
props: {
propContent: {
type: String,
default: '加载中'
default: ''
}
}
}

View File

@ -4,9 +4,9 @@
<view class="search-iconfont-container">
<iconfont name="icon-search-fine"></iconfont>
</view>
<input type="text" v-model="search_query" :adjust-position="false" placeholder="请输入您的搜索内容" @input="handle_search" @confirm="perform_search" />
<input type="text" v-model="search_keywords" :adjust-position="false" :placeholder="$t('search.search.ic9b89')" @input="handle_search" @confirm="perform_search" />
<view class="search-line"></view>
<view class="search-button" @tap="perform_search"></view>
<view class="search-button" @tap="perform_search">{{$t('common.search')}}</view>
</view>
</template>
@ -24,13 +24,13 @@ export default {
},
data() {
return {
search_query: ''
search_keywords: ''
}
},
watch: {
propSearchQuery: {
handler(newVal, oldVal) {
this.search_query = newVal;
this.search_keywords = newVal;
},
immediate: true
}
@ -41,17 +41,17 @@ export default {
methods: {
init() {
this.setData({
search_query: this.search_query
search_keywords: this.search_keywords
})
},
handle_search(event) {
this.setData({
search_query: event.target.value,
search_keywords: event.target.value,
});
},
perform_search() {
//
this.$emit('search', this.search_query);
this.$emit('search', this.search_keywords);
},
disabled_search() {
this.$emit('disabledSearch');

View File

@ -19,9 +19,9 @@
<swiper class="swiper-container" :key="'top-or-buttom-' + swiper_key" :style="swiperStyle" :duration="500" :vertical="true" :circular="close_circular ? false : true" :skip-hidden-item-layout="true" :current="current_index" easing-function="linear" @transition="on_transition" @change="handle_swiper_change">
<swiper-item v-for="(video_item, index) in display_video_list" :key="video_item.id">
<view class="video-container pr" @tap.stop="toggle_play_pause">
<view class="video-bg" :style="!isEmpty(video_item.poster_url) ? 'background-image: url(' + video_item.poster_url + ')' : ''"></view>
<view class="video-bg" :style="!isEmpty(video_item.cover) ? 'background-image: url(' + video_item.cover + ')' : ''"></view>
<video class="video" :src="video_item.video_url" :poster="video_item.poster_url" :id="`video_${index}`" :loop="true" :show-fullscreen-btn="false" :show-center-play-btn="false" :show-play-btn="false" :controls="false" :show-mute-btn="true" object-fit="contain" @timeupdate="handle_time_update" @play="handle_play"></video>
<video class="video" :src="video_item.video_url" :poster="video_item.cover" :id="`video_${index}`" :loop="true" :show-fullscreen-btn="false" :show-center-play-btn="false" :show-play-btn="false" :controls="false" :show-mute-btn="true" object-fit="contain" @timeupdate="handle_time_update" @play="handle_play"></video>
<view v-if="paused && current_index == index" class="play-icon">
<view class="pr">
@ -45,7 +45,7 @@
</view>
<view class="action-item" @tap.stop="handle_share">
<iconfont name="icon-share-solid" color="#fff" size="60rpx"></iconfont>
<text class="action-text">分享</text>
<text class="action-text">{{$t('common.share')}}</text>
</view>
</view>
<view v-if="!isEmpty(video_item.goods) && base_config_data && base_config_data.is_video_detail_show_goods && base_config_data.is_video_detail_show_goods == 1" class="product-card">
@ -65,7 +65,7 @@
<view class="product-button" :data-id="video_item.id" @tap.stop="handle_product_button">
<view class="product-button-left flex-row align-c gap-10">
<iconfont name="icon-cart-have" color="#F5C366" size="30rpx"></iconfont>
<text class="size-14 cr-f">购买商品</text>
<text class="size-14 cr-f">{{$t('common.buy')}} {{$t('common.goods')}}</text>
</view>
<iconfont name="icon-angle-right" color="#fff" size="30rpx"></iconfont>
</view>
@ -90,7 +90,7 @@
<view v-if="show_comment_modal" class="comment-modal" @tap="close_comment_modal">
<view class="comment-content bottom-line-exclude-bottom" :style="commentContentStyle" @tap.stop @touchstart="handle_comment_touch_start" @touchmove="handle_comment_touch_move" @touchend="handle_comment_touch_end">
<view class="comment-header">
<text class="comment-count">评论</text>
<text class="comment-count">{{$t('common.comment')}}</text>
<view class="close-btn" @tap="close_comment_modal"></view>
</view>
<!-- 评论内容区域 -->
@ -108,7 +108,7 @@
</view>
<template v-if="comment_item.comments_count > 0">
<template v-if="!comment_item.show_sub_comment">
<commentMoreComponent :propId="comment_item.id" :propIsLevel="1" :propText="'—— 展开' + (comment_item.comments_count ? comment_item.comments_count || 0 : 0) + '条回复'" @comment_more_event="open_sub_comment"></commentMoreComponent>
<commentMoreComponent :propId="comment_item.id" :propIsLevel="1" :propText="'—— '+ $t('common.expand') + (comment_item.comments_count ? comment_item.comments_count || 0 : 0) + $t('ask-comments.ask-comments.ymmd24')" @comment_more_event="open_sub_comment"></commentMoreComponent>
</template>
<template v-else>
<template v-if="comment_item.show_sub_comment_loading">
@ -116,9 +116,9 @@
</template>
<view v-else class="sub-comment-more flex-row align-c gap-10">
<template v-if="comment_item.page != null && comment_item.page < comment_item.page_total">
<commentMoreComponent :propId="comment_item.id" :propIsLevel="2" propText="展开" @comment_more_event="open_sub_comment"></commentMoreComponent>
<commentMoreComponent :propId="comment_item.id" :propIsLevel="2" :propText="$t('common.expand')" @comment_more_event="open_sub_comment"></commentMoreComponent>
</template>
<commentMoreComponent :propId="comment_item.id" propText="收起" propIconName="icon-arrow-top" @comment_more_event="close_sub_comment"></commentMoreComponent>
<commentMoreComponent :propId="comment_item.id" :propText="$t('common.retract')" propIconName="icon-arrow-top" @comment_more_event="close_sub_comment"></commentMoreComponent>
</view>
</template>
</template>
@ -133,7 +133,7 @@
</template>
</template>
<template v-else>
<component-no-data propMsg="暂无评论"></component-no-data>
<component-no-data :propMsg="$t('common.no_data')"></component-no-data>
</template>
</view>
</scroll-view>
@ -163,19 +163,19 @@
</view>
<!-- 举报弹窗 -->
<component-popup :propShow="popup_report_status" propPosition="bottom" @onclose="popup_close_event">
<component-popup :propShow="popup_report_status" propPosition="bottom" @onclose="popup_report_close_event">
<view class="report-content">
<!-- 顶部按钮区域 -->
<view class="report-header flex-row align-c jc-sb">
<view class="report-btn cr-6" @tap="popup_close_event"></view>
<view class="report-title flex-1">举报原因</view>
<view class="report-btn cr-blue" @tap="submit_report"></view>
<view class="report-btn cr-6" @tap="popup_report_close_event">{{$t('common.cancel')}}</view>
<view class="report-title flex-1">{{$t('video-detail.video-detail.rfsdfg')}}</view>
<view class="report-btn cr-blue" @tap="submit_report">{{$t('common.confirm')}}</view>
</view>
<!-- 主要内容区域 -->
<view class="report-body">
<!-- 第一层举报原因选择 -->
<view v-if="report_type_list.length > 0" class="report-section">
<view class="report-label">举报原因<text class="ml-10">*</text></view>
<view class="report-label">{{$t('video-detail.video-detail.rfsdfg')}}<text class="ml-10">*</text></view>
<view class="flex-row align-c gap-10 flex-wrap">
<view v-for="(mainItem, main_index) in report_type_list" :key="main_index" class="flex-row align-c" :data-index="main_index" @tap="select_main_reason">
<view class="flex-row align-c">
@ -188,7 +188,7 @@
<!-- 第二层具体类型选择当有主类别选中时显示 -->
<view class="report-section mt-20" v-if="current_main_index >= 0 && report_type_list[current_main_index]">
<view class="report-label">请选择具体的类型<text class="ml-10">*</text></view>
<view class="report-label">{{$t('video-detail.video-detail.fsdf33')}}<text class="ml-10">*</text></view>
<view class="flex-row align-c gap-10 flex-wrap">
<view v-for="(subItem, sub_index) in report_type_list[current_main_index].data" :key="sub_index" class="flex-row align-c" :data-index="sub_index" @tap="select_sub_reason">
<view class="flex-row align-c">
@ -294,7 +294,7 @@
is_slide_start: false,
swiper_key: get_math(),
comment_scroll_top: 0, //
input_placeholder: '请输入您的精彩评论',
input_placeholder: this.$t('video-detail.video-detail.98yyuf'),
comment_input_value: '',
propMaxNum: 1,
form_images_list: [],
@ -344,21 +344,35 @@
return true
}
}
},
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
//
this.setData({
params: app.globalData.launch_params_handle(params),
});
},
onShow() {
//
app.globalData.page_event_onshow_handle();
//
if (!this.is_manual_pause && this.create_video_contexts[this.current_index]) {
this.video_play_event(this.create_video_contexts[this.current_index]);
}
// onshow
if ((this.$refs.common || null) != null) {
this.$refs.common.on_show();
}
//
app.globalData.page_share_handle();
},
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
//
this.setData({
params: app.globalData.launch_params_handle(params),
});
},
onShow() {
if (!this.is_manual_pause && this.create_video_contexts[this.current_index]) {
this.video_play_event(this.create_video_contexts[this.current_index]);
}
},
onHide() {
//
if (this.video_switch_debounce_timer) {
@ -370,15 +384,17 @@
//
this.cleanup_all_videos();
},
mounted() {
this.init();
mounted() {
//
this.init();
// #ifdef H5
//
document.addEventListener('click', this.handle_global_click);
//
document.addEventListener('touchstart', this.handle_global_click);
//#endif
//#endif
//
this.bind_keyboard_listener();
},
@ -390,7 +406,7 @@
if (this.video_cleanup_timer) {
clearTimeout(this.video_cleanup_timer);
}
//
this.cleanup_all_videos();
@ -743,7 +759,7 @@
desc: data.desc || '',
path: '/pages/plugins/video/detail/detail',
query: 'id=' + this.current_video_id,
img: data.poster_url || ''
img: data.cover || ''
}
this.setData({
share_info: info,
@ -1077,7 +1093,7 @@
form_images_list: [],
comment_input_value: '',
comments_data: {},
input_placeholder: '请输入您的精彩评论',
input_placeholder: this.$t('video-detail.video-detail.98yyuf'),
});
} else {
if (app.globalData.is_login_check(res.data)) {
@ -1358,10 +1374,6 @@
try {
//
this.pause_all_videos_except(-1);
//
// this.create_video_contexts = [];
// this.video_contexts = [];
console.log('视频资源清理完成');
} catch (error) {
console.error('清理视频资源时出错:', error);
}
@ -1385,8 +1397,8 @@
if (obj.type == 'delete') {
//
uni.showModal({
title: '确认删除',
content: '确定删除此评论吗?',
title: this.$t('common.warm_tips'),
content: this.$t('common.delete_confirm_tips'),
success: (res) => {
if (res.confirm) {
//
@ -1410,12 +1422,11 @@
},
dataType: 'json',
success: res => {
const data = res.data;
if (data.code == 0) {
if (res.data.code == 0) {
//
this.delete_comment_handle(comment_id);
//
app.globalData.showToast(this.$t('common.del_success'));
app.globalData.showToast(res.data.msg, 'success');
} else {
if (app.globalData.is_login_check(res.data)) {
app.globalData.showToast(res.data.msg);
@ -1502,7 +1513,7 @@
}
},
//
popup_close_event() {
popup_report_close_event() {
this.setData({
popup_report_status: false,
current_main_index: 0,
@ -1550,12 +1561,11 @@
},
dataType: 'json',
success: res => {
const data = res.data;
if (data.code == 0) {
if (res.data.code == 0) {
//
app.globalData.showToast('举报成功');
app.globalData.showToast(res.data.msg, 'success');
//
this.close_report_popup();
this.popup_report_close_event();
} else {
if (app.globalData.is_login_check(res.data)) {
app.globalData.showToast(res.data.msg);

View File

@ -38,7 +38,7 @@
<!-- 推荐视频卡片区域 -->
<view class="recommend-videos">
<view class="video-grid">
<view v-for="(item, index) in recommend_videos" :key="index" class="video-card" :data-id="item.id" @tap="navigate_to_detail">
<view v-for="(item, index) in recommend_videos" :key="index" class="video-card" :data-value="item.url" @tap="url_event">
<image class="video-thumbnail" :src="item.cover" mode="widthFix"></image>
<view class="video-info flex-col jc-c">
<view class="video-title text-line-2">{{ item.title }}</view>
@ -53,6 +53,8 @@
</view>
</view>
</view>
<!-- 结尾 -->
<component-bottom-line :propStatus="true"></component-bottom-line>
</template>
<template v-else>
<component-no-data :propStatus="data_list_loding_status" :propMsg="data_list_loding_msg"></component-no-data>
@ -69,6 +71,7 @@
<script>
import searchComponent from '@/pages/plugins/video/components/search.vue';
import componentNoData from '@/components/no-data/no-data';
import componentBottomLine from '@/components/bottom-line/bottom-line';
import componentBanner from '@/components/slider/slider';
import { video_get_top_left_padding } from '@/common/js/common/common.js';
import { isEmpty } from '../../../../common/js/common/common';
@ -82,6 +85,7 @@ export default {
components: {
searchComponent,
componentNoData,
componentBottomLine,
componentBanner,
},
data() {
@ -119,11 +123,35 @@ export default {
nav_sticky_style: '',
};
},
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
//
this.setData({
params: params,
});
},
onShow() {
this.init();
//
app.globalData.page_event_onshow_handle();
//
this.init();
// onshow
if ((this.$refs.common || null) != null) {
this.$refs.common.on_show();
}
//
app.globalData.page_share_handle();
},
methods: {
isEmpty,
//
init() {
//
let menu_button_info = 'max-width:100%';
@ -151,6 +179,8 @@ export default {
//
this.init_data();
},
//
init_data() {
//
uni.request({
@ -184,6 +214,8 @@ export default {
}
});
},
//
get_video_list(id = '') {
this.setData({
data_list_loding_status: 1,
@ -220,10 +252,14 @@ export default {
}
})
},
//
handle_search() {
//
app.globalData.url_open(`/pages/plugins/video/search-record/search-record`, false);
},
//
switch_tab(e) {
const id = e?.currentTarget?.dataset?.id || 0;
const index = e?.currentTarget?.dataset?.index || 0;
@ -234,22 +270,20 @@ export default {
//
this.get_video_list(id);
},
navigate_to_detail(e) {
const id = e?.currentTarget?.dataset?.id || '';
if (id == '') {
return false;
} else {
app.globalData.url_open(`/pages/plugins/video/detail/detail?id=${id}`, false);
}
},
// url
url_event(e) {
app.globalData.url_event(e);
},
//
handle_back() {
app.globalData.page_back_prev_event();
},
//
on_scroll_event(e) {
const scrollTop = e.detail.scrollTop;
console.log(this.nav_sticky_threshold);
// nav-tabs
this.setData({
is_nav_sticky: scrollTop >= this.nav_sticky_threshold,

View File

@ -1,8 +1,3 @@
.search-record-container {
background: #fff;
height: 100vh;
}
.header-top {
position: sticky;
top: 0;
@ -42,11 +37,6 @@
}
/* 热门搜索 */
.hot-search {
padding: 40rpx;
background: #fff;
}
.hot-tabs {
display: flex;
margin-bottom: 20rpx;

View File

@ -1,5 +1,5 @@
<template>
<view class="wh-auto ht pr search-record-container bottom-line-exclude-bottom">
<view class="wh-auto pr bg-white bottom-line-exclude-bottom">
<template v-if="search_history_data.length > 0">
<!-- 搜索框 -->
<view class="header-top" :style="top_content_style + menu_button_info">
@ -11,21 +11,21 @@
</view>
<!-- #endif -->
<view class="wh-auto ht-auto" :style="header_padding_left">
<search-component :propSearchQuery="search_query" @search="handle_search" />
<search-component :propSearchQuery="search_keywords" @search="handle_search" />
</view>
</view>
</view>
<!-- 搜索历史记录 -->
<view v-if="show_search_history.length > 0" class="search-history flex-col jc-c align-c">
<view class="wh-auto flex-row align-c jc-sb">
<text class="size-14 cr-6">历史记录</text>
<text class="size-14 cr-6">{{$t('common.history_record')}}</text>
<view class="flex-row algin-c gap-5" @tap="clear_history">
<iconfont name="icon-delete" size="28rpx" color="#999"></iconfont>
<text class="size-12 cr-9">清除记录</text>
<text class="size-12 cr-9">{{$t('common.clear_record')}}</text>
</view>
</view>
<view v-for="(history, index) in show_search_history" :key="index" class="wh-auto history-item flex-row align-c jc-sb">
<view class="flex-1 flex-row align-c search-history-title cp" :data-value="history" @tap.stop="perform_search">
<view class="flex-1 flex-row align-c search-history-title cp" :data-value="history" @tap.stop="history_search_event">
<iconfont name="icon-time" size="32rpx"></iconfont>
<text>{{ history }}</text>
</view>
@ -37,12 +37,12 @@
<loadingComponent></loadingComponent>
</template>
<template v-else>
<view class="more-history-btn cp" @tap="view_more_history"></view>
<view class="more-history-btn cp" @tap="view_more_history">{{$t('common.view_more')}} {{$t('common.history')}}</view>
</template>
</template>
</view>
<!-- 热搜列表 -->
<view v-if="search_history_data.length > 0" class="hot-search">
<view v-if="search_history_data.length > 0" class="bg-white padding-xxl">
<view class="hot-tabs">
<scroll-view scroll-x :show-scrollbar="false" class="tabs-scroll" style="white-space: nowrap;">
<view class="tabs-scroll-content">
@ -51,7 +51,7 @@
</scroll-view>
</view>
<view class="hot-list flex-col align-c gap-10">
<view v-for="(item, index) in search_history_data[hot_current_tab].data" :key="index" :class="'cp wh-auto flex-row align-c jc-sb gap-10 hot-item' + (index < 3 ? ' hot-item-top' : '')" :data-url="item.url" @tap.stop="perform_url">
<view v-for="(item, index) in search_history_data[hot_current_tab].data" :key="index" :class="'cp wh-auto flex-row align-c jc-sb gap-10 hot-item' + (index < 3 ? ' hot-item-top' : '')" :data-value="item.url" @tap.stop="url_event">
<view class="flex-1 flex-row align-c gap-10">
<view class="hot-num flex-row align-c jc-c">
<view :class="index < 3 ? `hexagon-top hexagon-top-${index + 1}` : 'hexagon-no-top'"><span>{{ index + 1 }}</span></view>
@ -108,7 +108,7 @@ export default {
// #ifdef APP
top_content_style: 'padding-top:' + bar_height + 'px;padding-bottom:10px;',
// #endif
search_query: '',
search_keywords: '',
search_history: [],
show_search_history: [],
search_history_data: [],
@ -117,11 +117,35 @@ export default {
header_padding_left: '',
data_loding_status: 1,
data_loding_msg: '',
cache_key: 'cache_plugins_video_search_history_key',
};
},
onShow() {
this.init();
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
//
this.setData({
params: params,
});
},
onShow() {
//
app.globalData.page_event_onshow_handle();
//
this.init();
// onshow
if ((this.$refs.common || null) != null) {
this.$refs.common.on_show();
}
//
app.globalData.page_share_handle();
},
methods: {
init() {
//
@ -147,17 +171,19 @@ export default {
menu_button_info: menu_button_info
});
//
this.search_history = uni.getStorageSync('cache_plugins_video_search_history_key') || [];
this.search_history = uni.getStorageSync(this.cache_key) || [];
if (this.search_history.length > 0) {
this.show_search_history = this.search_history.filter((item, index) => index < 5);
} else {
this.show_search_history = [];
}
//
this.search_query = '';
this.search_keywords = '';
this.init_data();
},
//
init_data() {
uni.request({
url: app.globalData.get_request_url("searchrecord", "index", "video"),
@ -185,25 +211,44 @@ export default {
}
});
},
//
//
handle_back() {
app.globalData.page_back_prev_event();
},
handle_search(e) {
// url
url_event(e) {
app.globalData.url_event(e);
},
//
switch_hot_tab(e) {
this.setData({
hot_current_tab: e.currentTarget.dataset.index,
});
},
//
handle_search(value) {
//
if (!isEmpty(e) && !this.search_history.includes(e)) {
this.search_history.push(e);
uni.setStorageSync('cache_plugins_video_search_history_key', this.search_history);
if (!isEmpty(value) && !this.search_history.includes(value)) {
this.search_history.unshift(value);
uni.setStorageSync(this.cache_key, this.search_history);
}
this.search_query = e;
this.search_keywords = value;
//
app.globalData.url_open(`/pages/plugins/video/search/search?search_query=${this.search_query}`, false);
app.globalData.url_open(`/pages/plugins/video/search/search?keywords=${this.search_keywords}`, false);
},
perform_search(e) {
//
history_search_event(e) {
const value = e?.currentTarget?.dataset?.value || '';
//
this.handle_search(value);
},
//
delete_history(e) {
const index = e?.currentTarget?.dataset?.index;
const data = this.show_search_history[index];
@ -212,14 +257,10 @@ export default {
this.search_history.splice(newIndex, 1);
}
this.show_search_history.splice(index, 1);
uni.setStorageSync('cache_plugins_video_search_history_key', this.search_history);
},
perform_url(e) {
const url = e?.currentTarget?.dataset?.url || '';
if (!isEmpty(url)) {
app.globalData.url_open(url);
}
uni.setStorageSync(this.cache_key, this.search_history);
},
//
view_more_history() {
//
this.is_view_more = true;
@ -229,13 +270,10 @@ export default {
this.show_search_history = this.search_history.filter((item, index) => index < ((this.show_search_history.length - 1) + 5))
}, 500);
},
switch_hot_tab(e) {
this.setData({
hot_current_tab: e.currentTarget.dataset.index,
});
},
//
clear_history() {
uni.setStorageSync('cache_plugins_video_search_history_key', []);
uni.setStorageSync(this.cache_key, []);
this.setData({
search_history: [],
show_search_history: [],

View File

@ -89,7 +89,6 @@
column-count: 2;
column-gap: 10px;
/* 添加这些样式确保滚动事件能正常触发 */
min-height: 100%;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}

View File

@ -13,14 +13,14 @@
</view>
<!-- #endif -->
<view class="wh-auto ht-auto" :style="header_padding_left">
<search-component :propSearchQuery="search_query" @search="handle_search" />
<search-component :propSearchQuery="search_keywords" @search="handle_search" />
</view>
</view>
</view>
<!-- 导航栏 -->
<view class="nav-tabs flex-row align-s jc-sb gap-10">
<view class="tabs-scroll-content">
<view v-for="(tab, index) in category_list" :key="index" class="tab-item" :class="(currentTab === index) ? 'active' : ''" :data-index="index" @click="switch_tab">{{ tab.name }}</view>
<view v-for="(tab, index) in category_list" :key="index" class="tab-item" :class="(currentTab == index) ? 'active' : ''" :data-index="index" @click="switch_tab">{{ tab.name }}</view>
</view>
<view class="nav-tabs-filter" @click="toggle_filter_popup">
<iconfont name="icon-filter" size="32rpx"></iconfont>
@ -32,7 +32,7 @@
<scroll-view scroll-y :show-scrollbar="false" class="recommend-scroll" @scrolltolower="on_scroll_lower_event" lower-threshold="150" scroll-with-animation="true" enhanced="true">
<template v-if="recommend_videos.length > 0">
<view class="video-grid">
<view v-for="(item, index) in recommend_videos" :key="index" class="video-card" :data-id="item.id" @tap="navigate_to_detail">
<view v-for="(item, index) in recommend_videos" :key="index" class="video-card" :data-value="item.url" @tap="url_event">
<image class="video-thumbnail" :src="item.cover" mode="widthFix"></image>
<view class="video-info flex-col jc-c">
<view class="video-title text-line-2">{{ item.title }}</view>
@ -124,7 +124,7 @@ export default {
// #ifdef APP
top_content_style: 'padding-top:' + bar_height + 'px;padding-bottom:10px;',
// #endif
search_query: '',
search_keywords: '',
currentTab: 0,
recommend_videos: [],
isLoadingMore: false,
@ -133,9 +133,9 @@ export default {
popup_top: '0rpx',
platform: app.globalData.application_client_type(),
popup_list: [
{ title: '排序依据', id: 'sort', list: []},
{ title: '发布时间', id: 'time', list: [] },
{ title: '视频时长', id: 'duration', list: [] },
{ title: this.$t('video-search.video-search.sdfgg4'), id: 'sort', list: []},
{ title: this.$t('video-search.video-search.gf3212'), id: 'time', list: [] },
{ title: this.$t('video-search.video-search.iuyt42'), id: 'duration', list: [] },
],
filter_params: {
sort: 'default',
@ -154,19 +154,39 @@ export default {
data_list_loding_status: 1,
data_list_loding_msg: '',
search_history: [],
cache_key: 'cache_plugins_video_search_history_key',
};
},
onLoad(params) {
//
this.setData({
search_query: params.search_query || '',
params: app.globalData.launch_params_handle(params),
});
},
onShow() {
this.init();
},
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
//
params = app.globalData.launch_params_handle(params);
this.setData({
search_keywords: params.keywords || '',
params: params,
});
},
onShow() {
//
app.globalData.page_event_onshow_handle();
//
this.init();
// onshow
if ((this.$refs.common || null) != null) {
this.$refs.common.on_show();
}
//
app.globalData.page_share_handle();
},
methods: {
//
init() {
//
let menu_button_info = 'max-width:100%';
@ -206,11 +226,12 @@ export default {
})
.exec(); //
}, 500);
this.search_history = uni.getStorageSync('cache_plugins_video_search_history_key') || [];
this.search_history = uni.getStorageSync(this.cache_key) || [];
//
this.init_data();
},
//
init_data () {
uni.request({
@ -254,26 +275,30 @@ export default {
}
});
},
//
handle_back() {
app.globalData.page_back_prev_event();
},
//
handle_search(e) {
this.setData({
search_query: e,
search_keywords: e,
page: 0,
page_total: 1,
data_list_loding_status: 1,
recommend_videos: []
})
if (!isEmpty(e) && !this.search_history.includes(e)) {
this.search_history.push(e);
uni.setStorageSync('cache_plugins_video_search_history_key', this.search_history);
this.search_history.unshift(e);
uni.setStorageSync(this.cache_key, this.search_history);
}
//
this.load_recommend_videos();
},
//
switch_tab(e) {
const index = e?.currentTarget?.dataset?.index || 0;
this.setData({
@ -287,6 +312,8 @@ export default {
//
this.load_recommend_videos();
},
//
load_recommend_videos() {
//
const { time = '', duration = '', sort = ''} = this.filter_params;
@ -296,7 +323,7 @@ export default {
method: 'POST',
data: {
cid: this.search_cid,
bwd: this.search_query, //
bwd: this.search_keywords, //
rt: time, //
dn: duration, //
by: sort, //
@ -334,14 +361,13 @@ export default {
}
});
},
navigate_to_detail(e) {
const id = e?.currentTarget?.dataset?.id || '';
if (id == '') {
return false;
} else {
app.globalData.url_open(`/pages/plugins/video/detail/detail?id=${id}`, false);
}
// url
url_event(e) {
app.globalData.url_event(e);
},
//
on_scroll_lower_event() {
//
if (this.page >= this.page_total) {
@ -350,12 +376,17 @@ export default {
//
this.load_recommend_videos();
},
//
toggle_filter_popup() {
this.filter_popup_status = !this.filter_popup_status;
},
//
close_filter_popup() {
this.filter_popup_status = false;
},
//
select_filter(e) {
const type = e?.currentTarget?.dataset?.type || '';

View File

@ -62,7 +62,7 @@
<view class="bg-base border-radius-main padding-main oh">
<textarea @input="address_discern_value_event" :value="address_discern_value" class="margin-0" :placeholder="$t('user-address-save.user-address-save.b32r6v')" placeholder-class="cr-grey" />
<view class="padding-top-sm tr" :class="identfication_show ? '' : 'dis-none'">
<button type="default" size="mini" class="btn round cr-base text-size-xs margin-right-sm padding-0 tc" @tap="clear_discern_submit_event">{{$t('goods-search.goods-search.pxk051')}}</button>
<button type="default" size="mini" class="btn round cr-base text-size-xs margin-right-sm padding-0 tc" @tap="clear_discern_submit_event">{{$t('common.clear')}}</button>
<button type="default" size="mini" class="btn round bg-main cr-white text-size-xs padding-0 tc" @tap="address_discern_submit_event">{{$t('user-address-save.user-address-save.s3o1p5')}}</button>
</view>
</view>

View File

@ -48,7 +48,7 @@
<button v-if="detail.operate_data.is_collect == 1" class="round bg-white cr-green br-green margin-bottom-main" type="default" size="mini" @tap="collect_event" hover-class="none">{{$t('orderallot-list.orderallot-list.w2w2w4')}}</button>
<button v-if="(detail.plugins_express_data || 0) == 1 && (detail.express_data || null) != null" class="round bg-white cr-main br-main margin-bottom-main" type="default" size="mini" @tap="url_event" :data-value="'/pages/plugins/express/detail/detail?oid=' + detail.id" hover-class="none">{{$t('orderallot-list.orderallot-list.w2t242')}}</button>
<button v-if="(detail.plugins_delivery_data || 0) > 0" class="round bg-white cr-main br-main margin-bottom-main" type="default" size="mini" @tap="url_event" :data-value="'/pages/plugins/delivery/logistics/logistics?id=' + detail.plugins_delivery_data" hover-class="none">{{$t('orderallot-list.orderallot-list.w2t242')}}</button>
<button v-if="detail.operate_data.is_comments == 1" class="round bg-white cr-green br-green margin-bottom-main" type="default" size="mini" @tap="url_event" :data-value="'/pages/user-order-comments/user-order-comments?id='+detail.id" hover-class="none">{{$t('user-order.user-order.twc3r7')}}</button>
<button v-if="detail.operate_data.is_comments == 1" class="round bg-white cr-green br-green margin-bottom-main" type="default" size="mini" @tap="url_event" :data-value="'/pages/user-order-comments/user-order-comments?id='+detail.id" hover-class="none">{{$t('common.comment')}}</button>
<button v-if="detail.status == 2 && detail.order_model != 2" class="round cr-base br margin-bottom-main" type="default" size="mini" @tap="rush_event" hover-class="none">{{$t('user-order.user-order.lp1v28')}}</button>
<button v-if="detail.operate_data.is_delete == 1" class="round bg-white cr-red br-red margin-bottom-main" type="default" size="mini" @tap="delete_event" hover-class="none">{{$t('common.del')}}</button>
<button v-if="(detail.plugins_is_order_allot_button || 0) == 1" class="round bg-white cr-main br-main margin-bottom-main" type="default" size="mini" @tap="url_event" :data-value="'/pages/plugins/realstore/orderallot-list/orderallot-list?oid=' + detail.id" hover-class="none">{{$t('user-order.user-order.ht65c9')}}</button>

View File

@ -82,7 +82,7 @@
<button v-if="item.operate_data.is_collect == 1" class="round bg-white cr-green br-green margin-bottom-main" type="default" size="mini" @tap="collect_event" :data-transactionid="item.weixin_collect_data || ''" :data-value="item.id" :data-index="index" hover-class="none">{{$t('orderallot-list.orderallot-list.w2w2w4')}}</button>
<button v-if="(item.plugins_express_data || 0) == 1 && (item.express_data || null) != null" class="round bg-white cr-main br-main margin-bottom-main" type="default" size="mini" @tap="url_event" :data-value="'/pages/plugins/express/detail/detail?oid=' + item.id" hover-class="none">{{$t('orderallot-list.orderallot-list.w2t242')}}</button>
<button v-if="(item.plugins_delivery_data || 0) > 0" class="round bg-white cr-main br-main margin-bottom-main" type="default" size="mini" @tap="url_event" :data-value="'/pages/plugins/delivery/logistics/logistics?id=' + item.plugins_delivery_data" hover-class="none">{{$t('orderallot-list.orderallot-list.w2t242')}}</button>
<button v-if="item.operate_data.is_comments == 1" class="round bg-white cr-green br-green margin-bottom-main" type="default" size="mini" @tap="url_event" :data-value="'/pages/user-order-comments/user-order-comments?id='+item.id" hover-class="none">{{$t('user-order.user-order.twc3r7')}}</button>
<button v-if="item.operate_data.is_comments == 1" class="round bg-white cr-green br-green margin-bottom-main" type="default" size="mini" @tap="url_event" :data-value="'/pages/user-order-comments/user-order-comments?id='+item.id" hover-class="none">{{$t('common.comment')}}</button>
<button v-if="item.status == 2 && item.order_model != 2" class="round cr-base br margin-bottom-main" type="default" size="mini" @tap="rush_event" :data-value="item.id" :data-index="index" hover-class="none">{{$t('user-order.user-order.lp1v28')}}</button>
<button v-if="item.operate_data.is_delete == 1" class="round bg-white cr-red br-red margin-bottom-main" type="default" size="mini" @tap="delete_event" :data-value="item.id" :data-index="index" hover-class="none">{{$t('common.del')}}</button>
<button v-if="(item.plugins_is_order_allot_button || 0) == 1" class="round bg-white cr-main br-main margin-bottom-main" type="default" size="mini" @tap="url_event" :data-value="'/pages/plugins/realstore/orderallot-list/orderallot-list?oid=' + item.id" hover-class="none">{{$t('user-order.user-order.ht65c9')}}</button>