微信小程序项目-你是什么垃圾?
垃圾分类特别火也不知道北京什么时候也开始执行,看见之前上海市民被灵魂拷问了以后垃圾真的不知道如何丢了,作为程序员就做一个小程序造福人类吧。
效果图:



一、全局的app.json和app.wxss加入了一点东西
App.json
{
"pages": [
"pages/index/index",
"pages/details/details",
"pages/logs/logs"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle": "white",
"navigationStyle": "custom"
},
"sitemapLocation": "sitemap.json"
}
App.wxss
.bg{
position: absolute;
left:0;
top:0;
width:100%;
height: 100%;
}
二、下面就是首页的index.wxml、index.js、 index.wxss
index.wxml
<image class='bg' src='../img/bg.png'></image>
<view class='container'>
<view class='top'>
<text class='top-title'>你是什么垃圾</text>
<text class='top-more'>一键查询免烦恼,从我做起爱环保</text>
</view>
<view class='search'>
<view class='search-main'>
<icon type='search' size='16'></icon>
<input
placeholder="请输入查询的垃圾名称"
bindinput='iptDetails'
bindconfirm="search"
></input>
</view>
<view class='search-end' wx:if='{{searchResultDatas.length > 0}}'>
<text
wx:for='{{searchResultDatas}}'
wx:key='{{index}}'
bindtap='toDetails'
data-title='{{item.itemName}}'
>{{item.itemName}}</text>
</view>
</view>
<view class='hot'>
<view class='hot-main'>
<view class='hot-title'>热门搜索:</view>
<view class='hot-item'>
<text
wx:for='{{hotSearch}}'
wx:key='{{index}}'
bindtap='toDetails'
data-title='{{item.itemName}}'
>{{item.itemName}}</text>
</view>
</view>
</view>
</view>
index.js
Page({
/**
* 页面的初始数据
*/
data: {
hotSearch:[],
searchResultDatas:[]
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let That = this;
wx.request({
url: 'http://apis.juhe.cn/rubbish/hotSearch',
data:{
key: 'ae200d60495f41dfb86da332dc059214',
},
success(res){
That.setData({
hotSearch: res.data.result
})
}
})
},
toDetails(e){
let title = e.currentTarget.dataset.title;
wx.navigateTo({
url: `../details/details?id=${title}`
})
},
iptDetails(e){
let That = this;
let val = e.detail.value;
if(val.length == 0){
this.setData({
searchResultDatas: []
})
return;
}
wx.request({
url: 'http://apis.juhe.cn/rubbish/search',
data:{
key:"ae200d60495f41dfb86da332dc059214",
q: val
},
success(res){
That.setData({
searchResultDatas: res.data.result
})
}
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
index.wxss
.container{
position: relative;
left:0;
top:88rpx;
}
.search-end{
display: flex;
overflow-y:auto;
background: #fff;
width:100%;
height: 750rpx;
position: fixed;
left:0rpx;
bottom:0rpx;
z-index:999;
flex-direction: column;
padding:30rpx;
}
.search-end text{
padding:20rpx 0 ;
border-bottom:1px solid #f5f5f5;
font-size:12px;
color:#ccc;
}
.top{
display: flex;
align-items: center;
flex-direction: column;
padding-top:150rpx;
color:#fff;
}
.top-title{
font-size:36px;
font-weight: bold;
}
.top-more{
font-size:12px;
}
.search{
padding-top:40rpx;
display: flex;
justify-content: center;
}
.search-main{
display: flex;
align-items: center;
background: #fff;
height:80rpx;
width:90%;
border-radius: 10rpx;
}
.search-main icon{
width:80rpx;
text-align: center;
}
.search-main input{
flex:1;
font-size:12px;
}
.hot{
padding-top:40rpx;
display: flex;
justify-content: center;
}
.hot-main{
width:90%;
color:#fff;
}
.hot-title{
padding:20rpx 0;
}
.hot-item{
display: flex;
flex-wrap: wrap;
}
.hot text{
border-radius: 30rpx;
border:1px solid #fff;
padding:5rpx 30rpx;
margin: 20rpx 20rpx 20rpx 0;
font-size:12px;
}
三、下面就是详情页details.wxml、details.js、details.wxss
details.wxml
<image class='bg' src='../img/bg.png'></image>
<view class='details'>
<view class="end">
<text class='name'>{{item.itemName}}</text>
<text class='attr'>属性“{{item.itemCategory}}”</text>
</view>
<view class='details-more'>
<view class='more-title'>
{{item.itemCategory}}投放指导
</view>
<view class='more-title'>
<text>·尽量沥干水分</text>
<text>·难以辨别的生活垃圾应投入垃圾容器内</text>
<text>·餐巾纸、纸巾、纸尿裤等其他垃圾</text>
</view>
</view>
<button bindtap='toHome'>关闭</button>
</view>
details.js
// pages/details/details.js
Page({
/**
* 页面的初始数据
*/
data: {
item:[]
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let itemName = options.id;
let That = this;
wx.request({
url: 'http://apis.juhe.cn/rubbish/search',
data:{
key: 'ae200d60495f41dfb86da332dc059214',
q: itemName,
type:2
},
success(res){
That.setData({
item: res.data.result[0]
})
}
})
},
toHome(){
// wx.navigateTo({
// url: '../index/index',
// })
wx.navigateBack()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
index.wxss
.details{
position: relative;
top:44px;
left:0;
}
.end{
padding-top:120rpx;
padding-bottom:100rpx;
color:#fff;
display: flex;
flex-direction: column;
align-items: center;
}
.end text{
padding:5rpx 0;
}
.name{
font-size:21px;
}
.attr{
font-size:36px;
font-weight: bold;
}
.details-more{
width:90%;
margin:0 auto;
background: #fff;
border-radius: 20rpx;
padding:20rpx;
}
.more-title{
padding:10rpx;
font-size:16px;
}
.more-title text{
padding:20rpx;
font-size:12px;
display: block;
}
button{
margin-top:100rpx;
background: #fff;
color:#0190ff;
border:none;
width:300rpx;
height: 80rpx;
border-radius: 50rpx;
font-size:14px;
text-align: center;
line-height: 80rpx;
}
微信小程序项目-你是什么垃圾?的更多相关文章
- 微信小程序开发01 --- 微信小程序项目结构介绍
一.微信小程序简单介绍: 微信官方介绍微信小程序是一个不需要下载安装就可使用(呵呵,JS代码不用下载吗?展示的UI不用下载吗?)的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用. ...
- 高仿Readhub小程序 微信小程序项目【原】
# News #### 项目介绍微信小程序项目涉及功能 https://gitee.com/richard1015/News https://github.com/richard1015/News 高 ...
- 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...
- 微信小程序项目实战之天气预报
概述 微信小程序项目实战之天气预报 详细 代码下载:http://www.demodashi.com/demo/10634.html 一.准备工作 1.注册微信小程序 2.注册和风天气账号 3.注册百 ...
- 微信小程序项目实战之豆瓣天气
概述 微信小程序项目实战之豆瓣天气 详细 代码下载:http://www.demodashi.com/demo/10943.html 一.准备工作 1.注册微信小程序 2.在小程序设置中设置reque ...
- 《微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》(笔记1)WePY开发环境的安装
WePY的安装或更新都通过npm进行,全局安装或更新WePY命令行工具,使用以下命令: npm install wepy-cli -g 稍等片刻,成功安装后,即可创建WePY项目. 注意:如果npm安 ...
- 微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》(笔记4)支持React.js语法的Taro框架
Taro本身实现的情况类似于mpvue,mpvue的未来展望中也包含了支付宝小程序,现在的版本中,也可以使用不同的构建命令来构建出百度小程序的支持,如第10章所示,但是现在Taro先于mpvue实现了 ...
- 使用uni-app(Vue.js)创建运行微信小程序项目步骤
使用uni-app(Vue.js)开发微信小程序项目步骤 1. 新建一个uni-app项目 创建完成后的目录结构 2. 打开微信小程序开发工具端的端口调试功能 3. 运行创建的项目 效果
- 微信小程序项目转换为uni-app项目
一.它是谁? [miniprogram-to-uniapp]转换微信小程序"项目为uni-app项目.原则上混淆过的项目,也可以进转换,因为关键字丢失,不一定会完美. 二.它的原理是什么? ...
随机推荐
- Win10下安装python3.x+pycharm+autopep8
一.安装Python3.X 1.Pythong官方网站:http://python.org/getit/ 下载windows的安装包.有以下几个选项: 这里选择windows x86-64 exc ...
- Python AttributeError: 'Module' object has no attribute 'STARTF_USESHOWINDOW'
夫学须志也,才须学也,非学无以广才,非志无以成学.--诸葛亮 生活有度,自得慈铭 --杜锦阳 今天新来的同事安装环境遇到个莫名其妙的问题: AttributeError: 'Module' objec ...
- PyTorch : torch.nn.xxx 和 torch.nn.functional.xxx
PyTorch : torch.nn.xxx 和 torch.nn.functional.xxx 在写 PyTorch 代码时,我们会发现一些功能重复的操作,比如卷积.激活.池化等操作.这些操作分别可 ...
- POJ-2502 Subway( 最短路 )
题目链接:http://poj.org/problem?id=2502 Description You have just moved from a quiet Waterloo neighbourh ...
- Codeforces Round #480 (Div. 2) A. Links and Pearls
题目地址:http://codeforces.com/contest/980/problem/A 官方题解: 我的理解:o表示珍珠,-表示链子,给一串字符串你可以任意重组这条项链(不能删去),判断这条 ...
- SPOJ - QTREE(树链剖分+单点更新+区间最大值查询)
题意:给出n个点n-1条边的树,有两个操作,一个是查询节点l到r的边的最大值,然后指定边的更改权值. 题解:差不多是树链剖分的模版题,注意每个点表示的边是连向其父亲节点的边. #include < ...
- 牛客网 湖南大学2018年第十四届程序设计竞赛重现赛 A game
链接:https://www.nowcoder.com/acm/contest/125/A来源:牛客网 Tony and Macle are good friends. One day they jo ...
- Java 网络编程:必知必会的 URL 和 URLConnection
java.net.URL 类将 URL 地址进行了封装,并提供了解析 URL 地址的基本方法,比如获取 URL 的主机名和端口号.java.net.URLConnection 则代表了应用程序和 UR ...
- vim 高级功能
本文章原创首发于公众号:编程三分钟 ,文末二维码. 文本编辑.跳转.删除.复制.替换这些操作用vim确实是快:但是好像仅仅是这样根本不能说服我vim超过鼠标的地方. 花点时间弄熟这些,除了炫技意外,主 ...
- Seaborn数据可视化入门
在本节学习中,我们使用Seaborn作为数据可视化的入门工具 Seaborn的官方网址如下:http://seaborn.pydata.org 一:definition Seaborn is a Py ...