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

微信小程序之手机归属地查询

微信小程序之手机归属地查询

需求描述

在这里插入图片描述

API申请和小程序设置

API申请

第一步:完整账号注册
我们需要来到如下网站,注册账号:万维易源

第二步:账号注册完成以后,点击右上角的控制台信息。
在这里插入图片描述
第三步:在控制台界面选择接口使用者-appKey管理
在这里插入图片描述
第四步:在appKey管理界面,点击添加按钮,在应用中输入自己想要的名字,白名单非必填,可调用接口搜索手机可以查询到对应的如下信息,选择以后点击“立即创建”。
在这里插入图片描述
第五步:设置以后,我们便可以看到我们常见的appKey了。
在这里插入图片描述

小程序设置

在小程序中,我们应用的API不是随便能够使用的,是需要在小程序中进行设置才能够使用。
第一步:登录小程序管理后台:微信公众平台
第二步:在小程序后台点击管理-开发管理中的开发设置
在这里插入图片描述
第三步:在开发设置中鼠标滚轮往下拉找到服务器域名设置,然后点击右侧修改按钮,在request合法域名中讲我们设置的需要的api加入进去,结果如下
在这里插入图片描述
至此,我们的API Key的申请以及小程序的设置已经完成,我们可以正式开发我们的业务。

业务实现

代码框架

我们的业务代码框架如下
在这里插入图片描述

代码实现
app.json实现

总体基调设置如下

{"pages": ["pages/index/index","pages/logs/logs" ],"window": {"backgroundTextStyle": "dark","navigationBarBackgroundColor": "#FFFFFF","navigationBarTitleText": "手机号码归属地查询","navigationBarTextStyle": "black"},"sitemapLocation": "sitemap.json"
}
util.js实现
const formatTime = date => {const year = date.getFullYear()const month = date.getMonth() + 1const day = date.getDate()const hour = date.getHours()const minute = date.getMinutes()const second = date.getSeconds()return [year, month, day].map(formatNumber).join('') + '' + [hour, minute, second].map(formatNumber).join('')
}const formatNumber = n => {n = n.toString()return n[1] ? n : '0' + n
}module.exports = {formatTime: formatTime
}
index.wxml实现

界面布局实现

<!--pages/index/index.wxml-->
<view class='tel'><view class='input'><input type='number'placeholder='请输入查询的手机号'bindinput='bindInput'></input></view><view class='button'><button bindtap='bindSearch'>查询</button></view><view class='info'><text>温馨提示:查询结果仅供参考,以当地营业厅查询结果为</text></view><view class='result_caption'><text>{{ret_code}}</text></view><view class='result' hidden='{{hidden}}'><view class='row bg'>所查号码</view><view class='row bg'>{{number}}</view><view class='row'>归属省</view><view class='row'>{{prov}}</view><view class='row bg'>归属地区</view><view class='row bg'>{{city}}</view><view class='row'>运营商</view><view class='row'>{{name}}</view><view class='row bg'>城市编码</view><view class='row bg'>{{cityCode}}</view><view class='row'>邮政编码</view><view class='row'>{{postCode}}</view></view>
</view>
index.wxss实现

界面样式实现

/* pages/index/index.wxss */
.tel {width: 70%;margin: 0 auto;font-size: 30rpx;
}
.tel view {margin: 15rpx 0;
}
.input input {border: 1rpx solid #eee;background-color: #eee;padding: 18rpx;border-radius: 8rpx;color: #666;
}
.button button {background-color: #0080ff;color: white;
}
.info text {color: #999;font-size: 24rpx;
}
.result_caption text {color: #0080ff;
}
.result {display: flex;flex-wrap: wrap;color: #666;border: 1rpx solid #999;
}
.result .row {flex-basis: 50%;box-sizing: border-box;margin: 0;padding: 10rpx;
}
.result .bg {background-color: #eee;
}
index.js实现

业务实现如下

// pages/index/index.js
const util = require('../../utils/util.js');
Page({/*** 页面的初始数据*/data: {//APPIDappid: '上述API申请的ID',//密钥sign: '上述API申请的签名',//当前查询的时间timesTamp : util.formatTime(new Date()),//手机号码number : '',//默认隐藏hidden:true,//省份prov: '',//城市city: '',//卡类型name: '',//判断ret_code: '',},//输入手机号bindInput : function (e) {//查询得到手机号this.setData({number : e.detail.value});},//查询号码bindSearch : function (e) {var that = this;//请求wx.request({url: 'https://route.showapi.com/6-1?num=' + that.data.number + '&showapi_appid=' + that.data.appid + '&showapi_timestamp=' + that.data.timesTamp + '&showapi_sign=' + that.data.sign,success : function (e) {//获取归属地数据var result = e.data.showapi_res_body;//判断手机号码是否合法if (result.ret_code == -2) {that.setData({ret_code: '对不起,您查询的号码有误!',hidden : true});} else {that.setData({ret_code: '结果如下:',hidden: false,prov: result.prov,city: result.city,name: result.name,postCode: result.postCode,cityCode: result.cityCode});}}})},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {}
})

我们可以看到通过API调用返回的结果如下
在这里插入图片描述
至此我们完成手机归属地的开发内容。

http://www.lryc.cn/news/498147.html

相关文章:

  • ElementUI 问题清单
  • DVWA靶场——XSS(Stored)
  • Spring框架中的Bean是线程安全的吗?
  • uniapp远程摄像头流界面上显示
  • elasticSearch(一):elasticSearch介绍
  • 基于 RWKV 的视觉语言模型 VisualRWKV 被 COLING 2025 接收!
  • 输出九九乘法表:JAVA
  • kube-proxy的iptables工作模式分析
  • xiaolin coding 图解 MySQL笔记——锁篇
  • 11-SpringCloud Alibaba-Seata处理分布式事务
  • 更换 Git 项目的远程仓库地址(五种方法)
  • 3大模块助力学生会视频自动评审系统升级
  • 鸿蒙开发——使用ArkTs处理XML文本
  • 【Linux】文件查找 find grep
  • Go学习笔记之运算符号
  • npm : 无法加载文件 D:\nodejs\npm.ps1,因为在此系统上禁止运行脚本
  • YOLOv8-ultralytics-8.2.103部分代码阅读笔记-torch_utils.py
  • Java中的数据存储结构解析与应用
  • 【链表】力扣 141. 环形链表
  • Hbase整合Mapreduce案例2 hbase数据下载至hdfs中——wordcount
  • diff算法
  • 最新AI问答创作运营系统(SparkAi系统),GPT-4.0/GPT-4o多模态模型+联网搜索提问+问答分析+AI绘画+管理后台系统
  • docker应用
  • COCO数据集理解
  • C# 向上取整多种实现方法
  • Elastic Cloud Serverless:深入探讨大规模自动扩展和性能压力测试
  • 新一代零样本无训练目标检测
  • es 3期 第13节-多条件组合查询实战运用
  • 全局token验证
  • 实时美颜技术详解:美颜SDK与直播APP开发实践