详情和对比详情加密

This commit is contained in:
DESKTOP-RQ919RC\Pc 2025-04-03 19:05:48 +08:00
parent e0e290d2cf
commit e09b6bea1d
4 changed files with 161 additions and 183 deletions

View File

@ -120,12 +120,11 @@ Page({
let allArr = []
list.forEach(element => allArr.push(common.decodeKey(element)))
const obj = this.data.disciplineObj
// console.log("obj", obj);
Promise.allSettled(allArr).then(res => {
let list = []
res.forEach(element => list.push(element.status === "fulfilled" ? element.value : {}));
list.forEach(element => {
console.log("element", element);
element['result_date'] = element['admissions']?.[0]?.result_time
if (element.accreditations) {
@ -143,7 +142,8 @@ Page({
}
element["english_proficiency_text"] = ""
element.admission_requirements[0].language_requirements.forEach(ele => {
if (element.admission_requirements[0]) {
(element.admission_requirements?.[0]?.language_requirements || []).forEach(ele => {
if (ele.language = "ENGLISH") {
ele.proof_methods.forEach(el => {
if (el.type == "test") {
@ -181,6 +181,7 @@ Page({
})
}
})
}
const documentsData = [];
const documentsMap = new Map();
@ -203,13 +204,13 @@ Page({
});
element["documents_required"] = documents_required;
element['entrance_requirements'] = element.admission_requirements[0]['basic_requirements']
element['entrance_requirements'] = element.admission_requirements?.[0]?.['basic_requirements']
element['tuition_fee_text'] = common.formatNumberWithSpaces(element.admissions[0].tuition_fee || '')
element['tuition_fee_text'] = common.formatNumberWithSpaces(element.admissions?.[0]?.tuition_fee || '')
element['admission_deposit_text'] = common.formatNumberWithSpaces(element.admissions[0].admission_deposit || '')
element['admission_deposit_text'] = common.formatNumberWithSpaces(element.admissions?.[0]?.admission_deposit || '')
if (element.details.language_of_instruction) {
if (element.details?.language_of_instruction) {
let strOutput = element.details.language_of_instruction.join(',');
element['language_of_instruction_text'] = strOutput
}
@ -221,16 +222,6 @@ Page({
element['language_of_instruction_text'] = strOutput
}
// let scores = element.language_proficiency_scores || []
// const scoresList = common.scoresList(scores)
// element["english_proficiency_text"] = ""
// scoresList.forEach(ele => {
// element["english_proficiency_text"] += `・ ${ele.name}${ele.text} \n`
// })
// if (element.scholarship) element['scholarshipText'] = this.JudgmentScholarshipText(element.scholarship)
element['disciplinename'] = obj[element.disciplineid] || ''
})
@ -238,9 +229,7 @@ Page({
isquick: data.isquick,
list,
}, () => wx.nextTick(() => this.getAllItemHeight()))
}).catch(err => {
common.toast("出错了,请联系管理员。")
})
}).catch(err => common.toast("出错了,请联系管理员。"))
const ranking = data.ranking
const project = ranking.project || []
@ -345,16 +334,6 @@ Page({
return uniqueArray
},
// 判断奖学金文案
JudgmentScholarshipText(obj) {
let text = ""
if (obj.local && obj.nonlocal) text = '均有'
else if (!obj.local && !obj.nonlocal) text = '均无'
else if (obj.local && !obj.nonlocal) text = '非本地学生无'
else if (!obj.local && obj.nonlocal) text = '非本地学生有'
return text
},
getAllItemHeight() {
this.createSelectorQuery().selectAll(".lump .block").boundingClientRect(data => {
let showObj = {}

View File

@ -170,8 +170,15 @@ Page({
},
}).then(res => {
const data = res.data
let admissionofficerin = data.admissionofficerin || []
const encodefields = data.encodefields || []
const decodePromises = encodefields.map(element => {
return common.decodeKey(data[element]).then(res => {
data[element] = res;
});
});
Promise.all(decodePromises).then(() => {
let admissionofficerin = data.admissionofficerin || []
if (admissionofficerin.length > 0) {
admissionofficerin.forEach(element => {
const date = new Date(element.date);
@ -187,10 +194,7 @@ Page({
}
let answerquestions = data.answerquestions || []
common.decodeKey(data.info).then(res => {
data.info = res
if (data.info) {
const info = data.info || {}
let contras = Array.isArray(data.contras) ? {} : data.contras;
@ -223,21 +227,22 @@ Page({
})
this.getOfferData()
}).catch(err => common.toast("出错了,请联系管理员。"))
}
common.decodeKey(data.detailsInfo).then(data => {
if (data.detailsInfo) {
const res = data.detailsInfo || {}
const direction = ['career_fields', 'typical_employers', 'career_positions'];
direction.forEach(field => {
let text = ""
if (data[field]) {
data[field].forEach(element => {
if (res[field]) {
res[field].forEach(element => {
text += element + '\n'
})
data[field] = text
res[field] = text
}
});
data.language_of_instruction && (data.language_of_instruction_text = data.language_of_instruction.join(","));
res.language_of_instruction && (res.language_of_instruction_text = res.language_of_instruction.join(","));
let course = {
required: [],
@ -245,7 +250,7 @@ Page({
elective: [],
electiveCount: 0,
}
const curriculum = data.curriculum || []
const curriculum = res.curriculum || []
curriculum.forEach(element => {
if (element.course_credits == 'N/A') element.course_credits = 0
element.type === 'Compulsory' ? (course.required.push(element), course.requiredCount += element.course_credits) : (course.elective.push(element), course.electiveCount += element.course_credits);
@ -253,18 +258,17 @@ Page({
let side = this.data.side
// 判断是否常见问题 ,没有则删除左侧
if (!data.faq || data.faq.length == 0) delete side.issue
if (!res.faq || res.faq.length == 0) delete side.issue
if (answerquestions.length == 0) delete side.answers
this.setData({
course,
answerquestions,
detailsInfo: data,
detailsInfo: res,
side,
})
})
}
this.handleAccreditationData(data.accreditations || [])
this.handleDocumentsData(data.documents || [])
@ -281,11 +285,9 @@ Page({
const admissionsId = admissions[0].id
this.handleAmissionsData(admissionsId)
this.handleRequirementData(admissionsId)
this.getRecommendData()
}).finally(() => {
wx.hideLoading()
})
}).finally(() => wx.hideLoading())
},
// 处理 能力要求信息

View File

@ -412,7 +412,7 @@
</view>
</block>
<template wx:if="{{ course.required.length != 0 || course.required.length != 0 }}" is="item-header" data="{{ text: '课程设置' }}"></template>
<template wx:if="{{ course.required.length != 0 || course.elective.length != 0 }}" is="item-header" data="{{ text: '课程设置' }}"></template>
<template wx:if="{{ course.required.length != 0 }}" is="table" data="{{ data: course.required, title: '必修科目', count: course.requiredCount }}"></template>
@ -507,21 +507,11 @@
</view>
<view class="info-item flexflex" wx:if="{{item.professional}}">
<view class="info-major">专业</view>
<view class="info-value flex1" wx:if="{{item.professionalzhong}}">
<text>{{ item.professionaltou }}</text>
<text style="color: #509CE3;">{{ item.professionalzhong }}</text>
<text>{{ item.professionalend }}</text>
</view>
<view class="info-value flex1 " wx:else>{{ item.professional }}</view>
<view class="info-value flex1 ">{{ item.professional }}</view>
</view>
<view class="info-item flexflex" wx:if="{{item.project}}">
<view class="info-major">项目</view>
<view class="info-value flex1" wx:if="{{item.projecttzhong}}">
<text>{{ item.projecttou }}</text>
<text style="color: #509CE3;">{{ item.projecttzhong }}</text>
<text>{{ item.projecttend }}</text>
</view>
<view class="info-value flex1" wx:else>{{ item.project }}</view>
<view class="info-value flex1">{{ item.project }}</view>
</view>
<view class="info-item flexacenter" style="align-items: center;font-size: 27rpx;">
{{ item.semester }}

View File

@ -8,6 +8,13 @@
"condition": {
"miniprogram": {
"list": [
{
"name": "pages/projectComparison/projectComparison",
"pathName": "pages/projectComparison/projectComparison",
"query": "ids=1%2C5",
"launchMode": "default",
"scene": null
},
{
"name": "pages/projectDetails/projectDetails",
"pathName": "pages/projectDetails/projectDetails",