查询手机号归属地
注意,该功能已经下架。
下架原因:在小程序上架审核时被拒,被拒原因(涉及收集、存储用户身份信息,平台暂不支持此功能,请修改)。
实现原理:在服务器端实现一个查询手机号归属地的接口,根据小程序端提交的用户输入的手机号,截取手机号前 7 位,从数据文件中查找归属地,并返回给前端。
wxml 文件
<view class="page">
<form catchsubmit="formSubmit" catchreset="formReset">
<view class="weui-form">
<view class="weui-form__text-area">
<h2 class="weui-form__title">手机号段所属地</h2>
<view class="weui-form__desc">查询手机号段的所属地</view>
</view>
<view class="weui-form__control-area">
<view class="weui-cells__group weui-cells__group_form">
<view class="weui-cells__title">表单</view>
<view class="weui-cells">
<view class="weui-cell weui-cell_active">
<view class="weui-cell__hd"><label class="weui-label">手机号</label></view>
<view class="weui-cell__bd">
<input class="weui-input" placeholder="填写待查询的手机号" placeholder-class="weui-input__placeholder" type="number" name="mobile" />
</view>
</view>
<view class="weui-cell">
<text style="word-break:break-all">{{content}}</text>
</view>
</view>
</view>
</view>
<view class="weui-form__tips-area">
<view class="weui-form__tips">
{{tips}}
</view>
</view>
<view class="weui-form__opr-area">
<button class="weui-btn weui-btn_default" aria-role="button" formType="reset">重置</button>
<button class="weui-btn weui-btn_primary" aria-role="button" formType="submit">确定提交</button>
<button class="weui-btn weui-btn_primary" aria-role="button" bindtap="clipData">复制到剪切板</button>
</view>
</view>
</form>
</view>
js 文件
const utils = require("../../utils/utils.js");
const ohttp = require("../../utils/ostrichHttp");
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
content: '展示查询后的结果',
tips: '',
},
formReset(e) {
this.setData({
tips: '',
})
},
formSubmit(e) {
const that = this;
// const curpoints = app.getPoints();
// if (curpoints < 1) {
// wx.showToast({
// title: '点数不足',
// })
// return
// }
let obj = e.detail.value
if (utils.isEmpty(obj.mobile)) {
that.setData({
tips: '请填写待查询的手机号',
})
// 弹窗错误
wx.showToast({
title: '内容不能为空',
})
return
}
ohttp
.httpGet("/imobile", {
mobile: obj.mobile
})
.then((res) => {
if (res.data.code === 1) {
console.log(res)
let province = res.data.data.Province
let city = res.data.data.City
let cardtype = res.data.data.CardType
that.setData({
content: `${province},${city}-${cardtype}`,
tips: '查询成功',
})
// app.cost1Points();
wx.showToast({
title: '查询成功',
})
} else {
that.setData({
content: '展示查询后的结果',
tips: '未找到记录',
})
// 生成失败
wx.showToast({
title: '未找到记录',
})
}
});
},
clipData: function () {
const that = this;
if (that.data.content == '展示查询后的结果') {
that.setData({
tips: '请先进行查询',
})
// 弹窗错误
wx.showToast({
title: '请先查询',
})
return
}
wx.setClipboardData({
data: that.data.content,
success(res) {
wx.getClipboardData({
success(res) {
wx.showToast({
title: '复制成功',
})
}
})
}
})
},
})
wxss 文件
button {
margin-top: 8rpx;
}
.weui-label {
width: 4.1em;
}