QQ泡沫乐园 · 免费提供游戏辅助,破解软件,活动资讯,喜欢记得收藏哦!
综合软件_线报活动_游戏辅助_最新电影_最优质的的辅助分享平台

如何实现一个简单获取IP归属地的小程序?

网络 2023-01-16 01:01

在日常开发中,后端主要提供数据以及处理业务逻辑,前端主要提供页面布局以及数据展示。后端程序员对于页面布局接触比较少,但是小程序有健全的文档说明、页面布局也相对简单,实现上去相对简单一些。而且小程序相对于安卓或则IOS初审机制也相对简单一些。本文介绍怎样实现一个简单获取IP归属地的小程序。

效果展示

页面主要有两个功能:

页面布局从上往下分成三部份:

实现步骤

将三个布局从上往下,从上往下依次编撰,并配置款式和布局解读。

顶部展示(第一部分)

实现疗效:

设置一个红色布局,设置白色背景,宽度为100%,高度为330rpx。

"height: 100%;width: 100%;">
  "width: 100%;height: 330rpx;background-color: #6e74dd">
  

2、 里面分成两个布局,左边显示文字,右边显示一个小图标。

详情代码:

# xwml
"ip_intro left_float">
  "font-size:x-large">IP地址归属地
  "padding-top: 3%;">一键查询 快速方便

"left_float intro_icon">
  "width: 80px;height: 80px;"  src="/images/ip_search.png" mode="heightFix">


# wxss
.left_float {
  float: left;
}

.ip_intro {
  padding-left: 5%;
  padding-top: 10%;
  color: white;
}

.intro_icon {
  padding-left: 25%;
  margin-top: 8%;
}

效果展示:

中间展示(第二部份)

实现疗效:

详情代码:

# wxml
"clean_float local_div">
    "left_float">
      "local_bar">
    
    "left_float local_text">
      当前IP地址:{{localIp}}
      "margin-top: 12rpx;">归属地:{{localAddress}}
    


# wxss
.clean_float {
  clear:both;
}

.local_div {
  width: 90%;
  height: 130rpx; 
  margin: 0 auto;
  background-color: #ffffff;
  margin-top: -10%;
  border-radius: 10px;
}

.local_bar {
  margin-left: 30rpx;
  margin-top: 50rpx;
  border-radius: 2px; 
  width: 8rpx;
  height: 50rpx;
  background-color: #6e74dd;
}

.local_text {
  font-size: small;
  margin-left: 25rpx;
  margin-top: 35rpx;  
}

# js
data: {
   localIp: "---",
   localAddress: "---" 
}
  
var that =  this;
wx.request({
  url:  "htts://www.jeremy7.cn/springboot-schedule/holiday/ip-address",
  success (res){
    var data = res.data;
    that.setData({
      localAddress:data.address,
      localIp:data.ip
    })
  }
})

微信小程序代理展示网站_博客文章展示_小程序展示文章

效果展示:

尾部部份(第三部份)

实现疗效:

尾部部份是IP归属地的查询,根据用户输入的IP查询归属地。

详情代码如下:

# wxml
"ip_find">
   "ip_find_text">IP归属地查询
   
    "ip_input" type="text" bindinput="changeIp"/>
   

   "ip_find_btn">
      "findAddress">查询
   
   "result_div" wx:if="{{showResult}}">
      "left_float">
        "local_bar">
      
      "left_float local_text">
        当前IP地址:{{resultIp}}
        "margin-top: 12rpx;">归属地:{{resultAddress}}
      
    

# wxss
.ip_find {
  width: 90%;
  height: 700rpx; 
  margin: 0 auto;
  background-color: #ffffff;
  margin-top: 20px;
  border-radius: 10px;
}

.ip_input {
  height: 78rpx; 
  background-color: #F5F5F5;
  width: 90%;
  margin: 30rpx auto;
  border-radius: 24px;
  text-align: center;
  line-height:78rpx;
}

.ip_find_text {
  padding-top: 28px;
  padding-left: 20px;
  font-weight: bolder;
}

.ip_find_btn {
  height: 78rpx; 
  background-color: #6e74dd;
  width: 90%;
  margin: 0 auto;
  border-radius: 24px;
  text-align: center;
  line-height:78rpx;
}

# js
findAddress() {
  var that =  this;
  var searchIp = this.data.searchIp;
  console.log(searchIp);
  var valid = that.isValidIP(searchIp);
  if(!valid) {
    wx.showToast({
      title: "请填写正确 IP",
      icon: 'none',
      duration: 2000
    })
    return;
  }
  that.searchAddress(searchIp);
},
searchAddress(searchIp) {
  var that =  this;
  wx.request({
    url: "htts://www.jeremy7.cn/springboot-schedule/holiday/ip-address",
    data: {
       ip:searchIp
    },
    success (res){
      var data = res.data;
      var data = res.data;
      that.setData({
        resultAddress:data.address,
        resultIp:data.ip,
        showResult:true
      })

    }
  })
},

// 验证 IP 规格合法
isValidIP(ip) {
  var reg = /^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$/;
  return reg.test(ip);
}, 

changeIp: function (e){
  this.setData({
    searchIp: e.detail.value
  })
},

总结小程序展示

打开陌陌扫一扫,查看你的IP归属地:

原文始发于微信公众号(小码Code):后端程序员实现一个IP归属地的小程序