hookehuyr

产品菜单使用单独新接口取数据

/*
* @Date: 2024-09-26 13:36:06
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-10-25 17:48:09
* @LastEditTime: 2024-11-07 18:08:31
* @FilePath: /hager/src/api/hager.js
* @Description: 文件描述
*/
......@@ -13,6 +13,7 @@ const Api = {
NEWS_DETAIL: '/srv/?a=detail&type=news',
HOME: '/srv/?a=home',
PRODUCT_CATE: '/srv/?a=cate&type=product',
PRODUCT_MENU: '/srv/?a=cate&type=product_menu',
PRODUCT_INFO: '/srv/?a=detail&type=product',
PRODUCT_SEARCH: '/srv/?a=cate&type=product_search',
SOLUTION: '/srv/?a=cate&type=solution',
......@@ -38,6 +39,7 @@ export const getNewsDetailAPI = (params) => fn(fetch.get(Api.NEWS_DETAIL, params
export const getHomeAPI = (params) => fn(fetch.get(Api.HOME, params));
export const getProductCateAPI = (params) => fn(fetch.get(Api.PRODUCT_CATE, params));
export const getProductMenuAPI = (params) => fn(fetch.get(Api.PRODUCT_MENU, params));
export const getProductInfoAPI = (params) => fn(fetch.get(Api.PRODUCT_INFO, params));
......
<!--
* @Date: 2024-09-26 13:42:11
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-11-07 14:34:27
* @LastEditTime: 2024-11-07 18:09:11
* @FilePath: /hager/src/components/common/hagerHeader.vue
* @Description: 文件描述
-->
......@@ -138,7 +138,7 @@ import mixin from 'common/mixin';
import { parseQueryString } from '@/utils/tools';
import $ from 'jquery';
import hagerMenu from '../hagerMenu.vue';
import { getProductCateAPI, getUserInfoAPI } from "@/api/hager.js";
import { getProductMenuAPI, getUserInfoAPI } from "@/api/hager.js";
// 处理菜单高度被挡住的问题
function isElementVisible($element) {
......@@ -202,7 +202,7 @@ export default {
}
},
async mounted () {
const { code, data } = await getProductCateAPI();
const { code, data } = await getProductMenuAPI();
if (code) {
this.product_menu = data;
// this.product_info = this.product_menu[0]['info'];
......@@ -314,17 +314,19 @@ export default {
this.show = true;
this.$nextTick(() => {
var $productRightWrapper = $('.product-right-wrapper');
const productRightWrapper = document.querySelector('.product-right-wrapper');
// 获取窗口的高度
const windowHeight = $(window).height();
// 计算适合的高度,假设元素的 top 值固定,调整高度为可用高度
const topOffset = $('.product-right-wrapper').offset().top; // 获取元素距离顶部的偏移量
const availableHeight = windowHeight - topOffset;
if (isElementVisible($productRightWrapper)) {
console.log(".product-right-wrapper 完全可见");
productRightWrapper.style.removeProperty('height');
productRightWrapper.style.removeProperty('overflow-y');
} else {
console.log(".product-right-wrapper 被部分或完全遮挡");
const productRightWrapper = document.querySelector('.product-right-wrapper');
// 获取窗口的高度
const windowHeight = $(window).height();
// 计算适合的高度,假设元素的 top 值固定,调整高度为可用高度
const topOffset = $('.product-right-wrapper').offset().top; // 获取元素距离顶部的偏移量
const availableHeight = windowHeight - topOffset;
// 设置 .product-right-wrapper 的最大高度,确保不会溢出窗口
productRightWrapper.style.height = availableHeight + 'px';
productRightWrapper.style.overflowY = 'scroll';
......