flat: 性能优化,animation 等\preload等
This commit is contained in:
3
App.vue
3
App.vue
@@ -2,10 +2,11 @@
|
|||||||
import { reactive, inject, onMounted } from 'vue';
|
import { reactive, inject, onMounted } from 'vue';
|
||||||
import { onLaunch, onShow, onHide } from '@dcloudio/uni-app';
|
import { onLaunch, onShow, onHide } from '@dcloudio/uni-app';
|
||||||
import useUserStore from './stores/useUserStore';
|
import useUserStore from './stores/useUserStore';
|
||||||
|
import usePageAnimation from './hook/usePageAnimation';
|
||||||
import useDictStore from './stores/useDictStore';
|
import useDictStore from './stores/useDictStore';
|
||||||
const { $api, navTo, appendScriptTagElement, aes_Decrypt, sm2_Decrypt } = inject('globalFunction');
|
const { $api, navTo, appendScriptTagElement, aes_Decrypt, sm2_Decrypt } = inject('globalFunction');
|
||||||
import config from '@/config.js';
|
import config from '@/config.js';
|
||||||
|
usePageAnimation();
|
||||||
const appword = 'aKd20dbGdFvmuwrt'; // 固定值
|
const appword = 'aKd20dbGdFvmuwrt'; // 固定值
|
||||||
|
|
||||||
onLaunch((options) => {
|
onLaunch((options) => {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
export default {
|
export default {
|
||||||
// baseUrl: 'https://fw.rc.qingdao.gov.cn/rgpp-api/api', // 内网
|
baseUrl: 'https://fw.rc.qingdao.gov.cn/rgpp-api/api', // 内网
|
||||||
baseUrl: 'https://qd.zhaopinzao8dian.com/api', // 测试
|
// baseUrl: 'https://qd.zhaopinzao8dian.com/api', // 测试
|
||||||
// baseUrl: 'http://192.168.3.29:8081',
|
// baseUrl: 'http://192.168.3.29:8081',
|
||||||
// baseUrl: 'http://10.213.6.207:19010/api',
|
// baseUrl: 'http://10.213.6.207:19010/api',
|
||||||
// 语音转文字
|
// 语音转文字
|
||||||
|
|||||||
30
hook/page-animation.css
Normal file
30
hook/page-animation.css
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
/* #ifdef H5 */
|
||||||
|
uni-page {
|
||||||
|
opacity: 1;
|
||||||
|
will-change: opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- 进场 (Enter) --- */
|
||||||
|
uni-page.animation-enter-from {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
uni-page.animation-enter-active {
|
||||||
|
transition: opacity 0.2s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- 离场 (Leave) --- */
|
||||||
|
uni-page.animation-leave-active {
|
||||||
|
transition: opacity 0.15s ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
uni-page.animation-leave-to {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- 稳态 --- */
|
||||||
|
uni-page.animation-show {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #endif */
|
||||||
66
hook/usePageAnimation.js
Normal file
66
hook/usePageAnimation.js
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
import {
|
||||||
|
onLaunch
|
||||||
|
} from '@dcloudio/uni-app'
|
||||||
|
import {
|
||||||
|
getCurrentInstance
|
||||||
|
} from 'vue'
|
||||||
|
import './page-animation.css'
|
||||||
|
|
||||||
|
const DURATION = 130
|
||||||
|
|
||||||
|
export default function usePageAnimation() {
|
||||||
|
// #ifdef H5
|
||||||
|
const show = () => {
|
||||||
|
const page = document.querySelector('uni-page')
|
||||||
|
if (!page) return
|
||||||
|
const cl = page.classList
|
||||||
|
|
||||||
|
cl.add('animation-enter-from')
|
||||||
|
cl.remove('animation-leave-to', 'animation-leave-active')
|
||||||
|
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
cl.remove('animation-enter-from')
|
||||||
|
cl.add('animation-enter-active', 'animation-show')
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
cl.remove('animation-enter-active')
|
||||||
|
}, DURATION)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const hide = (next) => {
|
||||||
|
const page = document.querySelector('uni-page')
|
||||||
|
if (!page) {
|
||||||
|
next()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const cl = page.classList
|
||||||
|
|
||||||
|
cl.add('animation-leave-active')
|
||||||
|
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
cl.remove('animation-show')
|
||||||
|
cl.add('animation-leave-to')
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
cl.remove('animation-leave-active', 'animation-leave-to')
|
||||||
|
next()
|
||||||
|
}, DURATION - 50)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
onLaunch(() => {
|
||||||
|
const instance = getCurrentInstance()
|
||||||
|
const router = instance?.proxy?.$router
|
||||||
|
if (router) {
|
||||||
|
show()
|
||||||
|
|
||||||
|
router.beforeEach((to, from, next) => hide(next))
|
||||||
|
|
||||||
|
router.afterEach(() => show())
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// #endif
|
||||||
|
}
|
||||||
@@ -18,9 +18,14 @@
|
|||||||
</script>
|
</script>
|
||||||
<title></title>
|
<title></title>
|
||||||
<!-- eruda -->
|
<!-- eruda -->
|
||||||
<script src="https://cdn.jsdelivr.net/npm/eruda"></script>
|
<!-- <script src="https://cdn.jsdelivr.net/npm/eruda"></script>
|
||||||
<script>
|
<script>
|
||||||
eruda.init();
|
eruda.init();
|
||||||
|
</script> -->
|
||||||
|
<script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>
|
||||||
|
<script>
|
||||||
|
// VConsole 默认会挂载到 `window.VConsole` 上
|
||||||
|
var vConsole = new window.VConsole();
|
||||||
</script>
|
</script>
|
||||||
<!-- 爱山东jssdk 本sdk存在性能问题 -->
|
<!-- 爱山东jssdk 本sdk存在性能问题 -->
|
||||||
<script type="text/javascript" src="https://isdapp.shandong.gov.cn/jmopen/jssdk/index.js"></script>
|
<script type="text/javascript" src="https://isdapp.shandong.gov.cn/jmopen/jssdk/index.js"></script>
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ const pageOptions = ref({});
|
|||||||
const dataType = ref(1); // 1: 原数据, 2: 第三方数据
|
const dataType = ref(1); // 1: 原数据, 2: 第三方数据
|
||||||
|
|
||||||
onLoad((options) => {
|
onLoad((options) => {
|
||||||
console.log(options);
|
// console.log(options);
|
||||||
dataType.value = options.dataType ? parseInt(options.dataType) : 1;
|
dataType.value = options.dataType ? parseInt(options.dataType) : 1;
|
||||||
pageOptions.value = options;
|
pageOptions.value = options;
|
||||||
|
|
||||||
@@ -145,13 +145,13 @@ function getCompanyInfo(...args) {
|
|||||||
if (dataType.value === 2) {
|
if (dataType.value === 2) {
|
||||||
// 第三方数据接口
|
// 第三方数据接口
|
||||||
const [companyId, zphId] = args;
|
const [companyId, zphId] = args;
|
||||||
$api.createRequest(`/app/internal/companyThirdPart/${companyId}/${zphId}`).then((resData) => {
|
$api.createRequest(`/app/internal/companyThirdPart/${companyId}/${zphId}`, {}, 'GET', true).then((resData) => {
|
||||||
companyInfo.value = resData.data;
|
companyInfo.value = resData.data;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// 原数据接口
|
// 原数据接口
|
||||||
const [companyId] = args;
|
const [companyId] = args;
|
||||||
$api.createRequest(`/app/company/${companyId}`).then((resData) => {
|
$api.createRequest(`/app/company/${companyId}`, {}, 'GET', true).then((resData) => {
|
||||||
companyInfo.value = resData.data;
|
companyInfo.value = resData.data;
|
||||||
getJobsList();
|
getJobsList();
|
||||||
});
|
});
|
||||||
@@ -184,12 +184,15 @@ function getThirdPartyJobsList(type = 'add') {
|
|||||||
pageSize: pageState.pageSize,
|
pageSize: pageState.pageSize,
|
||||||
};
|
};
|
||||||
|
|
||||||
$api.createRequest(`/app/internal/jobThirdPart?gsID=${companyId}&gsmc=${companyName}&zphID=${zphId}`, params).then(
|
$api.createRequest(
|
||||||
(resData) => {
|
`/app/internal/jobThirdPart?gsID=${companyId}&gsmc=${companyName}&zphID=${zphId}`,
|
||||||
const { rows, total } = resData;
|
params,
|
||||||
handleJobsListResponse(type, rows, total, 'current');
|
'GET',
|
||||||
}
|
true
|
||||||
);
|
).then((resData) => {
|
||||||
|
const { rows, total } = resData;
|
||||||
|
handleJobsListResponse(type, rows, total, 'current');
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getOriginalJobsList(type = 'add') {
|
function getOriginalJobsList(type = 'add') {
|
||||||
@@ -206,7 +209,7 @@ function getOriginalJobsList(type = 'add') {
|
|||||||
pageSize: pageState.pageSize,
|
pageSize: pageState.pageSize,
|
||||||
};
|
};
|
||||||
|
|
||||||
$api.createRequest(`/app/company/job/${companyInfo.value.companyId}`, params).then((resData) => {
|
$api.createRequest(`/app/company/job/${companyInfo.value.companyId}`, params, 'GET', true).then((resData) => {
|
||||||
const { rows, total } = resData;
|
const { rows, total } = resData;
|
||||||
handleJobsListResponse(type, rows, total, 'page');
|
handleJobsListResponse(type, rows, total, 'page');
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -24,12 +24,11 @@
|
|||||||
<scroll-view class="scroll-view" scroll-y @scrolltolower="scrollBottom">
|
<scroll-view class="scroll-view" scroll-y @scrolltolower="scrollBottom">
|
||||||
<view class="list">
|
<view class="list">
|
||||||
<renderJobs
|
<renderJobs
|
||||||
:list="pageState.list"
|
|
||||||
v-if="pageState.list.length"
|
v-if="pageState.list.length"
|
||||||
:longitude="longitudeVal"
|
:longitude="longitudeVal"
|
||||||
:latitude="latitudeVal"
|
:latitude="latitudeVal"
|
||||||
></renderJobs>
|
></renderJobs>
|
||||||
<empty v-else pdTop="200"></empty>
|
<empty v-else></empty>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
@@ -140,6 +139,7 @@ function getList(type = 'add', loading = true) {
|
|||||||
height: 100%
|
height: 100%
|
||||||
.list{
|
.list{
|
||||||
padding: 0 28rpx 28rpx 28rpx
|
padding: 0 28rpx 28rpx 28rpx
|
||||||
|
height: calc(100% - 28rpx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="main">
|
<view class="main">
|
||||||
<scroll-view class="height-100" scroll-y>
|
<scroll-view class="height-100" scroll-y>
|
||||||
<view v-if="pageState.list.length">
|
<view>
|
||||||
<view class="card" v-for="(item, index) in pageState.list" :key="index">
|
<view class="card" v-for="(item, index) in pageState.list" :key="index">
|
||||||
<view
|
<view
|
||||||
@click="
|
@click="
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<empty v-else></empty>
|
<empty v-if="!pageState.list.length"></empty>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
<!-- 主体内容区域 -->
|
<!-- 主体内容区域 -->
|
||||||
<view class="container-main">
|
<view class="container-main">
|
||||||
<scroll-view scroll-y class="main-scroll" @scrolltolower="handleScrollToLower">
|
<scroll-view scroll-y class="main-scroll" @scrolltolower="handleScrollToLower">
|
||||||
<view class="cards" v-if="fairList.length">
|
<view class="cards">
|
||||||
<view
|
<view
|
||||||
class="card press-button"
|
class="card press-button"
|
||||||
v-for="(item, index) in fairList"
|
v-for="(item, index) in fairList"
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
<view class="card-footer">内容简介:{{ item.zphjj }}</view>
|
<view class="card-footer">内容简介:{{ item.zphjj }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<empty v-else pdTop="200"></empty>
|
<empty v-if="!fairList.length" pdTop="200"></empty>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
<Tabbar :currentpage="1"></Tabbar>
|
<Tabbar :currentpage="1"></Tabbar>
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
<!-- 主体内容区域 -->
|
<!-- 主体内容区域 -->
|
||||||
<view class="container-main">
|
<view class="container-main">
|
||||||
<scroll-view scroll-y class="main-scroll" @scrolltolower="handleScrollToLower">
|
<scroll-view scroll-y class="main-scroll" @scrolltolower="handleScrollToLower">
|
||||||
<view class="cards" v-if="fairList.length">
|
<view class="cards">
|
||||||
<view
|
<view
|
||||||
class="card press-button"
|
class="card press-button"
|
||||||
v-for="(item, index) in fairList"
|
v-for="(item, index) in fairList"
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
<view class="card-footer">内容简介:{{ item.zphjj }}</view>
|
<view class="card-footer">内容简介:{{ item.zphjj }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<empty v-else></empty>
|
<empty v-if="!fairList.length"></empty>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
<!-- <Tabbar :currentpage="1"></Tabbar> -->
|
<!-- <Tabbar :currentpage="1"></Tabbar> -->
|
||||||
|
|||||||
@@ -268,10 +268,10 @@ import WaveDisplay from './WaveDisplay.vue';
|
|||||||
import FileIcon from './fileIcon.vue';
|
import FileIcon from './fileIcon.vue';
|
||||||
import FileText from './fileText.vue';
|
import FileText from './fileText.vue';
|
||||||
// 系统功能hook和阿里云hook
|
// 系统功能hook和阿里云hook
|
||||||
// import { useAudioRecorder } from '@/hook/useRealtimeRecorder.js';
|
import { useAudioRecorder } from '@/hook/useRealtimeRecorder.js';
|
||||||
import { useAudioRecorder } from '@/hook/useSystemSpeechReader.js';
|
// import { useAudioRecorder } from '@/hook/useSystemSpeechReader.js';
|
||||||
// import { useTTSPlayer } from '@/hook/useTTSPlayer.js';
|
import { useTTSPlayer } from '@/hook/useTTSPlayer.js';
|
||||||
import { useTTSPlayer } from '@/hook/useSystemPlayer.js';
|
// import { useTTSPlayer } from '@/hook/useSystemPlayer.js';
|
||||||
// 全局
|
// 全局
|
||||||
const { $api, navTo, throttle } = inject('globalFunction');
|
const { $api, navTo, throttle } = inject('globalFunction');
|
||||||
const emit = defineEmits(['onConfirm']);
|
const emit = defineEmits(['onConfirm']);
|
||||||
@@ -632,7 +632,7 @@ function readMarkdown(value, index) {
|
|||||||
if (isPaused.value) {
|
if (isPaused.value) {
|
||||||
resume();
|
resume();
|
||||||
} else {
|
} else {
|
||||||
console.log(value, speechIndex.value, index, isPaused.value)
|
// console.log(value, speechIndex.value, index, isPaused.value)
|
||||||
speak(value);
|
speak(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="table-list">
|
<view class="table-list">
|
||||||
<scroll-view :scroll-y="true" class="falls-scroll" @scroll="handleScroll" @scrolltolower="scrollBottom">
|
<scroll-view :scroll-y="true" class="falls-scroll" @scroll="handleScroll" @scrolltolower="scrollBottom">
|
||||||
<view class="falls" v-if="list.length">
|
<view class="falls">
|
||||||
<custom-waterfalls-flow
|
<custom-waterfalls-flow
|
||||||
:column="columnCount"
|
:column="columnCount"
|
||||||
:columnSpace="columnSpace"
|
:columnSpace="columnSpace"
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
</custom-waterfalls-flow>
|
</custom-waterfalls-flow>
|
||||||
<loadmore ref="loadmoreRef"></loadmore>
|
<loadmore ref="loadmoreRef"></loadmore>
|
||||||
</view>
|
</view>
|
||||||
<empty v-else></empty>
|
<empty v-if="!list.length"></empty>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 筛选 -->
|
<!-- 筛选 -->
|
||||||
|
|||||||
@@ -83,6 +83,13 @@ onLoad(() => {
|
|||||||
if (fristEntry) {
|
if (fristEntry) {
|
||||||
uni.hideTabBar();
|
uni.hideTabBar();
|
||||||
}
|
}
|
||||||
|
// 预加载较重页面
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.preloadPage({ url: '/packageA/pages/post/post' });
|
||||||
|
uni.preloadPage({ url: '/pages/nearby/nearby' });
|
||||||
|
uni.preloadPage({ url: '/pages/chat/chat' });
|
||||||
|
uni.preloadPage({ url: '/packageA/pages/choiceness/choiceness' });
|
||||||
|
}, 3000);
|
||||||
});
|
});
|
||||||
|
|
||||||
onShow(() => {
|
onShow(() => {
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
<view class="info-text line_2">{{ item.subTitle || '消息' }}</view>
|
<view class="info-text line_2">{{ item.subTitle || '消息' }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<empty v-if="!msgList.length"></empty>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</template>
|
</template>
|
||||||
@@ -83,6 +84,7 @@ defineExpose({ loadData });
|
|||||||
}
|
}
|
||||||
.scrollmain{
|
.scrollmain{
|
||||||
padding: 28rpx
|
padding: 28rpx
|
||||||
|
height: calc(100% - 56rpx)
|
||||||
}
|
}
|
||||||
.read{
|
.read{
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
<view class="info-text line_2">{{ item.subTitle || '消息' }}</view>
|
<view class="info-text line_2">{{ item.subTitle || '消息' }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<empty v-if="!unreadMsgList.length"></empty>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</template>
|
</template>
|
||||||
@@ -69,6 +70,7 @@ defineExpose({ loadData });
|
|||||||
}
|
}
|
||||||
.scrollmain{
|
.scrollmain{
|
||||||
padding: 28rpx
|
padding: 28rpx
|
||||||
|
height: calc(100% - 56rpx)
|
||||||
}
|
}
|
||||||
.read{
|
.read{
|
||||||
|
|
||||||
|
|||||||
@@ -69,13 +69,8 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="one-cards">
|
<view class="one-cards">
|
||||||
<renderJobs
|
<renderJobs :list="list" :longitude="longitudeVal" :latitude="latitudeVal"></renderJobs>
|
||||||
v-if="list.length"
|
<empty v-if="!list.length"></empty>
|
||||||
:list="list"
|
|
||||||
:longitude="longitudeVal"
|
|
||||||
:latitude="latitudeVal"
|
|
||||||
></renderJobs>
|
|
||||||
<empty v-else></empty>
|
|
||||||
<loadmore v-show="list.length > pageState.pageSize" ref="loadmoreRef"></loadmore>
|
<loadmore v-show="list.length > pageState.pageSize" ref="loadmoreRef"></loadmore>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -341,15 +336,17 @@ defineExpose({ loadData, handleFilterConfirm });
|
|||||||
.nearby-scroll
|
.nearby-scroll
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
background: #f4f4f4;
|
||||||
.two-head
|
.two-head
|
||||||
margin: 22rpx;
|
padding: 22rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column
|
flex-direction: column
|
||||||
flex-wrap: no-wrap
|
flex-wrap: no-wrap
|
||||||
// grid-template-columns: repeat(4, 1fr);
|
// grid-template-columns: repeat(4, 1fr);
|
||||||
// grid-column-gap: 10rpx;
|
// grid-column-gap: 10rpx;
|
||||||
// grid-row-gap: 24rpx;
|
// grid-row-gap: 24rpx;
|
||||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
background: #FFFFFF
|
||||||
|
// border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||||
.head-all{
|
.head-all{
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|||||||
@@ -74,13 +74,8 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="one-cards">
|
<view class="one-cards">
|
||||||
<renderJobs
|
<renderJobs :list="list" :longitude="longitudeVal" :latitude="latitudeVal"></renderJobs>
|
||||||
v-if="list.length"
|
<empty v-if="!list.length"></empty>
|
||||||
:list="list"
|
|
||||||
:longitude="longitudeVal"
|
|
||||||
:latitude="latitudeVal"
|
|
||||||
></renderJobs>
|
|
||||||
<empty v-else></empty>
|
|
||||||
<loadmore v-show="list.length > pageState.pageSize" ref="loadmoreRef"></loadmore>
|
<loadmore v-show="list.length > pageState.pageSize" ref="loadmoreRef"></loadmore>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -365,6 +360,7 @@ defineExpose({ loadData, handleFilterConfirm });
|
|||||||
.nearby-scroll
|
.nearby-scroll
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
background: #f4f4f4;
|
||||||
.nearby-map
|
.nearby-map
|
||||||
height: 767rpx;
|
height: 767rpx;
|
||||||
background: #e8e8e8;
|
background: #e8e8e8;
|
||||||
|
|||||||
@@ -95,13 +95,8 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="one-cards">
|
<view class="one-cards">
|
||||||
<renderJobs
|
<renderJobs :list="list" :longitude="longitudeVal" :latitude="latitudeVal"></renderJobs>
|
||||||
v-if="list.length"
|
<empty v-if="!list.length"></empty>
|
||||||
:list="list"
|
|
||||||
:longitude="longitudeVal"
|
|
||||||
:latitude="latitudeVal"
|
|
||||||
></renderJobs>
|
|
||||||
<empty v-else></empty>
|
|
||||||
<loadmore v-show="list.length > pageState.pageSize" ref="loadmoreRef"></loadmore>
|
<loadmore v-show="list.length > pageState.pageSize" ref="loadmoreRef"></loadmore>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -359,10 +354,12 @@ defineExpose({ loadData, handleFilterConfirm });
|
|||||||
color: #4778EC !important;
|
color: #4778EC !important;
|
||||||
.nearby-scroll
|
.nearby-scroll
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
background: #f4f4f4;
|
||||||
height: 100%
|
height: 100%
|
||||||
.three-head
|
.three-head
|
||||||
// margin: 24rpx 0 0 0;
|
// margin: 24rpx 0 0 0;
|
||||||
padding: 26rpx 0 0 0;
|
padding: 26rpx 0 0 0;
|
||||||
|
background: #FFFFFF;
|
||||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||||
.one-picker
|
.one-picker
|
||||||
height: 100%
|
height: 100%
|
||||||
|
|||||||
@@ -65,13 +65,8 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="one-cards">
|
<view class="one-cards">
|
||||||
<renderJobs
|
<renderJobs :list="list" :longitude="longitudeVal" :latitude="latitudeVal"></renderJobs>
|
||||||
v-if="list.length"
|
<empty v-if="!list.length"></empty>
|
||||||
:list="list"
|
|
||||||
:longitude="longitudeVal"
|
|
||||||
:latitude="latitudeVal"
|
|
||||||
></renderJobs>
|
|
||||||
<empty v-else></empty>
|
|
||||||
<loadmore v-show="list.length > pageState.pageSize" ref="loadmoreRef"></loadmore>
|
<loadmore v-show="list.length > pageState.pageSize" ref="loadmoreRef"></loadmore>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -256,10 +251,12 @@ defineExpose({ loadData, handleFilterConfirm });
|
|||||||
.nearby-scroll
|
.nearby-scroll
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
background: #f4f4f4;
|
||||||
.two-head
|
.two-head
|
||||||
margin: 22rpx;
|
padding: 22rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap
|
flex-wrap: wrap
|
||||||
|
background: #FFFFFF;
|
||||||
// grid-template-columns: repeat(4, 1fr);
|
// grid-template-columns: repeat(4, 1fr);
|
||||||
// grid-column-gap: 10rpx;
|
// grid-column-gap: 10rpx;
|
||||||
// grid-row-gap: 24rpx;
|
// grid-row-gap: 24rpx;
|
||||||
|
|||||||
@@ -137,10 +137,12 @@ export function createRequest(url, data = {}, method = 'GET', loading = false, h
|
|||||||
resolve(resData.data)
|
resolve(resData.data)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
uni.showToast({
|
if (msg) {
|
||||||
title: msg,
|
uni.showToast({
|
||||||
icon: 'none'
|
title: msg,
|
||||||
})
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (resData.data?.code === 401 || resData.data?.code === 402) {
|
if (resData.data?.code === 401 || resData.data?.code === 402) {
|
||||||
useUserStore().logOut()
|
useUserStore().logOut()
|
||||||
|
|||||||
Reference in New Issue
Block a user