微信小程序集成腾讯地图轨迹与路线图展示

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:本项目聚焦于如何利用腾讯地图服务,在微信小程序中实现轨迹、路线图的展示以及特定位置的marker标记点突出显示。项目涉及腾讯地图API的使用、安全域名配置、微信小程序框架的理解、路径规划、轨迹绘制、marker标记点设置,以及uni-app框架和小程序文件结构的相关知识。
腾讯地图、微信小程序、轨迹、路线图、marker标记点

1. 腾讯地图API应用

随着地理位置服务在移动应用中的广泛应用,腾讯地图API提供了一套丰富的接口来辅助开发者在地图上进行复杂操作。本章节首先介绍腾讯地图API的基础知识,随后逐步引导用户了解如何集成API到您的应用程序中,并展示一些实际的应用场景。

1.1 腾讯地图API概述

腾讯地图API是一个全面的地图服务解决方案,它允许开发者在应用程序中嵌入地图功能,实现地理定位、路径规划、地点搜索、地图标注等功能。通过使用腾讯地图API,开发者可以减少在地图应用开发上的工作量,快速构建位置相关的功能。

1.2 API集成基本步骤

要在您的项目中使用腾讯地图API,您需要完成以下步骤:

  • 注册腾讯地图开放平台账号并创建应用,获取API Key。
  • 在您的项目中引入腾讯地图SDK。
  • 初始化地图,设置初始位置和缩放级别。
  • 根据需要调用API提供的功能接口,比如地点查询、路径规划等。
// 示例代码:初始化腾讯地图
var腾讯地图 = require('tencentmap-wx-jssdk');
var tencentMap = new TencentMap({
    key: '您的API Key'
});
tencentMap.init({
    success: function(res) {
        console.log("初始化成功", res);
        // 在这里调用其他API接口
    },
    fail: function(res) {
        console.error("初始化失败", res);
    }
});

通过上述步骤,您将能够为您的应用添加腾讯地图的功能,并开始利用腾讯地图API来增强用户体验。下一章将深入探讨微信小程序开发的基础知识,为实现更多功能奠定基础。

2. 微信小程序开发基础

微信小程序因其轻量级、无需安装的特点,已成为企业快速触达用户、实现服务提供的重要工具。开发微信小程序首先需要了解其基本的项目结构和框架,才能更好地利用小程序提供的各种组件进行应用开发。

2.1 微信小程序的项目结构

2.1.1 目录结构解析

微信小程序的目录结构是开发小程序的基础,理解每个文件夹和文件的作用是编写有效小程序代码的第一步。典型的目录结构通常包含以下几个部分:

project
├── app.js
├── app.json
├── app.wxss
├── pages
│   ├── index
│   │   ├── index.wxml
│   │   ├── index.wxss
│   │   └── index.js
│   └── logs
│       ├── logs.wxml
│       ├── logs.wxss
│       └── logs.js
└── utils
    └── util.js
  • app.js :小程序的入口文件,用于定义全局变量和生命周期函数。
  • app.json :小程序的全局配置文件,可以定义小程序的窗口背景色、导航条样式、页面路径等。
  • app.wxss :全局的样式文件,用于编写全局的CSS样式。
  • pages :存放各个页面的文件夹,每个页面由四个文件组成: .wxml 页面结构, .wxss 页面样式, .js 页面逻辑和 .json 页面配置。
  • utils :存放工具性质的代码,如工具函数等。

2.1.2 文件类型与作用

微信小程序的文件类型决定了它们各自的作用,理解这些文件类型有助于更好地组织代码和实现功能:

  • .wxml (WeiXin Markup Language):类似HTML,用于描述页面结构。
  • .wxss (WeiXin Style Sheets):类似CSS,用于页面样式布局和样式定义。
  • .js :用于编写页面的逻辑处理,如用户交互、数据处理等。
  • .json :用于配置页面或全局的窗口表现、设置导航条样式、定义导航条标题等。

2.2 小程序的框架和组件

2.2.1 WXML模板语法

WXML是微信小程序的标记语言,它和传统的HTML类似,但专门为小程序优化。WXML使用标签的方式定义页面的结构,如:

<view class="container">
  <text>Hello, World!</text>
</view>

