在日常開發中,後端主要提供資料以及處理業務邏輯,前端主要提供頁面佈局以及資料展示。後端程式設計師對於頁面佈局接觸比較少,但是小程式有完善的檔案說明、頁面佈局也相對簡單,實現起來相對簡單一些。而且小程式相對於
安卓
或者IOS
稽核機制也相對簡單一些。本文介紹如何實現一個簡單獲取IP歸屬地
的小程式。
頁面主要有兩個功能:
IP地址
和歸屬地
。歸屬地
。頁面佈局從上往下分成三部分:
IP地址
。將三個佈局從上往下,從上往下依次編寫,並設定樣式和佈局詳解。
實現效果:
100%
,高度為330rpx
。<view style="height: 100%;width: 100%;">
<view style="width: 100%;height: 330rpx;background-color: #6e74dd">
</view>
</view>
2、 裡面分成兩個佈局,左邊顯示文字,右邊顯示一個小圖示。
float:left
詳情程式碼:
# xwml
<view class="ip_intro left_float">
<view style="font-size:x-large">IP地址歸屬地</view>
<view style="padding-top: 3%;">一鍵查詢 快速方便</view>
</view>
<view class="left_float intro_icon">
<image style="width: 80px;height: 80px;" src="/images/ip_search.png" mode="heightFix"></image>
</view>
# wxss
.left_float {
float: left;
}
.ip_intro {
padding-left: 5%;
padding-top: 10%;
color: white;
}
.intro_icon {
padding-left: 25%;
margin-top: 8%;
}
效果展示:
實現效果:
view
設定寬度90%
,高度自適應,背景調整成白色。整體往上移動,部分覆蓋在第一部分藍色背景上。view
設定導覽列,設定上下寬,左右窄的佈局。IP歸屬地
資訊,請求地址www.jeremy7.cn/springboot-schedule/holiday/ip-address
。詳情程式碼:
# wxml
<view class="clean_float local_div">
<view class="left_float">
<view class="local_bar"></view>
</view>
<view class="left_float local_text">
<view>當前IP地址:{{localIp}}</view>
<view style="margin-top: 12rpx;">歸屬地:{{localAddress}}</view>
</view>
</view>
# 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
查詢歸屬地。
view
寬度90%
,背景設定成白色,調整高度和圓角。height: 78rpx; line-height:78rpx;
。IP歸屬地
資訊,請求地址www.jeremy7.cn/springboot-schedule/holiday/ip-address
,傳入查詢的IP
。詳情程式碼如下:
# wxml
<view class="ip_find">
<view class="ip_find_text">IP歸屬地查詢</view>
<view>
<input class="ip_input" type="text" bindinput="changeIp"/>
</view>
<view class="ip_find_btn">
<view bindtap="findAddress">查詢</view>
</view>
<view class="result_div" wx:if="{{showResult}}">
<view class="left_float">
<view class="local_bar"></view>
</view>
<view class="left_float local_text">
<view>當前IP地址:{{resultIp}}</view>
<view style="margin-top: 12rpx;">歸屬地:{{resultAddress}}</view>
</view>
</view>
</view>
# 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}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
return reg.test(ip);
},
changeIp: function (e){
this.setData({
searchIp: e.detail.value
})
},
changeIp
每次輸入資料實時傳遞給searchIp
變數。isValidIP
驗證IP
的合法性。showResult
判斷,查詢成功後showResult
改成true
,使用wx:if
顯示結果資料。90%
的寬度,高度自適應。height
和line-height
改成一致。開啟微信掃一掃,檢視你的IP歸屬地
: