This commit is contained in:
Teng 2026-01-08 13:55:22 +08:00
commit 50abca6a67
5 changed files with 127 additions and 19 deletions

View File

@ -4,16 +4,32 @@
<view class="logomain tp">
<image src="/static/shouye/logo2.png" mode="aspectFill"></image>
</view>
<scroll-view class="cont" :scroll-y="true">
<view class="items" v-for="(v,i) in list" :key='i' :class="{'act':i==dexleft}" @click="dexleft = i;emit('navurl',i,v)">
<view class="tm guodu">
<image :src="i==dexleft?v.urls:v.url" mode="aspectFill" class="guodu"></image>
<text>{{v.name}}</text>
<view class="topcpnt">
<view class="iconst to0" @click="scoltop(0)" v-if="codesc>0">
<view class="to0">
<image src="/static/shouye/xjt.png" mode="aspectFill" style="transform: rotate(180deg);"></image>
</view>
<!-- <view class="heng guodu" :style="i!=dexleft&&i!=list.length-1?'opacity: 1':'opacity: 0'"></view> -->
</view>
</scroll-view>
<view class="logo">
<scroll-view class="cont" :scroll-y="true" :scroll-top="scrolltop" @scroll="scroll" scroll-with-animation @scrolltoupper="scrolltoupper" @scrolltolower="scrolltolower">
<view class="items" v-for="(v,i) in list" :key='i' @click="naurl(i);emit('navurl',i,v)">
<view class="tm guodu" :class="{'act':i==dexleft}">
<image :src="i==dexleft?v.urls:v.url" mode="aspectFill" class="guodu"></image>
<text>{{v.name}}</text>
</view>
<!-- <view class="heng guodu" :style="i!=dexleft&&i!=list.length-1?'opacity: 1':'opacity: 0'"></view> -->
</view>
</scroll-view>
<view class="iconst bot0" @click="scoltop(1)" v-if="codesc!=2&&codesc>=0">
<view class="bot0">
<image src="/static/shouye/xjt.png" mode="aspectFill"></image>
</view>
</view>
</view>
<view class="logo" @click="uni.navigateTo({
url:'/pages/watch/settings/settings'
})">
<view class="tp">
<image :src="userInfo.avatar?serverUrl+'/sys/common/static/'+userInfo.avatar:'/static/shouye/xd.png'" mode="aspectFill"></image>
</view>
@ -37,7 +53,63 @@
const userInfo = uni.getStorageSync('userInfo');
const emit = defineEmits(['navurl'])
const dexleft = ref(0);
const scrolltop = ref(0)
const topsc = ref(0);
const dex = ref(0)
watch(()=>props.list,
()=>{
codesc.value = -1;
dex.value = props.list.length - 6;
if(dex.value>0){
codesc.value = 0;
}else{
codesc.value = -1;
}
console.log(codesc.value)
})
const scroll = (e)=>{
// console.log(e.detail.scrollTop)
let m = dex.value*52;
topsc.value = e.detail.scrollTop;
if(topsc.value<30){
codesc.value = 0;
}
if(topsc.value>(m-30)){
codesc.value = 2;
}
if(topsc.value>=30 && topsc.value<=(m-30)){
codesc.value = 1;
}
}
const scoltop =(e)=>{
if(e==0){
scrolltop.value = topsc.value;
scrolltop.value = 0;
}else{
scrolltop.value = topsc.value;
scrolltop.value = 999;
}
}
const codesc = ref(0)
const scrolltoupper =()=>{
//
if(dex.value>0){
codesc.value = 0;
}else{
codesc.value = -1;
}
console.log('顶')
}
const scrolltolower =()=>{
//
codesc.value = 2;
console.log('底')
}
const naurl = (e)=>{
dexleft.value = e;
scrolltop.value = (e - 2) * 52;
}
</script>
<style scoped lang="less">
@ -71,12 +143,48 @@
width: 6vw;
height: 6vw;
}
.topcpnt{
width: 6vw;
display: flex;
flex-direction: column;
height: 60vh;
padding: 4vh 0 ;
position: relative;
margin-top: -5vh;
.iconst{
width: 6vw;
height: 4vw;
position: absolute;
left: 0;
view{
width: 1.3vw;
height: 1.2vw;
border-radius: 50%;
border: 1px solid #666;
display: flex;
justify-content: center;
align-items: center;
position: absolute;
left: 2.35vw;
}
image{
width: .7vw;
height: .4vw;
}
}
.to0{
top: 0;
}
.bot0{
bottom:0 !important;
}
}
.cont{
width: 6vw;
display: flex;
flex-direction: column;
margin-top: 5vh;
height: 60vh;
height: 52vh;
// background-color: red;
.act{
background: RGBA(228, 229, 231, 1);
@ -90,21 +198,21 @@
}
.items{
width: 6vw;
height: 4.5vw;
height: 5.5vw;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
justify-content: space-between;
margin-bottom: 0.8vw;
padding: 0.25vw 0;
padding: 0.3vw 0.2vw;
.tm{
width: 6vw;
height: 4vw;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0.2vw 0;
image{
width: 2vw;
height: 2vw;

View File

@ -293,7 +293,7 @@
} else {
serverUrl.value = uni.getStorageSync('serverUrl')
selectserve.value = true;
// console.log("!!!!", allserve.value)
console.log("!!!!", allserve.value)
}
break
case 5:

BIN
static/shouye/xjt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 B

View File

@ -574,7 +574,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
)
]);
}
const camera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/hldy_app_mini/pages/camera.nvue"]]);
const camera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/项目/hldy_app_mini/pages/camera.nvue"]]);
export {
camera as default
};

View File

@ -578,7 +578,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
)
]);
}
const fullcamera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/hldy_app_mini/pages/fullcamera.nvue"]]);
const fullcamera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/项目/hldy_app_mini/pages/fullcamera.nvue"]]);
export {
fullcamera as default
};