Web API

Web API使用教程 是什么     Web Api,网络应用程序接口。它包含了广泛的功能,网络应用通过API接口,可以实现存储服务、消息服务、计算服务的能力,利用这些能力可以进行开发出强大功能的web应用。简单来说,就是一个接口,比如说,我们要做前后端分离的项目,前端和后端通过url连接,但是我们如何知道后端的数据是否通了,返回的数据是否正确,于是我们通过这个接口知道。 相似的技术     postma 阅读详情

JS的组成

在这里插入图片描述
在这里插入图片描述

  1. JS基础学习ECMAScript基础语法为后面做铺垫,Web APIs 是JS的应用,大量使用JS基础语法做交互效果
  2. API 是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
    简单理解:API是给程序员提供的一种工具,以便能更轻松的实现想要完成的功能
  3. Web API是浏览器提供的一套操作浏览器功能和页面元素的API(BOM和DOM)
    API是为我们程序员提供的一个接口,帮助我们实现某种功能,我们会使用就可以了,不必纠结内部如何实现
    Web API主要是针对浏览器提供的接口,主要针对于浏览器做交互效果

DOM

  1. 文档对象模型(DOM),是W3C组织推荐的处理可扩展标记语言(HTML或XML)的标准编程列的DOM接口,通过这些DOM接口可以改变网页的内容,结构和样式

  2. DOM树
    一个页面就是一个文档,DOM中使用document表示
    页面中的所有标签都是元素,DOM中使用element表示
    网页中的所有内容都是节点(标签,属性,文本,注释),DOM中使用node表示

  3. 通过DOM获取页面元素
    (1) ID
    因为我们文档页面从上往下加载,所以先得有标签,所以我们script写到标签的表面
    //参数id是大小写敏感的字符串
    //返回的是一个元素对象,Element对象。若没有这个元素返回null。
    var timer = document.getElementById(‘time’);
    //打印返回的元素对象,更好的查看里面的属性和方法
    console.dir(timer);
    (2) document.getElementsByTagName();通过标签名字获取
    // 1.返回的是 获取过来元素对象的集合 以伪数组的形式存储的
    var lis = document.getElementsByTagName(‘li’);
    console.log(lis);
    console.log(lis[0]);
    //2.我们想要依次打印里面的元素对象我们可以采取遍历的方式
    for (var i = 0; i < lis.length; i++) {
    console.log(lis[i]);

    }
    

(3) 通过HTML5新增的方法获取
1, getElementByClassName 根据类名获得某些元素集合
2, querySelector 返回指定选择器的第一个元素对象 切记 里面的选择器需要加符号

(4)
1. 获取Body元素
var bodyEle = document.body;
console.log(bodyEle);
console.dir(bodyEle);
2. 获取html元素
var htmlEle = document.documentElement;
console.log(htmlEle);

  1. 事件基础
    JS使我们有能力创建动态页面,而事件是可以被js侦测到的行为
    简单理解:触发—响应机制

  2. 在这里插入图片描述
    事件三要素:事件源,事件类型,事件处理程序
    执行事件步骤:
    1,。 获取事件源 (按钮)
    2,。 绑定事件也叫注册事件 (点击)
    3,。 添加事件处理程序 (弹出窗口)

  3. 常见鼠标事件
    在这里插入图片描述

  4. 操作元素(js的DOM操作可以改变网页内容,结构和样式,我们可以利用DOM操作元素来改变元素里面的内容,属性等。)
    (1)改变元素内容

  5. 在这里插入图片描述
    innerText 不能识别html标签,去除空格和换行
    innerHTML可以识别html标签,起始位置到终止为种子的全部内容,包括html标签,同时保留空格和换行
    这两个属性是可读写的(可读写的意思是都可以改变元素的标签都可以获取元素的标签) 可以获取元素里面的内容

  6. 在这里插入图片描述

  7. 表单操作
    (1)表单里面的值 文字内容是通过value来修改的
    input.value = ‘被点击了’;
    (2)如果想要某个表单被禁用 不能再点击disabled 我们想要这个按钮 button禁用
    btn.disabled = true;
    this.disabled = true; 指向的是事件函数的调用者
    (3)在这里插入图片描述

  8. 京东密码框案例
    在这里插入图片描述