在这个例子中, <view> 标签定义了一个视图容器, <text> 标签则显示了一段文本。与HTML不同,WXML支持数据绑定,可以将数据动态绑定到视图上。

2.2.2 WXSS样式表应用

WXSS类似于CSS,但它为小程序设计,包含一些针对小程序优化的特性。WXSS支持尺寸单位rpx,可以自动将屏幕宽度分为750份,从而保证在不同设备上显示宽度的一致性。

例如,为上述 view 添加样式:

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

这个样式定义了一个居中的全高视图容器,使用了Flex布局。WXSS也支持在 app.wxss 文件中定义全局样式。

2.2.3 JavaScript逻辑处理

在小程序中,JavaScript用于处理用户交互、数据请求等逻辑。它通过事件监听和数据绑定与WXML进行交互。例如,为按钮添加点击事件:

Page({
  data: {
    message: 'Hello World!'
  },
  onLoad: function() {
    // 页面加载时的初始化工作
  },
  onClickButton: function() {
    // 点击按钮后的处理函数
    this.setData({
      message: 'Button clicked!'
    });
  }
});

.wxml 文件中对应的按钮可能是这样:

<button bindtap="onClickButton">Click me</button>

这段代码展示了如何在页面加载时设置数据,在用户点击按钮时更新数据。

随着小程序应用的深入,开发者可以进一步探索使用组件和API,以及进行模块化编程和云开发,从而构建功能丰富的小程序应用。上述内容提供了小程序开发的初步框架,为后续深入学习打下了基础。

3. 安全域名配置

3.1 配置域名的意义

3.1.1 保证小程序安全访问

在小程序中配置安全域名是至关重要的步骤,它能够确保用户在访问小程序时数据传输的安全性。通过配置安全域名,小程序可以限制其请求只能发往预设的服务器地址,从而防止了潜在的跨站请求伪造攻击(CSRF)。这种攻击方式试图利用用户已认证的身份来执行恶意操作,而通过限制请求到安全的域名,可以有效避免这类攻击。

此外,配置安全域名还有助于保护小程序中的数据不被拦截或篡改。当小程序与服务器之间的通信采用HTTPS协议时,数据传输将得到加密,即便数据被截获也无法被未授权的第三方读取,确保了数据传输过程的安全性。

3.1.2 避免因域名问题导致的常见错误

开发者在开发小程序过程中,如果不正确配置安全域名,可能会遇到一系列的问题,例如网络请求失败、数据加载异常等。由于微信小程序的安全机制要求所有的网络请求必须发向配置的安全域名,未配置或配置错误的域名都会导致小程序运行时出现“请求的域名不存在或不支持的协议”的错误提示。

为了避免这些错误,开发者需要仔细检查并确保所配置的域名完全符合要求。这包括域名必须使用HTTPS协议,以及域名必须是经过ICP备案的。此外,域名一旦配置成功,应该避免频繁更改,因为每次域名的更改都需要在小程序后台进行验证并等待审核通过后才能生效,这个过程可能会耗时若干小时。

3.2 配置步骤详解

3.2.1 注册并设置域名

在配置安全域名之前,首先需要有一个已注册且通过ICP备案的域名。注册域名的途径很多,例如可以通过阿里云、腾讯云等云服务平台进行购买。域名注册成功后,需要进行DNS解析设置,将域名指向服务器的公网IP地址,确保域名能够被正确解析到目标服务器。

完成域名注册和DNS解析设置后,还需要在服务器上配置HTTPS证书,因为微信小程序要求所有安全域名必须支持HTTPS。可以使用Let’s Encrypt提供的免费证书,也可以购买第三方的SSL证书。配置完成后,进行HTTPS证书的验证,确保网站可以在HTTPS协议下安全访问。

3.2.2 小程序后台配置域名

配置好域名和服务器后,接下来需要登录微信公众平台,在小程序后台进行域名的添加和配置。进入微信公众平台的小程序管理后台,找到“开发”->“开发设置”选项,然后在“服务器域名”部分添加新的域名。

在添加域名时,需要填写“request合法域名”、“socket合法域名”、“uploadFile合法域名”以及“downloadFile合法域名”等不同类型的域名。这几种类型的域名分别对应小程序中不同类型的网络请求。开发者需要根据小程序实际使用的服务器地址进行填写,且每个类型的域名都需要确保支持HTTPS协议。

