页面适配
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<view>
|
||||||
|
<!-- #ifdef H5 -->
|
||||||
<transition-group name="blur-fade-stagger" tag="view">
|
<transition-group name="blur-fade-stagger" tag="view">
|
||||||
|
<!-- #endif -->
|
||||||
<view v-for="(job, index) in dataSource" :key="job.id" :style="{ '--i': 2 }">
|
<view v-for="(job, index) in dataSource" :key="job.id" :style="{ '--i': 2 }">
|
||||||
<view class="cards" @click="nextDetail(job)">
|
<view class="cards" @click="nextDetail(job)">
|
||||||
<view class="card-company">
|
<view class="card-company">
|
||||||
@@ -33,7 +36,11 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<!-- #ifdef H5 -->
|
||||||
</transition-group>
|
</transition-group>
|
||||||
|
<!-- #endif -->
|
||||||
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ function nextDetail(job) {
|
|||||||
if (job.isPublish) {
|
if (job.isPublish) {
|
||||||
return $api.msg('已过期');
|
return $api.msg('已过期');
|
||||||
}
|
}
|
||||||
navTo(`/packageA/pages/post/post?jobId=${btoa(job.jobId)}&dataType=${job.dataType}`);
|
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.jobId)}&dataType=${job.dataType}`);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ function nextDetail(job) {
|
|||||||
return $api.msg('已过期');
|
return $api.msg('已过期');
|
||||||
}
|
}
|
||||||
// 根据数据类型跳转到不同的详情页
|
// 根据数据类型跳转到不同的详情页
|
||||||
navTo(`/packageA/pages/post/post?jobId=${btoa(job.jobId)}&dataType=${job.dataType}`);
|
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.jobId)}&dataType=${job.dataType}`);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ function nextDetail(job) {
|
|||||||
if (job.isPublish) {
|
if (job.isPublish) {
|
||||||
return $api.msg('已过期');
|
return $api.msg('已过期');
|
||||||
}
|
}
|
||||||
navTo(`/packageA/pages/post/post?jobId=${btoa(job.jobId)}&dataType=${job.dataType}`);
|
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.jobId)}&dataType=${job.dataType}`);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<view>
|
||||||
|
<!-- #ifdef H5 -->
|
||||||
<transition-group name="blur-fade-stagger" tag="view">
|
<transition-group name="blur-fade-stagger" tag="view">
|
||||||
|
<!-- #endif -->
|
||||||
<view v-for="job in dataSource" :key="job.id || job.jobId" :style="{ '--i': 2 }">
|
<view v-for="job in dataSource" :key="job.id || job.jobId" :style="{ '--i': 2 }">
|
||||||
<view v-if="!job.isTitle" class="cards" @click="nextDetail(job)">
|
<view v-if="!job.isTitle" class="cards" @click="nextDetail(job)">
|
||||||
<view class="card-company">
|
<view class="card-company">
|
||||||
@@ -40,7 +43,10 @@
|
|||||||
{{ job.title }}
|
{{ job.title }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<!-- #ifdef H5 -->
|
||||||
</transition-group>
|
</transition-group>
|
||||||
|
<!-- #endif -->
|
||||||
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
@@ -128,7 +134,7 @@ function nextDetail(job) {
|
|||||||
const recordData = recommedIndexDb.JobParameter(job);
|
const recordData = recommedIndexDb.JobParameter(job);
|
||||||
recommedIndexDb.addRecord(recordData);
|
recommedIndexDb.addRecord(recordData);
|
||||||
}
|
}
|
||||||
navTo(`/packageA/pages/post/post?jobId=${btoa(job.jobId)}&dataType=1`);
|
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.jobId)}&dataType=1`);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<view>
|
||||||
|
<!-- #ifdef H5 -->
|
||||||
<transition-group name="blur-fade-stagger" tag="view">
|
<transition-group name="blur-fade-stagger" tag="view">
|
||||||
|
<!-- #endif -->
|
||||||
<view v-for="job in dataSource" :key="job.id" :style="{ '--i': 2 }">
|
<view v-for="job in dataSource" :key="job.id" :style="{ '--i': 2 }">
|
||||||
<view v-if="!job.isTitle" class="cards" @click="nextDetail(job)">
|
<view v-if="!job.isTitle" class="cards" @click="nextDetail(job)">
|
||||||
<view class="card-company">
|
<view class="card-company">
|
||||||
@@ -40,7 +43,10 @@
|
|||||||
{{ job.title }}
|
{{ job.title }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<!-- #ifdef H5 -->
|
||||||
</transition-group>
|
</transition-group>
|
||||||
|
<!-- #endif -->
|
||||||
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
@@ -101,7 +107,7 @@ function nextDetail(job) {
|
|||||||
const recordData = recommedIndexDb.JobParameter(job);
|
const recordData = recommedIndexDb.JobParameter(job);
|
||||||
recommedIndexDb.addRecord(recordData);
|
recommedIndexDb.addRecord(recordData);
|
||||||
}
|
}
|
||||||
navTo(`/packageA/pages/post/post?jobId=${btoa(job.id)}&dataType=2`);
|
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.id)}&dataType=2`);
|
||||||
}
|
}
|
||||||
function parseDateTime(datetimeStr) {
|
function parseDateTime(datetimeStr) {
|
||||||
if (!datetimeStr) return { time: '', date: '' };
|
if (!datetimeStr) return { time: '', date: '' };
|
||||||
|
|||||||
@@ -129,6 +129,7 @@ const zphId = ref('');
|
|||||||
const pageOptions = ref({});
|
const pageOptions = ref({});
|
||||||
|
|
||||||
onLoad((options) => {
|
onLoad((options) => {
|
||||||
|
console.log(options,'++')
|
||||||
zphId.value = options.jobFairId;
|
zphId.value = options.jobFairId;
|
||||||
pageOptions.value = options;
|
pageOptions.value = options;
|
||||||
getJobFairInfo(options.jobFairId, options.jobFairName);
|
getJobFairInfo(options.jobFairId, options.jobFairName);
|
||||||
|
|||||||
@@ -203,6 +203,7 @@ const explainUrlRef = ref('');
|
|||||||
const dataType = ref(1); // 1: 原数据, 2: 第三方数据
|
const dataType = ref(1); // 1: 原数据, 2: 第三方数据
|
||||||
|
|
||||||
onLoad((option) => {
|
onLoad((option) => {
|
||||||
|
console.log(option,'+++++')
|
||||||
if (option.jobId) {
|
if (option.jobId) {
|
||||||
dataType.value = option.dataType ? parseInt(option.dataType) : 1;
|
dataType.value = option.dataType ? parseInt(option.dataType) : 1;
|
||||||
initLoad(option);
|
initLoad(option);
|
||||||
@@ -210,15 +211,17 @@ onLoad((option) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
onShow(() => {
|
onShow(() => {
|
||||||
|
// #ifdef H5
|
||||||
const option = parseQueryParams(); // 兼容微信内置浏览器
|
const option = parseQueryParams(); // 兼容微信内置浏览器
|
||||||
if (option.jobId) {
|
if (option.jobId) {
|
||||||
dataType.value = option.dataType ? parseInt(option.dataType) : 1;
|
dataType.value = option.dataType ? parseInt(option.dataType) : 1;
|
||||||
initLoad(option);
|
initLoad(option);
|
||||||
}
|
}
|
||||||
|
// #endif
|
||||||
});
|
});
|
||||||
|
|
||||||
function initLoad(option) {
|
function initLoad(option) {
|
||||||
const jobId = atob(option.jobId);
|
const jobId = decodeURIComponent(option.jobId);
|
||||||
if (jobId !== jobIdRef.value) {
|
if (jobId !== jobIdRef.value) {
|
||||||
jobIdRef.value = jobId;
|
jobIdRef.value = jobId;
|
||||||
getDetail(jobId);
|
getDetail(jobId);
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ function nextDetail() {
|
|||||||
recommedIndexDb.addRecord(recordData);
|
recommedIndexDb.addRecord(recordData);
|
||||||
}
|
}
|
||||||
console.log(job.jobId);
|
console.log(job.jobId);
|
||||||
navTo(`/packageA/pages/post/post?jobId=${btoa(job.jobId)}`);
|
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.jobId)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getNextVideoSrc(num) {
|
function getNextVideoSrc(num) {
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ import useLocationStore from '@/stores/useLocationStore';
|
|||||||
import { storeToRefs } from 'pinia';
|
import { storeToRefs } from 'pinia';
|
||||||
import config from '@/config';
|
import config from '@/config';
|
||||||
const { longitudeVal, latitudeVal } = storeToRefs(useLocationStore());
|
const { longitudeVal, latitudeVal } = storeToRefs(useLocationStore());
|
||||||
const { $api, navTo, cloneDeep, debounce } = inject('globalFunction');
|
const { $api, navTo, } = inject('globalFunction');
|
||||||
const weekList = ref([]);
|
const weekList = ref([]);
|
||||||
const fairList = ref([]);
|
const fairList = ref([]);
|
||||||
const currentDay = ref({});
|
const currentDay = ref({});
|
||||||
@@ -149,9 +149,13 @@ onLoad(() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const handleItemClick = (item) => {
|
const handleItemClick = (item) => {
|
||||||
|
try {
|
||||||
lightAppJssdk.navigation.hide({
|
lightAppJssdk.navigation.hide({
|
||||||
url: config.virtualJobFair,
|
url: config.virtualJobFair,
|
||||||
});
|
});
|
||||||
|
} catch (error) {
|
||||||
|
$api.msg('功能确定中');
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function toSelectDate() {
|
function toSelectDate() {
|
||||||
|
|||||||
@@ -30,11 +30,9 @@ export default {
|
|||||||
import * as PIXI from "pixi.js";
|
import * as PIXI from "pixi.js";
|
||||||
|
|
||||||
// PIXI 变量
|
// PIXI 变量
|
||||||
let app = null;
|
|
||||||
let tagsContainer = null;
|
let tagsContainer = null;
|
||||||
let activeTagInstances = [];
|
let activeTagInstances = [];
|
||||||
|
|
||||||
|
|
||||||
// 配置数据
|
// 配置数据
|
||||||
const mockTags = [
|
const mockTags = [
|
||||||
{ name: "医生", bgColor: 0x0069fe, fontColor: 0xffffff, size: 17, opacity: 1.0, angle: 0, radius: 0 },
|
{ name: "医生", bgColor: 0x0069fe, fontColor: 0xffffff, size: 17, opacity: 1.0, angle: 0, radius: 0 },
|
||||||
@@ -149,12 +147,13 @@ const clamp = (num, min, max) => Math.min(Math.max(num, min), max);
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
app:null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
if (app) {
|
if (this.app) {
|
||||||
app.destroy(true, { children: true, texture: true, baseTexture: true });
|
this.app.destroy(true, { children: true, texture: true, baseTexture: true });
|
||||||
app = null;
|
this.app = null;
|
||||||
}
|
}
|
||||||
window.removeEventListener("resize", this.handleResize());
|
window.removeEventListener("resize", this.handleResize());
|
||||||
},
|
},
|
||||||
@@ -168,9 +167,9 @@ export default {
|
|||||||
const height = container.clientHeight || 300;
|
const height = container.clientHeight || 300;
|
||||||
console.log(width,height);
|
console.log(width,height);
|
||||||
|
|
||||||
if (app) return;
|
if (this.app) return;
|
||||||
|
|
||||||
app = new PIXI.Application({
|
this.app = new PIXI.Application({
|
||||||
width: width,
|
width: width,
|
||||||
height: height,
|
height: height,
|
||||||
backgroundAlpha: 0,
|
backgroundAlpha: 0,
|
||||||
@@ -179,12 +178,12 @@ export default {
|
|||||||
resolution: window?.devicePixelRatio ?? 1,
|
resolution: window?.devicePixelRatio ?? 1,
|
||||||
autoDensity: true,
|
autoDensity: true,
|
||||||
});
|
});
|
||||||
app.view.style.touchAction = "auto";
|
this.app.view.style.touchAction = "auto";
|
||||||
|
|
||||||
container.appendChild(app.view);
|
container.appendChild(this.app.view);
|
||||||
|
|
||||||
tagsContainer = new PIXI.Container();
|
tagsContainer = new PIXI.Container();
|
||||||
app.stage.addChild(tagsContainer);
|
this.app.stage.addChild(tagsContainer);
|
||||||
|
|
||||||
this.renderScene(width, height);
|
this.renderScene(width, height);
|
||||||
window.addEventListener("resize", this.handleResize());
|
window.addEventListener("resize", this.handleResize());
|
||||||
@@ -238,8 +237,8 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 动画循环
|
// 动画循环
|
||||||
app.ticker.add(() => {
|
this.app.ticker.add(() => {
|
||||||
const screenH = app.screen.height;
|
const screenH = this.app.screen.height;
|
||||||
|
|
||||||
activeTagInstances.forEach((tag) => {
|
activeTagInstances.forEach((tag) => {
|
||||||
const meta = tag.userData;
|
const meta = tag.userData;
|
||||||
@@ -348,11 +347,11 @@ export default {
|
|||||||
|
|
||||||
handleResize () {
|
handleResize () {
|
||||||
const container = document.querySelector('#pixi-box');
|
const container = document.querySelector('#pixi-box');
|
||||||
if (!app || !container) return;
|
if (!this.app || !container) return;
|
||||||
const w = container.clientWidth || 300;
|
const w = container.clientWidth || 300;
|
||||||
const h = container.clientHeight || 300;
|
const h = container.clientHeight || 300;
|
||||||
|
|
||||||
app.renderer.resize(w, h);
|
this.app.renderer.resize(w, h);
|
||||||
|
|
||||||
activeTagInstances.forEach((tag) => {
|
activeTagInstances.forEach((tag) => {
|
||||||
const meta = tag.userData;
|
const meta = tag.userData;
|
||||||
|
|||||||
@@ -292,7 +292,7 @@ function nextDetail(job) {
|
|||||||
const recordData = recommedIndexDb.JobParameter(job);
|
const recordData = recommedIndexDb.JobParameter(job);
|
||||||
recommedIndexDb.addRecord(recordData);
|
recommedIndexDb.addRecord(recordData);
|
||||||
}
|
}
|
||||||
navTo(`/packageA/pages/post/post?jobId=${btoa(job.jobId)}`);
|
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.jobId)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
function openFilter() {
|
function openFilter() {
|
||||||
|
|||||||
@@ -498,7 +498,7 @@ function nextDetail(job) {
|
|||||||
const recordData = recommedIndexDb.JobParameter(job);
|
const recordData = recommedIndexDb.JobParameter(job);
|
||||||
recommedIndexDb.addRecord(recordData);
|
recommedIndexDb.addRecord(recordData);
|
||||||
}
|
}
|
||||||
navTo(`/packageA/pages/post/post?jobId=${btoa(job.jobId)}`);
|
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.jobId)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
function openFilter() {
|
function openFilter() {
|
||||||
@@ -608,8 +608,9 @@ function getJobRecommend(type = 'add') {
|
|||||||
list.value.push(...reslist);
|
list.value.push(...reslist);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
const reslist = dataToImg(data);
|
// const reslist = dataToImg(data);
|
||||||
list.value.push(...reslist);
|
// list.value.push(...reslist);
|
||||||
|
console.log(err,'+++')
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
list.value = dataToImg(data);
|
list.value = dataToImg(data);
|
||||||
@@ -1107,7 +1108,7 @@ defineExpose({ loadData });
|
|||||||
bottom:50rpx;
|
bottom:50rpx;
|
||||||
width:264rpx;
|
width:264rpx;
|
||||||
height:298rpx;
|
height:298rpx;
|
||||||
z-index:6
|
z-index:7
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.no-radius
|
.no-radius
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ function nextDetail(job) {
|
|||||||
const recordData = recommedIndexDb.JobParameter(job);
|
const recordData = recommedIndexDb.JobParameter(job);
|
||||||
recommedIndexDb.addRecord(recordData);
|
recommedIndexDb.addRecord(recordData);
|
||||||
}
|
}
|
||||||
navTo(`/packageA/pages/post/post?jobId=${btoa(job.jobId)}`);
|
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.jobId)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
function nextVideo(job) {
|
function nextVideo(job) {
|
||||||
@@ -208,7 +208,8 @@ defineExpose({ loadData });
|
|||||||
}
|
}
|
||||||
|
|
||||||
.nav-filter
|
.nav-filter
|
||||||
padding: 16rpx 28rpx 30rpx 28rpx
|
padding: 16rpx 28rpx 30rpx 28rpx;
|
||||||
|
padding-top:calc(var(--window-top) + var(--status-bar-height) + 20rpx);
|
||||||
.filter-top
|
.filter-top
|
||||||
display: flex
|
display: flex
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ onLoad(() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
function navToPost(jobId) {
|
function navToPost(jobId) {
|
||||||
navTo(`/packageA/pages/post/post?jobId=${btoa(jobId)}`);
|
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(jobId)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function loadData() {
|
async function loadData() {
|
||||||
|
|||||||
@@ -231,7 +231,7 @@ function nextDetail(job) {
|
|||||||
const recordData = recommedIndexDb.JobParameter(job);
|
const recordData = recommedIndexDb.JobParameter(job);
|
||||||
recommedIndexDb.addRecord(recordData);
|
recommedIndexDb.addRecord(recordData);
|
||||||
}
|
}
|
||||||
navTo(`/packageA/pages/post/post?jobId=${btoa(job.jobId)}`);
|
navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.jobId)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
function nextVideo(job) {
|
function nextVideo(job) {
|
||||||
|
|||||||
1108
static/js/pixi.min.js
vendored
1108
static/js/pixi.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
|||||||
// BaseDBStore.js
|
// BaseDBStore.js
|
||||||
import IndexedDBHelper from '@/common/IndexedDBHelper.js'
|
import IndexedDBHelper from '@/common/IndexedDBHelper.js'
|
||||||
// import UniStorageHelper from '../common/UniStorageHelper'
|
import UniStorageHelper from '../common/UniStorageHelper'
|
||||||
import useChatGroupDBStore from '@/stores/userChatGroupStore'
|
import useChatGroupDBStore from '@/stores/userChatGroupStore'
|
||||||
import config from '@/config'
|
import config from '@/config'
|
||||||
|
|
||||||
@@ -43,6 +43,10 @@ class BaseStore {
|
|||||||
this.db = new IndexedDBHelper(this.dbName, config.DBversion);
|
this.db = new IndexedDBHelper(this.dbName, config.DBversion);
|
||||||
// // #endif
|
// // #endif
|
||||||
|
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
this.db = new UniStorageHelper(this.dbName, );
|
||||||
|
// #endif
|
||||||
|
|
||||||
return this.db.openDB([{
|
return this.db.openDB([{
|
||||||
name: 'record',
|
name: 'record',
|
||||||
keyPath: "id",
|
keyPath: "id",
|
||||||
|
|||||||
Reference in New Issue
Block a user