提交 e1feb94d 作者: 吴佳伟

Merge branch 'dev' of https://gitlab.yiring.com/digital-agri/agri-app into dev

{ {
"name": "数字农服", "name": "数字农服",
"version": "1.0.10", "version": "1.0.14",
"description": "数字农服", "description": "数字农服",
"keywords": [ "keywords": [
"app", "app",
......
<template>
<iframe :onload="onloadCode" style="width: 100%; height: 100%; border: 1px solid #fff; background: #000"></iframe>
</template>
<script>
export default {
props: {
src: {},
},
data() {
return {
onloadCode: '',
}
},
created() {
this.onloadCode = `this.contentWindow.document.body.innerHTML = '<video style="width: 100%;height: 100%" controls="controls" src="${this.src}"></video>';`
},
}
</script>
<style lang="scss"></style>
...@@ -40,12 +40,12 @@ ...@@ -40,12 +40,12 @@
{ {
"path": "pages/nongchang/nongchang", "path": "pages/nongchang/nongchang",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "农场",
"backgroundColorTop": "#e6f5e8", "backgroundColorTop": "#e6f5e8",
"backgroundColorBottom": "#e6f5e8", "backgroundColorBottom": "#e6f5e8",
"enablePullDownRefresh": true, "enablePullDownRefresh": true,
"app-plus": { "app-plus": {
"titleNView": false, "titleNView": true,
"bounce": false "bounce": false
} }
} }
...@@ -65,13 +65,13 @@ ...@@ -65,13 +65,13 @@
{ {
"path": "pages/chanxiao/chanxiao", "path": "pages/chanxiao/chanxiao",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "产销",
"backgroundColorTop": "#e6f5e8", "backgroundColorTop": "#e6f5e8",
"backgroundColorBottom": "#e6f5e8", "backgroundColorBottom": "#e6f5e8",
"enablePullDownRefresh": true, "enablePullDownRefresh": true,
"onReachBottomDistance": 50, "onReachBottomDistance": 50,
"app-plus": { "app-plus": {
"titleNView": false, "titleNView": true,
"bounce": false "bounce": false
} }
} }
...@@ -118,12 +118,12 @@ ...@@ -118,12 +118,12 @@
{ {
"path": "pages/fuwu/fuwu", "path": "pages/fuwu/fuwu",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "服务",
"backgroundColorTop": "#e6f5e8", "backgroundColorTop": "#e6f5e8",
"backgroundColorBottom": "#e6f5e8", "backgroundColorBottom": "#e6f5e8",
"enablePullDownRefresh": true, "enablePullDownRefresh": true,
"app-plus": { "app-plus": {
"titleNView": false, "titleNView": true,
"bounce": false "bounce": false
} }
} }
...@@ -146,7 +146,7 @@ ...@@ -146,7 +146,7 @@
"style": { "style": {
"navigationBarTitleText": "我的", "navigationBarTitleText": "我的",
"app-plus": { "app-plus": {
"titleNView": false, "titleNView": true,
"bounce": false "bounce": false
} }
} }
...@@ -292,13 +292,12 @@ ...@@ -292,13 +292,12 @@
"backgroundColorBottom": "#F2F2F2", "backgroundColorBottom": "#F2F2F2",
"app-plus": { "app-plus": {
"titleNView": { "titleNView": {
"titleSize": "20",
"buttons": [ "buttons": [
{ {
"text": "+ 添加基地", "text": "+ 添加基地",
"fontSrc": "/static/uni.ttf", "fontSrc": "/static/uni.ttf",
"color": "#fff", "color": "#fff",
"fontSize": "28rpx", "fontSize": "26rpx",
"width": "auto" "width": "auto"
} }
] ]
...@@ -408,13 +407,12 @@ ...@@ -408,13 +407,12 @@
"backgroundColorBottom": "#F2F2F2", "backgroundColorBottom": "#F2F2F2",
"app-plus": { "app-plus": {
"titleNView": { "titleNView": {
"titleSize": "20",
"buttons": [ "buttons": [
{ {
"text": "+ 添加设备", "text": "+ 添加设备",
"fontSrc": "/static/uni.ttf", "fontSrc": "/static/uni.ttf",
"color": "#fff", "color": "#fff",
"fontSize": "28rpx", "fontSize": "26rpx",
"width": "auto" "width": "auto"
} }
] ]
...@@ -432,13 +430,12 @@ ...@@ -432,13 +430,12 @@
"backgroundColorBottom": "#F2F2F2", "backgroundColorBottom": "#F2F2F2",
"app-plus": { "app-plus": {
"titleNView": { "titleNView": {
"titleSize": "20",
"buttons": [ "buttons": [
{ {
"text": "+ 添加资源", "text": "+ 添加资源",
"fontSrc": "/static/uni.ttf", "fontSrc": "/static/uni.ttf",
"color": "#fff", "color": "#fff",
"fontSize": "28rpx", "fontSize": "26rpx",
"width": "auto" "width": "auto"
} }
] ]
...@@ -469,7 +466,7 @@ ...@@ -469,7 +466,7 @@
"app-plus": { "app-plus": {
"scrollIndicator": "none", "scrollIndicator": "none",
"titleNView": { "titleNView": {
"titleSize": "20" "titleSize": "18"
} }
} }
}, },
......
...@@ -129,10 +129,8 @@ ...@@ -129,10 +129,8 @@
pageData.search.pageNo = 1 pageData.search.pageNo = 1
pageData.purchaseDemands = [] pageData.purchaseDemands = []
pageData.supplyInfos = [] pageData.supplyInfos = []
if (pageData.currentTransactionTab === 1) if (pageData.currentTransactionTab === 1) getPurchaseList()
getPurchaseList() if (pageData.currentTransactionTab === 2) getSupplyList()
if (pageData.currentTransactionTab === 2)
getSupplyList()
} }
// 采购/供应标签点击事件 // 采购/供应标签点击事件
...@@ -142,10 +140,8 @@ getSupplyList() ...@@ -142,10 +140,8 @@ getSupplyList()
pageData.search.pageNo = 1 pageData.search.pageNo = 1
pageData.purchaseDemands = [] pageData.purchaseDemands = []
pageData.supplyInfos = [] pageData.supplyInfos = []
if (pageData.currentTransactionTab === 1) if (pageData.currentTransactionTab === 1) getPurchaseList()
getPurchaseList() if (pageData.currentTransactionTab === 2) getSupplyList()
if (pageData.currentTransactionTab === 2)
getSupplyList()
} }
// 新需求提醒点击事件 // 新需求提醒点击事件
...@@ -190,14 +186,12 @@ getSupplyList() ...@@ -190,14 +186,12 @@ getSupplyList()
onReachBottom(() => { onReachBottom(() => {
console.log('触底了') console.log('触底了')
if (pageData.currentTransactionTab === 1) { if (pageData.currentTransactionTab === 1) {
if (pageData.total <= pageData.purchaseDemands.length) if (pageData.total <= pageData.purchaseDemands.length) return
return
pageData.search.pageNo++ pageData.search.pageNo++
getPurchaseList() getPurchaseList()
} }
if (pageData.currentTransactionTab === 2) { if (pageData.currentTransactionTab === 2) {
if (pageData.total <= pageData.supplyInfos.length) if (pageData.total <= pageData.supplyInfos.length) return
return
pageData.search.pageNo++ pageData.search.pageNo++
getSupplyList() getSupplyList()
} }
...@@ -207,9 +201,8 @@ return ...@@ -207,9 +201,8 @@ return
<template> <template>
<view class="codefun-flex-col page"> <view class="codefun-flex-col page">
<view class="codefun-flex-col section"> <view class="codefun-flex-col section">
<view class="codefun-mt-22 codefun-flex-col"> <view class="codefun-flex-col">
<text class="codefun-self-center text">{{ pageData.header.title }}</text> <view class="codefun-flex-col codefun-self-stretch">
<view class="codefun-mt-22 codefun-flex-col codefun-self-stretch">
<image class="image_5" :src="pageData.header.bannerImage" /> <image class="image_5" :src="pageData.header.bannerImage" />
<view class="codefun-mt-14 codefun-flex-row gap-1"> <view class="codefun-mt-14 codefun-flex-row gap-1">
<view <view
...@@ -439,7 +432,7 @@ return ...@@ -439,7 +432,7 @@ return
overflow-x: hidden; overflow-x: hidden;
padding-bottom: 32rpx; padding-bottom: 32rpx;
.section { .section {
padding: 28rpx 28rpx 8rpx; padding: 0 28rpx 8rpx;
background-image: url('/static/images/codefun/7a5dc4ee864fe55da98b41c14ee3b931.png'); background-image: url('/static/images/codefun/7a5dc4ee864fe55da98b41c14ee3b931.png');
background-size: 100% 100%; background-size: 100% 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
......
...@@ -296,7 +296,7 @@ ...@@ -296,7 +296,7 @@
<view class="codefun-flex-col section"> <view class="codefun-flex-col section">
<view class="codefun-flex-col group_2"> <view class="codefun-flex-col group_2">
<view class="codefun-flex-col"> <view class="codefun-flex-col">
<view <!-- <view
class="codefun-flex-row codefun-justify-center codefun-items-center codefun-relative group_3" class="codefun-flex-row codefun-justify-center codefun-items-center codefun-relative group_3"
> >
<text class="font text">{{ pageData.header.title }}</text> <text class="font text">{{ pageData.header.title }}</text>
...@@ -304,8 +304,8 @@ ...@@ -304,8 +304,8 @@
class="image_6 pos_2" class="image_6 pos_2"
src="/static/images/codefun/2d7ca3ba49afaa9f885afb0ba601a403.png" src="/static/images/codefun/2d7ca3ba49afaa9f885afb0ba601a403.png"
/> />
</view> </view> -->
<view class="codefun-flex-col mt-15"> <view class="codefun-flex-col">
<view class="codefun-flex-row codefun-items-center section_2"> <view class="codefun-flex-row codefun-items-center section_2">
<text class="codefun-shrink-0 font_2">岗位</text> <text class="codefun-shrink-0 font_2">岗位</text>
<text class="codefun-shrink-0 font_3 codefun-ml-2">{{ <text class="codefun-shrink-0 font_3 codefun-ml-2">{{
...@@ -747,7 +747,6 @@ ...@@ -747,7 +747,6 @@
} }
} }
.group_2 { .group_2 {
margin-top: 74rpx;
.group_3 { .group_3 {
padding: 9.04rpx 0 5.46rpx; padding: 9.04rpx 0 5.46rpx;
.text { .text {
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
], ],
data: { data: {
phone: '', phone: '',
password: '', password: '123@2025',
code: '', code: '',
}, },
}, },
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
// 注册参数 // 注册参数
const params = { const params = {
phone: model.form.data.phone, phone: model.form.data.phone,
password: model.form.data.password || '123@2025', password: model.form.data.password,
code: model.form.data.code, code: model.form.data.code,
} }
......
...@@ -210,7 +210,7 @@ ...@@ -210,7 +210,7 @@
<template> <template>
<view class="main page-bg"> <view class="main page-bg">
<view class="w-full h-250 flex flex-row items-center avatar pt-44px pl-6"> <view class="w-full h-170 flex flex-row items-center avatar pl-6">
<CacheImage <CacheImage
:src="model.avatar" :src="model.avatar"
width="150" width="150"
...@@ -232,14 +232,14 @@ ...@@ -232,14 +232,14 @@
</view> </view>
</view> </view>
</view> </view>
<view class="px-6 pt-6"> <view class="px-6 pt-4">
<fui-list class="rd-3 overflow-hidden shadow" :top-border="false"> <fui-list class="rd-3 overflow-hidden shadow" :top-border="false">
<fui-list-cell <fui-list-cell
arrow arrow
v-for="(item, index) in items.slice(0, 2)" v-for="(item, index) in items.slice(0, 2)"
:key="index" :key="index"
:bottom-border="false" :bottom-border="false"
:class="{ disabled: item.disabled }" :class="{ disabled: item.disabled, '!hidden': index === 1 && pageData.farmsListTotal === 0 }"
v-show="item.show" v-show="item.show"
@tap="item.handle(item)" @tap="item.handle(item)"
> >
...@@ -249,13 +249,11 @@ ...@@ -249,13 +249,11 @@
height="42" height="42"
background="transparent" background="transparent"
/> />
<text class="ml-3.5 text-30 text-#67c17a font-bold">{{ item.title }}</text> <text class="ml-3.5 text-30">{{ item.title }}</text>
<text v-show="index === 0 && pageData.farmsListTotal === 0" class="text-red" <text v-show="index === 0" class="text-#67c17a text-28 font-bold" style="letter-spacing: 4rpx">
>({{ pageData.farmsListTotal || 0 }})</text {{ pageData.farmsListTotal || 0 }}
> </text>
<view v-show="index === 0 && pageData.farmsListTotal === 0" class="text-red flex-1 text-right" <view v-show="index === 0" class="text-#67c17a flex-1 text-right text-28">去添加 </view>
>去添加
</view>
</fui-list-cell> </fui-list-cell>
</fui-list> </fui-list>
<fui-list class="rd-3 overflow-hidden shadow !mt-20rpx" :top-border="false"> <fui-list class="rd-3 overflow-hidden shadow !mt-20rpx" :top-border="false">
...@@ -309,7 +307,7 @@ ...@@ -309,7 +307,7 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
// #ifdef H5 // #ifdef H5
height: calc(100vh - 60px); height: calc(100vh - 60px - 44px);
// #endif // #endif
} }
......
...@@ -355,34 +355,35 @@ ...@@ -355,34 +355,35 @@
// 轮播视频切换的时候触发 // 轮播视频切换的时候触发
function handleChangeVideo(e: any) { function handleChangeVideo(e: any) {
const currentIndex = e.detail.current const currentIndex = e.detail.current
const prevIndex = pageData.current
pageData.current = currentIndex pageData.current = currentIndex
pageData.agricultureClass.title = pageData.agricultureClass.videoList[currentIndex]?.title pageData.agricultureClass.title = pageData.agricultureClass.videoList[currentIndex]?.title
// 延迟处理视频切换,避免卡顿 console.log('当前索引:', currentIndex)
setTimeout(() => {
// 停止所有其他视频的播放(只暂停,不重置位置) // // 延迟处理视频切换,避免卡顿
pageData.agricultureClass.videoList.forEach((_, index) => { // setTimeout(() => {
if (index !== currentIndex) { // // 停止所有其他视频的播放(只暂停,不重置位置)
try { // pageData.agricultureClass.videoList.forEach((_, index) => {
const videoContext = uni.createVideoContext(`video${index}`) // if (index !== currentIndex) {
videoContext.pause() // try {
// 不重置到开头,保留播放位置 // const videoContext = uni.createVideoContext(`video${index}`)
} catch (error) { // videoContext.pause()
console.log('停止视频失败:', error) // // 不重置到开头,保留播放位置
} // } catch (error) {
} else { // console.log('停止视频失败:', error)
// 当前视频:尝试播放 // }
try { // } else {
const videoContext = uni.createVideoContext(`video${index}`) // // 当前视频:尝试播放
// 自动播放当前视频 // try {
videoContext.play() // const videoContext = uni.createVideoContext(`video${index}`)
} catch (error) { // // 自动播放当前视频
console.log('播放视频失败:', error) // videoContext.play()
} // } catch (error) {
} // console.log('播放视频失败:', error)
}) // }
}, 100) // }
// })
// }, 100)
} }
// 处理swiper过渡动画 // 处理swiper过渡动画
...@@ -414,20 +415,47 @@ ...@@ -414,20 +415,47 @@
function handleVideoPause(currentIndex) { function handleVideoPause(currentIndex) {
console.log(`视频${currentIndex}暂停`) console.log(`视频${currentIndex}暂停`)
} }
function playVideo(index) {
const videoContext = uni.createVideoContext(`video${index}`)
videoContext.requestFullScreen()
videoContext.play()
}
function handleFullscreenChange(e: any, index) {
console.log(`视频${index}全屏状态改变`)
if (!e.detail.fullScreen) {
const videoContext = uni.createVideoContext(`video${index}`)
videoContext.pause()
}
}
onHide(() => {
// 停止所有其他视频的播放(只暂停,不重置位置)
pageData.agricultureClass.videoList.forEach((_, index) => {
try {
const videoContext = uni.createVideoContext(`video${index}`)
videoContext.pause()
// 不重置到开头,保留播放位置
} catch (error) {
console.log('停止视频失败:', error)
}
})
})
</script> </script>
<template> <template>
<view class="codefun-flex-col page"> <view class="codefun-flex-col page">
<view class="codefun-flex-col group"> <view class="codefun-flex-col group">
<view class="codefun-flex-col section"> <view class="codefun-flex-col section">
<view class="codefun-flex-col mt-52rpx"> <view class="codefun-flex-col">
<text class="codefun-self-center font text">{{ pageData.header.title }}</text> <!-- <text class="codefun-self-center font text">{{ pageData.header.title }}</text> -->
<view class="codefun-flex-col codefun-self-stretch mt-19"> <view class="codefun-flex-col codefun-self-stretch">
<!-- <view class="codefun-flex-row codefun-items-center section_2"> <!-- <view class="codefun-flex-row codefun-items-center section_2">
<image class="image_5" src="/static/images/codefun/b8d30fcc0b08b881a41c8b3e35b7f8ac.png" /> <image class="image_5" src="/static/images/codefun/b8d30fcc0b08b881a41c8b3e35b7f8ac.png" />
<text class="codefun-ml-8 font_2 text_2">{{ pageData.header.searchPlaceholder }}</text> <text class="codefun-ml-8 font_2 text_2">{{ pageData.header.searchPlaceholder }}</text>
</view> --> </view> -->
<view class="codefun-mt-14 codefun-flex-row equal-division section_3"> <view class="codefun-flex-row equal-division section_3">
<view <view
v-for="item in pageData.menuItems" v-for="item in pageData.menuItems"
:key="item.id" :key="item.id"
...@@ -717,7 +745,7 @@ ...@@ -717,7 +745,7 @@
<text class="font text_66">农技学习</text> <text class="font text_66">农技学习</text>
<text class="font_6 text_43 text_67" @click="onViewMoreClass">查看更多</text> <text class="font_6 text_43 text_67" @click="onViewMoreClass">查看更多</text>
</view> </view>
<view class="codefun-flex-col section_20"> <view class="codefun-flex-col section_20 !relative">
<fui-swiper-dot <fui-swiper-dot
:items="pageData.agricultureClass.videoList" :items="pageData.agricultureClass.videoList"
:current="pageData.current" :current="pageData.current"
...@@ -743,23 +771,32 @@ ...@@ -743,23 +771,32 @@
@transition="handleTransition" @transition="handleTransition"
> >
<swiper-item v-for="(video, index) in pageData.agricultureClass.videoList" :key="index"> <swiper-item v-for="(video, index) in pageData.agricultureClass.videoList" :key="index">
<image
:src="video.cover_image"
mode="scaleToFill"
class="w-654rpx h-358rpx"
@click="playVideo(index)"
/>
<video <video
:id="`video${index}`" :id="`video${index}`"
:src="video.media_video" :src="video.media_video"
:poster="video.cover_image" :poster="video.cover_image"
:controls="false" :title="video.title"
:controls="true"
style="width: 654rpx; height: 358rpx" style="width: 654rpx; height: 358rpx"
:autoplay="false" :autoplay="true"
:muted="false" :muted="false"
:loop="false" :loop="true"
:show-play-btn="true" :show-play-btn="true"
:show-center-play-btn="true" :show-center-play-btn="true"
:enable-progress-gesture="false" :enable-progress-gesture="true"
:show-progress="false" :show-progress="true"
object-fit="contain" object-fit="contain"
@loadedmetadata="handleMetadataLoaded" @loadedmetadata="handleMetadataLoaded"
@play="handleVideoPlay(index)" @play="handleVideoPlay(index)"
@pause="handleVideoPause(index)" @pause="handleVideoPause(index)"
@fullscreenchange="handleFullscreenChange($event, index)"
class="!hidden"
></video> ></video>
</swiper-item> </swiper-item>
</swiper> </swiper>
...@@ -885,7 +922,7 @@ ...@@ -885,7 +922,7 @@
.group { .group {
.section { .section {
padding: 28rpx 28rpx 116rpx; padding: 0 28rpx 116rpx;
background-image: url('/static/images/codefun/7a5dc4ee864fe55da98b41c14ee3b931.png'); background-image: url('/static/images/codefun/7a5dc4ee864fe55da98b41c14ee3b931.png');
background-size: 100% 100%; background-size: 100% 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
...@@ -1836,6 +1873,7 @@ ...@@ -1836,6 +1873,7 @@
position: absolute; position: absolute;
bottom: 52rpx; bottom: 52rpx;
left: 40rpx; left: 40rpx;
z-index: 1;
.text_34 { .text_34 {
color: #ffffff; color: #ffffff;
......
...@@ -478,7 +478,7 @@ ...@@ -478,7 +478,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="codefun-flex-col section_9 codefun-mt-12"> <view class="codefun-flex-col section_9 codefun-mt-12 !hidden">
<view <view
class="codefun-flex-row codefun-justify-between codefun-items-center" class="codefun-flex-row codefun-justify-between codefun-items-center"
v-for="service in pageData.support.services" v-for="service in pageData.support.services"
......
...@@ -11,7 +11,7 @@ const PROXY_LIST: [[string, string]?] = [ ...@@ -11,7 +11,7 @@ const PROXY_LIST: [[string, string]?] = [
// [`http://192.168.0.100:18100`, `https://oss.beta.app.yiring.com`], // [`http://192.168.0.100:18100`, `https://oss.beta.app.yiring.com`],
// 开发环境(预览) // 开发环境(预览)
[`http://192.168.0.156:18100`, `http://36.133.16.81:42112`], [`http://192.168.0.156:18100`, `http://111.22.182.169:49091`],
] ]
/** /**
......
...@@ -44,7 +44,7 @@ export function closeSplashscreenAndChechUpgrade() { ...@@ -44,7 +44,7 @@ export function closeSplashscreenAndChechUpgrade() {
reject(e) reject(e)
} }
}, },
isAndroid ? 1000 : 50, isAndroid ? 200 : 50,
) )
}) })
// #endif // #endif
......
...@@ -144,6 +144,7 @@ declare module 'vue' { ...@@ -144,6 +144,7 @@ declare module 'vue' {
FuiWhiteSpace: typeof import('./../src/components/FirstUI/fui-white-space/fui-white-space.vue')['default'] FuiWhiteSpace: typeof import('./../src/components/FirstUI/fui-white-space/fui-white-space.vue')['default']
FuiWingBlank: typeof import('./../src/components/FirstUI/fui-wing-blank/fui-wing-blank.vue')['default'] FuiWingBlank: typeof import('./../src/components/FirstUI/fui-wing-blank/fui-wing-blank.vue')['default']
Icon: typeof import('./../src/components/Icon/index.vue')['default'] Icon: typeof import('./../src/components/Icon/index.vue')['default']
IframeVideo: typeof import('./../src/components/IframeVideo/index.vue')['default']
ThumbnailPreview: typeof import('./../src/components/ThumbnailPreview/index.vue')['default'] ThumbnailPreview: typeof import('./../src/components/ThumbnailPreview/index.vue')['default']
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论