3.2.3 完成验证流程

添加完域名后,微信官方会进行审核和验证。这通常涉及到在小程序后台提交的域名上放置一个由微信公众平台生成的验证文件,证明开发者拥有该域名的管理权限。

一旦验证文件被正确放置,且微信官方审核无误,域名配置就会生效。此后,小程序才能正常地与该域名下的服务器进行数据交换。需要提醒的是,修改已配置的安全域名同样需要经历这个验证流程,因此在规划小程序的安全域名时应该仔细考虑,避免频繁变动。

flowchart LR
    A[注册并设置域名] --> B[购买域名]
    B --> C[配置DNS解析]
    C --> D[配置HTTPS证书]
    D --> E[服务器验证]
    E --> F[域名配置审核]
    F --> G[完成域名配置]
    A --> H[小程序后台配置域名]
    H --> I[添加域名]
    I --> J[放置验证文件]
    J --> K[提交审核]
    K --> G

通过上述配置步骤,开发者可以确保小程序的网络请求都被限制在安全的域名范围内,从而提升小程序的用户体验和数据安全性。同时,正确配置的域名也能有效避免小程序运行时出现的错误,保证小程序的稳定运行。

4. ```

第四章:路径规划服务使用

路径规划服务是许多应用的核心功能之一,对于提升用户体验、实现精准导航具有重要作用。本章将从路径规划服务的基本概念入手,详细探讨如何在腾讯地图API中实现路径规划服务。

4.1 路径规划服务概述

4.1.1 路径规划的重要性和应用场景

路径规划服务对于帮助用户从一点到达另一点至关重要,它能够帮助用户避开拥堵,选择最快、最短或者最省油的路线。路径规划在旅游、物流、紧急救援等领域有广泛应用。例如,旅游者使用路径规划服务来规划一天内的行程,物流公司使用它来优化配送路线,而紧急救援中心则依赖它来快速响应和调度。

4.1.2 路径规划服务的常用API

腾讯地图API提供了丰富的路径规划服务,包括但不限于以下几种:

  • 步行路径规划 :为步行用户提供最优路线。
  • 公交路径规划 :为乘坐公共交通的用户提供详细的换乘信息。
  • 驾车路径规划 :为驾驶者提供实时的路况信息及最优路线。
  • 骑行路径规划 :为骑行爱好者提供适合骑行的道路和路线规划。

4.2 实践路径规划服务

在本小节中,我们将具体实践如何使用腾讯地图API实现路径规划服务。以下是一个基于驾车路径规划的示例,用于指导开发者如何创建路线图实例和实现路线的规划与展示。

4.2.1 创建路线图实例

首先,需要在腾讯地图API平台上申请API密钥,然后初始化地图对象,并创建一个路线图实例。代码示例如下:

// 初始化地图
var map = new TMap.Map("container", {
    center: new TMap.LatLng(39.984154, 116.307490), // 设置地图中心点经纬度
    zoom: 13 // 设置地图缩放级别
});

// 创建路线图实例
var routeLayer = new TMap.RouteCanvas({
    map: map, // 关联的TMap.Map实例
    showStartEndMarker: true // 显示起点和终点标记
});

在这段代码中,首先通过 TMap.Map 创建一个地图实例,并设定地图中心点和缩放级别。接着,创建一个路线图实例 routeLayer ,这个实例将用于显示规划的路线。

4.2.2 实现路线的规划与展示

接下来,我们可以使用 routeLayer 实例来规划路线。以驾车路径规划为例,代码示例如下:

routeLayer.draw({
    start: "北京市", // 起点地址
    end: "上海市", // 终点地址
    travelMode: TMap.TravelMode.DRIVING, // 选择驾车模式
    success: function (result) {
        console.log(result);
    },
    fail: function (error) {
        console.error(error);
    }
});

在这段代码中, routeLayer.draw 方法用于规划路线,其中 start end 参数分别代表起点和终点地址, travelMode 参数指定出行方式为驾车。成功返回的结果会包含路线的详细信息,包括路径坐标点、预计时间和距离等。

在实际应用中,还需要处理网络请求的成功或失败响应。上述代码中的 success fail 回调函数即用于处理这种情况。

以上示例展示了如何使用腾讯地图API进行路径规划服务的基本操作。开发者可以在此基础上,根据实际应用需求,增加用户交互、调整路线参数、自定义路线样式等,进一步丰富功能和优化用户体验。


在第四章的内容中,我们详细介绍了路径规划服务的概述以及在实践中如何使用腾讯地图API来实现路径规划。通过上述示例代码和解释,读者应能理解创建路线图实例以及规划和展示路线的基本方法。在实际开发中,开发者应考虑如何集成更多用户交互元素和个性化功能,以达到更高的应用质量。

# 5. 轨迹绘制技术

## 5.1 轨迹数据的获取与处理

### 5.1.1 轨迹数据的来源

轨迹数据是指在一定时间间隔内,记录移动对象地理位置信息的数据序列。数据的来源多样,包括但不限于以下几种:

1. GPS设备:车辆、智能手机或穿戴设备内置的全球定位系统可以实时追踪位置并记录轨迹数据。
2. 移动应用:很多应用程序,例如健康追踪或运动类App,都会在后台收集用户的移动轨迹并上传到服务器。
3. 传感器网络:例如交通监控系统中的摄像头或其他检测设备,它们可以持续监测并记录经过路径的数据。

不同的轨迹数据来源,其数据格式可能有所差异,但通常都是以经纬度坐标点的形式记录,有时还会包含时间戳和速度等其他属性信息。

### 5.1.2 轨迹数据的格式化处理

为了在腾讯地图上绘制轨迹,需要对获取的轨迹数据进行格式化处理。通常数据以JSON格式呈现,包含时间、位置等信息。例如:

```json
[
  {
    "timestamp": "2023-04-01T12:00:00Z",
    "latitude": 30.6584,
    "longitude": 104.0646
  },
  {
    "timestamp": "2023-04-01T12:01:00Z",
    "latitude": 30.6587,
    "longitude": 104.0652
  },
  // 更多坐标点...
]