<style>
        .box {
            position: relative;
            width: 400px;
            border-bottom: 1px solid #ccc;
            margin: 100px auto;
        }
        
        .box input {
            width: 370px;
            height: 30px;
            border: 0;
            outline: none;
        }
        
        .box img {
            position: absolute;
            top: 2px;
            right: 2px;
            width: 24px;
        }
    </style>
</head>

<body>
    <div class="box">
        <label for="">
            <img src="images/close.png" alt="" id="eye">
        </label>
        <input type="password" id="pwd">
    </div>
    <script>
        //1.获取元素
        var eye = document.getElementById('eye');
        var pwd = document.getElementById('pwd');
        //注册事件 处理程序
        var flag = 0;
        eye.onclick = function() {
            if (flag == 0) {
                pwd.type = 'text';
                flag = 1;
            } else {
                pwd.type = 'password';
                flag = 0;
            }

        }
    </script>
  1. 样式属性操作
    可以通过JS修改元素的大小、颜色、位置等样式
    JS里面的样式采取驼峰命名法,比如 fontSize,backgroundColor
    JS修改style样式操作,产生的是行内样式,css权重比较高
    在这里插入图片描述
    我们可以通过,修改元素的className更改元素的样式 适合于修改的样式较多或者功能复杂的情况

    this.className = ‘change’;
    新类名会覆盖原先的类名
    要想保留原先的类,又想要现在的类
    this.className = ‘big change’;

  2. 显示和隐藏
    点击btn,box隐藏
    btn.onclick = function() {
    box.style.display = ‘none’;
    }

  3. 焦点事件
    获得焦点 onfocus 失去焦点 onblur

	 var text = document.querySelector('input');
        //注册事件 获得焦点事件 onfocus
        text.onfocus = function() {
                // console.log('得到了焦点');
                if (this.value === '手机') {
                    this.value = '';
                }
                //获得焦点把文本框内的颜色变黑
                this.style.color = 'black';

            }
            //失去焦点事件 onblur
        text.onblur = function() {
            if (this.value === '') {
                this.value = '手机';
            }
            this.style.color = '#999';

        }

在这里插入图片描述
在这里插入图片描述

<style>
        .register {
            width: 600px;
            margin: 100px auto;
        }
        
        .message {
            display: inline-block;
            color: #999;
            font-size: 12px;
            padding-left: 10px;
        }
        
        .wrong {
            color: red;
        }
        
        .right {
            color: green;
        }
    </style>
</head>

<body>
    <div class="register">
        <input type="password" class="ipt">
        <p class="message">请输入6~16位密码</p>
    </div>
    <script>
        var ipt = document.querySelector('.ipt');
        var message = document.querySelector('.message');
        //注册事件,失去焦点
        ipt.onblur = function() {
            //根据表单里面值的长度
            if (this.value.length < 6 || this.value.length > 16) {
                message.className = 'message wrong';
                message.innerHTML = '你的位数不对,要求6-16位';

            } else {
                message.className = 'message right';
                message.innerHTML = '恭喜你,输入正确';
            }
        }
    </script>
  1. 操作元素总计
    在这里插入图片描述
  2. 排他思想
    如果想给相同的一组元素,设置样式,可以利用for循环;
    如果有同一组元素,我们想要某一个元素实现某种样式,需要用到循环的排他思想算法
    1. 所有元素全部清除样式(去掉其他人)
    2. 给当前元素设置样式(留下我自己)
    3. 注意顺序不能颠倒,首先干掉其他人,再设置自己
<script>
        var btns = document.getElementsByTagName('button');
        // btns得到的是一个伪数组,里面每一个元素 btns[i]
        for (var i = 0; i < btns.length; i++) {
            btns[i].onclick = function() {
                //(1) 把所有按钮背景颜色去掉
                for (var i = 0; i < btns.length; i++) {
                    btns[i].style.backgroundColor = '';
                }
                //(2)然后才让当前元素背景颜色为pink
                this.style.backgroundColor = 'pink';

            }
        }
    </script>

