diff --git a/App.vue b/App.vue index 10b2a2a..1f05b95 100644 --- a/App.vue +++ b/App.vue @@ -7,6 +7,14 @@ onLaunch(async () => { console.log('App Launch') await uniIdPageInit() + // 预加载设备信息,供 main.js 请求拦截器写入 X-Device-Id + uni.getSystemInfo({ + success: (res) => { + const app = getApp() + app.globalData = app.globalData || {} + app.globalData.deviceId = res.deviceId + } + }) }) onShow(() => { console.log('App Show') diff --git a/common/uview-init.js b/common/uview-init.js new file mode 100644 index 0000000..094e66f --- /dev/null +++ b/common/uview-init.js @@ -0,0 +1,12 @@ +// uView 全局配置兜底初始化 +// 说明:uni-app 打包 app 平台时,页面组件模块可能先于 uview-ui 入口执行, +// 导致组件 props.js 中 `uni.$u.props.xxx` 读取 undefined 而崩溃。 +// 本模块在所有引用 uni.$u.props 的组件 props.js 中被前置 import,确保配置先就绪。 +import uViewProps from '@/uni_modules/uview-ui/libs/config/props.js' + +if (typeof uni !== 'undefined' && uni) { + if (!uni.$u) { + uni.$u = {} + } + uni.$u.props = uViewProps +} diff --git a/main.js b/main.js index c51ac4f..daa4e7a 100644 --- a/main.js +++ b/main.js @@ -1,3 +1,5 @@ +// 优先初始化 uView 全局配置(uni.$u),避免页面组件先于其加载 +import '@/uni_modules/uview-ui' import App from './App' // ================== Vue2 逻辑 ================== // @@ -24,6 +26,14 @@ import uView from '@/uni_modules/uview-ui' export function createApp() { const app = createSSRApp(App) app.use(uView) + + // Vue3 已移除 $delete,补齐以兼容依赖该 API 的旧组件(如 z-paging 自动高度逻辑) + app.config.globalProperties.$delete = function $delete(target, key) { + if (target && typeof target === 'object') { + delete target[key] + } + } + return { app } } // #endif @@ -88,13 +98,3 @@ function handleTokenExpired() { } }) } - -// 在应用启动时预加载设备信息 -export function initDeviceInfo() { - uni.getSystemInfo({ - success: (res) => { - getApp().globalData = getApp().globalData || {} - getApp().globalData.deviceId = res.deviceId - } - }) -} diff --git a/package.json b/package.json index 37e58d8..a5d2d17 100644 --- a/package.json +++ b/package.json @@ -1,31 +1,6 @@ { - "id": "image-grid", - "name": "图片列表 宫格 带懒加载功能(下滑加载更多)", - "displayName": "图片列表 宫格 带懒加载功能(下滑加载更多)", - "version": "0.9", - "description": "1、组件核心功能是浏览图片+文字混合排版的列表; 2、列表的每个单元是一张图片和描述图片的文字上下结构的排版; 3、列表的每一行由两个单元组成,横向排列; 4、列表可以上下滑动,支持懒加载", - "keywords": [ - "图片列表", - "宫格", - "懒加载", - "下滑加载更多" - ], - "dcloudext": { - "type": "component-vue", - "sale": { - "regular": { - "price": "0.00" - }, - "sourcecode": { - "price": "0.00" - } - } - }, - "dependencies": { - "@dcloudio/uni-app": "^2.0.2-5010520260709001", - "yarn": "^1.22.22" - }, - "devDependencies": { - "@dcloudio/vue-cli-plugin-uni": "^2.0.2-5010520260709001" - } + "name": "junge-liaoliang", + "version": "1.0.0", + "private": true, + "description": "军歌嘹亮 uni-app (Vue3) 客户端,HBuilderX 工程,应用配置见 manifest.json" } diff --git a/pages/articleContentDetail/articleContentDetail.vue b/pages/articleContentDetail/articleContentDetail.vue index 4a381d5..27234fb 100644 --- a/pages/articleContentDetail/articleContentDetail.vue +++ b/pages/articleContentDetail/articleContentDetail.vue @@ -169,7 +169,8 @@