在处理这些数据时,需要将它们转换为腾讯地图API可以接受的格式,比如转换为一系列经纬度点的数组。这通常涉及到数据清洗和转换过程,确保时间戳是符合API要求的格式,并且经纬度坐标是精确的。

5.2 在地图上绘制轨迹

5.2.1 使用腾讯地图API绘制轨迹

腾讯地图API提供了一种方便的方式来在地图上绘制轨迹。以下是使用腾讯地图API绘制轨迹的基本步骤:

  1. 获取腾讯地图API的access_token。
  2. 在地图实例上调用API,将处理好的轨迹数据作为参数传入。

下面是一个简单的示例代码,展示如何使用腾讯地图JavaScript API在地图上绘制轨迹:

// 假设已经获取到腾讯地图的access_token,并创建了一个地图实例
var map = new TMap.Map('container', {
    center: [113.324520, 23.099994], // 地图中心点坐标
    zoom: 12 // 缩放级别
});

// 轨迹数据,经纬度坐标数组
var path = [
    [113.324520, 23.099994],
    [113.331497, 23.104927],
    // 更多坐标点...
];

// 创建轨迹线路实例
var line = new TMap.Polyline({
    path: path, // 传入坐标数组
    color: "#ff0000", // 轨迹颜色
    width: 5 // 线宽
});

// 将轨迹线路实例添加到地图上
map.add(line);

在上述代码中,我们首先创建了一个腾讯地图的实例,然后定义了轨迹数据点 path ,接着创建了一个 Polyline 对象并将其添加到地图上。通过调整 color width 属性,我们可以自定义轨迹的样式。

5.2.2 轨迹展示的样式调整

绘制轨迹后,我们可能需要对展示样式进行调整,以满足不同的需求。腾讯地图API提供了多种参数供开发者配置,例如:

  • lineCap :轨迹端点的形状。
  • lineJoin :轨迹拐点的样式。
  • dashArray :如果想绘制虚线,可以通过此参数设置虚线的模式。

下面是如何使用 lineCap lineJoin 参数对轨迹样式进行调整的示例:

var line = new TMap.Polyline({
    path: path,
    lineCap: 'butt', // 设置轨迹端点为无端点
    lineJoin: 'miter', // 设置轨迹拐点样式为尖角
    // 其他样式设置...
});

