fix: 修复样式错误

share-code
xjs 2026-06-10 11:44:18 +08:00
parent 3188de9982
commit 71a0dff750
38 changed files with 218 additions and 116 deletions

10
env/.env vendored
View File

@ -5,7 +5,7 @@ VITE_UNI_APPID = 'H57F2ACE4'
# VITE_WX_APPID = 'wxc48ad15d58a3e417' 六纬中考通
# VITE_WX_APPID = 'wx4b925e36c17dd54a' 智能中专学校的
# wx487ac749c0e10be5 深泉外国语的
VITE_WX_APPID = 'wx487ac749c0e10be5'
VITE_WX_APPID = 'wxc48ad15d58a3e417'
# VITE_WX_VIDEO_ID= 'sphju9MCfZetYHP' 智能中专学校的
# VITE_WX_VIDEO_ID= 'spht0MPpWjxEKb4' 深泉外国语
VITE_WX_VIDEO_ID= 'spht0MPpWjxEKb4'
@ -16,12 +16,12 @@ VITE_WX_VIDEO_ID= 'spht0MPpWjxEKb4'
# VITE_CLOUD_BOT_ID= 'agent-wxai-4gl75um61026324f',
# 深泉外国语学院的
VITE_CLOUD_ENV_ID='cloud1-d9g4odcaqf6a2114f'
VITE_CLOUD_BOT_ID='agent-wxai-9gi3rts96061202f'
# VITE_CLOUD_ENV_ID='cloud1-d9g4odcaqf6a2114f'
# VITE_CLOUD_BOT_ID='agent-wxai-9gi3rts96061202f'
# 六纬中考通
# VITE_CLOUD_ENV_ID='cloud1-d3g5q6bq61a240786'
# VITE_CLOUD_BOT_ID='agent-wxai-4gl75um61026324f'
VITE_CLOUD_ENV_ID='cloud1-d3g5q6bq61a240786'
VITE_CLOUD_BOT_ID='agent-wxai-4gl75um61026324f'
# h5部署网站的base配置到 manifest.config.ts 里的 h5.router.base
# https://uniapp.dcloud.net.cn/collocation/manifest.html#h5-router

View File

@ -20,7 +20,7 @@
<AbilityDimension :report-items="studyRecord.reportItems" />
</view>
<!-- 底部AI智能顾问 -->
<AiFooter :pageId="pageId" :pageType="pageType" />
<!-- <AiFooter :pageId="pageId" :pageType="pageType" /> -->
</view>
</view>
</template>
@ -28,7 +28,7 @@
import Navbar from '@/chart-sub/components/navbar/Navbar.vue'
import LineReport from '../components/interestChart/LineReport.vue'
import AbilityDimension from '../components/AbilityDimension.vue'
import AiFooter from '../components/AiFooter.vue'
// import AiFooter from '../components/AiFooter.vue'
import { handleBack } from '../hooks/useEvaluateBack'
import { getAbilityDimension } from '@/service'

View File

@ -38,7 +38,7 @@
</view>
<!-- 底部AI智能顾问 -->
<AiFooter :pageId="pageId" :pageType="pageType" />
<!-- <AiFooter :pageId="pageId" :pageType="pageType" /> -->
</view>
</view>
</template>
@ -46,7 +46,7 @@
import Navbar from '@/chart-sub/components/navbar/Navbar.vue'
import CharacterChart from '../components/interestChart/CharacterChart.vue'
import DependenciesChart from '../components/interestChart/DependenciesChart.vue'
import AiFooter from '../components/AiFooter.vue'
// import AiFooter from '../components/AiFooter.vue'
import { getMBTIDimension } from '@/service'
import { handleBack } from '../hooks/useEvaluateBack'

View File

@ -25,7 +25,7 @@
</view>
<!-- 底部AI智能顾问 -->
<AiFooter :pageId="pageId" :pageType="pageType" />
<!-- <AiFooter :pageId="pageId" :pageType="pageType" /> -->
</view>
</view>
</template>
@ -35,7 +35,7 @@ import InterestRadar from '../components/interestChart/InterestRadar.vue'
import { getHollandDimensionInfo } from '@/service'
import InterestingThings from '../components/InterestingThings.vue'
import AiFooter from '../components/AiFooter.vue'
// import AiFooter from '../components/AiFooter.vue'
import { handleBack } from '../hooks/useEvaluateBack'
import Navbar from '@/chart-sub/components/navbar/Navbar.vue'

View File

@ -31,7 +31,7 @@
<AbilityDimension :report-items="studyRecord.reportItems" />
</view>
<!-- 底部AI智能顾问 -->
<AiFooter :pageId="pageId" :pageType="pageType" />
<!-- <AiFooter :pageId="pageId" :pageType="pageType" /> -->
</view>
</view>
</template>
@ -39,7 +39,7 @@
import Navbar from '@/chart-sub/components/navbar/Navbar.vue'
import OpinionChart from '../components/interestChart/OpinionChart.vue'
import AbilityDimension from '../components/AbilityDimension.vue'
import AiFooter from '../components/AiFooter.vue'
// import AiFooter from '../components/AiFooter.vue'
import { handleBack } from '../hooks/useEvaluateBack'
import { getOpinionAbout } from '@/service'

View File

