diff --git a/apiRc/jobPath.js b/apiRc/jobPath.js
new file mode 100644
index 0000000..d0930e6
--- /dev/null
+++ b/apiRc/jobPath.js
@@ -0,0 +1,56 @@
+/*
+ * @Date: 2025-11-12
+ * @Description: 职业路径相关接口
+ */
+import request from '@/utilsRc/request'
+
+// 根据职业名称获取路径列表
+export function getJobPathPage(params) {
+ return request({
+ url: '/jobPath/getJobPathPage',
+ method: 'get',
+ params,
+ baseUrlType: 'zytp'
+ })
+}
+
+// 根据职业路径ID获取详情
+export function getJobPathDetail(params) {
+ return request({
+ url: '/jobPath/getJobPathDetail',
+ method: 'get',
+ params,
+ baseUrlType: 'zytp'
+ })
+}
+
+// 获取职业路径数量
+export function getJobPathNum() {
+ return request({
+ url: '/jobPath/getJobPathNum',
+ method: 'get',
+ baseUrlType: 'zytp'
+ })
+}
+
+// 导入职业路径
+export function importJobPath(data) {
+ return request({
+ url: '/jobPath/importJobPath',
+ method: 'post',
+ data,
+ baseUrlType: 'zytp'
+ })
+}
+
+// 导出职业路径
+export function exportJobPath(params) {
+ return request({
+ url: '/jobPath/exportJobPath',
+ method: 'get',
+ params,
+ baseUrlType: 'zytp',
+ responseType: 'arraybuffer'
+ })
+}
+
diff --git a/apiRc/jobRecommend.js b/apiRc/jobRecommend.js
new file mode 100644
index 0000000..df1ef7c
--- /dev/null
+++ b/apiRc/jobRecommend.js
@@ -0,0 +1,64 @@
+/*
+ * @Date: 2025-11-12
+ * @Description: 职业推荐相关接口
+ */
+import request from '@/utilsRc/request'
+
+function createFormData(payload = {}) {
+ if (typeof FormData !== 'undefined') {
+ const formData = new FormData()
+ Object.keys(payload).forEach(key => {
+ const value = payload[key]
+ if (value !== undefined && value !== null && value !== '') {
+ formData.append(key, value)
+ }
+ })
+ return formData
+ }
+ return payload
+}
+
+export function recommendJob(data) {
+ const formData = createFormData({
+ jobId: data?.jobId
+ })
+
+ return request({
+ url: '/job/recommendJob',
+ method: 'post',
+ data: formData,
+ baseUrlType: 'zytp',
+ header: {
+ 'content-type': 'multipart/form-data'
+ }
+ })
+}
+
+export function countJobRecommendRecords(data) {
+ const formData = createFormData({
+ jobId: data?.jobId,
+ jobName: data?.jobName,
+ recommendType: data?.recommendType,
+ startDate: data?.startDate,
+ endDate: data?.endDate
+ })
+
+ return request({
+ url: '/jobRecommendRecord/countJobRecommendRecords',
+ method: 'post',
+ data: formData,
+ baseUrlType: 'zytp',
+ header: {
+ 'content-type': 'multipart/form-data'
+ }
+ })
+}
+
+export function getJobRecommendRecords(params) {
+ return request({
+ url: '/jobRecommendRecord/getJobRecommendRecords',
+ method: 'get',
+ params,
+ baseUrlType: 'zytp'
+ })
+}
diff --git a/apiRc/jobSkill.js b/apiRc/jobSkill.js
new file mode 100644
index 0000000..1ebeedb
--- /dev/null
+++ b/apiRc/jobSkill.js
@@ -0,0 +1,77 @@
+/*
+ * @Date: 2025-11-12
+ * @Description: 职业技能相关接口
+ */
+import request from '@/utilsRc/request'
+
+export function getJobSkillDetail(params) {
+ return request({
+ url: '/jobSkillDet/getJobSkillDet',
+ method: 'get',
+ params,
+ baseUrlType: 'zytp'
+ })
+}
+
+export function getJobPathSkill(data) {
+ let formData
+ if (typeof FormData !== 'undefined') {
+ formData = new FormData()
+ if (data?.pathId !== undefined && data?.pathId !== null) {
+ formData.append('pathId', data.pathId)
+ }
+ if (data?.currentJobName !== undefined && data?.currentJobName !== null) {
+ formData.append('currentJobName', data.currentJobName)
+ }
+ } else {
+ formData = {
+ pathId: data?.pathId ?? '',
+ currentJobName: data?.currentJobName ?? ''
+ }
+ }
+
+ return request({
+ url: '/jobSkillDet/getJobPathSkill',
+ method: 'post',
+ data: formData,
+ baseUrlType: 'zytp',
+ header: {
+ 'content-type': 'multipart/form-data'
+ }
+ })
+}
+
+// 获取技能热度分析列表
+export function getSkillsHeatAnalysisList(params) {
+ return request({
+ url: '/skillsHeatAnalysis/list',
+ method: 'get',
+ params,
+ baseUrlType: 'zytp'
+ })
+}
+
+// 获取技能数量
+export function getSkillNum(data) {
+ let formData
+ if (typeof FormData !== 'undefined') {
+ formData = new FormData()
+ if (data?.skillType !== undefined && data?.skillType !== null) {
+ formData.append('skillType', data.skillType)
+ }
+ } else {
+ formData = {
+ skillType: data?.skillType ?? ''
+ }
+ }
+
+ return request({
+ url: '/skill/getSkillNum',
+ method: 'post',
+ data: formData,
+ baseUrlType: 'zytp',
+ header: {
+ 'content-type': 'multipart/form-data'
+ }
+ })
+}
diff --git a/apiRc/user/user.js b/apiRc/user/user.js
index 07ae540..a40ac31 100644
--- a/apiRc/user/user.js
+++ b/apiRc/user/user.js
@@ -8,7 +8,7 @@ import request from '@/utilsRc/request'
// 获取用户信息(职业规划推荐用)
export function appUserInfo() {
return request({
- url: '/app/user/appUserInfo',
+ fullUrl: 'http://222.80.110.161:11111/api/ks/app/user/appUserInfo',
method: 'get'
})
}
diff --git a/manifest.json b/manifest.json
index 65f0c1c..fdfb69e 100644
--- a/manifest.json
+++ b/manifest.json
@@ -50,7 +50,7 @@
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
- "appid" : "wx9d1cbc11c8c40ba7",
+ "appid" : "wx4aa34488b965a331",
"setting" : {
"urlCheck" : false,
"es6" : true,
diff --git a/pages/service/career-planning.vue b/pages/service/career-planning.vue
index ae4dd6c..3d8c31d 100644
--- a/pages/service/career-planning.vue
+++ b/pages/service/career-planning.vue
@@ -35,10 +35,14 @@
-
+ />
+
+
@@ -50,9 +54,10 @@
@@ -291,6 +419,13 @@ onMounted(() => {
padding: 0;
}
+.path-summary {
+ margin-top: 16rpx;
+ font-size: 24rpx;
+ color: #666666;
+ text-align: center;
+}
+
.path-section {
background-color: #FFFFFF;
border-radius: 16rpx;
diff --git a/pages/service/components/CareerRecommend.vue b/pages/service/components/CareerRecommend.vue
index 5acdb8d..befff89 100644
--- a/pages/service/components/CareerRecommend.vue
+++ b/pages/service/components/CareerRecommend.vue
@@ -5,7 +5,7 @@
当前职位信息
当前职位
- {{ currentJob || '前端开发工程师' }}
+ {{ currentJobDisplay }}
@@ -20,11 +20,16 @@
>
{{ skill }}
+ 暂无技能数据
- 相似推荐职位
+
+ 相似推荐职位
+ 共{{ recommendRecordCount }}条记录
+
+ 暂无推荐职位
diff --git a/project.config.json b/project.config.json
new file mode 100644
index 0000000..013e402
--- /dev/null
+++ b/project.config.json
@@ -0,0 +1,35 @@
+{
+ "setting": {
+ "es6": true,
+ "postcss": true,
+ "minified": true,
+ "uglifyFileName": false,
+ "enhance": true,
+ "packNpmRelationList": [],
+ "babelSetting": {
+ "ignore": [],
+ "disablePlugins": [],
+ "outputPath": ""
+ },
+ "useCompilerPlugins": false,
+ "minifyWXML": true,
+ "compileWorklet": false,
+ "uploadWithSourceMap": true,
+ "packNpmManually": false,
+ "minifyWXSS": true,
+ "localPlugins": false,
+ "disableUseStrict": false,
+ "condition": false,
+ "swc": false,
+ "disableSWC": true
+ },
+ "compileType": "miniprogram",
+ "simulatorPluginLibVersion": {},
+ "packOptions": {
+ "ignore": [],
+ "include": []
+ },
+ "appid": "wx4aa34488b965a331",
+ "editorSetting": {},
+ "libVersion": "3.11.1"
+}
\ No newline at end of file
diff --git a/project.private.config.json b/project.private.config.json
new file mode 100644
index 0000000..cf2433c
--- /dev/null
+++ b/project.private.config.json
@@ -0,0 +1,22 @@
+{
+ "libVersion": "3.11.1",
+ "projectname": "ks-app-employment-service",
+ "setting": {
+ "urlCheck": true,
+ "coverView": true,
+ "lazyloadPlaceholderEnable": false,
+ "skylineRenderEnable": false,
+ "preloadBackgroundData": false,
+ "autoAudits": false,
+ "showShadowRootInWxmlPanel": true,
+ "compileHotReLoad": true,
+ "useApiHook": true,
+ "useApiHostProcess": true,
+ "useStaticServer": false,
+ "useLanDebug": false,
+ "showES6CompileOption": false,
+ "checkInvalidKey": true,
+ "ignoreDevUnusedFiles": true,
+ "bigPackageSizeSupport": false
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/project.config.json b/unpackage/dist/dev/mp-weixin/project.config.json
index 259a170..013e402 100644
--- a/unpackage/dist/dev/mp-weixin/project.config.json
+++ b/unpackage/dist/dev/mp-weixin/project.config.json
@@ -1,36 +1,35 @@
{
- "description": "项目配置文件。",
- "packOptions": {
- "ignore": []
- },
"setting": {
- "urlCheck": false,
"es6": true,
"postcss": true,
"minified": true,
- "newFeature": true,
- "bigPackageSizeSupport": true
+ "uglifyFileName": false,
+ "enhance": true,
+ "packNpmRelationList": [],
+ "babelSetting": {
+ "ignore": [],
+ "disablePlugins": [],
+ "outputPath": ""
+ },
+ "useCompilerPlugins": false,
+ "minifyWXML": true,
+ "compileWorklet": false,
+ "uploadWithSourceMap": true,
+ "packNpmManually": false,
+ "minifyWXSS": true,
+ "localPlugins": false,
+ "disableUseStrict": false,
+ "condition": false,
+ "swc": false,
+ "disableSWC": true
},
"compileType": "miniprogram",
- "libVersion": "3.5.7",
- "appid": "wx9d1cbc11c8c40ba7",
- "projectname": "qingdao-employment-service",
- "condition": {
- "search": {
- "current": -1,
- "list": []
- },
- "conversation": {
- "current": -1,
- "list": []
- },
- "game": {
- "current": -1,
- "list": []
- },
- "miniprogram": {
- "current": -1,
- "list": []
- }
- }
+ "simulatorPluginLibVersion": {},
+ "packOptions": {
+ "ignore": [],
+ "include": []
+ },
+ "appid": "wx4aa34488b965a331",
+ "editorSetting": {},
+ "libVersion": "3.11.1"
}
\ No newline at end of file
diff --git a/utilsRc/config.js b/utilsRc/config.js
index e011f73..4769b47 100644
--- a/utilsRc/config.js
+++ b/utilsRc/config.js
@@ -19,8 +19,8 @@ let exports = {
// baseUrl: 'http://10.160.0.5:8903', // 演示环境外网
// baseUrl: 'http://111.34.80.140:8081/prod-api', // 正式环境(不要轻易连接)
-
- baseUrl: 'http://10.160.0.5:8907', // 正式环境在济南人才上部署(不要轻易连接)
+ baseUrl: 'http://ks.zhaopinzao8dian.com/api/ks',
+ zytpBaseUrl: 'http://ks.zhaopinzao8dian.com/api/ks',
diff --git a/utilsRc/request.js b/utilsRc/request.js
index 47c2ad5..6736d1b 100644
--- a/utilsRc/request.js
+++ b/utilsRc/request.js
@@ -12,6 +12,7 @@ import { toast, showConfirm, tansParams } from '@/utilsRc/common'
let timeout = 10000
const baseUrl = configRc.baseUrl
+const zytpBaseUrl = configRc.zytpBaseUrl || ''
const request = config => {
// 是否需要设置 token
@@ -22,20 +23,27 @@ const request = config => {
}
config.header['Authorization'] = 'Bearer ' + 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJzeXNfdXNlcjoxIiwicm5TdHIiOiJVMDRocERSZjdZMXJUbUxXb05uOUpzYUdDZzBNazJJQSIsInVzZXJJZCI6MX0.LZ29vvA4tK3b9Hki4nU9Jb1himXZM2AEOue3CMRY95w'
// get请求映射params参数
+ const baseType = config.baseUrlType
+ const requestBaseUrl = baseType === 'zytp' && zytpBaseUrl ? zytpBaseUrl : baseUrl
+ let requestUrl = config.fullUrl ? config.fullUrl : (requestBaseUrl + (config.url || ''))
+
if (config.params) {
- let url = config.url + '?' + tansParams(config.params)
+ let url = tansParams(config.params)
url = url.slice(0, -1)
- config.url = url
+ if (url) {
+ requestUrl += (requestUrl.includes('?') ? '&' : '?') + url
+ }
}
return new Promise((resolve, reject) => {
uni.request({
method: config.method || 'get',
timeout: config.timeout || timeout,
- url: baseUrl + config.url,
+ url: requestUrl,
// url: 'https://gccrcdh.sd-talent.cn:80/zhq' + config.url,
data: config.data,
header: config.header,
- dataType: 'json'
+ dataType: 'json',
+ responseType: config.responseType || 'text'
}).then(response => {
let res = response.data
let error = response.errMsg!='request:ok'