This commit is contained in:
CQ 2025-10-31 09:22:32 +08:00
parent 8cb683f8fe
commit 9e5c053d76
11 changed files with 194 additions and 142 deletions

View File

@ -124,13 +124,16 @@
<!-- 以下是addon文件夹下的自定义组件 -->
</view>
</view>
</template>
<template v-if="diyStore.mode == '' && data.global && diyGroup.showCopyright.value && data.global.copyright && data.global.copyright.isShow">
<copy-right />
</template>
<template v-if="diyStore.mode == '' && data.global && data.global.bottomTabBar && data.global.bottomTabBar.isShow">
<view class="pt-[20rpx]"></view>
<tabbar />
<tabbar :addon="data.global.bottomTabBar.designNav.key" />
</template>
</view>
</template>

View File

@ -5,6 +5,8 @@ import { onPageScroll, onHide, onShow } from '@dcloudio/uni-app';
import useDiyStore from '@/app/stores/diy';
export function useDiyGroup(params: any = {}) {
// 新增:控制版权显示的状态,默认隐藏
const showCopyright = ref(false);
let scrollVal: any = ""; //组件滚动值集合
const componentsScrollBool: any = ref({}); //组件是否根据滚动进行相应改变
@ -98,6 +100,10 @@ export function useDiyGroup(params: any = {}) {
componentsScrollBool.value[key] = -1;
}
}
// 新增:页面加载完成后,显示版权
showCopyright.value = true;
console.log('组件加载完成', showCopyright.value);
}, 500)
});
});
@ -174,11 +180,13 @@ export function useDiyGroup(params: any = {}) {
scrollV: scrollValStr.value,
data: data.value,
componentsScrollBool: componentsScrollBool.value,
showCopyright, // 新增:暴露版权显示状态
placeholderEvent,
refresh,
isShowPlaceHolder,
getComponentClass,
onPageScroll: onPageScrollLifeCycle,
onMounted: onMountedLifeCycle
}
}

View File

@ -19,7 +19,7 @@
</view>
</u-popup>
</view>
<view class="px-[var(--sidebar-m)] pb-[30rpx] pt-[20rpx] bg-[#f6f6f6] flex items-center justify-between">
<view class="px-[var(--sidebar-m)] pb-[20rpx] pt-[20rpx] bg-[#f6f6f6] flex items-center justify-between">
<view class="flex items-center">
<view class="px-[30rpx] bg-[#fff] rounded-[30rpx] text-[24rpx] leading-[54rpx] mr-[20rpx] text-[#333]"
:class="{'!text-[var(--primary-color)] font-500':amount_type == item.status}"
@ -31,9 +31,9 @@
</view>
</view>
</view>
<mescroll-body ref="mescrollRef" @init="mescrollInit" :down="{ use: false }" @up="getPointListFn" top="202rpx">
<mescroll-body ref="mescrollRef" @init="mescrollInit" :down="{ use: false }" @up="getPointListFn" top="185rpx">
<view v-for="(item,index) in pointList" :key="index"
class="sidebar-margin card-template mb-[var(--top-m)]">
class="sidebar-margin card-template mt-[var(--top-m)]">
<view class="flex justify-between items-center">
<view class="text-[#333]">
<text class="text-[26rpx]">{{ item.month_info.year }}</text>

View File