@ -33,7 +33,7 @@
</view>
<!-- 底部AI智能顾问 -->
<AiFooter :pageId="pageId" :pageType="pageType" />
<!-- <AiFooter :pageId="pageId" :pageType="pageType" /> -->
</view>
</view>
</template>
@ -41,8 +41,8 @@
import Navbar from '@/chart-sub/components/navbar/Navbar.vue'
import StatusCard from '../components/StatusCard.vue'
import SuggestionCard from '../components/SuggestionCard.vue'
import AiFooter from '../components/AiFooter.vue'
import { getCustomScaleExplains } from '@/service'
// import AiFooter from '../components/AiFooter.vue'
// import { getCustomScaleExplains } from '@/service'
import { handleBack } from '../hooks/useEvaluateBack'
// #ifdef MP-WEIXIN

View File

@ -33,7 +33,7 @@
</view>
<!-- 底部AI智能顾问 -->
<AiFooter :pageId="pageId" :pageType="pageType" />
<!-- <AiFooter :pageId="pageId" :pageType="pageType" /> -->
</view>
</view>
</template>
@ -41,8 +41,8 @@
import Navbar from '@/chart-sub/components/navbar/Navbar.vue'
import StatusCard from '../components/StatusCard.vue'
import SuggestionCard from '../components/SuggestionCard.vue'
import { getCustomScaleExplains } from '@/service'
import AiFooter from '../components/AiFooter.vue'
// import { getCustomScaleExplains } from '@/service'
// import AiFooter from '../components/AiFooter.vue'
import { handleBack } from '../hooks/useEvaluateBack'
// #ifdef MP-WEIXIN

View File

@ -38,7 +38,7 @@
</view>
<!-- 底部AI智能顾问 -->
<AiFooter :pageId="pageId" :pageType="pageType" />
<!-- <AiFooter :pageId="pageId" :pageType="pageType" /> -->
</view>
</view>
</template>
@ -46,8 +46,8 @@
import Navbar from '@/chart-sub/components/navbar/Navbar.vue'
import StatusCard from '../components/StatusCard.vue'
import LearnSkillSuggestion from '../components/LearnSkillSuggestion.vue'
import AiFooter from '../components/AiFooter.vue'
import { getCustomScaleExplains } from '@/service'
// import AiFooter from '../components/AiFooter.vue'
// import { getCustomScaleExplains } from '@/service'
import { handleBack } from '../hooks/useEvaluateBack'
// #ifdef MP-WEIXIN

View File

@ -29,7 +29,7 @@
</view>
<!-- 底部AI智能顾问 -->
<AiFooter :pageId="pageId" :pageType="pageType" />
<!-- <AiFooter :pageId="pageId" :pageType="pageType" /> -->
</view>
</view>
</template>
@ -37,8 +37,8 @@
import Navbar from '@/chart-sub/components/navbar/Navbar.vue'
import LearnStyleChart from '../components/studyChart/LearnStyleChart.vue'
import LearnStudySuggestion from '../components/LearnStudySuggestion.vue'
import AiFooter from '../components/AiFooter.vue'
import { getCustomScaleExplains } from '@/service'
// import AiFooter from '../components/AiFooter.vue'
// import { getCustomScaleExplains } from '@/service'
import { handleBack } from '../hooks/useEvaluateBack'
// #ifdef MP-WEIXIN

View File

@ -37,7 +37,7 @@
</view>
</view>
<AiFooter :pageId="pageId" :pageType="pageType" />
<!-- <AiFooter :pageId="pageId" :pageType="pageType" /> -->
</view>
</view>
</template>
@ -45,8 +45,8 @@
import Navbar from '@/chart-sub/components/navbar/Navbar.vue'
import StatusCard from '../components/StatusCard.vue'
import LearnSkillSuggestion from '../components/LearnSkillSuggestion.vue'
import AiFooter from '../components/AiFooter.vue'
import { getCustomScaleExplains } from '@/service'
// import AiFooter from '../components/AiFooter.vue'
// import { getCustomScaleExplains } from '@/service'
import { handleBack } from '../hooks/useEvaluateBack'
// #ifdef MP-WEIXIN

View File

