hookehuyr

refactor(index, iconfont): 重构首页横幅数据处理逻辑并更新图标字体资源

将首页重复的横幅数据标准化处理逻辑提取为独立复用函数,统一对图片和跳转地址进行修剪操作;更新图标字体源文件地址并新增faxun图标类
/*
* @Date: 2025-06-28 10:33:00
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-06-28 10:45:27
* @FilePath: /myApp/config/dev.js
* @LastEditTime: 2026-05-14 17:45:50
* @FilePath: /jls_weapp/config/dev.js
* @Description: 文件描述
*/
export default {
env: {
NODE_ENV: '"development"',
API_RUNTIME_ENV: '"mock"',
// API_RUNTIME_ENV: '"mock"',
API_RUNTIME_ENV: '"production"',
},
logger: {
quiet: false,
......
@font-face {
font-family: "iconfont";
src:
url("https://at.alicdn.com/t/c/font_4618760_7lrp6nlwv9y.woff2?t=1778124018667") format("woff2"),
url("https://at.alicdn.com/t/c/font_4618760_7lrp6nlwv9y.woff?t=1778124018667") format("woff"),
url("https://at.alicdn.com/t/c/font_4618760_7lrp6nlwv9y.ttf?t=1778124018667") format("truetype");
url("https://at.alicdn.com/t/c/font_4618760_txgalo7jre.woff2?t=1778748375247") format("woff2"),
url("https://at.alicdn.com/t/c/font_4618760_txgalo7jre.woff?t=1778748375247") format("woff"),
url("https://at.alicdn.com/t/c/font_4618760_txgalo7jre.ttf?t=1778748375247") format("truetype");
}
.iconfont {
......@@ -14,6 +14,10 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-faxun:before {
content: "\e6c3";
}
.icon-zanwuneirong:before {
content: "\e64b";
}
......
......@@ -104,6 +104,14 @@ const hasLink = (item) => !!getItemTargetUrl(item)
const isInternalMiniProgramPath = (url) => String(url || '').startsWith('/pages/')
const normalizeBannerItem = (item = {}) => {
return {
...item,
image_url: String(item?.value || '').trim(),
target_url: String(item?.link || '').trim(),
}
}
const getIconClass = (item) => {
const icon = item?.icon || defaultIcon
const fontClass = icon.startsWith('fa-') ? 'fa' : 'iconfont'
......@@ -129,18 +137,10 @@ const handleLinkedItemTap = (item) => {
const normalizeHomeContent = (data = {}) => ({
volunteer_top_banner: Array.isArray(data.volunteer_top_banner)
? data.volunteer_top_banner.map((item) => ({
...item,
image_url: item?.link || '',
target_url: item?.value || '',
}))
? data.volunteer_top_banner.map((item) => normalizeBannerItem(item))
: [],
volunteer_bottom_banner: Array.isArray(data.volunteer_bottom_banner)
? data.volunteer_bottom_banner.map((item) => ({
...item,
image_url: item?.link || '',
target_url: item?.value || '',
}))
? data.volunteer_bottom_banner.map((item) => normalizeBannerItem(item))
: [],
volunteer_home_icon: Array.isArray(data.volunteer_home_icon)
? data.volunteer_home_icon.map((item) => ({
......