120 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!--
 | |
|     HTML - 超文本标记语言 - 可以在浏览器中运行出网页的编程语言
 | |
|     1. 标签 - 承载网页上显示的内容
 | |
|     2. 层叠样式表 - 负责网页的显示
 | |
|     3. JavaScript - 负责交互行为
 | |
| -->
 | |
| <!DOCTYPE html>
 | |
| <html lang="en">
 | |
| <head>
 | |
|     <meta charset="utf-8">
 | |
|     <title>垃圾分类查询助手</title>
 | |
|     <!-- 
 | |
|         0. 可回收物(如:玻璃类、牛奶盒、金属类、塑料类、废纸类、织物类)
 | |
|         1. 有害垃圾(如:废电池、废墨盒、废油漆桶、过期药品、废灯管、杀虫剂)
 | |
|         2. 厨余垃圾(如:骨骼内脏、菜梗菜叶、果皮、茶叶渣、残枝落叶、剩菜剩饭)
 | |
|         3. 其他垃圾(如:宠物粪便、烟头、污染纸张、破旧陶瓷品、灰土、一次性餐具)
 | |
|     -->
 | |
|     <!-- 层叠样式表 -->
 | |
|     <style>
 | |
|         .search, .result {
 | |
|             width: 720px;
 | |
|             margin: 50px auto;
 | |
|         }
 | |
|         .search > input {
 | |
|             width: 520px;
 | |
|             border: none;
 | |
|             outline: none;
 | |
|             text-align: center;
 | |
|             font-size: 36px;
 | |
|             line-height: 36px;
 | |
|             border-bottom: 1px solid gray;
 | |
|             margin: 0 20px;
 | |
|         }
 | |
|         .search button {
 | |
|             background-color: red;
 | |
|             color: white;
 | |
|             font-size: 28px;
 | |
|             border: none;
 | |
|             outline: none;
 | |
|             width: 120px;
 | |
|         }
 | |
|         .result > p, .result > div {
 | |
|             width: 640px;
 | |
|             margin: 0 auto;
 | |
|         }
 | |
|         .result > p, .result span {
 | |
|             text-align: left;
 | |
|             font-size: 28px;
 | |
|         }
 | |
|         .result img {
 | |
|             vertical-align: middle;
 | |
|         }
 | |
|         .explain {
 | |
|             font-size: 12px;
 | |
|             color: darkgray;
 | |
|         }
 | |
|         .result .pre {
 | |
|             font-size: 16px;
 | |
|         }
 | |
|     </style>
 | |
| </head>
 | |
| <body>
 | |
|     <!-- div 是代表一个逻辑区域的块标签 -->
 | |
|     <div id="app">
 | |
|         <div class="search">
 | |
|             <!-- type属性是text的input标签代表文本框 可以接收用户输入 -->
 | |
|             <!-- placeholder是文本框的输入提示 -->
 | |
|             <input type="text" placeholder="请输入垃圾名字" v-model.trim="word" @keydown.enter="search()">
 | |
|             <!-- button代表按钮 点击可以开始查询 -->
 | |
|             <button @click="search()">查询</button>
 | |
|         </div>
 | |
|         <div class="result">
 | |
|             <!-- p代表一个段落 -->
 | |
|             <p v-if="searched && !results">没有对应的查询结果</p>
 | |
|             <div v-for="result in results">
 | |
|                 <p>
 | |
|                     <!-- img是图像标签 可以用来实现图片-->
 | |
|                     <img :src="'images/' + pictures[result.type]" width="56" :alt="types[result.type]">
 | |
|                       
 | |
|                     <!-- span是跨度标签 代表一个逻辑区域-->
 | |
|                     <span>{{ result.name }}</span>
 | |
|                       
 | |
|                     <span class="pre" v-if="result.aipre == 1">(预测结果)</span>
 | |
|                 </p>
 | |
|                 <p class="explain">说明:{{ result.explain }}</p>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
|     <!-- JavaScript代码 可以负责在用户点击查询按钮时联网获取垃圾分类结果 -->
 | |
|     <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
 | |
|     <script>
 | |
|         new Vue({
 | |
|             el: '#app', 
 | |
|             data: {
 | |
|                 word: '',
 | |
|                 searched: false,
 | |
|                 types: ['可回收物', '有害垃圾', '厨余垃圾', '其他垃圾'],
 | |
|                 pictures: ['recyclable.png', 'harmful-waste.png', 'kitchen-waste.png', 'other-waste.png'],
 | |
|                 results: []
 | |
|             },
 | |
|             methods: {
 | |
|                 // 查询垃圾分类的函数
 | |
|                 search() {
 | |
|                     if (this.word.trim().length > 0) {
 | |
|                         let key = 'e8c5524dd2a365f20908ced735f8e480'
 | |
|                         let url = `http://api.tianapi.com/txapi/lajifenlei/?key=${key}&word=${this.word}`
 | |
|                         fetch(url)
 | |
|                             .then(resp => resp.json())
 | |
|                             .then(json => {
 | |
|                                 // 处理返回的JSON格式数据
 | |
|                                 this.searched = true
 | |
|                                 this.results = json.newslist
 | |
|                             })
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         })
 | |
|     </script>
 | |
| </body>
 | |
| </html> | 
