常用代码片段中整理

【python 常用加密算法】加密算法实现集合代码片段整理 1、md5加密 from hashlib import md5 r='hello world!' s=md5() #md5的加密串必须为字节码 s.update(r.encode()) # 16进制加密 sign=s.hexdigest() print(sign) 运行结果: fc3ff98e8c6a0d3087d515c0473f8677 Process finished with exit code 0 2、sha1 加密 import hashlib sha1 = hashlib.sha1() 阅读详情


//1. 检查图像是否加载完毕
$('img').load(function () {
console.log('image load successful ');
});
//2. 悬停切换
$(seletor).hover(function () {
$(this).addClass('hover');
}, function () {
$(this).removeClass('hover');
});
//或者使用toggleClass() 方法
$(selector).hover(function () {
$(this).toggleClass('hover');
})
//3. 鼠标滚轮
$('#content').on("mousewheel DOMMouseScroll", function (event) {
// chrome & ie || // firefox
var delta = (event.originalEvent.wheelDelta && (event.originalEvent.wheelDelta > 0 ? 1 : -1)) ||
(event.originalEvent.detail && (event.originalEvent.detail > 0 ? -1 : 1));
if (delta > 0) {
console.log('mousewheel top');
} else if (delta < 0) {
console.log('mousewheel bottom');
}
});
//4. 获取鼠标坐标
//1、 JavaScript实现
X: < input id = "xxx"type = "text" / > Y: < input id = "yyy" type = "text" / >
function mousePosition(ev) {
if (ev.pageX || ev.pageY) {
return {
x: ev.pageX,
y: ev.pageY
};
}
return {
x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y: ev.clientY + document.body.scrollTop - document.body.clientTop
};
}

