加密 & 解密
MD5文本加密
RIPEMD160 哈希加密
HMAC哈希加密
SHA哈希加密
AES加密/解密
DES加密/解密
Rabbit加密/解密
RC4加密/解密
wetools不可逆JS加密
特殊JS解密
更多...
站长工具
SSL证书验证
WordPress主题检测
User Agent 分析工具
微信安全域名检测
网页 meta 信息检测
网站 HTTP/2 检测
Alexa 排名查询
WebSocket 测试工具
域名综合检测工具
网页 Meta 标签生成器
更多...
文本工具
在线文本比较
英文大小写转换
文章字数统计
文字竖排工具
文本去重工具
Markdown编辑器
文字隐藏工具
文本空行移除工具
文本两端空格删除工具
文本行号添加/删除工具
更多...
换算工具
长度换算工具
角度换算工具
体积换算工具
面积换算工具
温度换算工具
密度换算工具
数据存储单位换算
功率换算工具
压力换算工具
IP转数字
更多...
编码 & 解码
摩尔斯电码
Base64编码/解码
UTF8转中文
Unicode转中文
URL编码/解码
Hex编码/解码
全角/半角转换
Punycode 编码/解码
常用对照表
ASCII 字符参考表
URL 转义字符参考表
HTTP状态码对照表
常见 MimeType 参考表
HTML 转义字符
特殊符号大全
常用 Linux 命令
Emoji 表情大全
VS Code 常用快捷键
HTTP 请求方法一览表
更多...
更多
加密 & 解密
MD5文本加密
RIPEMD160 哈希加密
HMAC哈希加密
SHA哈希加密
AES加密/解密
DES加密/解密
Rabbit加密/解密
RC4加密/解密
wetools不可逆JS加密
特殊JS解密
站长工具
SSL证书验证
WordPress主题检测
User Agent 分析工具
微信安全域名检测
网页 meta 信息检测
网站 HTTP/2 检测
Alexa 排名查询
WebSocket 测试工具
域名综合检测工具
网页 Meta 标签生成器
chatgpt在线
文本工具
在线文本比较
英文大小写转换
文章字数统计
文字竖排工具
文本去重工具
Markdown编辑器
文字隐藏工具
文本空行移除工具
文本两端空格删除工具
文本行号添加/删除工具
中英混排工具
换算工具
长度换算工具
角度换算工具
体积换算工具
面积换算工具
温度换算工具
密度换算工具
数据存储单位换算
功率换算工具
压力换算工具
IP转数字
PX 转 EM 工具
编码 & 解码
摩尔斯电码
Base64编码/解码
UTF8转中文
Unicode转中文
URL编码/解码
Hex编码/解码
全角/半角转换
Punycode 编码/解码
常用对照表
ASCII 字符参考表
URL 转义字符参考表
HTTP状态码对照表
常见 MimeType 参考表
HTML 转义字符
特殊符号大全
常用 Linux 命令
Emoji 表情大全
VS Code 常用快捷键
HTTP 请求方法一览表
常用AI写作提示词
更多
首页
开发工具
HTML/JS互转
javascript 代码净化
JS 代码压缩工具
js 在线运行
国家地区参考
中文域名编码
搜索历史
搜索
HTML/JS互转
当前已使用
38557
次数
按 Ctrl+D 收藏本页面
添加到常用
分享该工具
反馈
请输入要转换的 HTML 代码
清空文本
/* * @Author: TonyJiangWJ * @Date: 2022-05-15 13:16:06 * @Last Modified by: TonyJiangWJ * @Last Modified time: 2022-05-15 14:30:06 * @Description: */ // Auto** Pro 使用如下方式引入 解除注释 // importPackage(Packages["okhttp3"]) try { importClass("okhttp3.OkHttpClient") importClass("okhttp3.FormBody") importClass("okhttp3.Request") } catch (e) { // } console.show() /** * 下载小米运动APP 现在名字叫 Zepp Life * 注册一个账号 手机号可以直接注册 邮箱的需要选择地区为 其他 * 这一步非常重要 否则刷的步数无意义:登录后进入APP的第三方接入 绑定到支付宝 * 然后在下面的accounts中配置一下用户名密码 手机号的需要增加+86前缀 邮箱的不需要 * 然后运行当前脚本即可自动刷步数数据 如果不需要随机的步数将min和max改成相同即可 或者可以将范围改大一些 * 运行完毕后APP将会被踢出登录,先试一下 数据能到支付宝之后就可以将APP卸载,后续每天修改步数后都会通过华米自有协议同步到支付宝中不再需要打开APP * * 对当前脚本设置一个每日自动执行的定时任务即可每天自动刷步数了 建议时间为晚上 */ /** * 配置需要自动生成步数数据的账号 手机号的需要增加+86前缀 * min,max 设置一个随机的范围 生成随机的步数 */ let accounts = [ { userName: '+86手机号', password: '密码', min: 8000, max: 15000 }, { userName: '邮箱', password: '密码', min: 8000, max: 15000 }, ] let total = accounts.length accounts.forEach((config, idx) => { console.log('准备生成账号[' + config.userName + ']的步数') generateFakeWalkStep(config) if (idx < total - 1) { console.log('延迟五秒钟执行下一个') // 延迟五秒钟 sleep(5000) } }) function generateFakeWalkStep (config) { let step = generateRandomStep(config.min, config.max) let result = fakeWalkData(config.userName, config.password, step, device.getAndroidId()) if (result) { toastLog('账号' + config.userName + '修改步数成功 随机步数:' + step) } else { toastLog('账号' + config.userName + '修改步数失败') } } function generateRandomStep (min, max) { min = min || 8000 max = max || 15000 if (min == max) { return min } if (min > max) { min = min + max max = min - max min = min - max } return min + parseInt((Math.random() * max) % (max - min)) } function fakeWalkData (userName, password, walkStep, deviceId) { let accessToken = getAccessToken(userName, password) if (accessToken == null) { console.error('获取accessToken失败') return false } let loginResult = login(accessToken, deviceId) if (loginResult == null) { console.error('登录失败') return false } return changeWalkingStep(loginResult.userId, loginResult.appToken, walkStep, deviceId) function getAccessToken (userName, password) { let requestUrl = 'https://api-user.huami.com/registrations/' + userName + '/tokens' let requestBody = new FormBody.Builder() .add("client_id", "HuaMi") .add("password", password) .add("redirect_uri", "https://s3-us-west-2.amazonaws.com/hm-registration/successsignin.html") .add("token", "access") .build() let request = new Request.Builder() .addHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8") .addHeader("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2") .url(requestUrl) .post(requestBody) .build() let client = new OkHttpClient.Builder().followRedirects(false).followSslRedirects(false).build() let response = client.newCall(request).execute() let location = response.header("Location") let regex = /.*access=([^&]+)&\w+=/ if (!regex.test(location)) { console.error('请求access token失败') return null } let accessToken = regex.exec(location)[1] return accessToken } function login (accessToken, deviceId) { let loginUrl = "https://account.huami.com/v2/client/login" let requestBody = new FormBody.Builder() .add("app_name", "com.xiaomi.hm.health") .add("app_version", "6.0.1") .add("code", accessToken) .add("country_code", "unknown") .add("device_id", deviceId) .add("device_model", "android_phone") .add("grant_type", "access_token") .add("third_name", "huami") .add("allow_registration", "false") .add("dn", "account.huami.com%2Capi-user.huami.com%2Capi-watch…m%2Capp-analytics.huami.com%2Capi-mifit.huami.com") .add("source", "com.xiaomi.hm.health%3A6.0.1%3A50545") .add("lang", "zh") .build() let request = new Request.Builder() .addHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8") .addHeader("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2") .url(loginUrl) .post(requestBody) .build() let client = new OkHttpClient.Builder().followRedirects(false).followSslRedirects(false).build() let response = client.newCall(request).execute() if (response.isSuccessful()) { let responseBody = response.body() if (responseBody != null) { let responseString = responseBody.string() let resultJson = **ON.parse(responseString) let tokenInfo = resultJson.token_info if (tokenInfo != null) { let userId = tokenInfo.user_id let appToken = tokenInfo.app_token return { userId: userId, appToken: appToken } } } } return null } function changeWalkingStep (userId, appToken, walkStep, deviceId) { let date = new java.text.SimpleDateFormat("yyyy-MM-dd").format(new Date()) let timeStamp = new Date().getTime() let jsonData = "[{\"data_hr\":\"//////9L////////////Vv///////////0v///////////9e/////0n/a///S////////////0b//////////1FK////////////R/////////////////9PTFFpaf9L////////////R////////////0j///////////9K////////////Ov///////////zf///86/zr/Ov88/zf/Pf///0v/S/8/////////////Sf///////////z3//////0r/Ov//////S/9L/zb/Sf9K/0v/Rf9H/zj/Sf9K/0//N////0D/Sf83/zr/Pf9M/0v/Ov9e////////////S////////////zv//z7/O/83/zv/N/83/zr/N/86/z//Nv83/zn/Xv84/zr/PP84/zj/N/9e/zr/N/89/03/P/89/z3/Q/9N/0v/Tv9C/0H/Of9D/zz/Of88/z//PP9A/zr/N/86/zz/Nv87/0D/Ov84/0v/O/84/zf/MP83/zH/Nv83/zf/N/84/zf/Of82/zf/OP83/zb/Mv81/zX/R/9L/0v/O/9I/0T/S/9A/zn/Pf89/zn/Nf9K/07/N/83/zn/Nv83/zv/O/9A/0H/Of8//zj/PP83/zj/S/87/zj/Nv84/zf/Of83/zf/Of83/zb/Nv9L/zj/Nv82/zb/N/85/zf/N/9J/zf/Nv83/zj/Nv84/0r/Sv83/zf/MP///zb/Mv82/zb/Of85/z7/Nv8//0r/S/85/0H/QP9B/0D/Nf89/zj/Ov83/zv/Nv8//0f/Sv9O/0ZeXv///////////1X///////////9B////////////TP///1b//////0////////////9N/////////v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+\",\"date\":\"\",\"data\":[{\"start\":0,\"stop\":1439,\"value\":\"UA8AUBQAUAwAUBoAUAEAYCcAUBkAUB4AUBgAUCAAUAEAUBkAUAwAYAsAYB8AYB0AYBgAYCoAYBgAYB4AUCcAUBsAUB8AUBwAUBIAYBkAYB8AUBoAUBMAUCEAUCIAYBYAUBwAUCAAUBgAUCAAUBcAYBsAYCUAATIPYD0KECQAYDMAYB0AYAsAYCAAYDwAYCIAYB0AYBcAYCQAYB0AYBAAYCMAYAoAYCIAYCEAYCYAYBsAYBUAYAYAYCIAYCMAUB0AUCAAUBYAUCoAUBEAUC8AUB0AUBYAUDMAUDoAUBkAUC0AUBQAUBwAUA0AUBsAUAoAUCEAUBYAUAwAUB4AUAwAUCcAUCYAUCwKYDUAAUUlEC8IYEMAYEgAYDoAYBAAUAMAUBkAWgAAWgAAWgAAWgAAWgAAUAgAWgAAUBAAUAQAUA4AUA8AUAkAUAIAUAYAUAcAUAIAWgAAUAQAUAkAUAEAUBkAUCUAWgAAUAYAUBEAWgAAUBYAWgAAUAYAWgAAWgAAWgAAWgAAUBcAUAcAWgAAUBUAUAoAUAIAWgAAUAQAUAYAUCgAWgAAUAgAWgAAWgAAUAwAWwAAXCMAUBQAWwAAUAIAWgAAWgAAWgAAWgAAWgAAWgAAWgAAWgAAWREAWQIAUAMAWSEAUDoAUDIAUB8AUCEAUC4AXB4AUA4AWgAAUBIAUA8AUBAAUCUAUCIAUAMAUAEAUAsAUAMAUCwAUBYAWgAAWgAAWgAAWgAAWgAAWgAAUAYAWgAAWgAAWgAAUAYAWwAAWgAAUAYAXAQAUAMAUBsAUBcAUCAAWwAAWgAAWgAAWgAAWgAAUBgAUB4AWgAAUAcAUAwAWQIAWQkAUAEAUAIAWgAAUAoAWgAAUAYAUB0AWgAAWgAAUAkAWgAAWSwAUBIAWgAAUC4AWSYAWgAAUAYAUAoAUAkAUAIAUAcAWgAAUAEAUBEAUBgAUBcAWRYAUA0AWSgAUB4AUDQAUBoAXA4AUA8AUBwAUA8AUA4AUA4AWgAAUAIAUCMAWgAAUCwAUBgAUAYAUAAAUAAAUAAAUAAAUAAAUAAAUAAAUAAAUAAAWwAAUAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAeSEAeQ8AcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcBcAcAAAcAAAcCYOcBUAUAAAUAAAUAAAUAAAUAUAUAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcCgAeQAAcAAAcAAAcAAAcAAAcAAAcAYAcAAAcBgAeQAAcAAAcAAAegAAegAAcAAAcAcAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcCkAeQAAcAcAcAAAcAAAcAwAcAAAcAAAcAIAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcCIAeQAAcAAAcAAAcAAAcAAAcAAAeRwAeQAAWgAAUAAAUAAAUAAAUAAAUAAAcAAAcAAAcBoAeScAeQAAegAAcBkAeQAAUAAAUAAAUAAAUAAAUAAAUAAAcAAAcAAAcAAAcAAAcAAAcAAAegAAegAAcAAAcAAAcBgAeQAAcAAAcAAAcAAAcAAAcAAAcAkAegAAegAAcAcAcAAAcAcAcAAAcAAAcAAAcAAAcA8AeQAAcAAAcAAAeRQAcAwAUAAAUAAAUAAAUAAAUAAAUAAAcAAAcBEAcA0AcAAAWQsAUAAAUAAAUAAAUAAAUAAAcAAAcAoAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAYAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcBYAegAAcAAAcAAAegAAcAcAcAAAcAAAcAAAcAAAcAAAeRkAegAAegAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAEAcAAAcAAAcAAAcAUAcAQAcAAAcBIAeQAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcBsAcAAAcAAAcBcAeQAAUAAAUAAAUAAAUAAAUAAAUBQAcBYAUAAAUAAAUAoAWRYAWTQAWQAAUAAAUAAAUAAAcAAAcAAAcAAAcAAAcAAAcAMAcAAAcAQAcAAAcAAAcAAAcDMAeSIAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcAAAcBQAeQwAcAAAcAAAcAAAcAMAcAAAeSoAcA8AcDMAcAYAeQoAcAwAcFQAcEMAeVIAaTYAbBcNYAsAYBIAYAIAYAIAYBUAYCwAYBMAYDYAYCkAYDcAUCoAUCcAUAUAUBAAWgAAYBoAYBcAYCgAUAMAUAYAUBYAUA4AUBgAUAgAUAgAUAsAUAsAUA4AUAMAUAYAUAQAUBIAASsSUDAAUDAAUBAAYAYAUBAAUAUAUCAAUBoAUCAAUBAAUAoAYAIAUAQAUAgAUCcAUAsAUCIAUCUAUAoAUA4AUB8AUBkAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAAfgAA\",\"tz\":32,\"did\":\"\",\"src\":24}],\"summary\":\"\",\"source\":24,\"type\":0}]" // TODO 重新生成stp数据 目前是固定写死的 let summary = {"v":6,"slp":{"st":1628296479,"ed":1628296479,"dp":0,"lt":0,"wk":0,"usrSt":-1440,"usrEd":-1440,"wc":0,"is":0,"lb":0,"to":0,"dt":0,"rhr":0,"ss":0},"stp":{"ttl":18272,"dis":10627,"cal":510,"wk":41,"rn":50,"runDist":7654,"runCal":397,"stage":[{"start":327,"stop":341,"mode":1,"dis":481,"cal":13,"step":680},{"start":342,"stop":367,"mode":3,"dis":2295,"cal":95,"step":2874},{"start":368,"stop":377,"mode":4,"dis":1592,"cal":88,"step":1664},{"start":378,"stop":386,"mode":3,"dis":1072,"cal":51,"step":1245},{"start":387,"stop":393,"mode":4,"dis":1036,"cal":57,"step":1124},{"start":394,"stop":398,"mode":3,"dis":488,"cal":19,"step":607},{"start":399,"stop":414,"mode":4,"dis":2220,"cal":120,"step":2371},{"start":415,"stop":427,"mode":3,"dis":1268,"cal":59,"step":1489},{"start":428,"stop":433,"mode":1,"dis":152,"cal":4,"step":238},{"start":434,"stop":444,"mode":3,"dis":2295,"cal":95,"step":2874},{"start":445,"stop":455,"mode":4,"dis":1592,"cal":88,"step":1664},{"start":456,"stop":466,"mode":3,"dis":1072,"cal":51,"step":1245},{"start":467,"stop":477,"mode":4,"dis":1036,"cal":57,"step":1124},{"start":478,"stop":488,"mode":3,"dis":488,"cal":19,"step":607},{"start":489,"stop":499,"mode":4,"dis":2220,"cal":120,"step":2371},{"start":500,"stop":511,"mode":3,"dis":1268,"cal":59,"step":1489},{"start":512,"stop":522,"mode":1,"dis":152,"cal":4,"step":238}]},"goal":8000,"tz":"28800"} summary.stp.ttl = walkStep let postData = **ON.parse(jsonData)[0] postData.date = date postData.did = deviceId postData.summary = **ON.stringify(summary) jsonData = **ON.stringify([postData]) console.verbose(jsonData) let url = "https://api-mifit-cn.huami.com/v1/data/band_data.json?&t=" + timeStamp let requestBody = new FormBody.Builder() .add("userid", "" + userId) .add("last_sync_data_time", (timeStamp / 1000 - 3600).toFixed(0)) .add("device_type", "0") .add("last_deviceid", deviceId) .add("data_json", jsonData) .build() let request = new Request.Builder() .addHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8") .addHeader("apptoken", appToken) .url(url) .post(requestBody) .build() let client = new OkHttpClient.Builder().followRedirects(false).followSslRedirects(false).build() let response = client.newCall(request).execute() if (response.isSuccessful()) { let responseBody = response.body() if (responseBody != null) { let result = **ON.parse(responseBody.string()) return result.message === 'success' } } else { return false } return false } }
请输入 JS 代码
清空文本
最近使用:
HTML/JS互转
HTML/JS互转
HTML/JS互转
HTML/JS互转
HTML/JS互转
HTML/JS互转
HTML/JS互转
HTML/JS互转
HTML/JS互转
工具说明
本工具提供了 HTML 和 JS 互转的功能,支持把一段 HTML 代码转化成 JS 代码,同时也支持把 JS 代码转换成 HTML 代码。本质上,是利用了 JS 的 document.writeln 方法来输出对应的 HTML 代码。
相关工具推荐
XML 代码格式化
#开发工具
xml-formatter
JS 代码压缩工具
#开发工具
js-compress
XML 转 JSON
#开发工具
xml-to-json
JavaScript 代码格式化
#开发工具
js-formatter
Javascript转换Typescript
#开发工具
js2ts
JavaScript 代码净化
#开发工具
js-purify
SQL 代码压缩工具
#开发工具
sql-minify
设备特征检测工具
#开发工具
device-feature-detect
YAML 转 JSON
#开发工具
yaml
分享该工具
复制链接
分享到
微信
微博
QQ
QQ空间
已从常用中删除!
复制成功!
扫描关注公众号