flat:6.20添加视频板块存档
This commit is contained in:
@@ -10,7 +10,7 @@ import {
|
||||
msg
|
||||
} from '@/common/globalFunction.js'
|
||||
import baseDB from './BaseDBStore';
|
||||
|
||||
import config from '../config';
|
||||
|
||||
class JobRecommendation {
|
||||
constructor() {
|
||||
@@ -62,6 +62,30 @@ class JobRecommendation {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算加权用户行为偏好
|
||||
* @param {Object} data - 用户行为数据,包括 categories、experience、areas、salary 等
|
||||
* @param {Object} weights - 每一类行为的权重
|
||||
* @returns {Object} 加权合并后的结果(key 为行为项,value 为权重后的分值)
|
||||
*/
|
||||
function applyWeightsToUserData(data, weights) {
|
||||
const result = {}
|
||||
|
||||
for (const key in data) {
|
||||
if (key === 'salary') {
|
||||
result.salary = weights.salary
|
||||
} else if (typeof data[key] === 'object') {
|
||||
result[key] = {}
|
||||
for (const itemKey in data[key]) {
|
||||
const rawValue = data[key][itemKey]
|
||||
result[key][itemKey] = parseFloat((rawValue * weights[key]).toFixed(2))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
// **🔹 创建推荐系统**
|
||||
export const jobRecommender = new JobRecommendation();
|
||||
|
||||
@@ -121,8 +145,9 @@ export const useRecommedIndexedDBStore = defineStore("indexedDB", () => {
|
||||
}
|
||||
|
||||
function analyzer(jobsData) {
|
||||
const result = jobAnalyzer.analyze(jobsData)
|
||||
const sort = jobAnalyzer.printUnifiedResults(result)
|
||||
const result = jobAnalyzer.analyze(jobsData) // 转换格式化
|
||||
const result2 = applyWeightsToUserData(result, config.weights) // 添加权重
|
||||
const sort = jobAnalyzer.printUnifiedResults(result2) // 转换格式化
|
||||
return {
|
||||
result,
|
||||
sort
|
||||
|
Reference in New Issue
Block a user