map.add(line);

在实际应用中,还需要考虑地图的性能和用户体验。例如,如果轨迹数据点非常多,为了提高渲染效率,可以考虑对轨迹点进行抽稀处理。此外,为了突出显示轨迹的某些特征,可以对轨迹的某些段落进行加粗或改变颜色。

通过以上步骤,开发者可以灵活地在腾讯地图上绘制和展示轨迹,为用户提供丰富的地图交互体验。

6. Marker标记点自定义

6.1 Marker标记点的种类与功能

6.1.1 标准Marker的特点

标准的Marker标记点是地图上用以指示特定地点或位置的图形符号。在大多数地图API中,标准Marker一般以简单的图标来表示,例如默认的小红点或小旗帜。这些标准标记点虽然易于理解和使用,但它们缺乏个性化表达,无法充分满足开发者在特定场景下的需求。

例如,在旅行类小程序中,标准Marker可能不足以区分不同类型的旅游景点;在房产类应用中,标准Marker也可能无法直观显示房屋的不同状态(如在售、已售)。因此,为了提升用户交互体验,根据应用场景和用户需求来自定义Marker标记点变得尤为重要。

6.1.2 自定义Marker的必要性

自定义Marker可以提供更丰富的视觉效果和更精确的信息传达。开发者可以根据自己的需求设计Marker的样式、颜色和形状,甚至在Marker上添加文字或其他图形元素,以增强地图的表达能力。

例如,一个用于表示当地美食地点的应用可能会用一个汉堡的图标作为Marker;一个户外运动应用可能会用登山鞋图标来指示徒步路线的起点。自定义Marker不仅能够丰富地图元素,提升用户体验,还可以作为品牌识别的一部分,增强用户的品牌记忆。

6.2 实现Marker的自定义

6.2.1 设计自定义Marker的步骤

为了设计并实现自定义Marker,开发者需要经过以下步骤:

  1. 需求分析 :明确自定义Marker的目的和应用场景,了解用户对Marker的期望。
  2. 设计图标的创作 :使用图形设计软件(如Adobe Photoshop或Sketch)设计出与应用场景相符的图标。
  3. 图标优化 :针对不同的显示环境对图标进行优化,确保在不同分辨率和尺寸下都有良好的显示效果。
  4. 编码实现 :将设计好的图标转换成适用于小程序的地图标记,并在小程序中进行编码实现。

在设计自定义Marker时,除了要考虑美观性,还应该考虑图标与地图背景的对比度、图标大小是否适中、是否易于在小尺寸下辨识等问题。

6.2.2 在小程序中应用自定义Marker

在小程序中使用自定义Marker主要涉及以下几个步骤:

  1. 添加图片资源 :将设计好的图标图片放入小程序项目资源文件夹中。
  2. 编写 Marker 标记的代码 :使用小程序的地图API创建自定义Marker,并将其放置到地图上的指定位置。
// 伪代码示例
const marker = {
  iconPath: '/resources/markerIcon.png', // 自定义 Marker 图标路径
  position: { // Marker 位置坐标
    latitude: 23.1000,
    longitude: 113.3240
  },
  width: 50, // 自定义 Marker 宽度
  height: 50, // 自定义 Marker 高度
};

// 添加自定义 Marker 到地图上
map.addOverlay(marker);
  1. 调整 Marker 样式 :在小程序的样式文件中设置Marker的样式,如添加阴影、调整透明度等。
// 伪代码示例
page {
  marker {
    opacity: 0.8; // 设置 Marker 透明度
    shadow-color: rgba(0, 0, 0, 0.5); // 设置阴影颜色
    shadow-offset: {width: 2, height: 2}; // 设置阴影偏移
    shadow-radius: 3; // 设置阴影半径
  }
}
  1. 测试 Marker :在不同设备和分辨率的设备上测试自定义Marker,确保它们的显示效果符合预期。

通过以上步骤,开发者就可以将设计好的自定义Marker应用到微信小程序的地图中,从而提供更丰富、更个性化的用户体验。

