From c763d20b6d2cf73e44f70443d362148db61db409 Mon Sep 17 00:00:00 2001 From: CQ <8051778+cq-hm@user.noreply.gitee.com> Date: Mon, 21 Jul 2025 09:31:14 +0800 Subject: [PATCH] fix uni-app --- uni-app/publish.cjs | 26 +- uni-app/src/App.vue | 15 +- .../components/diy-form-detail/index.vue | 10 +- .../src/addon/components/diy-form/index.vue | 23 +- .../src/addon/components/diy/group/index.vue | 235 +- .../addon/components/diy/group/useDiyGroup.ts | 3 +- uni-app/src/app/api/auth.ts | 7 + uni-app/src/app/api/system.ts | 7 + .../app/components/diy/active-cube/index.vue | 8 +- .../components/diy/carousel-search/index.vue | 59 +- .../app/components/diy/float-btn/index.vue | 8 +- .../app/components/diy/form-address/index.vue | 2 +- .../components/diy/form-checkbox/index.vue | 25 +- .../components/diy/form-date-scope/index.vue | 2 +- .../app/components/diy/form-date/index.vue | 4 +- .../app/components/diy/form-email/index.vue | 2 +- .../app/components/diy/form-file/index.vue | 2 +- .../components/diy/form-identity/index.vue | 2 +- .../app/components/diy/form-image/index.vue | 2 +- .../app/components/diy/form-input/index.vue | 2 +- .../components/diy/form-location/index.vue | 8 +- .../app/components/diy/form-mobile/index.vue | 2 +- .../app/components/diy/form-number/index.vue | 2 +- .../app/components/diy/form-radio/index.vue | 35 +- .../app/components/diy/form-submit/index.vue | 16 +- .../components/diy/form-textarea/index.vue | 2 +- .../components/diy/form-time-scope/index.vue | 2 +- .../app/components/diy/form-time/index.vue | 4 +- .../app/components/diy/form-video/index.vue | 4 +- .../components/diy/form-wechat-name/index.vue | 2 +- .../app/components/diy/graphic-nav/index.vue | 6 +- .../app/components/diy/horz-blank/index.vue | 2 +- .../app/components/diy/horz-line/index.vue | 2 +- .../src/app/components/diy/hot-area/index.vue | 4 +- .../app/components/diy/image-ads/index.vue | 34 +- .../app/components/diy/member-info/index.vue | 7 +- .../app/components/diy/member-level/index.vue | 2 +- .../src/app/components/diy/notice/index.vue | 4 +- .../app/components/diy/picture-show/index.vue | 8 +- .../app/components/diy/rich-text/index.vue | 4 +- .../app/components/diy/rubik-cube/index.vue | 217 +- uni-app/src/app/components/diy/text/index.vue | 4 +- uni-app/src/app/pages/auth/bind.vue | 13 +- uni-app/src/app/pages/auth/index.vue | 66 +- uni-app/src/app/pages/auth/login.vue | 80 +- uni-app/src/app/pages/auth/register.vue | 54 +- uni-app/src/app/pages/auth/resetpwd.vue | 19 +- uni-app/src/app/pages/index/develop.vue | 2 +- uni-app/src/app/pages/index/index.vue | 5 +- uni-app/src/app/pages/member/address_edit.vue | 47 +- uni-app/src/app/pages/member/balance.vue | 15 +- uni-app/src/app/pages/member/commission.vue | 12 +- .../components/personal_form_detail.vue | 2 + uni-app/src/app/pages/member/level.vue | 2 +- uni-app/src/app/pages/member/personal.vue | 18 +- uni-app/src/app/pages/member/point.vue | 12 +- uni-app/src/app/pages/member/sign_in.vue | 12 +- uni-app/src/app/pages/setting/index.vue | 10 +- uni-app/src/app/pages/verify/index.vue | 2 +- uni-app/src/app/stores/diy.ts | 18 +- .../area-select/area-select copy.vue | 242 ++ .../components/area-select/area-select.vue | 19 +- .../components/bind-mobile/bind-mobile.vue | 7 +- .../components/collect-tip/collect-tip.vue | 83 + .../src/components/easy-image/easy-image.vue | 175 ++ uni-app/src/components/easy-image/fail.png | Bin 0 -> 3500 bytes uni-app/src/components/easy-image/loading.png | Bin 0 -> 2024 bytes .../mescroll/mescroll-uni/wxs/renderjs.js | 18 +- uni-app/src/components/pay/pay.vue | 18 +- .../components/share-popup/share-popup.vue | 9 +- .../components/share-poster/share-poster.vue | 7 +- uni-app/src/components/tabbar/tabbar.vue | 10 + .../src/components/top-tabbar/top-tabbar.vue | 76 +- .../src/components/x-skeleton/x-skeleton.vue | 14 +- uni-app/src/hooks/useDiy.ts | 6 +- uni-app/src/hooks/useDiyForm.ts | 7 +- uni-app/src/hooks/useLocation.ts | 2 +- uni-app/src/hooks/useLogin.ts | 41 +- uni-app/src/hooks/useShare.ts | 14 +- uni-app/src/locale/language.ts | 1 + uni-app/src/locale/zh-Hans.json | 137 +- uni-app/src/manifest.json | 2 +- uni-app/src/stores/config.ts | 4 +- uni-app/src/stores/member.ts | 16 +- uni-app/src/stores/system.ts | 41 +- uni-app/src/styles/iconfont.css | 2339 +++++++++-------- uni-app/src/styles/official-iconfont.css | 10 +- uni-app/src/tabbar.json | 3 +- .../uni-transition/uni-transition.vue | 7 +- uni-app/src/utils/common.ts | 31 +- uni-app/src/utils/wechat.ts | 5 +- 91 files changed, 2559 insertions(+), 1989 deletions(-) create mode 100644 uni-app/src/components/area-select/area-select copy.vue create mode 100644 uni-app/src/components/collect-tip/collect-tip.vue create mode 100644 uni-app/src/components/easy-image/easy-image.vue create mode 100644 uni-app/src/components/easy-image/fail.png create mode 100644 uni-app/src/components/easy-image/loading.png diff --git a/uni-app/publish.cjs b/uni-app/publish.cjs index 1d918b678..7a1fb8e5b 100644 --- a/uni-app/publish.cjs +++ b/uni-app/publish.cjs @@ -71,23 +71,17 @@ const solve = () => { } const handleWeappAddonComponents = (mode) => { - const files = [ - `./dist/${mode}/mp-weixin/addon/components/diy/group/index.json`, - `./dist/${mode}/mp-weixin/app/pages/index/tabbar.json` - ] + const src = `./dist/${mode}/mp-weixin/addon/components/diy/group/index.json` + try { + const data = JSON.parse(fs.readFileSync(src, 'utf8')); + data.componentPlaceholder = {}; - files.forEach(src => { - try { - const data = JSON.parse(fs.readFileSync(src, 'utf8')); - data.componentPlaceholder = {}; - - Object.keys(data.usingComponents).map(key => { - data.componentPlaceholder[key] = "view"; - }) - fs.writeFileSync(src, JSON.stringify(data)) - } catch (err) { - } - }) + Object.keys(data.usingComponents).map(key => { + data.componentPlaceholder[key] = "view"; + }) + fs.writeFileSync(src, JSON.stringify(data)) + } catch (err) { + } } const handleWeappLanguage = (mode) => { diff --git a/uni-app/src/App.vue b/uni-app/src/App.vue index 91e435c7d..3e70c07b3 100644 --- a/uni-app/src/App.vue +++ b/uni-app/src/App.vue @@ -12,9 +12,18 @@ onLaunch((data: any) => { // 添加初始化拦截器 launchInterceptor() + const systemStore = useSystemStore() + + // 初始化全局数据 + const initGlobalData = () => { + systemStore.systemInfo = uni.getSystemInfoSync(); + systemStore.getMenuButtonInfoFn() + } + + initGlobalData() // #ifdef H5 - uni.getSystemInfoSync().platform == 'ios' && (uni.setStorageSync('initUrl', location.href)) + systemStore.systemInfo.platform == 'ios' && (uni.setStorageSync('initUrl', location.href)) // 传输给后台数据 window.parent.postMessage(JSON.stringify({ @@ -38,6 +47,8 @@ onLaunch((data: any) => { type: 'appOnReady', message: '加载完成' }), '*'); + // 更新全局数据 + initGlobalData() } } catch (e) { console.log('uni-app App.vue 接受数据错误', e) @@ -82,7 +93,7 @@ onLaunch((data: any) => { // #endif // 获取初始化数据信息 - useSystemStore().getInitFn(async() => { + useSystemStore().getInitFn(async () => { const configStore = useConfigStore() diff --git a/uni-app/src/addon/components/diy-form-detail/index.vue b/uni-app/src/addon/components/diy-form-detail/index.vue index e0e902ea6..ffdd6df3d 100644 --- a/uni-app/src/addon/components/diy-form-detail/index.vue +++ b/uni-app/src/addon/components/diy-form-detail/index.vue @@ -9,6 +9,7 @@ import { ref, reactive, onMounted } from 'vue'; import diyGroup from '@/addon/components/diy/group/index.vue' import { getFormRecord } from '@/app/api/diy_form'; +import { deepClone } from '@/utils/common' const props = defineProps(['record_id', 'completeLayout']); const emits = defineEmits(['callback']) @@ -17,20 +18,21 @@ const diyFormData: any = reactive({ global: {}, value: [] }) - onMounted(() => { getFormRecord({ record_id: props.record_id }).then((res: any) => { diyFormData.global.completeLayout = props.completeLayout || 'style-1'; - if (res.data.recordsFieldList) { + let recordsFieldList = deepClone(res.data.recordsFieldList) + if (recordsFieldList) { - res.data.recordsFieldList.forEach((item: any) => { + recordsFieldList.forEach((item: any) => { let comp = { id: item.field_key, componentName: item.field_type, pageStyle: '', viewFormDetail: true, // 查看表单详情标识 + componentIsShow: true, field: { name: item.field_name, value: item.handle_field_value, @@ -47,7 +49,7 @@ onMounted(() => { diyFormData.value.push(comp); }) } - emits('callback', res.data.recordsFieldList) + emits('callback', recordsFieldList) loading.value = false; }).catch(() => { loading.value = false; diff --git a/uni-app/src/addon/components/diy-form/index.vue b/uni-app/src/addon/components/diy-form/index.vue index a32becf60..c7717262a 100644 --- a/uni-app/src/addon/components/diy-form/index.vue +++ b/uni-app/src/addon/components/diy-form/index.vue @@ -1,8 +1,20 @@ @@ -30,12 +42,12 @@ const diyFormData: any = reactive({}) onMounted(() => { diy.getData(() => { diyFormData.status = diy.data.status; - if (diyFormData.status) { + if (diyFormData.status && requestData.value.error.length == 0) { diyFormData.title = diy.data.title; diyFormData.global = diy.data.global; if (diyFormData.global) { diyFormData.global.topStatusBar.isShow = false; // 顶部导航栏强制隐藏 - diyFormData.global.bottomTabBarSwitch = false; // 底部导航强制隐藏 + diyFormData.global.bottomTabBar.isShow = false; // 底部导航强制隐藏 } let value: any = []; if (props.form_border == 'none') { @@ -47,7 +59,7 @@ onMounted(() => { value.push(item); } }) - diyFormData.value = value; + diyFormData.value = deepClone(value); diyFormData.componentRefs = null; diyGroupRef.value?.refresh(); watchFormData(); @@ -95,6 +107,7 @@ const watchFormData = () => { const verify = () => { if (!diyFormData.status) return true; if (!diyFormData.value) return true; + if (!requestData.value || requestData.value.error?.length > 0) return true; let allPass = true; // 是否全部通过验证 let componentRefs = diyGroupRef.value.getFormRef().componentRefs; diff --git a/uni-app/src/addon/components/diy/group/index.vue b/uni-app/src/addon/components/diy/group/index.vue index b3e393a80..b1504ea81 100644 --- a/uni-app/src/addon/components/diy/group/index.vue +++ b/uni-app/src/addon/components/diy/group/index.vue @@ -3,125 +3,129 @@ - - +