function mouseMove(ev) {
ev = ev || window.event;
var mousePos = mousePosition(ev);
document.getElementById('xxx').value = mousePos.x;
document.getElementById('yyy').value = mousePos.y;
}
document.onmousemove = mouseMove;
// 5. 获取鼠标在元素区域内的坐标、 获取元素相对于页面的坐标
$('#ele').click(function (event) {
//获取鼠标在图片上的坐标
console.log('X:' + event.offsetX + '\n Y:' + event.offsetY);
//获取元素相对于页面的坐标
console.log('X:' + $(this).offset().left + '\n Y:' + $(this).offset().top);
});
//6. 禁止移动端浏览器页面滚动
a.HTML实现
<body ontouchmove = "event.preventDefault()">
b.JavaScript实现
document.addEventListener('touchmove', function (event) {
event.preventDefault();
});
//7. 阻止默认行为
// JavaScript
document.getElementById('btn').addEventListener('click', function (event) {
event = event || window.event;
if (event.preventDefault) {
// W3C
event.preventDefault();
} else {
// IE
event.returnValue = false;
}
}, false);
// jQuery
$('#btn').on('click', function (event) {
event.preventDefault();
});
//8. 阻止冒泡
// JavaScript
document.getElementById('btn').addEventListener('click', function (event) {
event = event || window.event;
if (event.stopPropagation) {
// W3C
event.stopPropagation();
} else {
// IE
event.cancelBubble = true;
}
}, false);
// jQuery
$('#btn').on('click', function (event) {
event.stopPropagation();
});
//9. 检测浏览器是否支持svg
function isSupportSVG() {
var SVG_NS = 'http://www.w3.org/2000/svg';
return !!document.createElementNS && !!document.createElementNS(SVG_NS, 'svg').createSVGRect;
}
console.log(isSupportSVG());
//10. 检测浏览器是否支持canvas
function isSupportCanvas() {
if (document.createElement('canvas').getContext) {
return true;
} else {
return false;
}
}
console.log(isSupportCanvas());
//11. 检测是否是微信浏览器
function isWeiXinClient() {
var ua = navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
return true;
} else {
return false;
}
}
alert(isWeiXinClient());
//12. 检测是否移动端及浏览器内核
var browser = {
versions: function () {
var u = navigator.userAgent;
return {
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Firefox') > -1, //火狐内核Gecko
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OSX/), //ios
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android
iPhone: u.indexOf('iPhone') > -1, //iPhone
iPad: u.indexOf('iPad') > -1, //iPad
webApp: u.indexOf('Safari') > -1 //Safari
};
}
}
if (browser.versions.mobile() || browser.versions.ios() || browser.versions.android() || browser.versions.iPhone() ||
browser.versions.iPad()) {
alert('移动端');
}
//13. 检测是否电脑端 / 移动端
var browser = {
versions: function () {
var u = navigator.userAgent,
app = navigator.appVersion;
var sUserAgent = navigator.userAgent;
return {
trident: u.indexOf('Trident') > -1,
presto: u.indexOf('Presto') > -1,
isChrome: u.indexOf("chrome") > -1,
isSafari: !u.indexOf("chrome") > -1 && (/webkit|khtml/).test(u),
isSafari3: !u.indexOf("chrome") > -1 && (/webkit|khtml/).test(u) && u.indexOf('webkit/5') !=
-1,
webKit: u.indexOf('AppleWebKit') > -1,
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
mobile: !!u.match(/AppleWebKit.*Mobile.*/),
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
iPhone: u.indexOf('iPhone') > -1,
iPad: u.indexOf('iPad') > -1,
iWinPhone: u.indexOf('Windows Phone') > -1
};
}()
}
if (browser.versions.mobile || browser.versions.iWinPhone) {
window.location = "http:/www.baidu.com/m/";
}
//14. 检测浏览器内核
function getInternet() {
if (navigator.userAgent.indexOf("MSIE") > 0) {
return "MSIE"; //IE浏览器
}
if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) {
return "Firefox"; //Firefox浏览器
}
if (isSafari = navigator.userAgent.indexOf("Safari") > 0) {
return "Safari"; //Safan浏览器
}
if (isCamino = navigator.userAgent.indexOf("Camino") > 0) {
return "Camino"; //Camino浏览器
}
if (isMozilla = navigator.userAgent.indexOf("Gecko/") > 0) {
return "Gecko"; //Gecko浏览器
}
}
//15. 强制移动端页面横屏显示
$(window).on("orientationchange", function (event) {
if (event.orientation == 'portrait') {
$('body').css('transform', 'rotate(90deg)');
} else {
$('body').css('transform', 'rotate(0deg)');
}
});
$(window).orientationchange();
//16. 电脑端页面全屏显示
function fullscreen(element) {
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen();
}
}
fullscreen(document.documentElement);
//17. 获得 / 失去焦点
<input id = "i_input" type = "text" value = "会员卡号/手机号" / >
// JavaScript
window.onload = function () {
var oIpt = document.getElementById("i_input");
if (oIpt.value == "会员卡号/手机号") {
oIpt.style.color = "#888";
} else {
oIpt.style.color = "#000";
};
oIpt.onfocus = function () {
if (this.value == "会员卡号/手机号") {
this.value = "";
this.style.color = "#000";
this.type = "password";
} else {
this.style.color = "#000";
}
};
oIpt.onblur = function () {
if (this.value == "") {
this.value = "会员卡号/手机号";
this.style.color = "#888";
this.type = "text";
}
};
}
jQuery实现
<input type = "text" class = "oldpsw" id = "showPwd" value = "请输入您的注册密码" / >
<input type = "password" name = "psw" class = "oldpsw" id = "password" value = "" style = "display:none;" / >
// jQuery
$("#showPwd").focus(function () {
var text_value = $(this).val();
if (text_value == '请输入您的注册密码') {
$("#showPwd").hide();
$("#password").show().focus();
}
});
$("#password").blur(function () {
var text_value = $(this).val();
if (text_value == "") {
$("#showPwd").show();
$("#password").hide();
}
});
18. 限制字符数
<input id = "txt" type = "text" >
//字符串截取
function getByteVal(val, max) {
var returnValue = '';
var byteValLen = 0;
for (var i = 0; i < val.length; i++) {
if (val[i].match(/[^\x00-\xff]/ig) != null) byteValLen += 2;
else byteValLen += 1;
if (byteValLen > max) break;
returnValue += val[i];
}
return returnValue;
}
$('#txt').on('keyup', function () {
var val = this.value;
if (val.replace(/[^\x00-\xff]/g, "**").length > 14) {
this.value = getByteVal(val, 14);
}
});
19. 验证码倒计时
<input id = "send" type = "button" value = "发送验证码" >
// JavaScript
var times = 60, // 时间设置60秒
timer = null;
document.getElementById('send').onclick = function () {
// 计时开始
timer = setInterval(function () {
times--;
if (times <= 0) {
send.value = '发送验证码';
clearInterval(timer);
send.disabled = false;
times = 60;
} else {
send.value = times + '秒后重试';
send.disabled = true;
}
}, 1000);
}
jQuery实现
var times = 60,
timer = null;
$('#send').on('click', function () {
var $this = $(this);
// 计时开始
timer = setInterval(function () {
times--;
if (times <= 0) {
$this.val('发送验证码');
clearInterval(timer);
$this.attr('disabled', false);
times = 60;
} else {
$this.val(times + '秒后重试');
$this.attr('disabled', true);
}
}, 1000);
});
//20. 时间倒计时
<p id = "_lefttime" > < /p>
var times = 60,
timer = null;
$('#send').on('click', function () {
var $this = $(this);
// 计时开始
timer = setInterval(function () {
times--;
if (times <= 0) {
$this.val('发送验证码');
clearInterval(timer);
$this.attr('disabled', false);
times = 60;
} else {
$this.val(times + '秒后重试');
$this.attr('disabled', true);
}
}, 1000);
});
//21. 倒计时跳转
<div id = "showtimes" > < /div>
// 设置倒计时秒数
var t = 10;
// 显示倒计时秒数
function showTime() {
t -= 1;
document.getElementById('showtimes').innerHTML = t;
if (t == 0) {
location.href = 'error404.asp';
}
//每秒执行一次 showTime()
setTimeout("showTime()", 1000);
}
showTime();
//22. 时间戳、 毫秒格式化
function formatDate(now) {
var y = now.getFullYear();
var m = now.getMonth() + 1; // 注意 JavaScript 月份+1
var d = now.getDate();
var h = now.getHours();
var m = now.getMinutes();
var s = now.getSeconds();
return y + "-" + m + "-" + d + " " + h + ":" + m + ":" + s;
}
var nowDate = new Date(1442978789184);
alert(formatDate(nowDate));
//23. 当前日期
function formatDate(now) {
var y = now.getFullYear();
var m = now.getMonth() + 1; // 注意 JavaScript 月份+1
var d = now.getDate();
var h = now.getHours();
var m = now.getMinutes();
var s = now.getSeconds();
return y + "-" + m + "-" + d + " " + h + ":" + m + ":" + s;
}
var nowDate = new Date(1442978789184);
//24. 判断周六 / 周日
<p id = "text" > < /p>