@ -97,6 +97,11 @@ export function http<T>(options: CustomRequestOptions) {
if (res.statusCode >= 200 && res.statusCode < 300) {
// 处理业务逻辑错误
if (code !== ResultEnum.Success0 && code !== ResultEnum.Success200) {
uni.showToast({
title: `${responseData?.message || '请联系管理员'}`,
icon: 'none',
mask: true
})
throw new Error(`请求错误[${code}]${responseData.message || responseData.msg}`)
}
if (responseData.code !== 200) {

View File

@ -57,7 +57,6 @@ const httpInterceptor = {
} else if (token) {
options.header.Authorization = `Bearer ${token}`
}
console.log(import.meta.env.VITE_WX_APPID)
return options
},
}

View File

@ -181,4 +181,8 @@ async function getUserInfo(_code: string) {
border-color: #fff !important;
background-color: #fff !important;
}
button::after{
border:none;
}
</style>

View File

@ -0,0 +1,82 @@
<script lang="ts" setup>
import { systemInfo } from '@/utils/systemInfo'
// #ifdef MP-WEIXIN
definePage({
style: {
navigationStyle: 'custom',
},
excludeLoginPath: false,
})
// #endif
// #ifndef MP-WEIXIN
definePage({
style: {
navigationStyle: 'custom',
transparentTitle: 'always',
navigationBarTitleText: ''
},
excludeLoginPath: false,
})
// #endif
const handleBack = () => {
uni.reLaunch({
url: '/pages/index/index'
})
}
</script>
<template>
<view class="flex flex-col custom-background h-screen">
<sar-navbar show-back @back="handleBack" :fixed="true" fixation-style="top:unset;"
:root-style="{ '--sar-navbar-bg': `transparent`, '--sar-navbar-item-color': 'white', 'margin-top': `${systemInfo?.statusBarHeight}px` }">
<template #title>
<view class="flex justify-center text-white">填报专家</view>
</template>
</sar-navbar>
<view class="mt-[84rpx] rounded-[24rpx] bg-white mx-[32rpx]">
<view class="flex flex-col items-center">
<view class="w-[316rpx] h-[270rpx] mt-[100rpx]">
<image src="https://lw-zk.oss-cn-hangzhou.aliyuncs.com/img/cpgx/zhuanjia_tijiao.png"
mode="scaleToFill" class="w-[316rpx] h-[270rpx]" />
</view>
<view class="text-[52rpx] font-600 text-[#1580FF] mt-[10rpx]">提交成功</view>
<view class="text-[#666] font-400 mt-[20rpx] mb-[98rpx]">您的资料已上传老师会尽快与您联系</view>
</view>
<view
class="flex flex-col items-center bg-[url('https://lw-zk.oss-cn-hangzhou.aliyuncs.com/img/cpgx/zhuanjia_beijing.png')] bg-center bg-no-repeat [background-size:100%_100%]">
<view
class="w-[248rpx] h-[248rpx] mt-[100rpx] rounded-[8rpx] border-[2rpx] border-solid border-[#ABE4FF]">
<image src="https://lw-zk.oss-cn-hangzhou.aliyuncs.com/img/cpgx/zhuanjia_erweima.png"
mode="scaleToFill" class="w-[248rpx] h-[248rpx]" :show-menu-by-longpress="true" />
</view>
<view class="mt-[32rpx] flex justify-center mb-[100rpx]">
<view class="w-[22rpx] h-[28rpx flex items-center">
<image src="https://lwzk.ycymedu.com/img/qt/wd_zhiwen.png" mode="scaleToFill"
class="w-[22rpx] h-[28rpx]" />
</view>
<view class="text-[26rpx] text-[#666] ml-[10rpx]">长按二维码添加微信获取升学指导</view>
</view>
</view>
</view>
</view>
</template>
<style lang="scss" scoped>
.custom-background {
background: linear-gradient(180deg, #3287FF 0%, #EDF7FF 100%);
background-position: 50% 50%;
background-origin: padding-box;
background-clip: border-box;
background-size: auto auto;
}
.not-last-child {
border-bottom: 2rpx solid #f8f8f8;
}
</style>

View File

@ -74,7 +74,7 @@ const handleBack = () => {
</view>
<view class="text-[28rpx]">扫码添加客服企业微信</view>
</view>
<view class="text-[28rpx] text-[#333] ml-[42rpx] mr-[168rpx] mt-[40rpx] mb-[6rpx] pb-[30rpx]">
<view class="text-[28rpx] text-[#333] ml-[42rpx] mt-[40rpx] mb-[6rpx] pb-[30rpx]">
<view>领取中考专属资源包</view>
<view>领取全年学习规划掌握备考节奏</view>
<view>优质学习交流群考情同步答疑互助</view>

View File

@ -163,7 +163,7 @@ onShow(() => {
</view>
<sar-popup :visible="visible" effect="slide-bottom" @overlay-click="onOverlayClick">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx] min-h-[492rpx]">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx]">
<view class="text-[34rpx] font-500 flex items-center justify-between mb-[30rpx]">
<view>{{ getTitle(activeType) }}</view>
<view class="w-[36rpx] h-[36rpx] flex items-center" @click="onOverlayClick">

View File

@ -17,11 +17,11 @@ const tokenStore = useTokenStore()
// chatv2.ycymedu.com
const url = ref(``)
function handleChildMessage(event) {
function handleChildMessage(event:any) {
console.log('子应用传递的消息', event)
}
onLoad((options) => {
onLoad((options:any) => {
getAssistant().then((res) => {
if (res.code === 200) {
const data = res.result as unknown as string

View File

@ -33,7 +33,7 @@ const fullHtml = computed(() => formatParagraph(paragraphText.value))
<template>
<view class="flex">
<view class="fake-placeholder text-[26rpx] text-[#666]">
<view class="line-clamp-3">
<view class="line-clamp-3 leading-[1.6]">
<rich-text :nodes="previewHtml" />
</view>
<view class="flex items-center justify-center text-[26rpx] text-[#3287FF]" @click="visible = true">
@ -54,7 +54,7 @@ const fullHtml = computed(() => formatParagraph(paragraphText.value))
/>
</view>
</view>
<view class="max-h-[66vh] overflow-y-auto pb-[44rpx] text-[26rpx] text-[#333]">
<view class="max-h-[66vh] overflow-y-auto pb-[44rpx] text-[26rpx] text-[#333] leading-[1.6]">
<rich-text :nodes="fullHtml" />
</view>
</view>

View File

@ -1,6 +1,7 @@
<template>
<sar-upload v-model="fileList" :root-class="rootClass" :after-read="afterRead" :multiple="multiple"
:max-count="99"
@remove="handleRemove"
:root-style="`--sar-upload-select-bg:#f7f7f7;${customUpload ? '--sar-upload-select-width: max-content;--sar-upload-select-height: max-content;--sar-upload-select-color: transparent;--sar-upload-select-bg: transparent;--sar-upload-select-border-radius: 0;' : ''} ${hiddenPreview ? '--sar-upload-preview-width: 0;--sar-upload-preview-height: 0;' : ''}`">
<template #select>
<view class="flex flex-col items-center" v-if="!customUpload">
@ -69,6 +70,19 @@ const uploadFileFn = (fileItem, index) => {
})
}
function handleRemove(index: number, item: UploadFileItem) {
const removeIndex = fileList.value.indexOf(item)
if (removeIndex > -1) {
fileList.value = fileList.value.filter((_, currentIndex) => currentIndex !== removeIndex)
}
else if (fileList.value[index] === item) {
fileList.value = fileList.value.filter((_, currentIndex) => currentIndex !== index)
}
emits("change", fileList.value)
}
const afterRead = (fileItem: UploadFileItem) => {
fileItem.status = 'uploading'
fileItem.message = '正在上传'

View File

@ -19,6 +19,7 @@ const props = defineProps({
const userStore = useUserStore();
const { userInfo } = storeToRefs(userStore)
const isStar = ref(false)
const innerImageList = computed(() => props.schoolDetail.imageList.map((item:string) => item.concat("?x-oss-process=image/resize,w_150")))
const handlePreviewImage = (src: string, index: number|string) => {
uni.previewImage({
@ -81,7 +82,7 @@ onLoad(() => {
</view>
<swiper class="basis-full h-[126rpx] flex mb-[20rpx]" circular :autoplay="true" :indicator="false" v-if="schoolDetail.imageList"
:display-multiple-items="3">
<swiper-item v-for="(item, index) in schoolDetail.imageList" :key="item" class="flex justify-center">
<swiper-item v-for="(item, index) in innerImageList" :key="item" class="flex justify-center">
<image :src="item" mode="aspectFill" class="w-full h-full mx-[4rpx] rounded-[8rpx]"
@click.stop="handlePreviewImage(item, index)" />
</swiper-item>

View File

@ -111,7 +111,7 @@ const makePhoneCall = (val: string) => {
</view>
<view class="h-[560rpx] flex flex-col justify-center">
<view class="flex items-center justify-center">
<view class="p-[20rpx] border-[2rpx] border-solid border-[#3b9df4]">
<view class="border-[2rpx] border-solid border-[#3b9df4]">
<view class="w-[292rpx] h-[292rpx]">
<image :src="schoolDetail.wechatQrcode" mode="scaleToFill" :show-menu-by-longpress="true"
class="w-[292rpx] h-[292rpx]" />
@ -119,7 +119,7 @@ const makePhoneCall = (val: string) => {
</view>
</view>
<view class="flex justify-center mt-[20rpx]">
<view class="w-[28rpx] h-[34rpx flex items-center">
<view class="w-[28rpx] h-[34rpx] flex items-center">
<image src="https://lwzk.ycymedu.com/img/qt/wd_zhiwen.png" mode="scaleToFill"
class="w-[28rpx] h-[34rpx]" />
</view>

View File

@ -106,7 +106,7 @@ const handleComplete = () => {
<template #top>
<view class="gradient-custom" :style="{ 'padding-top': `${systemInfo?.statusBarHeight}px` }">
<sar-navbar :show-back="true" @back="handleBack"
:root-style="{ '--sar-navbar-bg': `rgba(255, 255, 255, 0)`, '--sar-navbar-item-color': 'black', '--sar-navbar-title-max-width': '100%' }">
:root-style="{'--sar-font-bold':'400', '--sar-navbar-bg': `rgba(255, 255, 255, 0)`, '--sar-navbar-item-color': 'black', '--sar-navbar-title-max-width': '100%' }">
<template #title>
<view class="w-[448rpx] ml-[90rpx]">
<mx-search root-class="pl-[30rpx] py-[20rpx]" v-model:searchText="searchParams.keyword" placeholder="输入高中名称" @complete="handleComplete"/>

View File

@ -1,7 +1,7 @@
<script lang="ts" setup>
import { systemInfo } from '@/utils/systemInfo'
import MxSearch from "@/pages-sub/components/search/index.vue"
import MxTabs from "@/pages-sub/components/tabs/index.vue"
// import MxTabs from "@/pages-sub/components/tabs/index.vue"
import { getNewsCategory, getNewsPage } from "@/service"
// #ifdef MP-WEIXIN
@ -69,26 +69,36 @@ const queryList = (page: number, pageSize: number) => {
}
}
const virtualListChange = (_vList:any) => {
const virtualListChange = (_vList: any) => {
articles.value = _vList
}
const handleComplete = () => {
paging.value.reload()
paging.value.reload()
}
</script>
<template>
<z-paging ref="paging" use-virtual-list :force-close-inner-list="true" cell-height-mode="dynamic"
<z-paging ref="paging" use-virtual-list :force-close-inner-list="true" :default-page-size="20" cell-height-mode="dynamic"
@virtualListChange="virtualListChange" @query="queryList" :auto-show-system-loading="false"
:safe-area-inset-bottom="true" :pagingStyle="{ backgroundColor: 'white' }">
<template #top>
<view class="gradient-custom">
<sar-navbar title="中考资讯" :show-back="true" @back="handleBack"
<sar-navbar :show-back="true"
:root-style="{'--sar-font-bold':'400', '--sar-navbar-bg': `rgba(255, 255, 255, 0)`, '--sar-navbar-item-color': 'black','padding-top': `${systemInfo?.statusBarHeight}px`, '--sar-navbar-title-max-width': '100%' }"
@back="handleBack">
<template #title>
<view class="ml-[90rpx] w-[448rpx]">
<mx-search v-model:search-text="searchParams.keyword" root-class="py-[20rpx] pl-[30rpx]"
@complete="handleChange" />
</view>
</template>
</sar-navbar>
<!-- <sar-navbar title="中考资讯" :show-back="true" @back="handleBack"
:root-style="{ '--sar-navbar-bg': `rgba(255, 255, 255, 0)`, 'padding-top': `${systemInfo?.statusBarHeight}px`, '--sar-navbar-item-color': 'black' }">
</sar-navbar>
<mx-search v-model:searchText="searchParams.keyword" rootStyle="margin: 16rpx 30rpx 0;" root-class="pl-[30rpx] py-[20rpx]" @complete="handleComplete"/>
<mx-tabs :tabsList="tabs" rootClass="shadow-md mb-[20rpx]" @tab-change="handleChange" />
<mx-search v-model:searchText="searchParams.keyword" rootStyle="margin: 16rpx 30rpx 0;" root-class="pl-[30rpx] py-[20rpx]" @complete="handleComplete"/> -->
<!-- <mx-tabs :tabsList="tabs" rootClass="shadow-md mb-[20rpx]" @tab-change="handleChange" /> -->
</view>
</template>
<view class="flex flex-col h-full">
@ -98,19 +108,21 @@ const handleComplete = () => {
class="flex items-center justify-between py-[28rpx] mx-[30rpx] border-b-1 border-b-solid border-[#f5f5f5]">
<view class="text-[#333] text-[30rpx]">{{ item.title }}</view>
<view class="w-[18rpx] h-[36rpx] ml-[20rpx]">
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_jiantou.png"
mode="scaleToFill" class="w-[18rpx] h-[36rpx]" />
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_jiantou.png" mode="scaleToFill"
class="w-[18rpx] h-[36rpx]" />
</view>
</view>
</view>
<view class="flex-1 overflow-y-auto pb-safe" v-if="activeIndex === 1">
<view v-for="item in articles" :id="`zp-id-${item.zp_index}`" :key="item.zp_index" class="flex justify-between mx-[30rpx] py-[20rpx]" @click="toDetailPage(item.id)">
<view v-for="item in articles" :id="`zp-id-${item.zp_index}`" :key="item.zp_index"
class="flex justify-between mx-[30rpx] py-[20rpx]" @click="toDetailPage(item.id)">
<view class="flex flex-col justify-between mr-[20rpx]">
<text class="text-[30rpx] text-[#333]">{{ item.title }}</text>
<text class="text-[#999999] text-[26rpx]">{{ item.publishTime }}</text>
</view>
<view class="w-[216rpx] h-[144rpx] rounded-[16rpx]">
<image :src="item.coverImage" mode="scaleToFill" class="w-[216rpx] h-[144rpx] rounded-[16rpx]" />
<image :src="item.coverImage" mode="scaleToFill"
class="w-[216rpx] h-[144rpx] rounded-[16rpx]" />
</view>
</view>
</view>

View File

@ -133,8 +133,7 @@ onShow(() => {
>
<template #top>
<view class="gradient-custom" :style="{ 'padding-top': `${systemInfo?.statusBarHeight}px` }">
<sar-navbar
title="历年分数" :show-back="true" :root-style="{ '--sar-navbar-bg': `rgba(255, 255, 255, 0)`, '--sar-navbar-item-color': 'black', '--sar-navbar-title-max-width': '100%' }"
<sar-navbar :show-back="true" :root-style="{ '--sar-font-bold':'400','--sar-navbar-bg': `rgba(255, 255, 255, 0)`, '--sar-navbar-item-color': 'black', '--sar-navbar-title-max-width': '100%' }"
@back="handleBack"
>
<template #title>

View File

@ -93,8 +93,8 @@ onLoad(() => {
<view class="pb-safe"></view>
</scroll-view>
<sar-popup :visible="regionVisible" effect="slide-bottom" root-class="min-h-[560rpx]" @leave="handleChange">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx] min-h-[492rpx]">
<sar-popup :visible="regionVisible" effect="slide-bottom" @leave="handleChange">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx]">
<view class="text-[34rpx] font-500 flex items-center justify-between mb-[30rpx]">
<view>请选择中考所在地</view>
<view class="w-[36rpx] h-[36rpx] flex items-center" @click="regionVisible = false">

View File

@ -223,7 +223,7 @@ onLoad(() => {
</form>
<sar-popup :visible="visible" effect="slide-bottom" @overlay-click="onOverlayClick">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx] min-h-[492rpx]">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx]">
<view class="text-[34rpx] font-500 flex items-center justify-between mb-[30rpx]">
<view>{{ getTitle(activeType) }}</view>
<view class="w-[36rpx] h-[36rpx] flex items-center" @click="onOverlayClick">

View File

@ -48,7 +48,13 @@ const handleSubmit = () => {
}).then(resp => {
if (resp.code === 200) {
tabbarStore.setCurIdx(0)
uni.reLaunch({ url: `/pages-sub/ai-service/index?talentTypeId=2` })
uni.navigateTo({ url: `/pages-sub/about/fillCollection?talentTypeId=2` })
}else{
uni.showToast({
title: `${resp.message}`,
icon: 'error',
mask: true
})
}
})
}
@ -128,20 +134,6 @@ onLoad(() => {
<form @submit="handleSubmit" class="flex-1 pb-safe">
<view class="flex flex-col h-full">
<!-- <view
class="flex items-center text-[30rpx] justify-between mx-[40rpx] py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid"
@click="handleOpenPopup('year')">
<view class="text-[#404142] text-left min-w-[150rpx] mr-[40rpx] ">学习年限</view>
<view class="flex-1 flex items-center">
<MxInput v-model:value="userInfo.talentExtend.ageLimit" placeholder="请选择训练年限"
root-class="text-left" :readonly="true" />
<view class="w-[18rpx] h-[36rpx] flex items-center ml-auto">
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_jiantou.png"
mode="scaleToFill" class="w-[18rpx] h-[36rpx]" />
</view>
</view>
</view> -->
<view
class="flex items-center text-[30rpx] justify-between mx-[40rpx] py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid">
<view class="text-[#404142] text-left min-w-[150rpx] mr-[40rpx] ">个人优势</view>
@ -183,18 +175,14 @@ onLoad(() => {
<view class="px-[30rpx] py-[16rpx] border-t-solid border-t-[#ededed] border-t-1 mt-auto">
<button form-type="submit"
class="rounded-[16rpx] bg-[#1580FF] text-[#fff] submit-btn flex items-center justify-center">
<view class="w-[56rpx] h-[56rpx] flex items-center mr-[10rpx]">
<image src="https://lwzk.ycymedu.com/img/cpgx/cp_aijiedu.png"
mode="scaleToFill" class="w-[56rpx] h-[56rpx]" />
</view>
<view>智能AI解读</view>
<view>提交</view>
</button>
</view>
</view>
</form>
<sar-popup :visible="visible" effect="slide-bottom" @overlay-click="onOverlayClick">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx] min-h-[492rpx]">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx]">
<view class="text-[34rpx] font-500 flex items-center justify-between mb-[30rpx]">
<view>{{ getTitle(activeType) }}</view>
<view class="w-[36rpx] h-[36rpx] flex items-center" @click="onOverlayClick">

View File

@ -239,7 +239,7 @@ onShow(() => {
</form>
<sar-popup :visible="visible" effect="slide-bottom" @overlay-click="onOverlayClick">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx] min-h-[492rpx]">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx]">
<view class="text-[34rpx] font-500 flex items-center justify-between mb-[30rpx]">
<view>{{ getTitle(activeType) }}</view>
<view class="w-[36rpx] h-[36rpx] flex items-center" @click="onOverlayClick">

View File

@ -82,7 +82,13 @@ const navigateToAi = () => {
}).then(resp => {
if (resp.code === 200) {
tabbarStore.setCurIdx(0)
uni.reLaunch({ url: `/pages-sub/ai-service/index?talentTypeId=1` })
uni.navigateTo({ url: `/pages-sub/about/fillCollection?talentTypeId=1` })
}else{
uni.showToast({
title: `${resp.message}`,
icon: 'error',
mask: true
})
}
})
}
@ -231,18 +237,14 @@ onLoad(() => {
<button form-type="submit"
class="rounded-[16rpx] bg-[#1580FF] text-[#fff] submit-btn flex items-center justify-center"
@click="navigateToAi">
<view class="w-[56rpx] h-[56rpx] flex items-center mr-[10rpx]">
<image src="https://lwzk.ycymedu.com/img/cpgx/cp_aijiedu.png"
mode="scaleToFill" class="w-[56rpx] h-[56rpx]" />
</view>
<view>智能AI解读</view>
<view>提交</view>
</button>
</view>
</view>
</form>
<sar-popup :visible="visible" effect="slide-bottom" @overlay-click="onOverlayClick">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx] min-h-[492rpx]">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx]">
<view class="text-[34rpx] font-500 flex items-center justify-between mb-[30rpx]">
<view>{{ getTitle(activeType) }}</view>
<view class="w-[36rpx] h-[36rpx] flex items-center" @click="onOverlayClick">

View File

@ -168,8 +168,8 @@ onLoad(() => {
</sar-table>
</view>
<sar-popup :visible="popVisible" effect="slide-bottom" root-class="min-h-[560rpx]" @leave="handleChangeSchool">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx] min-h-[492rpx]">
<sar-popup :visible="popVisible" effect="slide-bottom" @leave="handleChangeSchool">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx]">
<view class="text-[34rpx] font-500 flex items-center justify-between mb-[30rpx]">
<view>{{ popType === 'school' ? '全部学校' : (popType ===
'nature' ? '请选择办学性质' : '请选择所在区(可多选)') }}</view>
@ -193,7 +193,7 @@ onLoad(() => {
<MxCheckbox v-model:value="searchParams.region" :options="regions" label-key="label" value-key="value"
custom-root-class="pb-[16rpx]" custom-item-class="w-full py-[16rpx] text-center"
v-if="popType === 'region'" />
<view class="grid grid-cols-2 gap-[20rpx] border-t-[1rpx] border-t-solid border-t-[#eee] pt-[16rpx] px-[30rpx]"
<view class="grid grid-cols-2 gap-[20rpx] border-t-[1rpx] border-t-solid border-t-[#eee] pt-[16rpx] px-[30rpx] pb-[16rpx]"
v-if="popType === 'region'">
<view class="text-[34rpx] font-500 text-[#333] bg-[#F5F5F5] rounded-[12rpx] py-[20rpx] text-center"
@click="handleCancel">

View File

@ -43,9 +43,9 @@ const handleChoose = (val:any) => {
const popVisible = ref(false)
const cwbs = ref([{ value: '冲', label: '冲' }, { value: '稳', label: '稳' }, { value: '保', label: '保' }])
const natureList = ref([])
const natureList = ref<any[]>([])
const totalCount = ref(0)
const regions = ref([])
const regions = ref<any[]>([])
const userStore = useUserStore();
const searchParams = ref({
@ -96,13 +96,13 @@ onLoad(() => {
getAreaList().then(resp => {
if (resp.code === 200) {
regions.value = resp.result
regions.value = [{ value: '', label: '不限' }, ...resp.result]
}
})
getSchoolNature().then(resp => {
if (resp.code === 200) {
natureList.value = resp.result
natureList.value = [{ value: '', label: '不限' }, ...resp.result]
}
})
@ -115,7 +115,7 @@ onLoad(() => {
<view class="mb-[14rpx] flex gap-[10rpx]">
<view
class="text-[24rpx] text-[#303030] flex items-center py-[12rpx] px-[20rpx] bg-[#F3F4F8] rounded-[12rpx]"
class="text-[24rpx] text-[#303030] flex items-center justify-between py-[12rpx] px-[20rpx] bg-[#F3F4F8] rounded-[12rpx] flex-1"
@click="handleOpenPop('school')">
<view class="mr-[10rpx]">全部({{ totalCount }})</view>
<view class="w-[18rpx] h-[18rpx] flex items-center">
@ -125,7 +125,7 @@ onLoad(() => {
</view>
<view
class="text-[24rpx] text-[#303030] flex items-center py-[12rpx] px-[20rpx] bg-[#F3F4F8] rounded-[12rpx]"
class="text-[24rpx] text-[#303030] flex items-center justify-between py-[12rpx] px-[20rpx] bg-[#F3F4F8] rounded-[12rpx] flex-1"
@click="handleOpenPop('nature')">
<view class="mr-[10rpx]">办学性质</view>
<view class="w-[18rpx] h-[18rpx] flex items-center">
@ -135,7 +135,7 @@ onLoad(() => {
</view>
<view
class="text-[24rpx] text-[#303030] flex items-center py-[12rpx] px-[20rpx] bg-[#F3F4F8] rounded-[12rpx]"
class="text-[24rpx] text-[#303030] flex items-center justify-between py-[12rpx] px-[20rpx] bg-[#F3F4F8] rounded-[12rpx] flex-1"
@click="handleOpenPop('region')">
<view class="mr-[10rpx]">所在地区</view>
<view class="w-[18rpx] h-[18rpx] flex items-center">
@ -144,9 +144,6 @@ onLoad(() => {
</view>
</view>
<MxSearch v-model:searchText="searchParams.keyword"
root-class="py-[14rpx]! px-[20rpx]! w-[166rpx] rounded-[12rpx]!" :clear-icon="false" placeholder="请输入"
@complete="handleChangeSchool" />
</view>
<view v-if="tableData.length === 0"
class="flex flex-col items-center justify-center bg-[#F7F7F7] min-h-[240rpx] rounded-[16rpx]">
@ -194,8 +191,8 @@ onLoad(() => {
</sar-table>
</view>
<sar-popup :visible="popVisible" effect="slide-bottom" root-class="min-h-[560rpx]" @leave="handleChangeSchool">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx] min-h-[492rpx]">
<sar-popup :visible="popVisible" effect="slide-bottom" @leave="handleChangeSchool">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx]">
<view class="text-[34rpx] font-500 flex items-center justify-between mb-[30rpx]">
<view>{{ popType === 'school' ? '全部学校' : (popType === 'nature' ?
'请选择办学性质' : '请选择所在区(可多选)') }}</view>
@ -221,7 +218,7 @@ onLoad(() => {
v-if="popType === 'region'" />
<view
class="grid grid-cols-2 gap-[20rpx] border-t-[1rpx] border-t-solid border-t-[#eee] pt-[16rpx] px-[30rpx]"
class="grid grid-cols-2 gap-[20rpx] border-t-[1rpx] border-t-solid border-t-[#eee] pt-[16rpx] px-[30rpx] pb-[16rpx]"
v-if="popType === 'region'">
<view class="text-[34rpx] font-500 text-[#333] bg-[#F5F5F5] rounded-[12rpx] py-[20rpx] text-center"
@click="handleCancel">

View File

@ -189,8 +189,8 @@ onLoad(() => {
</sar-table>
</view>
<sar-popup :visible="popVisible" effect="slide-bottom" root-class="min-h-[560rpx]" @leave="handleChangeSchool">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx] min-h-[492rpx]">
<sar-popup :visible="popVisible" effect="slide-bottom" @leave="handleChangeSchool">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx]">
<view class="text-[34rpx] font-500 flex items-center justify-between mb-[30rpx]">
<view>{{ popType === 'school' ? '全部学校' : (popType === 'nature' ?
'请选择办学性质' : '请选择所在区(可多选)') }}</view>
@ -216,7 +216,7 @@ onLoad(() => {
v-if="popType === 'region'" />
<view
class="grid grid-cols-2 gap-[20rpx] border-t-[1rpx] border-t-solid border-t-[#eee] pt-[16rpx] px-[30rpx]"
class="grid grid-cols-2 gap-[20rpx] border-t-[1rpx] border-t-solid border-t-[#eee] pt-[16rpx] px-[30rpx] pb-[16rpx]"
v-if="popType === 'region'">
<view class="text-[34rpx] font-500 text-[#333] bg-[#F5F5F5] rounded-[12rpx] py-[20rpx] text-center"
@click="handleCancel">

View File

@ -169,7 +169,7 @@ onShow(() => {
</form>
<sar-popup :visible="visible" effect="slide-bottom" @overlay-click="onOverlayClick">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx] min-h-[492rpx]">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx]">
<view class="text-[34rpx] font-500 flex items-center justify-between mb-[30rpx]">
<view>{{ getTitle(activeType) }}</view>
<view class="w-[36rpx] h-[36rpx] flex items-center" @click="onOverlayClick">

View File

@ -187,7 +187,7 @@ onLoad(() => {
</form>
<sar-popup :visible="visible" effect="slide-bottom" @overlay-click="onOverlayClick">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx] min-h-[492rpx]">
<view class="bg-white rounded-[24rpx_24rpx_0_0] px-[30rpx] pb-safe pt-[30rpx]">
<view class="text-[34rpx] font-500 flex items-center justify-between mb-[30rpx]">
<view>请选择{{ ctoEWithDegree[activeType] }}等级</view>
<view class="w-[36rpx] h-[36rpx] flex items-center" @click="onOverlayClick">

View File

@ -65,7 +65,7 @@ onLoad((options) => {
</template>
</sar-navbar>
<view class="mx-[30rpx] pb-safe flex-1 flex flex-col overflow-hidden">
<MxSearch v-model:searchText="keywords" root-class="bg-white! border-solid border-1 border-[#1580FF] p-[20rpx_20rpx_20rpx_30rpx]" placeholder="输入高中名称" />
<MxSearch v-model:searchText="keywords" root-class="bg-white! border-solid border-1 border-[#1580FF] p-[20rpx_20rpx_20rpx_30rpx]" placeholder="输入高中名称" @complete="handleChange" />
<view class="flex-1 overflow-y-auto">
<view class="py-[29rpx] border-b border-b-solid border-b-[#EDEDED] text-[30rpx] text-[#333] flex items-center justify-between" v-for="(val,index) in schools" :key="val.id" @click="handleActiveSchool(val.schoolName)">
<view :class="`${userInfo.userExtend.schoolName === val.schoolName ? 'text-[#1580FF]' : ''}`">{{ val.schoolName }}</view>

View File

@ -272,10 +272,10 @@ onShow(() => {
</view>
<view class="mx-[30rpx] mt-[60rpx]">
<view class="mb-[30rpx] flex items-center">
<view class="mb-[20rpx] flex items-center">
<view class="mr-[12rpx] h-[48rpx] w-[48rpx]">
<image
src="https://lw-zk.oss-cn-hangzhou.aliyuncs.com/img/home/sy_zhibo.png" mode="scaleToFill"
src="https://lw-zk.oss-cn-hangzhou.aliyuncs.com/img/home/sy_zhibo.gif" mode="scaleToFill"
class="h-[48rpx] w-[48rpx]"
/>
</view>
@ -336,14 +336,13 @@ onShow(() => {
</view>
</view>
</view>
<view class="w-full flex flex-col items-center justify-center" v-if="channelVideoList.length === 0">
<view class="w-[236rpx] h-[236rpx]">
<view class="w-full flex flex-col items-center justify-center" @click="goToLiveHomePage()" v-if="channelVideoList.length === 0">
<view class="w-full h-[236rpx]">
<image
src="https://lw-zk.oss-cn-hangzhou.aliyuncs.com/img/home/sy_zanweikaobo.png"
src="https://lw-zk.oss-cn-hangzhou.aliyuncs.com/img/home/home_zhibo.png"
mode="scaleToFill"
/>
</view>
<view @click="goToLiveHomePage()" class="mt-[20rpx] flex items-center justify-center rounded-[376rpx] text-[26rpx] text-white bg-[#3D72FD] border-solid border-[2rpx] border-[#3D72FD] px-[40rpx] py-[12rpx]"> 关注官方视频号 </view>
</view>
</scroll-view>
</view>

View File

@ -35,7 +35,7 @@ const bottomMenuList = [
{ name: '收藏院校', img: 'https://lwzk.ycymedu.com/img/qt/wd_shoucang.png', url: '/pages-sub/me/starSchool' },
{ name: '联系客服', img: 'https://lwzk.ycymedu.com/img/qt/wd_kefu.png', url: '/pages-sub/about/onlineCustom' },
{ name: '关于我们', img: 'https://lwzk.ycymedu.com/img/qt/wd_guanyu.png', url: '/pages-sub/about/about' },
{ name: '直播码注册', img: 'https://lw-zk.oss-cn-hangzhou.aliyuncs.com/liebian/wd_liebian.png', url: '/pages-sub/invite/login' },
// { name: '', img: 'https://lw-zk.oss-cn-hangzhou.aliyuncs.com/liebian/wd_liebian.png', url: '/pages-sub/invite/login' },
]
function navigateToUrl(url: string) {

View File

@ -122,9 +122,9 @@ export function getEnvBaseUrl() {
// https://liebian.ycymedu.com 智能中专学校的
// https://xqwgy.ycymedu.com/ 深泉外国语学院
// # 有些同学可能需要在微信小程序里面根据 develop、trial、release 分别设置上传地址,参考代码如下。
const VITE_SERVER_BASEURL__WEIXIN_DEVELOP = 'https://xqwgy.ycymedu.com'
const VITE_SERVER_BASEURL__WEIXIN_TRIAL = 'https://xqwgy.ycymedu.com'
const VITE_SERVER_BASEURL__WEIXIN_RELEASE = 'https://xqwgy.ycymedu.com'
const VITE_SERVER_BASEURL__WEIXIN_DEVELOP = 'https://senior.ycymedu.com'
const VITE_SERVER_BASEURL__WEIXIN_TRIAL = 'https://senior.ycymedu.com'
const VITE_SERVER_BASEURL__WEIXIN_RELEASE = 'https://senior.ycymedu.com'
// 微信小程序端环境区分
if (isMpWeixin) {