新增Scheme URL对音乐搜索的调用支持;新增Scheme URL以url传参的方式调用
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
div(:class="$style.search")
|
||||
//- transition
|
||||
div(:class="$style.header")
|
||||
base-tab(:class="$style.tab" :list="sources" align="left" item-key="id" item-name="name" v-model="searchSourceId")
|
||||
base-tab(:class="$style.tab" :list="sources" align="left" item-key="id" item-name="name" @change="handleSourceChange" v-model="searchSourceId")
|
||||
div(:class="$style.main")
|
||||
div(:class="$style.list" v-show="isLoading || listInfo.list.length")
|
||||
div.thead(:class="$style.thead")
|
||||
@@ -109,12 +109,28 @@ export default {
|
||||
isLoading: false,
|
||||
}
|
||||
},
|
||||
beforeRouteUpdate(to, from, next) {
|
||||
if (to.query.text === undefined) return
|
||||
this.text = to.query.text
|
||||
this.page = 1
|
||||
this.handleSearch(this.text, this.page)
|
||||
next()
|
||||
beforeRouteUpdate(to, from) {
|
||||
if (to.query.source && (this.sourceList[to.query.source] || to.query.source == 'all')) {
|
||||
if (this.setting.search.searchSource != to.query.source) {
|
||||
this.setSearchSource({
|
||||
searchSource: to.query.source,
|
||||
})
|
||||
}
|
||||
if (this.searchSourceId != to.query.source) {
|
||||
this.searchSourceId = to.query.source
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.handleGetHotSearch()
|
||||
})
|
||||
}
|
||||
if (to.query.text != null && this.text != to.query.text) {
|
||||
this.text = to.query.text
|
||||
}
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.page = 1
|
||||
this.handleSearch(this.text, this.page)
|
||||
})
|
||||
},
|
||||
created() {
|
||||
this.listenEvent()
|
||||
@@ -124,18 +140,20 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
// console.log('mounted')
|
||||
|
||||
// 处理搜索源不存在时页面报错的问题
|
||||
if (!this.sourceList[this.setting.search.searchSource] && this.setting.search.searchSource != 'all') {
|
||||
if (this.$route.query.source && (this.sourceList[this.$route.query.source] || this.$route.query.source == 'all')) {
|
||||
this.setSearchSource({
|
||||
searchSource: this.$route.query.source,
|
||||
})
|
||||
} else if (!this.sourceList[this.setting.search.searchSource] && this.setting.search.searchSource != 'all') { // 处理搜索源不存在时页面报错的问题
|
||||
this.setSearchSource({
|
||||
searchSource: 'kw',
|
||||
})
|
||||
}
|
||||
this.searchSourceId = this.setting.search.searchSource
|
||||
if (this.$route.query.text === undefined) {
|
||||
if (this.$route.query.text == null) {
|
||||
this.text = this.$store.getters['search/searchText']
|
||||
this.page = this.listInfo.page
|
||||
} else if (this.$route.query.text === '') {
|
||||
} else if (this.$route.query.text == '') {
|
||||
this.clearList()
|
||||
} else {
|
||||
this.text = this.$route.query.text
|
||||
@@ -156,18 +174,6 @@ export default {
|
||||
'listInfo.list'() {
|
||||
this.removeAllSelect()
|
||||
},
|
||||
searchSourceId(n) {
|
||||
if (n === this.setting.search.searchSource) return
|
||||
if (this.text !== '') this.isLoading = true
|
||||
this.$nextTick(() => {
|
||||
this.page = 1
|
||||
this.handleSearch(this.text, this.page)
|
||||
this.handleGetHotSearch()
|
||||
})
|
||||
this.setSearchSource({
|
||||
searchSource: n,
|
||||
})
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['userInfo', 'setting']),
|
||||
@@ -417,7 +423,7 @@ export default {
|
||||
this.getHotSearch(this.setting.search.searchSource)
|
||||
},
|
||||
handleNoitemSearch(text) {
|
||||
this.$router.push({
|
||||
this.$router.replace({
|
||||
path: 'search',
|
||||
query: {
|
||||
text,
|
||||
@@ -512,6 +518,15 @@ export default {
|
||||
break
|
||||
}
|
||||
},
|
||||
handleSourceChange(source) {
|
||||
this.$router.replace({
|
||||
path: 'search',
|
||||
query: {
|
||||
text: this.text,
|
||||
source,
|
||||
},
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user