function time(y, m) {
var tempTime = new Date(y, m, 0);
var time = new Date();
var saturday = new Array();
var sunday = new Array();
for (var i = 1; i <= tempTime.getDate(); i++) {
time.setFullYear(y, m - 1, i);
var day = time.getDay();
if (day == 6) {
saturday.push(i);
} else if (day == 0) {
sunday.push(i);
}
}
var text = y + "年" + m + "月份" + "<br />" +
"周六:" + saturday.toString() + "<br />" +
"周日:" + sunday.toString();
document.getElementById("text").innerHTML = text;
}
time(2018, 5);
//25. AJAX调用错误处理
当 Ajax 调用返回 404 或 500 错误时, 就执行错误处理程序。 如果没有定义处理程序, 其他的 jQuery 代码或会就此罢工。 定义一个全局的 Ajax 错误处理程序
$(document).ajaxError(function (e, xhr, settings, error) {
console.log(error);
})

MIKE11实战:平原河网水动力建模从入门到精通(附GIS数据处理技巧) 本文系统介绍了MIKE11软件在平原河网水动力建模中的完整实战流程。从GIS数据预处理、河网构建、参数率定到结果分析,详细阐述了构建可靠数字孪生模型的关键步骤与技巧,旨在帮助水利工程师高效解决平原地区复杂水流模拟的挑战,为防洪决策提供科学依据。 阅读详情

相关推荐

【汽车ECU电控数据管理篇】A2L文件在ECU标定中的关键作用与实战解析

本文深入解析A2L文件在汽车ECU标定中的关键作用,详细介绍了其作为'数据字典'的核心功能与实战应用。通过剖析A2L文件的结构、关键标签及常见问题,帮助工程师高效管理电控数据,提升ECU标定效率与准确性。文章特别强调了ASAP2标准下的A2L文件在汽车电控系统中的重要性。

a3b4c5的博客 789

