支持分开设置分类过滤和福利分类过滤

This commit is contained in:
haiyangcui
2021-04-11 16:11:20 +02:00
parent c2953a530c
commit 159f19d5ec
2 changed files with 29 additions and 11 deletions

View File

@@ -114,10 +114,17 @@
</div>
<!-- 设置过滤关键词页面 -->
<div>
<el-dialog :visible.sync="filterKeywordsDialogVisible" v-if='filterKeywordsDialogVisible' :title="'过滤关键词'" :append-to-body="true" @close="closeDialog">
<el-form label-width="100px" label-position="left">
<el-form-item label="分类过滤">
<el-input v-model="filterKeywords" :autosize="{ minRows: 3, maxRows: 6}" type="textarea" placeholder="请输入过滤关键词" />
<el-dialog :visible.sync="filterKeywordsDialogVisible" v-if='filterKeywordsDialogVisible' :title="'分类过滤'" :append-to-body="true" @close="closeDialog">
<el-form>
<el-checkbox v-model="setting.excludeRootClasses">主分类过滤</el-checkbox>
<el-form-item>
<el-input v-model="rootClassFilterKeywords" :autosize="{ minRows: 3, maxRows: 6}" type="textarea" placeholder="请输入过滤关键词" />
</el-form-item>
</el-form>
<el-form>
<el-checkbox v-model="setting.excludeR18Films">福利分类过滤</el-checkbox>
<el-form-item>
<el-input v-model="r18ClassFilterKeywords" :autosize="{ minRows: 3, maxRows: 6}" type="textarea" placeholder="请输入过滤关键词" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@@ -154,7 +161,8 @@ export default {
group: '',
isActive: true
},
filterKeywords: [],
rootClassFilterKeywords: [],
r18ClassFilterKeywords: [],
siteGroup: [],
rules: {
name: [
@@ -272,12 +280,21 @@ export default {
this.siteGroup = arr
},
openFilterKeywordsDiag () {
this.filterKeywords = this.setting.classFilter.join()
this.rootClassFilterKeywords = this.setting.rootClassFilter?.join()
this.r18ClassFilterKeywords = this.setting.r18ClassFilter?.join()
this.filterKeywordsDialogVisible = true
},
saveFilterKeywords () {
// 移除空格,然后按逗号分开
this.setting.classFilter = this.filterKeywords.replace(/\s/g, '').split(',')
this.setting.rootClassFilter = this.rootClassFilterKeywords.replace(/\s/g, '').split(',')
this.setting.r18ClassFilter = this.r18ClassFilterKeywords.replace(/\s/g, '').split(',')
this.setting.classFilter = []
if (this.setting.excludeRootClasses) {
this.setting.classFilter = this.setting.classFilter.concat(this.setting.rootClassFilter)
}
if (this.setting.excludeR18Films) {
this.setting.classFilter = this.setting.classFilter.concat(this.setting.r18ClassFilter)
}
setting.update(this.setting)
this.filterKeywordsDialogVisible = false
},

View File

@@ -63,12 +63,13 @@ db.version(9).stores({
history: '++id, [site+ids], name, type, year, index, time, duration, detail, onlinePlay, hasUpdate'
})
db.version(10).stores({
setting: 'id, theme, site, shortcut, view, volume, externalPlayer, searchGroup, forwardTimeInSec, starViewMode, recommandationViewMode, searchViewMode, password, proxy, allowPassWhenIptvCheck, autocleanWhenIptvCheck, classFilter'
db.version(11).stores({
setting: 'id, theme, shortcut, view, volume, externalPlayer, searchGroup, excludeRootClasses, excludeR18Films, forwardTimeInSec, starViewMode, recommandationViewMode, searchViewMode, password, proxy, allowPassWhenIptvCheck, autocleanWhenIptvCheck, rootClassFilter, r18ClassFilter, classFilter'
}).upgrade(trans => {
trans.setting.toCollection().modify(setting => {
delete setting.excludeRootClasses
delete setting.excludeR18Films
delete setting.site
setting.rootClassFilter = ['电影', '电影片', '电视剧', '连续剧', '综艺', '动漫']
setting.r18ClassFilter = ['伦理', '论理', '倫理', '福利', '激情', '理论', '写真', '情色', '美女', '街拍', '赤足', '性感', '里番', 'VIP']
setting.classFilter = ['电影', '电影片', '电视剧', '连续剧', '综艺', '动漫', '伦理', '论理', '倫理', '福利', '激情', '理论', '写真', '情色', '美女', '街拍', '赤足', '性感', '里番', 'VIP']
})
})