当前位置: 首页 > news >正文

前端pc和小程序接入快递100(跳转方式和api方式)====实时查询接口

文章目录

    • 跳转方式
      • 微信小程序(我以uniapp为例)
      • pc
    • api接入
      • 说明
      • 关于签名计算
      • 成功示例

跳转方式

没有任何开发成本,直接一键接入

可以直接看官方文档

https://www.kuaidi100.com/openapi/api_wxmp.shtml

微信小程序(我以uniapp为例)

https://fuwu.weixin.qq.com/service/detail/00008caeab84c07c17dcdabf55b815

  1. 小程序管理后台添加插件(【设置】-【第三方设置】-【插件管理】-【搜索 wx6885acbedba59c14】)
    在这里插入图片描述

  2. manifest.json增加配置(这里直接copy不用改动)

    "mp-weixin": {"plugins": {"kdPlugin": {"version": "1.1.2","provider": "wx6885acbedba59c14"}}
    }
    
  3. 调用插件

    // num是快递单号 appName是小程序的名称 还有其他参数参见官网uni.navigateTo({url: "plugin://kdPlugin/index?num=xxx&appName=xxx",
    })<navigator url="plugin://kdPlugin/index?num=xxx&appName=xxx"></navigator>
    

缺点:

  1. 默认页面只有最新的一条数据,如果要查看更多需要跳转到他们的小程序
  2. 跳转到他们的小程序默认有几秒钟的广告(虽然可以跳过)

pc

https://www.kuaidi100.com/openapi/api_jump.shtml

window.open('https://www.kuaidi100.com/chaxun?com=[]&nu=[]');

缺点:经我测试查询有问题

  1. 有时候能出结果,但有时候查不出结果
  2. 查询很慢,需要3-7秒左右

我猜测这个应该是官方做了限制,避免被白嫖

api接入

说明

