diff --git a/config.js b/config.js index f2e5545..8a8914b 100644 --- a/config.js +++ b/config.js @@ -14,6 +14,8 @@ export default { DBversion: 2, // 只使用本地缓寸的数据 OnlyUseCachedDB: true, + // 使用模拟定位 + UsingSimulatedPositioning: false, // 应用信息 appInfo: { // 应用名称 @@ -39,7 +41,9 @@ export default { } ] }, + // AI -> 上传文件数量 allowedFileNumber: 2, + // AI -> 上传文件类型 allowedFileTypes: [ "text/plain", // .txt "text/markdown", // .md @@ -52,5 +56,12 @@ export default { "text/csv", // .csv "application/vnd.ms-excel", // .xls "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" // .xlsx - ] + ], + // 首页询问 -> 推荐权重 + weights: { + categories: 1, //岗位 + experience: 0.3, //经验 + salary: 0.5, // 薪资 + areas: 0.5 // 区域 + } } \ No newline at end of file diff --git a/pages/index/index.vue b/pages/index/index.vue index 1055c89..41028ef 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -392,6 +392,7 @@ function getJobList(type = 'add') { current: pageState.page, pageSize: pageState.pageSize, ...pageState.search, + // ...conditionSearch.value, }; $api.createRequest('/app/job/list', params).then((resData) => { diff --git a/static/.DS_Store b/static/.DS_Store index 2edb0f4..b31050d 100644 Binary files a/static/.DS_Store and b/static/.DS_Store differ diff --git a/stores/useLocationStore.js b/stores/useLocationStore.js index ed58bcb..c6a21d9 100644 --- a/stores/useLocationStore.js +++ b/stores/useLocationStore.js @@ -7,6 +7,8 @@ import { import { msg } from '@/common/globalFunction.js' +import config from '../config'; + const useLocationStore = defineStore("location", () => { // 定义状态 const longitudeVal = ref(null) // 经度 @@ -25,10 +27,17 @@ const useLocationStore = defineStore("location", () => { longitude: 120.382665, latitude: 36.066938 } - longitudeVal.value = resd.longitude - latitudeVal.value = resd.latitude - msg('用户位置获取成功') - resole(resd) + if (config.UsingSimulatedPositioning) { // 使用模拟定位 + longitudeVal.value = resd.longitude + latitudeVal.value = resd.latitude + msg('用户位置获取成功') + resole(resd) + } else { + longitudeVal.value = res.longitude + latitudeVal.value = res.latitude + msg('用户位置获取成功') + resole(res) + } }, fail: function(err) { // longitudeVal.value = '' @@ -38,8 +47,8 @@ const useLocationStore = defineStore("location", () => { longitude: 120.382665, latitude: 36.066938 } - longitudeVal.value = resd.longitude - latitudeVal.value = resd.latitude + longitudeVal.value = res.longitude + latitudeVal.value = res.latitude msg('用户位置获取失败,使用模拟定位') resole(resd) }, diff --git a/stores/useRecommedIndexedDBStore.js b/stores/useRecommedIndexedDBStore.js index 96e732b..3f74d19 100644 --- a/stores/useRecommedIndexedDBStore.js +++ b/stores/useRecommedIndexedDBStore.js @@ -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 diff --git a/unpackage/dist/build/.DS_Store b/unpackage/dist/build/.DS_Store index 8614cff..3aa8201 100644 Binary files a/unpackage/dist/build/.DS_Store and b/unpackage/dist/build/.DS_Store differ