經(jīng)過最近兩年多的發(fā)展,小程序的地位也逐漸越來越高了,各個平臺前赴后繼做了自家的小程序平臺,隨著市場的需求越來愈多,uni-app 是一個使用 Vue.js 開發(fā)所有前端應(yīng)用的框架,開發(fā)者編寫一套代碼,可發(fā)布到iOS、Android、H5、以及各種小程序(微信/支付寶/百度/頭條/QQ/釘釘)等多個平臺。即使不跨端,uni-app同時也是更好的小程序開發(fā)框架。
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計制作、成都網(wǎng)站制作與策劃設(shè)計,安義網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:安義等地區(qū)。安義做網(wǎng)站價格咨詢:13518219792
在定位功能中,本程序用到騰訊地圖的api 以及 騰訊天氣的api接口,
需要到官網(wǎng)中注冊開發(fā)者賬號,通過注冊后得到的appKey來請求我們需要的數(shù)據(jù),詳細注冊步驟請自行度娘
由于需要用到定位功能,uniapp的getLocation方法獲取到的是當前位置的坐標,然后對應(yīng)騰訊地圖具體城市
uni.getLocation({
// #ifdef MP-WEIXIN
type: 'wgs84',
// #endif
async success (res) {
const {latitude, longitude} = res
const result = await that.ajax({url: 'https://apis.map.qq.com/ws/geocoder/v1', data: {
location: `${latitude},${longitude}`,
key: ''
}})
let {province, city, district} = result.result.address_component
that.getData(province, city, district)
},
fail(){
uni.showModal({
content: '檢測到您沒打開定位權(quán)限,是否去設(shè)置打開?',
confirmText: "確認",
cancelText: "取消",
success: function (res) {
if (res.confirm) {
// #ifdef MP-WEIXIN
wx.openSetting({
success: (res) => {
that.getIn()
}
})
// #endif
// #ifdef MP-ALIPAY
my.openSetting({
success: (res) => {
that.getIn()
}
})
// #endif
}
}
});
}
})
web前端開發(fā)學習Q-q-u-n: 784783012 ,分享學習的方法和需要注意的小細節(jié),不停更新最新的教程和學習方法
(詳細的前端項目實戰(zhàn)教學視頻,PDF)
得到城市名后,再用城市名查詢天氣的接口,得到未來幾天的天氣預(yù)報。
天氣接口使用騰訊天氣接口api。
在小程序中使用前,要在小程序設(shè)置界面,開發(fā)設(shè)置中添加request合法域名。
methods: {
async getData(province, city, district){
const that = this
const data = await that.ajax({url: 'https://wis.qq.com/weather/common', data: {
source: 'xw',
weather_type: 'observe|alarm|air|forecast_1h|forecast_24h|index|limit|tips|rise',
province: province,
city: city,
county: district
}})
that.region = [province, city, district]
if(data.status != 200){
uni.showToast({
title: result.message,
icon: 'none'
});
return false;
}
if(!data.data.air.aqi_name){
uni.showToast({
title: '暫無該地區(qū)的天氣信息',
icon: 'none'
});
return false;
}
that.data = data.data
}
}
由于沒有什么審美,缺乏想象力,參考騰訊天氣的界面來做的。功能十分簡單,查看當前地區(qū)的天氣和切換其他地區(qū)的天氣,查看最近24小時的天氣情況以及最近6天的天氣情況,展示今天的農(nóng)歷時間。
想快速完成小程序的搭建,里面的折線圖采用的uchart.js,
因為可以兼容支付寶小程序和微信小程序,農(nóng)歷查詢也是采用的插件calendar.js
折線圖在支付寶小程序中會有模糊的問題,需要做兼容處理
web前端開發(fā)學習Q-q-u-n: 784783012 ,分享學習的方法和需要注意的小細節(jié),不停更新最新的教程和學習方法
(詳細的前端項目實戰(zhàn)教學視頻,PDF)
微信小程序有城市選擇組件,支付寶的沒有可以直接使用的城市組件,uniapp官方介紹:支持安裝 mpvue 組件,但npm方式不支持小程序自定義組件(如 wxml格式的vant-weapp),找到一款支付寶可以使用的城市插件:mpvue-citypicker,
城市選擇組件
{{region[0]}}{{region[1]}}{{region[2]}}
選擇城市
當前選擇:{{region[0]}},{{region[1]}},{{region[2]}}
web前端開發(fā)學習Q-q-u-n: 784783012 ,分享學習的方法和需要注意的小細節(jié),不停更新最新的教程和學習方法
(詳細的前端項目實戰(zhàn)教學視頻,PDF)