这种方式需要服务端接入,而不是前端直接接入(postman可以调通,但是浏览器会有跨域问题

关于签名计算

官方写的很简单:签名, 用于验证身份, 按param + key + customer 的顺序进行MD5加密(注意加密后字符串一定要转32位大写), 不需要加上“+”号

我最后是通过管理后台的签名和我自己写的签名算法对比才得出最终的计算方式

有几点需要注意的

  1. 请求头的content-typeapplication/x-www-form-urlencoded
  2. 虽然请求方式是post,但是参数写到bodyurl中都是可以的
  3. !!!尤其需要注意param参数的写法,是一个对象,开始的时候我一直在考虑这个怎么传递,因为不是json写法,所以纠结了好久

这里直接给出demo(注意:这里需要安装一个md5加密库

import axios from 'axios';
import CryptoJS from 'crypto-js';function generateSignature(param, key, customer) {// 如果param是对象,则将其转换为字符串let paramStr = '';if (typeof param === 'object') {paramStr = JSON.stringify(param);} else {paramStr = param;}// 拼接字符串const data = paramStr + key + customer;// 进行MD5加密const hash = CryptoJS.MD5(data);// 将加密后的字符串转为32位大写const signature = hash.toString(CryptoJS.enc.Hex).toUpperCase();return signature;
}const key = 'xxx';
const customer = 'xxx';/* data示例:
{com:'yuantong',num: 'YT8979806571449',
}
*/
export function query(data) {return axios.post('https://poll.kuaidi100.com/poll/query.do',{param: data,sign: generateSignature(data, key, customer),customer,},{headers: {'Content-Type': 'application/x-www-form-urlencoded',},});
}

成功示例

在这里插入图片描述

相关文章:

前端pc和小程序接入快递100(跳转方式和api方式)====实时查询接口

文章目录 跳转方式微信小程序&#xff08;我以uniapp为例&#xff09;pc api接入说明关于签名计算成功示例 跳转方式 没有任何开发成本&#xff0c;直接一键接入 可以直接看官方文档 https://www.kuaidi100.com/openapi/api_wxmp.shtml 微信小程序&#xff08;我以uniapp为例…...

电脑永久性不小心删除了东西还可以恢复吗 电脑提示永久性删除文件怎么找回 怎么恢复电脑永久删除的数据

永久删除电脑数据的操作&#xff0c;对于很多常用电脑设备的用户来说&#xff0c;可以说时有发生&#xff01;但是&#xff0c;因为这些情况大都发生在不经意间&#xff0c;所以每每让广大用户感觉到十分苦恼。永久删除也有后悔药&#xff0c;轻松找回电脑中误删的文件。恢复文…...

LeetCode热题100刷题16:74. 搜索二维矩阵、33. 搜索旋转排序数组、153. 寻找旋转排序数组中的最小值、98. 验证二叉搜索树

74. 搜索二维矩阵 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int row matrix.size();int col matrix[0].size();for(int i0;i<row;i) {//先排除一下不存在的情况if(i>0&&matrix[i][0]>target…...

C++仿函数

在C中&#xff0c;我们经常需要对类中的元素进行比较&#xff0c;例如在排序、查找等操作中。为了使类更加灵活&#xff0c;我们可以通过自定义比较函数来实现不同的比较方式。在本文中&#xff0c;我们将探讨如何在类中使用仿函数和 Lambda 表达式来定义自定义比较函数。 1. …...

文献阅读:tidyomics 生态系统:增强组学数据分析

文献介绍 文献题目&#xff1a; The tidyomics ecosystem: enhancing omic data analyses 研究团队&#xff1a; Stefano Mangiola&#xff08;澳大利亚沃尔特和伊丽莎霍尔医学研究所&#xff09;、Michael I. Love&#xff08;美国北卡罗来纳大学教堂山分校&#xff09;、Ant…...

MySQL运维实战之Clone插件(10.1)使用Clone插件

作者&#xff1a;俊达 clone插件介绍 mysql 8.0.17版本引入了clone插件。使用clone插件可以对本地l或远程的mysql实例进行clone操作。clone插件会拷贝innodb存储引擎表&#xff0c;clone得到的是原数据库的一个一致性的快照&#xff0c;可以使用该快照数据来启动新的实例。cl…...

【系统架构设计】数据库系统(三)

数据库系统&#xff08;三&#xff09; 数据库模式与范式数据库设计备份与恢复分布式数据库系统分布式数据库的概念特点分类目标 分布式数据库的架构分布式数据库系统与并行数据库系统 数据仓库数据挖掘NoSQL大数据 数据库模式与范式 数据库设计 备份与恢复 分布式数据库系统…...

免费视频批量横版转竖版

简介 视频处理器 v1.3 是一款由是貔貅呀开发的视频编辑和处理工具&#xff0c;提供高效便捷的视频批量横转竖&#xff0c;主要功能&#xff1a; 导入与删除文件&#xff1a;轻松导入多个视频文件&#xff0c;删除不必要的文件。暂停与继续处理&#xff1a;随时暂停和继续处理。…...

内存管理(知识点)

c语言与c对于内存管理的区别 c语言中动态内存管理方式 malloc\calloc\realloc\free c内存管理方式 c兼容c语言所以c语言中的方式也可以使用 但是用起来太麻烦 所以通过new和delete操作符竞选动态内存管理 单个对象 c语言: int* p2(int*)malloc(sizeof(int)) c : int*p3 new…...

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【29】Sentinel

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【29】Sentinel 简介熔断降级什么是熔断什么是降级相同点不同点 整合Sentinel自定义sentinel流控返回数据使用Sentinel来保护feign远程调用自定义资源给网关整合Sentinel参考 简介 熔断降…...

防范UDP Flood攻击的策略与实践

UDP Flood攻击是一种常见的分布式拒绝服务&#xff08;DDoS&#xff09;攻击手段&#xff0c;通过向目标服务器发送大量无效的UDP数据包&#xff0c;消耗其网络带宽和处理资源&#xff0c;最终导致合法的网络服务无法正常运行。本文将深入探讨UDP Flood攻击的原理、常见的防御策…...

昇思25天学习打卡营第17天 | CycleGAN图像风格迁移互换

通过深入学习CycleGAN模型&#xff0c;我对无监督图像到图像的转换技术有了更深的理解。CycleGAN不仅能在没有成对训练样本的情况下实现域之间的转换&#xff0c;而且在保持内容结构的同时成功转换图像风格&#xff0c;这在许多应用中都非常有用&#xff0c;如艺术风格转换、季…...

Leetcode 2520. 统计能整除数字的位数

问题描述&#xff1a; 给你一个整数 num &#xff0c;返回 num 中能整除 num 的数位的数目。 如果满足 nums % val 0 &#xff0c;则认为整数 val 可以整除 nums 。 示例 1&#xff1a; 输入&#xff1a;num 7 输出&#xff1a;1 解释&#xff1a;7 被自己整除&#xff0…...

WEB前端08-综合案例(动态表格)

使用 HTML、CSS 和 JavaScript 创建动态表格 在本教程中&#xff0c;我们将创建一个动态表格&#xff0c;允许用户添加行、选择项目&#xff0c;并执行批量操作&#xff0c;如全选或删除选中的行。我们将通过 HTML、CSS 和 JavaScript 来实现这一功能。让我们逐步了解每个部分…...

【面试题】Redo log和Undo log

Redo log 介绍Redo log之前我们需要了解一下&#xff0c;mysql数据操作的流程&#xff1a; 上述就是数据操作的流程图&#xff0c;可以发现sql语句并不是直接操作的磁盘而是通过操作内存&#xff0c;然后进行内存到磁盘的一个同步。这里我们必须要了解一些区域&#xff1a; 缓…...

开发实战经验分享:互联网医院系统源码与在线问诊APP搭建

作为一名软件开发者&#xff0c;笔者有幸参与了多个互联网医院系统的开发项目&#xff0c;并在此过程中积累了丰富的实战经验。本文将结合我的开发经验&#xff0c;分享互联网医院系统源码的设计与在线问诊APP的搭建过程。 一、需求分析 在开发任何系统之前&#xff0c;首先要…...

springboot系列教程(十六):配置Actuator组件,实现系统监控

一、Actuator简介 1、监控组件作用 在生产环境中&#xff0c;需要实时或定期监控服务的可用性。Spring Boot的actuator&#xff08;健康监控&#xff09;功能提供了很多监控所需的接口&#xff0c;可以对应用系统进行配置查看、相关功能统计等。 2、监控分类 Actuator 提供…...

单臂路由组网实验,单臂路由的定义、适用情况、作用

一、定义 单臂路由是指通过在路由器的一个接口上配置许多子接口,从而实现原来相互隔离的不同VLAN之间的互通。 子接口:把路由器上的实际的物理接口划分为多个逻辑上的接口,这些被划分的逻辑接口就是子接口。 二、适用情况 用在没有三层交换机,却要实现不同VLAN之间的互…...

【数据结构初阶】顺序表三道经典算法题(详解+图例)

Hello&#xff01;很高兴又见到你了~~~ 看看今天要学点什么来充实大脑吧—— 目录 1、移除元素 【思路图解】 【总结】 2、删除有序数组中的重复项 【思路图解】 【总结】 3、合并两个有序数组 【思路图解】 【总结】 至此结束&#xff0c;Show Time&#xff01; 1、…...

SpringBoot接入JPA连接数据库H2或MySQL例子

一&#xff0c;JPA相关的常用注解和对象 Entity&#xff0c;用于实体类声明语句之前&#xff0c;‌指出该Java类为实体类&#xff0c;‌将映射到指定的数据库表&#xff1b;Table&#xff0c;当实体类与其映射的数据库表名不同名时需要使用。‌该标注与Entity标注并列使用&…...

Windows Insider离线管理完全指南:无账户切换方法与命令行操作技巧

Windows Insider离线管理完全指南&#xff1a;无账户切换方法与命令行操作技巧 【免费下载链接】offlineinsiderenroll 项目地址: https://gitcode.com/gh_mirrors/of/offlineinsiderenroll 在Windows系统管理中&#xff0c;用户常常面临需要在不同更新通道间切换的需求…...

OpenClaw人人养虾:网关架构

本文档描述 Gateway&#xff08;网关&#xff09;的内部架构设计&#xff0c;帮助你理解各组件之间的协作关系。 架构总览 ┌──────────────────────────────────────────────────────────┐ │ …...

用NoneBot2给Lagrange机器人加buff:5个提升效率的插件开发技巧

用NoneBot2给Lagrange机器人加buff&#xff1a;5个提升效率的插件开发技巧 在智能对话机器人领域&#xff0c;NoneBot2与Lagrange的组合已经成为QQ生态中高效开发的黄金搭档。但当你已经掌握了基础功能开发后&#xff0c;如何让机器人更智能、更稳定、更能应对复杂场景&#xf…...

保姆级教程:在Win10上用Docker Desktop搞定Dify,再接入本地DeepSeek模型

保姆级教程&#xff1a;在Win10上用Docker Desktop搞定Dify&#xff0c;再接入本地DeepSeek模型 如果你是一位Windows 10用户&#xff0c;同时对AI应用开发充满兴趣&#xff0c;那么这篇教程就是为你量身定制的。我们将一步步带你完成Dify平台的部署&#xff0c;并将其与本地运…...

GICI:代码学习5

以下内容主要讲解 estimateFundamental() 和 estimateHomography() 的求解过程一、本质两个函数的本质都是在做相同的事情&#xff1a;输入两帧特征方向向量&#xff0c;输出相机的位姿 R&#xff0c;t.但是两个函数的路径不同。二、Homography &#xff1a;单应矩阵求解2.1 函…...

React篇——第一章 React的基础知识(上篇)

目录 1. React简介 1.1 什么是React 1.2 React的核心优势 组件化开发 虚拟DOM 丰富的生态系统 跨平台支持 1.3 React的市场地位 2. 开发环境搭建 2.1 使用create-react-app创建项目 2.2 其他创建React项目的方式 3. JSX基础 3.1 什么是JSX 3.2 JSX的优势 3.3 JS…...

Golang面试避坑指南:这5个并发问题90%的人答不对

Golang面试避坑指南&#xff1a;这5个并发问题90%的人答不对 刚接触Go语言的开发者往往会被其简洁的语法和高效的并发模型所吸引&#xff0c;但真正深入使用后才会发现&#xff0c;并发编程中隐藏着许多意想不到的陷阱。特别是在技术面试中&#xff0c;面试官常常会通过精心设计…...

模型缓存优化:nanobot热加载速度提升3倍实测

模型缓存优化&#xff1a;nanobot热加载速度提升3倍实测 1. 问题背景与优化动机 最近在本地部署OpenClaw时&#xff0c;我发现一个影响体验的痛点&#xff1a;每次调用nanobot模型都需要重新加载&#xff0c;导致响应延迟明显。特别是在频繁交互的场景下&#xff0c;这种等待…...

如何高效使用英雄联盟智能助手:5分钟快速上手指南

如何高效使用英雄联盟智能助手&#xff1a;5分钟快速上手指南 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否经常因为错过…...

告别振动噪音:用DRV8825模块的细分功能,让你的3D打印机或CNC雕刻机运行更安静平稳

静音革命&#xff1a;DRV8825微步进技术在3D打印与CNC中的实战应用 当你的3D打印机在深夜工作时发出刺耳的嗡嗡声&#xff0c;或是CNC雕刻机在低速运行时产生令人不适的振动&#xff0c;这不仅影响工作环境&#xff0c;更会直接反映在成品质量上——那些本应光滑的表面出现的细…...