@ -13,6 +13,7 @@ interface Diy {
pageStartBgColor: string, // 页面背景颜色(开始)
pageEndBgColor: string, // 页面背景颜色(结束)
bottomTabBar: any, // 底部导航
copyright: any, // 版权信息
bgUrl: string
},
// 组件集合
@ -38,6 +39,14 @@ const useDiyStore = defineStore('diy', {
bottomTabBar: {
control: true, // 是否允许展示编辑
isShow: true, // 是否显示
designNav:{
title:'',
key:''
}
},
copyright:{
control: true, // 是否允许展示编辑
isShow: false, // 是否显示
},
bgUrl: ''
},

View File

@ -0,0 +1,29 @@
<template>
<view class="flex flex-col justify-center items-center p-[30rpx] ">
<img :src="img(systemStore.copyright.logo)" mode="heightFix" class="max-h-[60rpx]" v-if="systemStore.copyright?.logo" />
<view class="text-[#666] text-[22rpx] mt-[20rpx]" v-if="systemStore.copyright?.copyright_desc" @click="systemStore.copyright?.copyright_link && redirect({ url: systemStore.copyright.copyright_link})">
{{ systemStore.copyright.copyright_desc }}
</view>
<view class="text-[#666] text-[22rpx] mt-[20rpx]" v-if="systemStore.copyright?.icp">
备案号{{ systemStore.copyright.icp }}
</view>
<view class="text-[#666] text-[22rpx] mt-[20rpx] flex items-center" v-if="systemStore.copyright?.gov_record" @click="systemStore.copyright?.gov_url && redirect({ url: systemStore.copyright.gov_url})">
<img :src="img('static/resource/images/copy_right.png')" mode="heightFix" class="w-[28rpx] h-[28rpx] mr-[10rpx]" />
{{ systemStore.copyright.gov_record }}
</view>
<!-- <view class="h-[100rpx]"></view> -->
</view>
</template>
<script setup lang="ts">
import { ref, nextTick } from 'vue'
import { redirect,img } from '@/utils/common'
import useSystemStore from '@/stores/system';
const systemStore = useSystemStore()
</script>
<style scoped lang="scss">
</style>

View File

@ -46,7 +46,6 @@ if (!addon && configStore.addon) {
}
const tabbar: any = reactive({})
const setTabbar = () => {
let list = cloneDeep(useConfigStore().tabbarList);
if (list.length == 1) {
@ -96,6 +95,19 @@ const setTabbar = () => {
setTabbar()
// "if (!props.addon)" configStore.addon
watch(
() => useConfigStore().addon,
(newAddon, oldAddon) => {
// props.addon configStore.addon
if (!props.addon && newAddon !== oldAddon) {
addon = newAddon; // addon
setTabbar(); // TabBar
}
},
{ immediate: true, deep: true } // +
);
watch(
() => props.addon,
(newValue, oldValue) => {

View File

@ -192,7 +192,7 @@ if (componentsScrollVal) {
let pages = getCurrentPages();
const isBackShow = computed(() => {
let bool = false;
if (props.isBack && pages.length > 1) {
if (props.isBack) {
bool = true;
}
return bool;
@ -205,7 +205,14 @@ const goBack = () => {
if (typeof props.customBack === 'function') {
props.customBack();
} else {
uni.navigateBack();
if (getCurrentPages().length > 1) {
uni.navigateBack()
} else {
redirect({
url: '/addon/shop/pages/index',
mode: 'reLaunch'
});
}
}
}
/******************************* 返回按钮-end ***********************/

View File

@ -1,40 +1,36 @@
{
"name" : "",
"appid" : "__UNI__9B03DBD",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
/* 5+App */
"app-plus" : {
"name": "",
"appid": "__UNI__9B03DBD",
"description": "",
"versionName": "1.0.0",
"versionCode": "100",
"transformPx": false,
"app-plus": {
"compatible": {
"ignoreVersion": true
},
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": true,
"autoclose": true,
"delay": 0
},
/* */
"modules" : {
"Camera" : {},
"Barcode" : {},
"Contacts" : {},
"Geolocation" : {},
"Payment" : {},
"VideoPlayer" : {},
"Maps" : {},
"Share" : {}
"modules": {
"Camera": {},
"Barcode": {},
"Contacts": {},
"Geolocation": {},
"Payment": {},
"VideoPlayer": {},
"Maps": {},
"Share": {}
},
/* */
"distribute" : {
/* android */
"android" : {
"permissions" : [
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
@ -52,88 +48,71 @@
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios */
"ios" : {
"dSYMs" : false
"ios": {
"dSYMs": false
},
/* SDK */
"sdkConfigs" : {
"geolocation" : {
"system" : {
"__platform__" : [ "android" ]
}
},
"payment" : {
"alipay" : {
"__platform__" : [ "ios", "android" ]
}
},
"oauth" : {},
"maps" : {
"tencent" : {
"key" : "6ZDBZ-CLSLX-66747-7MVM4-HLK47-XMBXU"
}
},
"share" : {
"weixin" : {
"appid" : "",
"UniversalLinks" : ""
"sdkConfigs": {
"maps": {
"tencent": {
"key": "6ZDBZ-CLSLX-66747-7MVM4-HLK47-XMBXU"
}
}
}
}
},
/* */
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "",
"setting" : {
"urlCheck" : false
"quickapp": {},
"mp-weixin": {
"appid": "",
"setting": {
"urlCheck": false
},
"usingComponents" : true,
"permission" : {
"scope.userLocation" : {
"desc" : "为了更好地为您提供服务"
"usingComponents": true,
"permission": {
"scope.userLocation": {
"desc": "为了更好地为您提供服务"
},
"scope.writePhotosAlbum" : {
"desc" : "为了更好地为您提供服务"
"scope.writePhotosAlbum": {
"desc": "为了更好地为您提供服务"
}
},
"requiredPrivateInfos" : [ "chooseLocation", "getLocation", "chooseAddress" ],
"__usePrivacyCheck__" : true
"requiredPrivateInfos": [
"chooseLocation",
"getLocation",
"chooseAddress"
],
"__usePrivacyCheck__": true
},
"mp-alipay" : {
"usingComponents" : true
"mp-alipay": {
"usingComponents": true
},
"mp-baidu" : {
"usingComponents" : true
"mp-baidu": {
"usingComponents": true
},
"mp-toutiao" : {
"usingComponents" : true
"mp-toutiao": {
"usingComponents": true
},
"uniStatistics" : {
"enable" : false
"uniStatistics": {
"enable": false
},
"vueVersion" : "3",
"h5" : {
"router" : {
"mode" : "history",
"base" : "/wap/"
"vueVersion": "3",
"h5": {
"router": {
"mode": "history",
"base": "/wap/"
},
"sdkConfigs" : {
"maps" : {
"qqmap" : {
"key" : ""
"sdkConfigs": {
"maps": {
"qqmap": {
"key": ""
}
}
},
"async" : {
"loading" : "",
"error" : "",
"delay" : 0,
"timeout" : 3000
"async": {
"loading": "",
"error": "",
"delay": 0,
"timeout": 3000
}
},
"fallbackLocale" : "zh-Hans"
}
"fallbackLocale": "zh-Hans"
}

View File

@ -216,7 +216,7 @@
],
"subPackages": [
// {{ PAGE_BEGAIN }}
// {{ PAGE_END }}
// {{ PAGE_END }}
{
"root": "app/components",
"pages": []

View File

@ -34,7 +34,8 @@ interface System {
weappOptions: any
},
versionInfo: any,
updateVersionPopup: boolean
updateVersionPopup: boolean,
copyright:any
}
const useSystemStore = defineStore('system', {
@ -76,7 +77,8 @@ const useSystemStore = defineStore('system', {
weappOptions: {}
},
versionInfo: null,
updateVersionPopup: false
updateVersionPopup: false,
copyright:null
}
},
actions: {
@ -115,6 +117,9 @@ const useSystemStore = defineStore('system', {
return item.key
})
// 版权设置
this.copyright = data.copyright
// 会员等级
const memberStore = useMemberStore();
memberStore.levelList = data.member_level;

View File

@ -247,19 +247,19 @@ button[type='primary'],uni-button[type='primary']{
font-size: 28rpx;
&.class-select{
position: relative;
font-weight: 500;
font-weight: 700;
color: var(--primary-color);
&::before {
content: "";
position: absolute;
bottom: -14rpx;
height: 6rpx;
border-radius: 100rpx;
background-color: var(--primary-color);
width: 40rpx;
left: 50%;
transform: translateX(-50%);
}
// &::before {
// content: "";
// position: absolute;
// bottom: -14rpx;
// height: 6rpx;
// border-radius: 100rpx;
// background-color: var(--primary-color);
// width: 40rpx;
// left: 50%;
// transform: translateX(-50%);
// }
}
}
}
@ -291,19 +291,19 @@ button[type='primary'],uni-button[type='primary']{
font-size: 28rpx;
&.class-select{
position: relative;
font-weight: 500;
font-weight: 700;
color: var(--primary-color);
&::before{
content: "";
position: absolute;
bottom: 10rpx;
width: 40rpx;
height:6rpx;
border-radius: 4rpx;
background-color: var(--primary-color);
left: 50%;
transform: translateX(-50%);
}
// &::before{
// content: "";
// position: absolute;
// bottom: 10rpx;
// width: 40rpx;
// height:6rpx;
// border-radius: 4rpx;
// background-color: var(--primary-color);
// left: 50%;
// transform: translateX(-50%);
// }
}
}
}
@ -322,19 +322,19 @@ button[type='primary'],uni-button[type='primary']{
margin:0 var(--sidebar-m);
&.class-select{
position: relative;
font-weight: 500;
font-weight: 700;
color: var(--primary-color);
&::before{
content: "";
position: absolute;
bottom: 10rpx;
width: 40rpx;
height:6rpx;
border-radius: 4rpx;
background-color: var(--primary-color);
left: 50%;
transform: translateX(-50%);
}
// &::before{
// content: "";
// position: absolute;
// bottom: 10rpx;
// width: 40rpx;
// height:6rpx;
// border-radius: 4rpx;
// background-color: var(--primary-color);
// left: 50%;
// transform: translateX(-50%);
// }
}
}