uniapp和微信小程序 GEt对接口
作者:互联网
微信小程序
<!--pages/Jiekou/Jiekou.wxml-->
<input class="inp" placeholder="请输入" bindinput="usernameInput" />
<button bindtap="but">点击</button>
<!-- wx:if="{{isShow}}" -->
<view class="cc" wx:if="{{isShow}}">
<view class="gggg">
<view>ip:{{ip}}</view>
<view>国家:{{wanAndroidDatas.Country}}</view>
<view>省份:{{wanAndroidDatas.Province}}</view>
<view>城市:{{wanAndroidDatas.City}}</view>
<view>营业:{{wanAndroidDatas.Isp}}</view>
</view>
</view>
// pages/Jiekou/Jiekou.js
Page({
/**
* 页面的初始数据
*/
data: {
wanAndroidDatas: [],
key: 'f3d1996fe09d456a733c7c88301ab178',
isShow: false
},
/**
* 生命周期函数--监听页面加载
*/
onl oad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
usernameInput: function (e) {
console.log(e)
this.setData({
ip: e.detail.value//获取input的输入值
})
},
but: function () {
var that = this;
var ip = this.data.ip//获取input的输入值传给自定义的参数名 例如 ip
// console.log(this.data.ip)
let rea = /^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))+$/;
// let rea = /^[0-9.]+$/;//数字
// let reg = /^[a-zA-Z]+$/; //英语大小写
// let rej = /^[\u4e00-\u9fa5]+$/; //汉字
if (this.data.ip == '' || this.data.ip == null) {
wx.showToast({
title: '不能为空',
icon: 'none',
duration: 2000
})
} else if (!rea.test(this.data.ip)) {
wx.showToast({
// title: '不能为字母、汉子',
title: '你IP输入错误:如1.192.177.192',
icon: 'none',
duration: 2000
})
}
// else if (this.data.ip == '' || this.data.ip == null) {
// wx.showToast({
// title: '不能为空',
// icon: 'none',
// duration: 2000
// })
// } else if (reg.test(this.data.ip)) {
// wx.showToast({
// title: '不能为字母',
// icon: 'none',
// duration: 2000
// })
// } else if (rej.test(this.data.ip)) {
// wx.showToast({
// title: '不能为汉字',
// icon: 'none',
// duration: 2000
// })
// }
else {
wx.login({
complete: (res) => {
console.log(res)
wx.request({
url: 'http://apis.juhe.cn/ip/ipNew?key=f3d1996fe09d456a733c7c88301ab178',
data: {
ip//这是自定义的参数名获取input的值请求接口相对的值 参数名
},
header: {
'content-type': 'application/json; charset=utf-8'
},
method: "GET",
success: res => {
console.log(res)
if (res.data.resultcode == 200) {
console.log(res)
that.setData({
isShow: true,
wanAndroidDatas: res.data.result
})
setTimeout(function () {
that.setData({
isShow: false,
})
}, 15000)
} else {
wx.showToast({
title: '你IP输入错误:如1.192.177.192',
icon: 'none',
duration: 2000
})
}
}
})
}
})
}
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
/* pages/Jiekou/Jiekou.wxss */
.inp{
margin: 24px auto;
background-color: #dddddd;
width: 90%;
height: 50px;
border-radius: 6px;
padding: 0 12px;
}
.das{
width: 100%;
height: 50%;
background-color: black;
color: #FFF;
}
.cc{
transform: auto;
background-color: rgba(197, 197, 197, 0.61);
margin: 24px auto;
padding: 24rpx 0;
width: 80%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
border-radius:12rpx ;
}
.gggg{
width: 60%;
margin: 12rpx auto;
}
.gggg view{
width: 90%;
margin: 12rpx auto;
}
uniapp
<template>
<view class="content">
<input class="oa" v-model="q" :value="q" placeholder="请输入想测的字或者词语" />
<button class="but" @click="Bun">点击</button>
<!-- <view wx:if="isShow">{{ip}}</view> -->
<view class="ba" v-show="isShow">
<view class="aa" v-for="item in das" >
<view>{{item.title}}</view>
<view>{{item.des}}</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
q: '',
isShow: false,
das: [{
title: '',
des: '',
}]
}
},
onLoad() {
},
methods: {
Bun() {
console.log(this.men, this.women)
var that = this
let reg = /^[\u4E00-\u9FA5]+$/;//汉字
if (this.q == "" || this.q == null) {
uni.showToast({
title: '不能为空',
duration: 2000
})
} else if (!reg.test(this.q)) {
uni.showToast({
title: '不能为字符串、数字、空格、符号',
duration: 2000
})
} else {
uni.request({
url: 'http://v.juhe.cn/dream/query?key=7fabf5c6b23be8bee7fc6c8d389464e2&q=%E9%BB%84%E9%87%91', //仅为示例,并非真实接口地址。
data: { //参数
q: this.q,
},
header: {
'content-type': 'application/json; charset=utf-8' //自定义请求头信息
},
method: 'GET', //请求方式 或GET
success: res => {
if (res.data.result !== null) {
console.log(res.data);
this.isShow = true,
this.das = res.data.result
this.das.list = res.data.result.list
} else {
uni.showToast({
title: '没有你想要的东西',
duration: 2000
})
}
}
});
}
}
}
}
</script>
<style>
uni-page-body {
width: 100%;
}
.ba {
width: 96%;
height: 100%;
border: 2px solid #EEEEEE;
border-radius: 6px;
margin: 6px auto;
}
.oa {
width: 60%;
height: 50px;
padding: 0 24px;
margin: 24px auto;
background-color: #b1b1b1;
border: 1px solid #7f7f7f;
border-radius: 6px;
}
.but {
width: 90%;
height: 60px;
margin: 24px 0 0;
display: flex;
justify-content: center;
align-items: center;
}
.aa {
transform: auto;
width: 70%;
padding: 0 24px;
margin: 12px auto;
background-color: #55aaff;
border: 1px solid #55ffff;
border-radius: 6px;
}
.aa view {
margin: 16px 0;
}
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
</style>
<template>
<view class="content">
<!-- <input class="oa" v-model="men" :value="men" />
<input class="oa" v-model="women" :value="women" /> -->
<view class=" uni-form-item uni-column">
<label>男生肖:</label>
<picker class="oa " @change="examinationType" :range="examinationTypeArray">
<label>{{ examinationTypeArrayType }}</label>
<image src="../../static/xia.png">
</picker>
</view>
<view class="uni-form-item uni-column">
<label>女生肖:</label>
<picker class="oa " @change="examinationType2" :range="examinationTypeArray2">
<label class="">{{ examinationTypeArrayType2 }}</label>
<image src="../../static/xia.png">
</picker>
</view>
<button class="but" type="default" @click="Bun">点击</button>
<view class="ba" v-show="isShow">
<view class="aa" >
<view>
男:{{das.men}}
</view>
<view>
女:{{das.women}}
</view>
<view>
{{das.data}}
</view>
</view>
</view>
</view>
</template>
<script>
export default {
components: {},
data() {
return {
examinationTypeArray: ['鼠', '牛', '虎', '兔'],
examinationTypeIndex: 0,
examinationTypeArrayType: '---请选择---',
examinationTypeArray2: ['鼠', '牛', '虎', '兔'],
examinationTypeIndex2: 0,
examinationTypeArrayType2: '---请选择---',
// men: '',
// women: '',
isShow: false,
das: {
men: '',
women: '',
data: '',
}
}
},
onLoad() {
},
methods: {
examinationType(e) {
this.examinationTypeIndex = e.target.value;
this.examinationTypeArrayType = this.examinationTypeArray[this.examinationTypeIndex]
},
examinationType2(e) {
this.examinationTypeIndex2 = e.target.value;
this.examinationTypeArrayType2 = this.examinationTypeArray2[this.examinationTypeIndex2]
},
Bun() {
console.log(this.men, this.women)
var that = this
if (this.examinationTypeArrayType == '' || this.examinationTypeArrayType2 == '') {
uni.showToast({
title: '不能为空',
duration: 2000
})
} else if (this.examinationTypeArrayType == '---请选择---' || this.examinationTypeArrayType2 == '---请选择---') {
uni.showToast({
title: '您还没选择属相',
duration: 2000
})
} else {
uni.request({
url: 'http://apis.juhe.cn/sxpd/query?key=009f32aa28d990b48fd494ee9edca971&men=%E7%8C%AA&women=%E7%BE%8A', //仅为示例,并非真实接口地址。
data: { //参数
// men: this.men,
// women: this.women,
men: this.examinationTypeArrayType,
women: this.examinationTypeArrayType2,
},
header: {
'content-type': 'application/json; charset=utf-8' //自定义请求头信息
},
method: 'GET', //请求方式 或GET
success: res => {
if (res.data.result !== null) {
this.isShow = true,
console.log(res.data);
this.das = res.data.result
} else {
uni.showToast({
title: '请求错误',
duration: 2000
})
}
}
});
}
},
}
}
</script>
<style>
uni-page-body {
height: 100%;
}
.uni-form-item {
width: 86%;
display: flex;
justify-content: space-between;
align-items: center;
margin: 12px 0 0 12px;
}
.oa {
margin: 0 auto;
width: 60%;
height: 30px;
border: 1px solid #7f7f7f;
border-radius: 6px;
display: flex;
align-items: center;
}
/deep/.oa div {
/* border: 1px solid #333333; */
width: 100%;
height: 30px;
padding: 0 12px;
display: flex;
justify-content: space-between;
align-items: center;
}
/deep/.oa div div {
width: 4px;
height: 20px;
margin: 0 12px 0 0;
display: flex;
justify-content: center;
align-items: center;
border: unset;
}
/deep/uni-image {
display: unset;
overflow: unset;
position: unset;
}
.oa image {
width: 10px;
height: 14px;
margin: 0 12px 0 0;
}
.but {
width: 90%;
margin: 24px 0 0;
}
.ba {
width: 96%;
height: 100%;
transform: auto;
border: 2px solid #EEEEEE;
border-radius: 6px;
margin: 6px auto;
}
.aa {
width: 70%;
height: 100%;
padding: 0 24px;
margin: 24px auto;
/* background-color: #b1b1b1;
border: 1px solid #7f7f7f;
border-radius: 6px; */
}
.aa view {
margin: 24px 0;
}
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.logo {
height: 200rpx;
width: 200rpx;
margin-top: 200rpx;
margin-left: auto;
margin-right: auto;
margin-bottom: 50rpx;
}
.text-area {
display: flex;
justify-content: center;
}
.title {
font-size: 36rpx;
color: #8f8f94;
}
</style>
标签:uniapp,res,GEt,data,对接口,title,width,ip,margin 来源: https://blog.csdn.net/YUlangML/article/details/116837172