程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 原生微信小程序

  • uniapp多端开发

    • 快速入门

    • 内置组件

      • 视图容器

      • 基础内容

      • 表单组件

      • 路由页面跳转

      • 媒体组件

      • 地图

      • 画布

      • 网页嵌入

      • 页面属性配置节点

      • nvue组件

      • 小程序组件

        • 公众号关注组件
        • 开放数据展示组件
          • 1. 什么是 open-data 组件?
          • 2. open-data 组件的常用属性
            • 2.1 type 属性的有效值
          • 3. open-data 组件使用
          • 4. 支持平台与兼容性
            • 支付宝小程序
          • 5. 使用注意事项
            • 5.1 微信小程序平台限制
            • 5.2 群组名称展示限制
    • 扩展组件

  • 小程序开发
  • uniapp多端开发
  • 内置组件
  • 小程序组件
scholar
2024-10-21
目录

开放数据展示组件

# 开放数据展示组件

open-data 是用于展示平台开放数据的组件,主要用于小程序平台展示用户的公开信息或群信息。该组件仅支持微信小程序、QQ小程序、百度小程序和抖音小程序。使用该组件可以快速展示用户昵称、头像、性别、所在城市等信息,但各平台提供的数据内容和使用限制不同。

# 1. 什么是 open-data 组件?

open-data 组件是一个用于展示小程序平台开放数据的组件。该组件可以直接嵌入小程序页面中,展示用户信息或群组信息,减少开发者通过接口获取数据并处理的步骤。open-data 依赖平台的开放能力,仅在指定的平台支持,且不同平台展示的数据种类有所不同。

使用场景

  • 展示用户昵称和头像:在小程序页面中展示用户的公开信息,比如微信用户的昵称和头像。
  • 展示群组信息:在小程序页面中展示用户加入的群组名称(适用于群聊小程序的场景)。

# 2. open-data 组件的常用属性

open-data 组件通过 type 属性指定展示的数据类型,此外还有其他属性用于控制显示语言或指定群组 ID。

属性名 类型 默认值 说明 平台差异说明
type String 无 指定展示的开放数据类型。具体类型详见下表。 支持微信小程序、QQ小程序等。
open-gid String 无 当 type="groupName" 时生效,用于指定群组 ID。 微信小程序、QQ小程序
lang String en 当 type="user*" 时生效,指定展示语言,有效值包括 en、zh_CN、zh_TW。 微信小程序、QQ小程序

# 2.1 type 属性的有效值

type 属性是 open-data 组件的核心,用于指定要展示的数据类型。

值 说明 平台差异说明
userNickName 用户昵称 微信小程序
userAvatarUrl 用户头像 微信小程序
userGender 用户性别 微信小程序
groupName 群组名称 微信小程序
userCity 用户所在城市 微信小程序
userProvince 用户所在省份 微信小程序
userCountry 用户所在国家 微信小程序

# 3. open-data 组件使用

以下是 open-data 组件的一个基本使用示例,展示用户的昵称和头像,以及群组的名称。在使用时,可以根据需求动态调整展示的数据类型。

<template>
  <view>
    <!-- 展示用户昵称 -->
    <open-data type="userNickName"></open-data>

    <!-- 展示用户头像 -->
    <open-data type="userAvatarUrl"></open-data>

    <!-- 展示群组名称,需指定 open-gid -->
    <open-data type="groupName" open-gid="GROUP_ID"></open-data>
  </view>
</template>

<script setup>
import { ref } from 'vue'

// 可以根据实际需求动态指定展示的类型或 open-gid
const groupId = ref('GROUP_ID')
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 4. 支持平台与兼容性

平台 是否支持
微信小程序 √
QQ 小程序 √
百度小程序 √
抖音小程序 √
支付宝小程序 ×
App、H5 ×

# 支付宝小程序

支付宝小程序没有提供 open-data 组件,但开发者可以通过支付宝提供的 API 获取相关数据。例如,用户信息可以通过 my.getAuthUserInfo() 接口获取。

# 5. 使用注意事项

  • open-data 组件仅在小程序平台中生效,且不同平台支持的数据类型有所差异,开发者需根据具体平台情况进行调整。
  • 微信平台已经回收了用户个人信息展示能力,开发者不能依赖 open-data 组件展示用户的头像、昵称、性别等信息。
  • open-data 组件必须确保在合规的场景下使用,避免未经用户授权的隐私展示。

# 5.1 微信小程序平台限制

从 2022年2月21日起,微信小程序回收了通过 open-data 展示用户个人信息的能力。使用 open-data 组件展示用户头像、昵称、性别等信息时,将返回默认的“微信用户”和灰色头像。开发者如需收集用户信息,可以通过微信提供的头像昵称填写功能 (opens new window) 获取用户的头像和昵称。

# 5.2 群组名称展示限制

在展示群组名称时,微信平台会提示用户“群名称仅你可见,小程序无法获取”。开发者需要确保用户隐私数据的安全展示。

总结

open-data 组件是小程序平台中展示开放数据的重要工具,特别适合用于展示用户的公开信息和群组信息。在使用时,开发者需要注意平台的支持情况以及微信平台对用户数据展示的限制。对于微信小程序,头像和昵称展示需要通过新的用户信息获取流程完成。

编辑此页 (opens new window)
上次更新: 2025/02/01, 02:18:15
公众号关注组件
uni-ui 介绍

← 公众号关注组件 uni-ui 介绍→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式