- 【求助官方确认】云开发环境下,小程序已绑定开放平台,是否一定能获取UnionID?
各位官方技术大佬、专家好: 我们团队目前正在进行小程序数据库重构,计划使用 UnionID 作为用户表的主键([代码]_id[代码])。为了保证架构的安全性,需要向官方确认一个核心机制的稳定性。 【当前环境配置】 开发模式:纯原生小程序 + 微信云开发(Cloud Functions)。绑定状态:该小程序 AppID 已经绑定在了微信开放平台(Open Platform)账号下。调用方式:由用户在小程序端触发云函数(例如在 [代码]app.onLaunch[代码] 或 [代码]page.onLoad[代码] 中调用 [代码]wx.cloud.callFunction[代码])。【核心疑问】 在上述条件下,在云函数代码中执行 [代码]const { UNIONID } = cloud.getWXContext()[代码]: 问题 1: 此时获取到的 [代码]UNIONID[代码] 是否 100% 保证有值? 问题 2(关键): 网上有一种说法称:“用户必须在同一开放平台下的至少两个应用(如小程序+公众号,或小程序+App)都登录过,才会生成 UnionID,否则只用小程序是拿不到的。” 请问在云开发环境下,这种说法是否正确? (我们的场景是:用户仅使用该小程序,从未关注过同主体的公众号或下载过App,这种单应用场景下,云函数是否依然能拿到 UnionID?) 【背景】 我们担心如果 UnionID 在单应用场景下可能为空,将其设为主键会导致新用户注册失败。恳请官方给予明确答复,非常感谢!
11-29 - unionid一定获取的办法?
是否只要我的小程序绑定了微信开放平台,且通过cloud.openapi.phonenumber.getPhoneNumber取得用户授权手机号;我就一定能够通过云函数中调用 Cloud.getWXContext 获取用户的unionid?
11-29 - 使用微信官方自定义 tabBar 冷启动后首次切换 tab 底部导航短暂整条消失的问题
我在小程序中使用微信官方自定义 tabBar(tabBar.custom = true,路径为 /custom-tab-bar/index)。在多款真机环境下(如安卓荣耀、微信最新版),都存在同样现象:小程序冷启动进入首页后,用户第一次从首页切到“我的”等 tab 时,底部自定义 tabBar 会短暂整条消失一下再出现,此后在同一进程内多次切换 tab 都正常,不再复现。 目前已按官方文档和社区建议做了如下优化,但问题仍存在: 1)在 lifetimes.attached 中根据当前 route 初始化 selected,并尝试过仅在各页面 onShow 中通过 getTabBar().setData({ selected }) 控制高亮,同时在 custom-tab-bar/index.js 中彻底移除所有对 selected 的 setData,保证状态只由页面 onShow 驱动。 2)在 onSwitchTab 中尝试过多种写法: a. 直接 wx.switchTab({ url }); b. 先 this.setData({ selected: index }) 再用 wx.nextTick(() => wx.switchTab({ url })); c. 按官方建议使用 setTimeout 延迟 50ms 再 wx.switchTab。 3)tabBar 根节点样式已固定:position: fixed; bottom: 0; height: 110rpx; background-color 固定为浅灰,z-index 设为较高值,页面中也未使用 wx.hideTabBar,未叠加 map、video 等原生组件和高 z-index 遮罩层。 4)图标资源为本地文件,已采用双 image + hidden 的预加载方式,且在 app.js 的 onLaunch 中通过 wx.getImageInfo 预加载 tabBar 所需图标,减少首次渲染抖动。 5)已尝试精简 custom-tab-bar 组件初始化逻辑,避免在创建阶段做大量计算,只保留必要的数据和方法。 在上述所有优化组合下,问题表现依旧一致:仅在冷启动后第一次切换 tab 时,底部自定义 tabBar 会短暂整条消失,再重新出现且选中态正确;之后再次切换则完全正常。想请官方帮忙确认: 1)这是否为当前微信自定义 tabBar 在冷启动场景下的已知渲染问题或限制? 2)是否有推荐的官方写法或内部配置,能在继续使用官方自定义 tabBar 的前提下,彻底避免这次首次切换时的底栏“短暂消失”现象?
11-25 - 【求助】小程序绑定开放平台后,Cloud.getWXContext 是否一定能返回 UnionID?
你好,我有一个多端应用的用户体系设计问题,想请教技术支持确认 UnionID 的获取机制。 场景说明: - 我的应用计划支持:小程序端 + 网页端 + App 端 - 目前只有小程序端正在开发和运行 - 小程序端已成功绑定到微信开放平台账号 - 网页端和 App 端暂未上线,因尚未开发完成 问题如下: 1)在上述前提下,用户**第一次登录小程序**时, 是否可以在云开发云函数中通过 `Cloud.getWXContext()` **稳定(100%)获取到该用户的 UnionID?** 2)在该场景中,是否**必须**要求用户执行「获取用户信息授权」操作(例如 `wx.getUserProfile()`), 还是仅通过 `wx.login` 登录流程即可自动返回 UnionID? 希望能收到官方技术人员的明确回复,用于指导账号体系和数据库主键的设计。 感谢。
10-29