开发中怎样在小程序中添加天气组件

开发中怎样在小程序中添加天气组件,第1张

首先分析制作的思路:

1.在app.json文件的pages数组里加上main文件夹和template(模板)文件夹的路径。

2.在main.js文件中,在onLoad()函数中调用loadInfo()函数。

3. 自定义获取位置的函数loadInfo(),调用wx.getLocation,用于获取当前的纬度(latitude)和经度(longitude)。在loadInfo()函数中接着调用loadCity()函数。

4. 自定义获取城市的函数loadCity(),调用wx.request,在“百度地图开放平台”网站中注册自己的AK,通过获取城市信息的网址(http://api.map.baidu.com/geocoder/v2/?ak=自己的ak&location=纬度值,经度值&output=json)实现当前城市名称的获取。

在loadCity()函数中接着调用loadWeather()函数。

5.自定义获取天气的函数loadWeather(),根据已有的城市名称,通过获取天气信息的网址(http://wthrcdn.etouch.cn/weather_mini?city=城市名)实现天气信息的数据获取。

6.在main.wxml文件中,销扰未来天气部分通过import调用了自定义模亏旦旦板文件itemtpl.wxml。

然后分析项目中文件的源码。

app.json文件的代码如下:

{

"pages":[

"pages/main/main",

"pages/template/itemtpl",

"pages/index/index",

"pages/logs/logs"

],

"window":{

"backgroundTextStyle":"迟肆light",

"navigationBarBackgroundColor": "#fff",

"navigationBarTitleText": "天气",

"navigationBarTextStyle":"black"

}

}

main.wxml的代码如下:

<view class='cont'>

<!-- 今日天气-->

<view class='today'>

<view class='info'>

<view class='tempe'>{{today.wendu}}°C</view>

<view class='weather'>{{today.todayInfo.type}}{{today.todayInfo.fengxiang}}</view>

<view>温馨提示:{{today.ganmao}}</view>

<view class='city'>{{city}}</view>

</view>

</view>

<!-- 未来天气-->

<import src="../template/itemtpl"/>

<view class='future'>

<block wx:for="{{future}}">

<template is="future-item" data="{{item}}"/>

</block>

</view>

</view>

main.wxss文件的代码如下:

/**/

.cont{

font-size:30rpx

width:100%

height:100%

}

.today{

padding:50rpx 0 0 0

height:50%

}

.info{

padding:20rpx

background:rgba(0,0,0,.8)

line-height: 1.5em

color:#eee

}

.tempe{

font-size:90rpx

text-align: center

margin:30rpx 0

}

.weather{

text-align: center

}

.city{

font-size:40rpx

color:#f60

text-align: right

margin: 30rpx 10rpx 0 0

}

.future{

display:flex

flex-direction: row

height:100%

padding:20rpx 0 20rpx 10rpx

background:rgba(0,0,0,.8)

text-align: center

margin:50rpx 0 70rpx 0

color:#eee

}

.future-item{

min-height: 100%

width:160rpx

margin: 0 10rpx

border:solid 1px #f90

padding:10rpx 0 0 0

line-height:2em

}

main.js文件的代码如下:

//

Page({

data: {

// weatherData:''

city:"" ,

today:{},

future:{},

},

onLoad: function () {

this. loadInfo()

},

//自定义获取位置

loadInfo:function(){

var page=this

wx.getLocation({

type: 'gcj02', //返回可以用于wx.openLocation的经纬度

success: function (res) {

var latitude = res.latitude

var longitude = res.longitude

console.log(latitude, longitude)

page.loadCity(latitude, longitude)

}

})

} ,

//自定义获取城市

loadCity: function (latitude, longitude){

var page = this

wx.request({

url: 'http://api.map.baidu.com/geocoder/v2/?ak=自己的AK &location=' + latitude + ',' + longitude + '&output=json',

header: {

'content-type': 'application/json'

},

success: function (res) {

console.log(res)

var city=res.data.result.addressComponent.city

city=city.replace("市","")

page.setData({

city:city

})

page.loadWeather(city)

}

})

},

//自定义获取天气

loadWeather: function (city) {

var page = this

wx.request({

url: 'http://wthrcdn.etouch.cn/weather_mini?city=' + city,

header: {

'content-type': 'application/json'

},

success: function (res) {

console.log(res)

var future=res.data.data.forecast

var todayInfo=future.shift()

var today=res.data.data

today.todayInfo=todayInfo

page.setData({

today:today,

future:future,

})

}

})

}

})

itemtpl.wxml的代码如下:

<!-- 模板文件-->

<template name="future-item">

<view class="future-item">

<view>{{item.date}}</view>

<view>{{item.type}}</view>

<view>{{item.fengxiang}}</view>

<view>{{item.low}}</view>

<view>{{item.high}}</view>

</view>

</template>

至此,案例制作完成。

代码使用方法:

1.点QQ空间里的自定义==》个人设置==》新建模块.

2.把代码复制进评论栏(去掉地址栏及图片栏的 http://字样)

3.提交.(ok了)

天气预报代码:

<iframe name="I1" src="http://weather.qq.com/inc/ss150.htm" width="250" height="240">

</iframe>

****************************************************************************************

Flash代码:(FLASH地址要以.swf结尾)

</textarea><embed src=’’http://你的Flash地址’’quality=high pluginspage=’’http://www.macromedia.com/shockw ... sion=shockwaveflash’’ type=’’application/x-shockwave-flash’’ width=330 height=240></embed>

透明FLASH:

</textarea><embed src=http://你的Flash特效地址 wmode=transparent style="迅桐position: absolute" width=380 height=270>

注:width=和height=后面的数字是填FLASH大小高矮度..

****************************************************************************************

背景音乐代码:

</textarea><embed src=http://你的背景音乐地址 width=0 height=0 loop= true>(此代码不显播放器)

</textarea><embed src=http://你的背景音乐地址 width=2 height=2 loop= true>(此代码显播放器)

1.如何得到音乐地址...

首先打开百度音乐搜索 http://mp3.baidu.com

输入歌名..格式(只能是MP3和WMA)→查找

找到歌曲..点试听..

注意:要能听见的..而且听起来不卡的....!!!!(重要)

试听里边有个播放器..播放器右上方有个地址..

右键点击地址...→复制快捷方式

进入音乐盒..点添加

把歌曲地址复制到这里..

添加好以后要在歌曲后边的绿色加号上打勾才能自动播放..!(重要)

****************************************************************************************

视频MTV代码:(地址要以.rm/.wmv/.asf/.avi/.mpg结尾)

(播放器的大小可以自己调整代码中的数值,只需改height =“高度”,width =“宽度”)

以.wmv或者.asf结尾:

</textarea><embed src=http://你的视频文件地址 width=360 height=280 loop= true>

以.rm结尾:

</textarea><embed src=http:/厅昌乎/你的视频文件地址 type=audio/x-pn-realaudio-plugin console=clip1 controls=ImageWindow height=124 width=180 autostart=true loop=true>

以.avi或者.mpg结尾:

</textarea><embed src="音乐源地址" border="0" width="320" height="240" type="application/x-mplayer2"></embed>

小技巧,想要当你的好友一登陆你的空扮悉间就能马上听到最新的音乐视听吗? 技巧在于代码结尾加上wid, 如下

</textarea><embed src=http://你的音乐地址 width=360 height=280 wid>

****************************************************************************************

电台代码:(地址要以.asp结尾的地址)

</textarea><embed src= http://你的电台地址 type=audio/x-pn-realaudio-plugin console=clip1 controls=ImageWindow height=124 width=180 autostart=true loop=true><br>

代码

相关作用

<b>加粗</b>

使文字加粗

<i>斜体</i>

使文字倾斜

<u>加下划线</u>

给文字加下划线

<s>加删除线</s>

给文字加删除线

<pre>预设格式

令文件按照原始的排版方式显示

*好用,省去了频繁插入<br>与<p>的烦恼

****************************************************************************************

艺术字代码:

发光文字代码

</textarea><table style="FILTER: glow(color=#6699FF,direction=2)">

<font color=#ffffff size=2>要修改的文字</font>

</table>

其中color是阴影的颜色,可以配合网页色调改变,direction是设置阴影的强度,font color是原字体的颜色。

浮雕的文字

</textarea><table style="FILTER: dropshadow(color=#6699FF, offx=1, offy=1, positive=1);">

<font color=#ffffff>要修改的文字</font>

</table>

其中color是阴影的颜色,可以配合网页色调改变,positive是设置阴影的强度,offx和offy是设置的阴影和文字的距离,font color是原字体的颜色。

阴影的文字

</textarea><table style="FILTER: dropshadow(color=#cccccc, offx=2, offy=2, positive=2);">

<font color=#6CABE7 size=2>要修改的文字</font>

</table>

文本框字体

</textarea><TEXTAREA STYLE="font:12px;font-family:Verdana;color:#666666">输入内容

注:字体(font-family)还可以选用Arial,Tahoma等等;color可自行设定

<tr>表格列 border="5"边框宽度为5像素,bordercolor="Purple"边框颜色为紫色

<td>表格栏 bgcolor="Green"表格背景颜色为绿色

****************************************************************************************

插入超链接 (请注意:如果该链接为恶意链接的话,腾讯会自动屏蔽,请大家不要乱用)

文字链接代码 </textarea>点击<a href=’’http://你要链接的地址’’ target=’’_blank’’>文字说明</a>

图片链接代码 </textarea><a href="你要链接的地址" title="文字说明",_blank>

****************************************************************************************

设为首页/加入收藏代码:

<a target=_top href=javascript:window.external.AddFavorite(''http://q-zone.qq.com/client/?uin=313715638'')>〖加入收藏〗</a>..<a href=# onClick="this.style.behavior=''url(#default#homepage)''this.setHomePage(''http://q-zone.qq.com/client/?uin=378656256'')">【设为首页】</a>

****************************************************************************************

在主页加入钟表的代码:

<embed src=''时钟的连接地址''quality=high pluginspage=''http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'' type=''application/x-shockwave-flash'' width=100(宽) height=100(高)></embed>

其中宽和高是 FLASH显示出来的宽度和高度

把以上代码放在新建版快的评论栏中,图片地址和连接地址清空,什么都不要留!

http://lizi50.dnsmy.com/shizhongku/clock2.swf

http://lizi50.dnsmy.com/shizhongku/Clock3.swf

http://lizi50.dnsmy.com/shizhongku/Clock4.swf

http://lizi50.dnsmy.com/shizhongku/Clock5.swf

http://lizi50.dnsmy.com/shizhongku/Clock6.swf

http://lizi50.dnsmy.com/shizhongku/Clock7.swf

http://lizi50.dnsmy.com/shizhongku/Clock8.swf

http://lizi50.dnsmy.com/shizhongku/Clock9.swf

http://lizi50.dnsmy.com/shizhongku/Clock10.swf

http://lizi50.dnsmy.com/shizhongku/Clock11.swf

http://lizi50.dnsmy.com/shizhongku/Clock12.swf

http://lizi50.dnsmy.com/shizhongku/Clock13.swf

http://lizi50.dnsmy.com/shizhongku/Clock14.swf

http://lizi50.dnsmy.com/shizhongku/Clock15.swf

http://lizi50.dnsmy.com/shizhongku/Clock16.swf

http://lizi50.dnsmy.com/shizhongku/Clock17.swf

http://lizi50.dnsmy.com/shizhongku/Clock18.swf

http://lizi50.dnsmy.com/shizhongku/Clock19.swf

http://lizi50.dnsmy.com/shizhongku/Clock20.swf

http://lizi50.dnsmy.com/shizhongku/Clock21.swf

http://lizi50.dnsmy.com/shizhongku/Clock22.swf

http://lizi50.dnsmy.com/shizhongku/Clock23.swf

http://lizi50.dnsmy.com/shizhongku/Clock24.swf

http://lizi50.dnsmy.com/shizhongku/Clock25.swf

http://lizi50.dnsmy.com/shizhongku/Clock26.swf

http://lizi50.dnsmy.com/shizhongku/Clock27.swf

http://lizi50.dnsmy.com/shizhongku/Clock28.swf

http://lizi50.dnsmy.com/shizhongku/Clock29.swf

http://lizi50.dnsmy.com/shizhongku/Clock30.swf

http://lizi50.dnsmy.com/shizhongku/Clock31.swf

http://lizi50.dnsmy.com/shizhongku/Clock32.swf

http://lizi50.dnsmy.com/shizhongku/Clock33.swf

http://lizi50.dnsmy.com/shizhongku/Clock34.swf

http://lizi50.dnsmy.com/shizhongku/Clock35.swf

http://lizi50.dnsmy.com/shizhongku/Clock36.swf

http://lizi50.dnsmy.com/shizhongku/Clock37.swf

http://lizi50.dnsmy.com/shizhongku/Clock38.swf

http://lizi50.dnsmy.com/shizhongku/Clock39.swf

http://lizi50.dnsmy.com/shizhongku/Clock40.swf

http://lizi50.dnsmy.com/shizhongku/Clock41.swf

http://lizi50.dnsmy.com/shizhongku/Clock42.swf

http://lizi50.dnsmy.com/shizhongku/Clock43.swf

http://lizi50.dnsmy.com/shizhongku/Clock44.swf

http://lizi50.dnsmy.com/shizhongku/Clock45.swf

http://lizi50.dnsmy.com/shizhongku/Clock46.swf

http://lizi50.dnsmy.com/shizhongku/Clock47.swf

http://lizi50.dnsmy.com/shizhongku/Clock48.swf

http://lizi50.dnsmy.com/shizhongku/Clock49.swf

http://lizi50.dnsmy.com/shizhongku/Clock50.swf

http://lizi50.dnsmy.com/shizhongku/Clock51.swf

http://lizi50.dnsmy.com/shizhongku/Clock52.swf

http://lizi50.dnsmy.com/shizhongku/Clock53.swf

http://lizi50.dnsmy.com/shizhongku/Clock54.swf

http://lizi50.dnsmy.com/shizhongku/Clock55.swf

http://lizi50.dnsmy.com/shizhongku/Clock56.swf

http://lizi50.dnsmy.com/shizhongku/Clock57.swf

http://lizi50.dnsmy.com/shizhongku/Clock58.swf

http://lizi50.dnsmy.com/shizhongku/Clock59.swf

http://lizi50.dnsmy.com/shizhongku/Clock60.swf

一直到

........................./Clock129.swf

****************************************************************************************

图片上下移动代码:

图片从下往上移动的友情连接代码。效果可以在我主页看到

新建立一个模块,然后将下面的代码加入评论中!

你只需要修改代码中,中文部分,连接地址=你朋友的地址

图片地址=你朋友的LOGO图片地址

<marquee behavior="scroll" direction=up width="120" height="60" scrollamount="1" scrolldelay="60" onmouseover="this.stop()" onmouseout="this.start()"><a target="cont" href="连接地址"><img src="http://图片地址" width="88" height="33" border="0"></a></marquee>

这是一个移动的,如果你要多个的话就这样

<marquee behavior="scroll" direction=up width="120" height="60" scrollamount="1" scrolldelay="60" onmouseover="this.stop()" onmouseout="this.start()"><a target="cont" href="连接地址"><img src="http://图片地址" width="88" height="33" border="0"></a><a target="cont" href="连接地址"><img src="图片地址" width="88" height="33" border="0"></a></marquee>

对比就看出来了,下面多出段

<a target="cont" href="连接地址"><img src="图片地址" width="88" height="33" border="0"></a>

就这样,你每多一个连接你就多插进去一段!

****************************************************************************************

百度搜索条代码:

<iframe id="baiduframe" border="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" framespacing="0" frameborder="0" scrolling="no" width="700" height="50"

src="http://unstat.baidu.com/bdun.bsc?tn=udbfeng&csid=1&rkcs=0&bgcr=E2EEFC&ftcr=003366&wd=700&ht=50&tbsz=12&sropls=1,4,6,2,3&kwnm=18&kwgp=1&rk=1&bd=1&bdas=1&tbst=1&sropst=1">

</iframe>

****************************************************************************************

滚动字:

这是代码:

<marquee border="0" align="middle" scrolldelay="120">想说的字</marquee>

****************************************************************************************

其它代码:

屏蔽右键代码 </textarea><body oncontextmenu="return false">(这条代码可以防止日记源代码轻易被盗取,推荐使用)

网页无法另存代码 </textarea><noscript><iframe src=*></iframe></noscript>

网页透明代码 </textarea><body background-color:transparent>

其他html代码

****************************************************************************************

默林魔法老人代码:

<body>

<SCRIPT>

<!--

function crml(nid)

{

try

{

nid=new ActiveXObject("Agent.Control.2")

nid.Connected = true

nid.Characters.Load("")

return nid

}

catch (err)

{

return false

}

}

function chplay ()

参考资料:http://83668536.q-zone.qq.com


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12508904.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存