在这里插入图片描述
17. 给body换背景图片 hbody.style.backgroundImage = ‘url(’ + this.src + ‘)’;
`

在这里插入图片描述

  1. 表格隔行变色 遍历所有的行,用querSelectorAll ****querySelectorAll('tr')![在这里插入图片描述](https://img-blog.csdnimg.cn/20200225105746650.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1ptb25nbw==,size_16,color_FFFFFF,t_70) 鼠标经过事件和鼠标离开事件的分别注册事件![在这里插入图片描述](https://img-blog.csdnimg.cn/20200225111006680.png)
<script>
        var trs = document.querySelector('tbody').querySelectorAll('tr');
        //循环遍历 注册事件
        for (var i = 0; i < trs.length; i++) {
            trs[i].onmouseover = function() {
                this.className = 'bg';
            }
            trs[i].onmouseout = function() {
                this.className = '';
            }
        }
    </script>
  1. 表单全选取消全选案例
    在这里插入图片描述
<table cellspacing=0 cellpadding=0>
        <thead>

            <td>
                <input type="checkbox" name="" id="j_cbAll" />
            </td>
            <td>商品</td>
            <td>价钱</td>

        </thead>
        <tbody id="j_tbs">
            <tr>
                <td>
                    <input type="checkbox" name="" id="">
                </td>
                <td>Apple Watch</td>
                <td>2000</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" name="" id="">
                </td>
                <td>iPhone8</td>
                <td>8000</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" name="" id="">
                </td>
                <td>iPad Pro</td>
                <td>5000</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" name="" id="">
                </td>
                <td>iPad Air</td>
                <td>2000</td>
            </tr>
        </tbody>
    </table>
    <script>
        // 全选和取消全选的做法
        var j_cbAll = document.getElementById('j_cbAll');
        var j_tbs = document.getElementById('j_tbs').getElementsByTagName('input');
        //注册事件
        j_cbAll.onclick = function() {
                // this.checked 可以得到当前复选框的选中状态,如果是true,就是选中。
                for (var i = 0; i < j_tbs.length; i++) {
                    //遍历j_tbs,如果this.checked为true则都为true
                    j_tbs[i].checked = this.checked;
                }

            }
            //复选框需要全部选中,上面全选才能选中:给下面所有复选框绑定点击事件,每次点击,都要循环查看下面的所有复选框是否有没有选中的,如果有一个没选中,上面全选就不选中
        for (var i = 0; i < j_tbs.length; i++) { //遍历,给每一个小的按钮绑定一个点击事件
            j_tbs[i].onclick = function() {
                // flag 控制全选按钮是否选中
                var flag = true; //一点击下面的按钮 flag就是true 就会执行下面的循环
                for (var i = 0; i < j_tbs.length; i++) { //循环小按钮,如果有一个没有被点击的flag就为false
                    if (!j_tbs[i].checked) {
                        flag = false;
                        break;
                    }
                }
                j_cbAll.checked = flag; //最后让上面的按钮执行 flag值
            }
        }
    </script>
什么是Web?Web Service、Web API傻傻分不清楚? 前言 分享一篇我在edx课程中看到的一篇英文文章,这篇文章详细阐述了Web、Web Server的含义,然后进一步介绍什么是Web API、Web Server、SOAP以及RESTFUL Web API的一些基础概念。本文根据个人的理解对原文进行了翻译,限于我的知识水平,若有翻译不到位的地方还请批评指正。 正文 Web究竟是什么意思? 如今,网络十分普及。运行在不同电脑上的软件可以互相“对话”。软件们进行交流时所使用的语言称之为“协议”(protocols)。比如你可能听说过的TCP、HTTP以及 阅读详情

相关推荐

Web API和Web Services的区分

举例说明,当我们需要出差的时候,要在携程App订购机票,我们会输入启程时间、返程时间、舱位选择等相关信息,单击搜索,系统会显示多家航空公司的机票张数和价格等信息,此时携程 App 就在后台与多家航空公司的 API进行交互,从而访问航空公司的数据、因此,Web API可以看作促进客户端机器与web服务器之间通信的接口。相比于XML,JSON是一种轻量级的数据交换格式,在Web Services中传输更快。灵活性:Web API的设计更加灵活,没有固定的规范,开发者可以根据自己的需求设计API的结构和行为。

奇峰卧虎 2476

Web API - 02

自定义属性的操作 获取自定义属性值 设置元素属性值 (1)element.setAtrribute(‘属性’,'值‘); 主要针对于自定义属性 div.setAtrribute(‘index’,2); (2)element.属性=‘值’; 设置内置属性 div.id = ‘test’; 移除属性值 removerAttribute(属性); div.removeAttribute(‘inde...

Mia的博客 189

【Web前端】Web API:构建Web应用核心

API(应用程序编程接口)是一组定义了软件组件之间如何交互的规则和协议。它允许一个程序调用另一个程序的功能,而不用了解其内部实现细节。Web 开发中,API 通常用于实现前端与后端之间的通信。除了内置的 DOM 事件外,开发者还可以创建和触发自定义事件,以便在应用程序内部传递信息。// 创建一个新的自定义事件// 添加自定义事件监听器');});// 模拟数据加载并触发自定义事件// 数据加载完成后触发自定义事件}, 2000);

m0_54851477的博客 1232

Web Service 和 Web API

Web Service 严格遵循 SOAP 协议,像一套严谨的“外交文书”系统,通过 XML 信封(SOAP Envelope)和 WSDL 契约书来确保跨语言、跨平台的绝对兼容性,但笨重缓慢;而 Web API 本质上是现代 HTTP 应用的“快递服务”,利用 GET/POST 等标准 HTTP 方法直接传输 JSON 数据,追求轻量、快速,是移动互联网时代前后端交互的主流text/xml。

weixin_46761444的博客 756

八个鲜为人知但很实用的Web API

在 Web API 中,有非常有用的对象、属性和函数可用于执行小到访问 DOM 这样的小任务,大到处理音频、视频这样的复杂任务。常见的 API 有 Canvas、Web Worker、History、Fetch 等。下面就来看一些不常见但很实用的 Web API。...

m0_73257876的博客 839

【JavaScript】客户端 Web API

根据MDN网站学习记录笔记 客户端 Web API一、Web API简介二、操作文档 Document2.1 DOM 基本介绍2.2 DOM基本操作2.3 动态购物单三、从服务器获取数据四、第三方API五、绘制图形六、视频和音频API七、客户端存储 一、Web API简介 应用程序接口(API)是基于编程语言构建的结构,它们抽象了复杂的代码,并提供一些简单的接口规则直接使用。 Web API是主要针对浏览器的API,在JavaScript语言中被封装成了对象,通过调用对象的属性和方法就可以使用Web A

msmxsd的博客 1247

什么是Web API 呢?

Web API 是一种基于 Web 的接口,允许不同的软件应用程序通过 HTTP 协议进行通信。它提供了一组预定义的方法、端点(URL)和数据格式,使得开发者能够轻松地访问和操作远程服务器上的数据或功能。例如,社交媒体平台的 API 允许第三方应用程序获取用户信息、发布动态等。

candy的博客 4303

【Web前端】Web API:构建 Web 应用核心!

说起 Web 前端,很多人脑海中浮现的可能是炫酷的页面、灵活的动画、甚至可能是“奇奇怪怪”的 Bug。但是,你有没有想过,支撑这些功能的背后力量究竟是什么?没错,就是Web API。今天,我们就来聊一聊这个“隐藏在水面下的冰山”。Web API 是如何成为 Web 开发的基石,又是如何让我们的前端变得如此灵活与强大。放心,咱们不仅会“讲道理”,还会通过实战案例手把手带你上手,轻松搞定!Web API,全称,简单来说就是浏览器为我们开发者提供的一系列功能接口。

喵手的博客 1545

API 和 Web API

DOM

pppylppp的博客 360

webmongo1.0

通过客户端访问服务器端 MongoDB的JavaScript API。本项目是[ dbcloud ]的一个分支(https://github.com/csmake/dbcloud) Accessing server-side mongodb through client javascript API. This project is a branch of [dbcloud](https://github.com/csmake/dbcloud) 你几乎可以完成绝大部分MongoDB调用通过浏览器的JavaScript API。 You can do almost invoke on mongodb through the javascript API in browser. 客户端的JavaScript API支持` IE6.0 +浏览器Firefox和微信(译者注:小程序和公众号)` The client javascript api support `IE6.0+ Chrome FireFox and Wechat` 应用场景: 快速原型设计,无需编写服务器端代码。 Rapid prototyping does not need to write server-side code. 学院派教学和研究,所见即所得 Academic teaching and research, WYSIWYG 企业内部应用 Enterprise internal application 对数据库表结构安全不关注的其他应用。 Other applications that do not focus on the security of the database table structure.

webapi + mongodb 基础实例 代码简单易懂 直接运行

webapi + mongodb 实现基础操作(数据的增删查改) 简单实例 代码易懂 直接运行 希望对新人有所帮助

web api教程Java_使用SpringBoot快速构建Web API

Dubbo 框架现在在国内的中小企业当中已经成为 Java 生态下服务化的事实标准,出现这种状态的原因很多,比如 Dubbo 框架设计优秀、文档和资料丰富、配置灵活、特性丰富等,但最主要的,我认为是 Java 开发人员对速度这一因素的痴迷。不可否认,Dubbo 框架设计和实现之初就将其自身定位为一款基于 TCP 长连接通信的高性能服务治理框架,但是,对于很多中小企业来说,不管从速度还是并发度,根本...

weixin_29104059的博客 874

Unity 常见问题 之 打包编译的报错 Unable to sign the application; please provide passwords!

Unity 常见问题 之 打包编译的报错 Unable to sign the application; please provide passwords! 目录 Unity 常见问题 之 打包编译的报错 Unable to sign the application; please provide passwords! 一、简单介绍 二、问题描述 三、原因分析 四、可能的解决方法 方法一:取消 Keystore 设置即可 方法二:重新添加 Keystore 相关设置 一...

仙魁XAN 1万+

JavaScript基础-API 和 Web API

JavaScript基础-API 和 Web API

qq_51626500的博客 713

RK3588嵌入式开发实战:U-Boot设备树文件修改全指南(含常见踩坑点)

本文为RK3588嵌入式开发者提供了一份详尽的U-Boot设备树文件修改实战指南。文章深入解析了设备树的核心架构,从基础硬件适配到时钟、电源管理等进阶配置,并重点总结了内存节点、串口输出、电源时序等常见踩坑点与解决方案,旨在帮助开发者高效、稳健地完成U-Boot移植与定制工作。

yhn456789的博客 732

qPCRtools | 神仙R包分分钟搞定你的qPCR实验结果!~

1写在前面 不知道大家都是怎么完成qPCR的计算的,在不会R的时候,我是用一个祖传的Excel表进行计算的。🤣 但是,一直有个缺点,如果需要计算的量比较大时,就不方便了,去搜了一下文献,发现了一个最近发表的R包,不仅可以计算反转录的RNA体积,还可以帮助选择定量方法,简直是神仙R包,本期就介绍一下它的使用吧。🥰 感谢原作者的开发,嘿嘿,文末有引用方法。👀 2用到的包 rm(list = ls())library(tidyverse)library(ggsci)library(qPCRtools)librar

m0_72224305的博客 3986

【C#】Web Api

Web API 什么是Web API 原文链接:https://www.cnblogs.com/guyun/p/4589115.html 官方定义如下,强调两个关键点,即可以对接各种客户端(浏览器,移动设备),构建http服务的框架。 Web API在ASP.NET完整框架中地位如下图,与SignalR一起同为构建Service的框架。Web API负责构建http常规服务,而SingalR主要负...

学海无涯苦作舟 1134

头歌平台 操作系统课堂练习2.3:系统调用

使用 gdb 调试内核,跟踪到 main 函数入口的方法与之前实训一样。系统运行时,执行的前 3 个系统调用的编号和名字分别是什么?系统运行时,执行的前 3 个系统调用的编号和名字分别是什么?本关卡使用版本 1 内核进行分析,版本 1 内核文件存放在。为了完成本关任务,你需要:跟踪系统调用的发生。此时,系统调用号存放在寄存器 eax 中。

lazbuyaotoutu的博客 2万+

Web Animations API的使用

文章目录前言一、认识Web动画API二、Web Animations API介绍1.Animation属性事件处理程序方法简单使用2.关键帧(Keyframe)格式属性简单使用1. 第一种(数组类型)2. 第二种(对象类型)3.EffectTiming属性简单使用三、一个例子1.使用CSS2.使用Web Animations API① .动画模型② .时序模型③ .创建500个img④ .开启动画⑤ .获取动画信息⑥ .开启、暂停、加速、减速动画⑦ .最终效果总结 前言 做Web开发的朋友对CSS动画应该

qq_35543489的博客 1101

Seedance2.5本地部署:从环境配置到批量生图的工程实践指南

最近在几个技术社群里,看到不少人在讨论 AI 生图和视频工具。有人抱怨在线服务要么贵、要么慢、要么生成内容受限;也有人尝试了各种“免费”方案,结果不是功能残缺就是暗藏收费陷阱。就在大家觉得“又好又免费”的本地部署方案门槛太高时,Seedance2.5 突然冒了出来,而且口号相当直接:本地部署、完全免费、不联网、功能对标甚至超越一些付费产品。 但这类宣传我们见多了,真正的问题是:它到底能不能在普通开发者的机器上跑起来?生成质量是否真的可用?长期使用会不会遇到模型崩溃、依赖冲突或者资源爆炸?更重要的是,对于一个

weixin_27419879的博客 1129

2026年数学建模国赛论文排版规范:Word与LaTeX终极对比及模板

提前演练:不要等到比赛开始才第一次使用排版工具。至少在赛前一个月完成1-2篇模拟论文的全流程排版练习。建立检查清单:基于国赛规范制定排版检查清单,在提交前逐项核对——公式编号连续?图表引用准确?参考文献完整?页数不超限?善用模板但不止于模板:模板提供的是起点而非终点。根据自身需求调整宏包配置和样式参数,理解每一行配置的含义。关注评审体验:从评委的视角审视论文——重点内容是否突出?逻辑结构是否清晰?视觉层次是否合理?备份与容错:无论使用何种工具,建立多级备份机制。本地、云端、U盘各存一份,且定期保存历史版本。

YOLO 210

什么是好的 Web Api

web api 就像一张名片一样,专业的名片可以迅速帮助你与客户之间建立信任感,也可能让你的产品在被使用前,就给客户留下业余,糟糕的负面印象。而一旦客户对你的产品产生负面情绪,这种情绪就会蔓延到产品生态圈甚至于相关公司上。

让 Java 再次伟大! 703

C++ (week6、7):Linux系统编程4:网络

Linux网络:计算机网络概述、TCP协议、Socket编程、IO多路复用机制(select、epoll)、HTTP协议、进程池、线程池、大文件网络传输问题

Edward2022的博客 1430

Web API 之 — Web Animations

现代的前端,在页面上做动画,已经是家常便饭。浏览器的渲染性能也越来越好,并且还逐渐提供了一系列的 Web Animations API。此 API 让开发者可以使用 js 来创建动画,相比之前使用 css 做动画会方便很多,同时相比以前传统的用 js 做的动画会更加高效,并且相信未来此 API 的能力会越来越大。 Web Animations 可查看 w3c 的规范文档。在 caniuse 上,可查看浏览器的支持情况,如下: 可看到,目前主流浏览器均已支持此 API 的基本功能。下面我们就来学习一下此 A

weixin_49067499的博客 895

[Godot][入门] 安装与版本选择:3.x 还是 4.x?(按项目类型一键决策)

摘要: Godot引擎版本选择需根据项目需求权衡3.x与4.x。Godot4.x(如4.2)适合3D开发和新项目,支持Vulkan和GDScript2.0,但生态尚不成熟;Godot3.x(如3.5.3)则更适合稳定2D开发、Web导出及依赖现有插件/教程的场景。安装方式极简,官网下载解压即可运行。新手建议:短期高效选3.x,长期探索选4.x,旧项目勿盲目迁移。附版本对比表及决策树,助开发者快速匹配需求。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 910

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: 简单数据类型和复杂数据类型
下一篇: Web API - 02
一麻袋小猫
博客等级 码龄9年 57粉丝 220原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值