282 lines
8.4 KiB
JavaScript
282 lines
8.4 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../common/vendor.js");
|
|
const common_assets = require("../../common/assets.js");
|
|
const common_js_util = require("../../common/js/util.js");
|
|
const api_index = require("../../api/index.js");
|
|
if (!Array) {
|
|
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
|
|
_easycom_uni_icons2();
|
|
}
|
|
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
|
|
if (!Math) {
|
|
(statusBar + _easycom_uni_icons)();
|
|
}
|
|
const statusBar = () => "../../components/header/statusBar.js";
|
|
const _sfc_main = {
|
|
__name: "search",
|
|
setup(__props) {
|
|
const searchState = common_vendor.ref(false);
|
|
const searchLog = common_vendor.reactive([]);
|
|
const hotVideoList = common_vendor.reactive([]);
|
|
const tabList = common_vendor.reactive([
|
|
{
|
|
name: "视频",
|
|
getList: () => getVideoList(),
|
|
getMoreList: () => getMoreVideoList(),
|
|
refreshList: () => refreshVideoList()
|
|
},
|
|
{
|
|
name: "用户",
|
|
getList: () => getFriendList(),
|
|
getMoreList: () => getMoreFriendList(),
|
|
refreshList: () => refreshFriendList()
|
|
}
|
|
]);
|
|
const tabIndex = common_vendor.ref(0);
|
|
const keyword = common_vendor.ref("");
|
|
const videoList = common_vendor.reactive({
|
|
data: [],
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
total: 0
|
|
});
|
|
const userList = common_vendor.reactive({
|
|
data: [],
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
total: 0
|
|
});
|
|
common_vendor.onLoad(() => {
|
|
getSearchLog();
|
|
getHotVideo();
|
|
});
|
|
common_vendor.onReachBottom(() => {
|
|
if (searchState.value)
|
|
tabList[tabIndex.value].getMoreList();
|
|
});
|
|
common_vendor.onPullDownRefresh(() => {
|
|
if (!searchState.value) {
|
|
common_vendor.index.stopPullDownRefresh();
|
|
return;
|
|
}
|
|
tabList[tabIndex.value].refreshList();
|
|
});
|
|
function getSearchLog() {
|
|
api_index.api.video.videoSearchLog().then((rs) => {
|
|
if (rs.code == 200) {
|
|
searchLog.push(...rs.data);
|
|
return;
|
|
}
|
|
common_js_util.util.alert({
|
|
content: rs.msg,
|
|
showCancel: false
|
|
});
|
|
});
|
|
}
|
|
function getHotVideo() {
|
|
api_index.api.video.hotVideos().then((rs) => {
|
|
if (rs.code == 200) {
|
|
hotVideoList.push(...rs.data);
|
|
return;
|
|
}
|
|
common_js_util.util.alert({
|
|
contuent: rs.msg,
|
|
showCancel: false
|
|
});
|
|
});
|
|
}
|
|
function handleTabIndex(index) {
|
|
if (tabIndex.value === index)
|
|
return;
|
|
tabIndex.value = index;
|
|
tabList[tabIndex.value].refreshList();
|
|
}
|
|
function handleUser(item) {
|
|
common_vendor.index.navigateTo({
|
|
url: common_js_util.util.setUrl("/pages/index/videoHome", {
|
|
userId: item.userId
|
|
})
|
|
});
|
|
}
|
|
function handleSearch() {
|
|
if (!keyword.value) {
|
|
searchState.value = false;
|
|
return;
|
|
} else
|
|
searchState.value = true;
|
|
tabList[tabIndex.value].getList();
|
|
}
|
|
function refreshVideoList() {
|
|
videoList.pageNum = 1;
|
|
videoList.total = 0;
|
|
getVideoList();
|
|
}
|
|
function getMoreVideoList() {
|
|
if (videoList.data.length >= videoList.total)
|
|
return;
|
|
videoList.pageNum++;
|
|
getVideoList();
|
|
}
|
|
function getVideoList() {
|
|
api_index.api.video.videoSearch({
|
|
query: {
|
|
// 搜索
|
|
search: keyword.value,
|
|
pageNum: videoList.pageNum,
|
|
pageSize: videoList.pageSize
|
|
}
|
|
}).then((rs) => {
|
|
if (rs.code == 200) {
|
|
if (videoList.pageNum)
|
|
videoList.data.length = 0;
|
|
videoList.data.push(...rs.rows.map((item) => {
|
|
item.format_videoUrl = common_js_util.util.format_url(item.videoUrl, "video");
|
|
item.format_header = common_js_util.util.format_url(item.header, "img");
|
|
item.format_imageUrl = common_js_util.util.format_url(item.imageUrl, "img");
|
|
return item;
|
|
}));
|
|
videoList.total = rs.total;
|
|
console.log("videoList", videoList.data);
|
|
return;
|
|
}
|
|
common_js_util.util.alert({
|
|
content: rs.msg,
|
|
showCancel: false
|
|
});
|
|
}).finally(() => {
|
|
common_vendor.index.stopPullDownRefresh();
|
|
});
|
|
}
|
|
function refreshFriendList() {
|
|
userList.pageNum = 1;
|
|
userList.total = 0;
|
|
getFriendList();
|
|
}
|
|
function getMoreFriendList() {
|
|
if (userList.data.length >= userList.total)
|
|
return;
|
|
userList.pageNum++;
|
|
getFriendList();
|
|
}
|
|
function getFriendList() {
|
|
api_index.api.video.searchFriendByName({
|
|
path: [keyword.value],
|
|
query: {
|
|
pageNum: userList.pageNum,
|
|
pageSize: userList.pageSize
|
|
}
|
|
}).then((rs) => {
|
|
console.log(rs);
|
|
if (rs.code == 200) {
|
|
if (userList.pageNum)
|
|
userList.data.length = 0;
|
|
userList.data.push(...rs.rows.map((item) => {
|
|
item.format_userPortrait = common_js_util.util.format_url(item.userPortrait, "img");
|
|
return item;
|
|
}));
|
|
userList.total = rs.total;
|
|
return;
|
|
}
|
|
common_js_util.util.alert({
|
|
content: rs.msg,
|
|
showCancel: false
|
|
});
|
|
}).finally(() => {
|
|
common_vendor.index.stopPullDownRefresh();
|
|
});
|
|
}
|
|
function handleItemSearch(item, key) {
|
|
keyword.value = item[key];
|
|
handleSearch();
|
|
}
|
|
return (_ctx, _cache) => {
|
|
return common_vendor.e({
|
|
a: common_vendor.p({
|
|
type: "left",
|
|
size: "48rpx",
|
|
color: "#333"
|
|
}),
|
|
b: common_vendor.p({
|
|
type: "search",
|
|
size: "32rpx",
|
|
color: "#aaa"
|
|
}),
|
|
c: keyword.value,
|
|
d: common_vendor.o$1(($event) => keyword.value = $event.detail.value),
|
|
e: common_vendor.o$1(handleSearch),
|
|
f: !searchState.value
|
|
}, !searchState.value ? common_vendor.e({
|
|
g: common_vendor.f(searchLog, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item.search),
|
|
b: index,
|
|
c: common_vendor.o$1(($event) => handleItemSearch(item, "search"), index)
|
|
};
|
|
}),
|
|
h: !searchLog[0]
|
|
}, !searchLog[0] ? {} : {}, {}, {
|
|
j: common_vendor.f(hotVideoList, (item, index, i0) => {
|
|
return common_vendor.e({
|
|
a: common_vendor.t(index + 1),
|
|
b: common_vendor.t(item.title)
|
|
}, {}, {
|
|
e: common_vendor.t(item.play)
|
|
}, {}, {
|
|
i: index,
|
|
j: common_vendor.o$1(($event) => handleItemSearch(item, "title"), index)
|
|
});
|
|
})
|
|
}) : common_vendor.e({
|
|
k: common_vendor.f(tabList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item.name),
|
|
b: index,
|
|
c: index === tabIndex.value ? 1 : "",
|
|
d: common_vendor.o$1(($event) => handleTabIndex(index), index)
|
|
};
|
|
}),
|
|
l: tabIndex.value === 0
|
|
}, tabIndex.value === 0 ? {
|
|
m: common_vendor.f(videoList.data, (item, index, i0) => {
|
|
return common_vendor.e({
|
|
a: item.format_header,
|
|
b: common_vendor.o$1(($event) => handleUser(item), index),
|
|
c: common_vendor.t(item.userName),
|
|
d: common_vendor.t(item.createTime),
|
|
e: common_vendor.t(item.title),
|
|
f: item.format_imageUrl,
|
|
g: item.isLike == 0
|
|
}, item.isLike == 0 ? {
|
|
h: common_assets._imports_2$2
|
|
} : {
|
|
i: common_assets._imports_3
|
|
}, {
|
|
j: common_vendor.t(item.likes),
|
|
k: common_vendor.t(item.comment),
|
|
l: common_vendor.t(item.collect)
|
|
}, {}, {}, {
|
|
p: index
|
|
});
|
|
}),
|
|
n: common_assets._imports_5,
|
|
o: common_assets._imports_8
|
|
} : {}, {
|
|
p: tabIndex.value === 1
|
|
}, tabIndex.value === 1 ? {
|
|
q: common_vendor.f(userList.data, (item, index, i0) => {
|
|
return common_vendor.e({
|
|
a: item.format_userPortrait,
|
|
b: common_vendor.t(item.userNickname),
|
|
c: common_vendor.t(item.userFans),
|
|
d: item.isAttention
|
|
}, item.isAttention ? {} : {}, {
|
|
e: index,
|
|
f: common_vendor.o$1(($event) => handleUser(item), index)
|
|
});
|
|
})
|
|
} : {}));
|
|
};
|
|
}
|
|
};
|
|
wx.createPage(_sfc_main);
|