步骤 描述
设计图标 创建与应用主题相符的图标,确保视觉效果与实际应用场景相匹配。
图标优化 根据不同显示需求调整图标大小和清晰度,保证在移动设备上的可用性。
编码实现 通过小程序API将图标应用到地图上,并进行适当调整以达到最佳显示效果。
测试与部署 在不同环境下测试自定义Marker,确保兼容性与稳定性,然后进行部署。

自定义Marker是小程序交互设计中的重要组成部分。通过精心设计和实现的自定义Marker,可以大大提升小程序的用户体验和使用满意度。随着小程序平台的成熟和用户的多样化需求,自定义Marker技术必将成为小程序开发中的一个关键技能。

7. uni-app框架应用与文件结构配置

在当今的跨平台移动应用开发领域,uni-app作为一个创新的框架,已经成为开发者们的热门选择。它的特点和优势让它在市场中占据了重要位置。本章将详细介绍uni-app框架的应用以及其文件结构配置的过程。

7.1 uni-app框架概述

7.1.1 uni-app的特点与优势

uni-app能够使用Vue.js的开发经验来编写多端应用,它基于标准HTML5开发,使用Vue.js框架,让开发者能够快速开发出运行在iOS、Android、Web(包括PC)以及各种小程序平台的应用。

  • 一次编写,多端运行 :开发者只需要编写一次代码,就可以打包成各种平台的应用,大大节省开发和维护成本。
  • 丰富的组件和API :uni-app提供了丰富的内置组件和API,能够满足各种业务场景的需求。
  • 强大的生态支持 :uni-app背后有DCloud公司的强大支持,有着丰富的插件市场和社区资源。

7.1.2 uni-app与传统小程序开发对比

在传统的微信小程序开发中,开发者需要使用特定的小程序框架和API,这在一定程度上限制了开发者的技能迁移和代码复用。而uni-app通过一套代码适配多端,让开发者能够更容易地实现跨平台开发。

  • 开发效率提升 :uni-app的代码可复用性更高,减少了多端重复开发的工作量。
  • 更灵活的部署 :uni-app编译出来的应用不仅仅限于微信小程序,还包括了支付宝、百度等多个平台。

7.2 小程序的文件结构与配置

7.2.1 uni-app项目文件结构解析

uni-app项目结构清晰,大致可以分为以下几个部分:

  • pages 文件夹:存放小程序页面相关文件,每个页面由 .vue 文件、 .js .json 等组成。
  • static 文件夹:存放一些不需要编译的静态资源,如图片、字体等。
  • main.js :项目入口文件,进行初始化操作如创建Vue实例。
  • App.vue :项目的根组件。
  • manifest.json :配置应用名称、权限等信息。

7.2.2 页面配置与组件注册

在uni-app中,页面配置主要在 page.json 文件中定义,包括导航条样式、标题以及窗口背景色等。组件注册则需要在 .vue 文件的 <script> 部分,通过 Vue.component 或局部注册的方式实现。

// page.json
{
  "navigationBarTitleText": "首页",
  "navigationBarTextStyle": "black",
  "navigationBarBackgroundColor": "#ffffff"
}

7.2.3 uni-app编译与发布流程

编译和发布是uni-app项目开发过程中的重要步骤,主要包括以下流程:

  1. 本地预览 :使用HBuilderX等IDE进行本地编译,实时查看效果。
  2. 编译打包 :根据目标平台选择相应的编译选项,进行打包。
  3. 上传代码 :将打包好的代码上传至各个平台的开发者后台。
  4. 提交审核 :按照平台的审核流程提交应用审核。
  5. 发布上线 :审核通过后,发布应用至应用市场或小程序平台。

通过遵循上述流程,开发者可以将自己的应用发布到目标平台上,实现应用的快速上线和推广。

在下一章节,我们将深入探讨如何进行小程序的性能优化,以及如何利用工具进行代码层面的优化,确保我们的应用能够给用户带来良好的体验。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:本项目聚焦于如何利用腾讯地图服务,在微信小程序中实现轨迹、路线图的展示以及特定位置的marker标记点突出显示。项目涉及腾讯地图API的使用、安全域名配置、微信小程序框架的理解、路径规划、轨迹绘制、marker标记点设置,以及uni-app框架和小程序文件结构的相关知识。


本文还有配套的精品资源,点击获取
menu-r.4af5f7ec.gif

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值