javascript 中 $(“#password“)

Javascript中$符号的意思 $,是指prototype定义的一类方法 $("id") 得到的是页面id为"id"的元素 $F("id") 得到的是页面id为"id"的元素的值,这是只读的,不可写

代码人生的博客 775

matlab电偶极子源码,电偶极子的MATLAB场模拟

电偶极子周围电场电势分布的MATLAB三维模拟Matlab可以用于模拟四维场的效果,本文以电偶极子的电场和电势场为例展示MATLAB在该方面领域的应用。摘要电偶极子由一个正电荷和一个负电荷组成,其电场和空间电势分布与单电荷相比具有一些重要的特性。本文将给出电场和电势场的近似表达式。这两个量的精确表达式是复杂的,不太常用,因此 MATLAB 被采用来操作精确值和绘制三维分布的远区域, 近区域和一侧区...

weixin_35135480的博客 3150

记录JavaScript中使用keyup事件做输入验证(附event.keyCode表)

input的blur事件 $("#input-name").blur(function () { var value = $(this).val(); if (value === '') { return; } if (/^[\u4e00-\u9fa5]{1,3}$/.test(value)) { ...

weixin_34279246的博客 364

2026 具身智能 VLA/WAM 全栈学习与训练路线:从动作建模、SFT、RL 到世界模型的 RTX PRO 6000 96GB 单卡实战指南

我会把这张表做成“”而不是只列论文名:先核对每个模型截至的公开代码、训练目标和数据接口,再单独给你一套。对于没有公开、只有推理代码或训练细节不完整的模型,我会明确标出来,避免把“论文里提到”误写成“可复现”。目前有一个重要更新:。截至今天 NVIDIA 官方开源主线已经是换成 Cosmos-Reason2-2B/Qwen3-VL 架构,动作端仍是连续路线,而且官方明确给出单卡微调时默认只训练,峰值显存约。所以你的 96GB 单卡对 GR00T SFT 非常宽裕。可以。下面我按,把它整理成一张真正面向“

u013250861的博客 445

Python海康摄像头SDK二次开发

摘要:为解决海康威视摄像头RTSP拉流延迟严重的问题,本文提出改用海康私有SDK直接取流的方案。通过下载海康设备网络SDK并调用其Python接口,实现了低延迟的视频流获取。文中详细介绍了SDK配置流程,并提供了优化版的Python代码示例,重点解决回调函数处理、队列缓冲和CPU占用等问题。测试结果表明,该方案显著降低了延迟,同时保持了较高的帧率(30FPS以上)和较低的CPU占用率(约2%)。相较于传统OpenCV+FFmpeg的RTSP方案,海康SDK直接取流在实时性方面具有明显优势。

xiaohouzi112233的博客 2608

plsq如何快捷整理代码_如何整理和保存常用代码片段

SnippetsLab是一款为Mac平台的开发者设计的代码编辑管理工具,软件拥有代码管理与代码编写功能,帮助大家者收集整理代码片段,快速调用有价值的代码片段,打造属于个人的代码仓库。SnippetsLab不像是一款专业的代码编辑器,更像是一款资源库,帮助大家整理收集常用的代码片段,让大家可以随时调用。SnippetsLabMac版是一款 Mac 平台的面向开发者的代码管理与编写工具,专注于帮助使用...

weixin_32612347的博客 135

保姆级教程:在树莓派5B上用AI Kit跑YOLOv8,实测134fps的完整配置流程

本文提供了一份详细的树莓派5B搭配AI Kit部署YOLOv8的教程,从硬件组装到模型转换、优化和部署,最终实现134FPS的高帧率推理性能。通过Hailo-8L AI加速模块和HEF模型转换,这套方案为边缘AI计算提供了强大支持,适用于智能监控、无人机视觉导航等应用场景。

weixin_28725407的博客 448

IOS开发-OC学习-常用功能代码片段整理

IOS开发-OC学习-常用功能代码片段整理   IOS开发中会频繁用到一些代码段,用来实现一些固定的功能。比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成。或者是在做与URL有关的功能时,需要在Info.plist中添加一段代码进而实现让网址完成从Http到Https的转换,如何使用定时器完成一些耗时的模拟以及其他的一些功能。   在从...

aibiao0099的博客 258

关于小样本学习综述论文的总结

对小样本学习综述的个人总结

qq_46176086的博客 5456

基于yolov5的鸟类图像准确识别

本项目主要基于yolov5进行鸟类准确识别,主要识别白鹭家族,红脚鹬,反嘴鹬,环颈珩,小白鹭以及夜鹭六类鸟

weixin_46064184的博客 3823

【工具】vscode 常用代码片段整理

目录 1、js 2、react 3、vue 1、js { "console.log": { "prefix": "ccg", "body": [ "console.log($1, '=====$2')", ] }, "debugger": { "prefix": "ddg", "body": [ "console.log($1, '=====$2')", "debugger" ] }, "if": { "prefix": "iif",

痕 ` 浅 3394

CDD数据库文件制作(二)——DTC配置

1.DTC库 2.新建DTC DTC相关介绍:https://blog.csdn.net/LOVE135149/article/details/122565443 ① 选择DTC数据库 ② 点击新建DTC ③ DTC参数编辑 3.将DTC库中的DTC加载到Variant中 找到Fault Memory的DTC Table,鼠标放在DTC Table区域,右键点击选择Copy … Reference from Available DTCs…,即可将DTC库中的故障码加载至Variant中。 虽然选择Co

LOVE135149的博客 1万+

VS code 常用代码片段整理

{ // ---------------------------js "scr": { "prefix": "scr", "body": [ "<script type=\"text/javascript\" >", "$0", "</script>" ], "description": "<script type=\"text/javascript\"></script>" },

treasure of code 的博客 1766

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

常用代码片段自整理

平常经常重复去百度一些代码片段,后来想想与其每次都去百度,不如自己做一个整理,用的时候方便!JAVA部分获得时间戳://方法一,效率第一 System.currentTimeMillis(); //方法二,效率第二 new Date().getTime(); //方法三,效率第三 Calendar.getInstance().getTimeInMillis();

JunTChen的博客 321

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

JSPatch项目常用代码片段整理

在公司做的2个项目都是企业证书发布,没有上架App Store,也经常需要发热修复,所以将项目中常用的代码片段记录起来,方便复用 1、私有变量 //_timestamp是带下划线的变量名 self.valueForKey("_timestamp"); self.setValue_forKey(value, "_timestamp"); 2、NSString //占位符都用@ var s...

无 324

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

php代码整理,php中常用字符串处理代码片段整理

php中常用字符串处理代码片段,使用php的朋友可以参考下。移除 HTML 标签$text = strip_tags($input, "");上面的函数主要是使用了strip_tags,具体的使用说明参考。返回 $start 和 $end 之间的文本function GetBetween($content,$start,$end){$r = explode($start, $content);if...

weixin_32312889的博客 130

新手必备的常用 Android 代码片段整理

新手必备的常用 Android 代码片段整理 2016-01-20 安卓应用频道 (点击上方公众号,可快速关注) 来源:赵凯强(@裸奔的凯子哥) 链接:http://blog.csdn.net/zhaokaiqiang1992/article/details/44724057 以下内容来自多个开源项目的整理和自己的项目积累。

lxr_17的博客 310

【整理】【精华】【实用】常用代码片段

/**舒工Ajax-lite 1.0 -- 最精简的ajax自定义访问方法*/ if ($g) { $g.$utils || ($g.$utils = {}); } else { var $g = {}; $g.$utils = {}; } $g.$utils.ajax = function (o) { var p = o.post, g = o.get, d =...

我驾驶汽车从不是为了从A点到达B点,我喜欢去感受汽车,与之交流,与之融为一体。 1万+

前端-常用代码片段整理

日常工作使用!!!

weixin_48539123的博客 358

常用代码片段整理

关于安卓开发的一些基础

XMFX12138的博客 369

Android:常用代码片段整理

拨打电话 public static void call(Context context, String phoneNumber) { context.startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber))); } 跳转至拨号界面 public static void

zhenfei.wang的博客 342

新手必备的常用代码片段整理(一)

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 以下内容来自多个开源项目的整理和自己的项目积累 拨打电话跳转至拨号界面发送短信唤醒屏幕并解锁判断当前App处于前台还是后台状态判断当前手机是否处于锁屏睡眠状态判断当前是否有网络连接判断当前是否是WIFI连接状态安装APK判断当前设备是否为手机获取当前设备宽高单位px获

zhouzhangcheng123的专栏 420

android如何将代码整理,Android:新手必备的常用代码片段整理(一)

以下内容来自多个开源项目的整理和自己的项目积累。1.拨打电话public static void call(Context context, String phoneNumber) {context.startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)));}2.跳转至拨号界面public stat...

weixin_39536728的博客 402

jquery常用代码片段整理

/*字符串操作*//*select相关*/var sltdis = $("#ddlDistrict")[0];//获取select对象,也可以写成$("#ddlDistrict").get(0)sltdis.options.add(new Option(result[i][j].NAME, result[i][j].ID));//给select添加项sltpro.length = 0;//清空select所有下拉项var index = sltdis.selectedIndex;//获取select选中项索

千里之行 始于足下 485

Android常用技巧以及代码片段整理

1、问题:在一般的程序中(比如:HelloWorld)中按下音量键,调整的是铃声音量,而非多媒体音量,有时我们在开发游戏的过程中,需要调整游戏音量,即背景音乐或者游戏音效,当游戏背景音乐播放的时候,按下音量键,调整的是多媒体音量,不播放时,调整的就是铃声音量,但是一般的游戏中,我们的需求是,进入游戏之后,无论背景音乐是否播放,按下音量键,调整的都是多媒体声音大小。 答案:将这段代码Selecto

1478
上一篇: Vant安装和使用
下一篇: vue 的点击事件怎么获取当前点击的元素
子化诗理
博客等级 码龄9年 22粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值