@ -1,51 +0,0 @@
|
||||
# weapp-wechat-zhihu
|
||||
|
||||
微信中的知乎--微信小程序 demo // Zhihu in Wechat
|
||||
|
||||
![](images/v_index.png)
|
||||
|
||||
### description
|
||||
- 界面及交互设计来自知乎 Android 版本
|
||||
- _工具_: [微信 web 开发者工具](https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=1477579747265)
|
||||
- _数据_: 没有开放 API, 所以使用伪造本地数据
|
||||
|
||||
#### 功能及使用的组件等
|
||||
* 列表式渲染数据
|
||||
* 自定义顶部 tabbar
|
||||
* 下拉刷新
|
||||
* 上拉加载更多
|
||||
* 轮播图
|
||||
<br/>等...
|
||||
|
||||
### Setup
|
||||
|
||||
```
|
||||
git@github.com:RebeccaHanjw/weapp-wechat-zhihu.git
|
||||
```
|
||||
下载安装Wechat DEV Tools, 并导入项目
|
||||
|
||||
### 演示
|
||||
|
||||
首页下拉刷新等
|
||||
|
||||
![](images/index_scroll.gif)
|
||||
|
||||
底部 tab 切换
|
||||
|
||||
![](images/bottom_tab.gif)
|
||||
|
||||
顶部自定义 tab 切换
|
||||
|
||||
![](images/top_tab.gif)
|
||||
|
||||
页面跳转
|
||||
|
||||
![](images/navigation.gif)
|
||||
|
||||
|
||||
##### Demo 用于学习交流, 转载请注明出处
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,35 +0,0 @@
|
||||
//app.js
|
||||
App({
|
||||
onLaunch: function () {
|
||||
wx.cloud.init({
|
||||
env:"cloud1-8g5wmepxce8a3b8a",
|
||||
traceUser:true//是否访问权限可见
|
||||
})}})
|
||||
/*
|
||||
//调用API从本地缓存中获取数据
|
||||
var logs = wx.getStorageSync('logs') || []
|
||||
logs.unshift(Date.now())
|
||||
wx.setStorageSync('logs', logs)
|
||||
},
|
||||
getUserInfo:function(cb){
|
||||
var that = this
|
||||
if(this.globalData.userInfo){
|
||||
typeof cb == "function" && cb(this.globalData.userInfo)
|
||||
}else{
|
||||
//调用登录接口
|
||||
wx.login({
|
||||
success: function () {
|
||||
wx.getUserInfo({
|
||||
success: function (res) {
|
||||
that.globalData.userInfo = res.userInfo
|
||||
typeof cb == "function" && cb(that.globalData.userInfo)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
globalData:{
|
||||
userInfo:null
|
||||
}
|
||||
})*/
|
@ -1,44 +0,0 @@
|
||||
{
|
||||
"pages":[
|
||||
"pages/login/login",
|
||||
"pages/index/index",
|
||||
"pages/submit/submit",
|
||||
"pages/notify/notify",
|
||||
"pages/searchShow/searchShow",
|
||||
"pages/change/change",
|
||||
"pages/answer/answer"
|
||||
],
|
||||
"window":{
|
||||
"backgroundTextStyle":"light",
|
||||
"navigationBarBackgroundColor": "#0068C4",
|
||||
"navigationBarTitleText": "论坛",
|
||||
"navigationBarTextStyle":"white",
|
||||
"enablePullDownRefresh":true
|
||||
},
|
||||
"tabBar": {
|
||||
"color": "#626567",
|
||||
"selectedColor": "#2A8CE5",
|
||||
"backgroundColor": "#FBFBFB",
|
||||
"borderStyle": "white",
|
||||
"list": [{
|
||||
"pagePath": "pages/index/index",
|
||||
"text": "",
|
||||
"iconPath": "images/index.png",
|
||||
"selectedIconPath": "images/index_focus.png"
|
||||
},{
|
||||
"pagePath": "pages/notify/notify",
|
||||
"text": "",
|
||||
"iconPath": "images/ring.png",
|
||||
"selectedIconPath": "images/ring_focus.png"
|
||||
}
|
||||
|
||||
]
|
||||
},
|
||||
"networkTimeout": {
|
||||
"request": 10000,
|
||||
"downloadFile": 10000
|
||||
},
|
||||
"debug": true,
|
||||
"style": "v2",
|
||||
"sitemapLocation": "sitemap.json"
|
||||
}
|
@ -1,127 +0,0 @@
|
||||
/**app.wxss**/
|
||||
.container {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
/*padding: 200rpx 0;*/
|
||||
box-sizing: border-box;
|
||||
background: #F0F4F3;
|
||||
}
|
||||
|
||||
.container.withtab{
|
||||
margin: 105rpx 0 0 0;
|
||||
/*top: 105rpx;*/
|
||||
}
|
||||
.flex-wrp{
|
||||
display: flex;
|
||||
}
|
||||
.flex-tab{
|
||||
flex-flow: row nowrap;
|
||||
justify-content: space-around;
|
||||
align-items: stretch;
|
||||
}
|
||||
.flex-item{
|
||||
flex-grow: 1;
|
||||
text-align: center;
|
||||
}
|
||||
.top-tab{
|
||||
width: 750rpx;
|
||||
height: 100rpx;
|
||||
background: #298DE5;
|
||||
color: #8CCEFD;
|
||||
font-size: 28rpx;
|
||||
line-height: 100rpx;
|
||||
box-shadow: 0 2px 2px #bebebe;
|
||||
margin: 0 0 8rpx 0;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
z-index: 9999;
|
||||
}
|
||||
.toptab.active{
|
||||
color: #ffffff;
|
||||
border-bottom: solid 2px #ffffff;
|
||||
}
|
||||
.container{
|
||||
padding: 0;
|
||||
font-size: 14rpx;
|
||||
color: #000;
|
||||
}
|
||||
.container .feed-item{
|
||||
width: 690rpx;
|
||||
padding: 30rpx 30rpx 20rpx;
|
||||
margin: 7rpx 0 6rpx 0;
|
||||
background: #ffffff;
|
||||
border-top: 1px solid #eee;
|
||||
border-bottom: 1px solid #eee;
|
||||
box-shadow: 0 2px 5px #eeeeee;
|
||||
}
|
||||
.container .feed-item .feed-source{
|
||||
width: 690rpx;
|
||||
left: 0;
|
||||
height: 50rpx;
|
||||
}
|
||||
.container .feed-item .feed-source .avatar{
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
.container .feed-item .feed-source a{
|
||||
display: inline-block;
|
||||
height: 40rpx;
|
||||
}
|
||||
.container .feed-item .feed-source .avatar image{
|
||||
/*position: absolute;*/
|
||||
display: inline-block;
|
||||
width: 45rpx;
|
||||
height: 45rpx;
|
||||
border-radius: 45rpx;
|
||||
top: 10rpx;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.container .feed-item .feed-source text{
|
||||
/*position: absolute;*/
|
||||
display: inline-block;
|
||||
height: 40rpx;
|
||||
line-height: 40rpx;
|
||||
vertical-align: middle;
|
||||
margin: 0 0 0 15rpx;
|
||||
color: #a0acac;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
.container .feed-item .feed-source .item-more{
|
||||
display: inline-block;
|
||||
width: 40rpx;
|
||||
height: 45rpx;
|
||||
float: right;
|
||||
}
|
||||
.container .feed-item .feed-content{
|
||||
padding: 10rpx 0 0 0;
|
||||
}
|
||||
.container .feed-item .feed-content .question text{
|
||||
font-size: 28rpx;
|
||||
font-weight: 600px;
|
||||
line-height: 40rpx;
|
||||
word-spacing: 5rpx;
|
||||
}
|
||||
.container .feed-item .feed-content .answer-body{
|
||||
padding: 10rpx 0 0 0;
|
||||
/*height: 10rpx;*/
|
||||
font-size: 24rpx;
|
||||
line-height: 28rpx;
|
||||
color: #5b5b5b;
|
||||
}
|
||||
.container .feed-item .feed-content .answer-actions{
|
||||
width: 690rpx;
|
||||
padding: 10rpx 0 0;
|
||||
color: #a0acac;
|
||||
}
|
||||
.container .feed-item .feed-content .answer-actions view{
|
||||
display: inline-block;
|
||||
vertical-align: text-bottom;
|
||||
padding: 0 10rpx 0 0;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.container .feed-item .feed-content .answer-actions .dot ::after{
|
||||
content: "•";
|
||||
}
|
Before Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 141 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 230 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 473 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 969 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 715 B |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 4.4 KiB |
@ -1,3 +0,0 @@
|
||||
{
|
||||
"navigationBarTitleText": "回答"
|
||||
}
|
@ -1,300 +0,0 @@
|
||||
/**answer.wxss**/
|
||||
.mycontainer{
|
||||
margin-bottom: 200rpx;
|
||||
}
|
||||
|
||||
.a {
|
||||
padding: 0;
|
||||
font-size: 14rpx;
|
||||
background: #F0F4F3;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.question {
|
||||
position: relative;
|
||||
width: 650rpx;
|
||||
padding: 40rpx 50rpx 30rpx;
|
||||
background: #298DE5;
|
||||
color: #fff;
|
||||
font-size: 38rpx;
|
||||
line-height: 48rpx;
|
||||
}
|
||||
.answerer-wrp{
|
||||
position: relative;
|
||||
width: 750rpx;
|
||||
height: 150rpx;
|
||||
background: #fff;
|
||||
}
|
||||
.answerer-wrp .bg-half{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 750rpx;
|
||||
height: 75rpx;
|
||||
background: #298DE5;
|
||||
}
|
||||
.answerer {
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
width: 630rpx;
|
||||
height: 90rpx;
|
||||
padding: 30rpx;
|
||||
background: #fff;
|
||||
border: solid 1px #ebebeb;
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 1px 2px #bebebe;
|
||||
}
|
||||
.answerer .avatar {
|
||||
flex: 1;
|
||||
width: 90rpx;
|
||||
height: 90rpx;
|
||||
}
|
||||
|
||||
.answerer .avatar image {
|
||||
display: inline-block;
|
||||
width: 90rpx;
|
||||
height: 90rpx;
|
||||
border-radius: 90rpx;
|
||||
}
|
||||
.answerer .answerer-info{
|
||||
flex: 5;
|
||||
text-align: left;
|
||||
padding: 10rpx 20rpx;
|
||||
line-height: 38rpx;
|
||||
}
|
||||
.answerer .answerer-info text{
|
||||
display: block;
|
||||
}
|
||||
.answerer .answerer-info .answerer-name{
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.answerer .answerer-info .answerer-des{
|
||||
font-size: 22rpx;
|
||||
color: #808080;
|
||||
line-height: 28rpx;
|
||||
}
|
||||
|
||||
.answerer .follow image{
|
||||
/* flex: 2;
|
||||
padding: 15rpx 0;
|
||||
font-size: 22rpx; */
|
||||
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
.answerer .follow text{
|
||||
/* display: inline-block;
|
||||
padding: 15rpx 20rpx;
|
||||
color: #40bcd0;
|
||||
border: solid 2px #40bcd0;
|
||||
border-radius: 6rpx; */
|
||||
display: block;
|
||||
font-size: 14rpx;
|
||||
color: #bebebe;
|
||||
}
|
||||
.answerer .follow .a3{
|
||||
/* flex: 2;
|
||||
padding: 15rpx 0;
|
||||
font-size: 22rpx; */
|
||||
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 30rpx;
|
||||
height: 35rpx;
|
||||
margin-top: 9rpx;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.answer-content{
|
||||
padding: 30rpx 40rpx;
|
||||
background: #ffffff;
|
||||
|
||||
}
|
||||
.answer-content text{
|
||||
font-size: 32rpx;
|
||||
color: #454545;
|
||||
line-height: 44rpx;
|
||||
word-break: break-all;
|
||||
}
|
||||
.answer-content image{
|
||||
width: 100%;
|
||||
margin: 20rpx 0;
|
||||
}
|
||||
.answer-footer{
|
||||
width: 750rpx;
|
||||
height: 70rpx;
|
||||
|
||||
font-size: 28rpx;
|
||||
|
||||
box-shadow: 0 100px 7px #bebebe;
|
||||
margin: 0 200rpx 0 0;
|
||||
|
||||
position: sticky ;
|
||||
bottom: 0;
|
||||
z-index: 9999;
|
||||
}
|
||||
.answer-footer{
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
height: 70rpx;
|
||||
border-top: solid 1px #ebebeb;
|
||||
background: #ffffff;
|
||||
width: 670rpx;
|
||||
padding: 20rpx 40rpx;
|
||||
}
|
||||
.answer-footer .good{
|
||||
flex: 1;
|
||||
/*display: inline-block;*/
|
||||
height: 40rpx;
|
||||
border: solid 1px #d1d1d1;
|
||||
border-radius: 3px;
|
||||
padding: 10rpx 8rpx;
|
||||
margin: 10rpx 0;
|
||||
}
|
||||
.answer-footer .good .good-bad{
|
||||
display: inline-block;
|
||||
}
|
||||
.answer-footer .good image{
|
||||
display: inline-block;
|
||||
width: 38rpx;
|
||||
height: 38rpx;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.answer-footer .good .good-num{
|
||||
display: inline-block;
|
||||
padding: 10rpx 4rpx;
|
||||
/*font-size: 24rpx;*/
|
||||
}
|
||||
.answer-footer .operation-wrp{
|
||||
flex: 5;
|
||||
}
|
||||
.answer-footer .operation{
|
||||
justify-content: space-between;
|
||||
padding: 0 0 0 60rpx;
|
||||
}
|
||||
.answer-footer .operation-btn{
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
.answer-footer .operation image{
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
}
|
||||
.answer-footer .operation-btn text{
|
||||
display: block;
|
||||
font-size: 14rpx;
|
||||
color: #bebebe;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* .tip{
|
||||
position: relative;
|
||||
width: 650rpx;
|
||||
padding: 30rpx 50rpx 30rpx;
|
||||
/*background: #298DE5;*/
|
||||
/* color: rgb(0, 0, 0);
|
||||
font-size: 38rpx;
|
||||
line-height: 48rpx;
|
||||
|
||||
} */
|
||||
|
||||
.input{
|
||||
display:block;
|
||||
border:2px solid gainsboro;
|
||||
margin-top: 60rpx;
|
||||
margin-bottom: 60rpx;
|
||||
}
|
||||
.pinglunItem{
|
||||
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
border-top: 2px solid gainsboro;
|
||||
margin-left: 0rpx;
|
||||
margin-top: 0rpx;
|
||||
|
||||
}
|
||||
|
||||
.pinglunItem .a1{
|
||||
margin-left: 30rpx;
|
||||
margin-right: 30rpx;
|
||||
margin-top: 20rpx;
|
||||
margin-bottom: 20rpx;
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 90rpx;
|
||||
}
|
||||
.pinglunItem .desc{
|
||||
font-size: 30rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
.pinglunItem .a2 {
|
||||
margin-left: 100rpx;
|
||||
margin-right: 30rpx;
|
||||
margin-top: -20rpx;
|
||||
width: 30rpx;
|
||||
height: 35rpx;
|
||||
position: absolute; /* 要约束所在位置的子元素的位置要设置成绝对 */
|
||||
right: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.search{
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 735rpx;
|
||||
height: 65rpx;
|
||||
padding: 12.5rpx 0 12.5rpx 15rpx;
|
||||
background: #2A8CE5;
|
||||
}
|
||||
.search-left{
|
||||
flex: 8;
|
||||
background: #4EA3E7;
|
||||
text-align: left;
|
||||
}
|
||||
.search-left input{
|
||||
display: inline-block;
|
||||
height: 65rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
.search-placeholder{
|
||||
color: #8CCEFD;
|
||||
line-height: 20rpx;
|
||||
}
|
||||
.search .search-left image{
|
||||
display: inline-block;
|
||||
width: 35rpx;
|
||||
height: 35rpx;
|
||||
padding: 15rpx 15rpx 15rpx 20rpx;
|
||||
}
|
||||
.search .search-right{
|
||||
flex: 1;
|
||||
}
|
||||
.search .search-right .desc{
|
||||
font-size: 25rpx;
|
||||
color: #ffffff;
|
||||
margin:15rpx
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* 解决底部导航栏遮挡的占位view的样式 */
|
||||
.standView{
|
||||
width: 100%;
|
||||
height: 100rpx; /* 自定义一下需要的高度 */
|
||||
/* background-color: black; */
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
<!--pages/change/change.wxml-->
|
||||
<!-- 用户自行修改数据的页面 -->
|
||||
<view class="wall-item">
|
||||
<!-- 内容 -->
|
||||
<textarea class="title" bindinput="change1"placeholder="{{change1}}" decode="{{true}}" value="{{feed.title}}" style="height: 25px;"></textarea>
|
||||
<textarea bindinput="change" style="white-space:pre-wrap;" value="{{feed.content}}" placeholder="{{change}}" data-aid="{{feed._id}}" class="content"></textarea>
|
||||
<!--帖子的图片-->
|
||||
<view class="img_box">
|
||||
<view class="imgs" wx:for="{{tempFilePaths}}" wx:key="index">
|
||||
<image src='{{item}}' bindlongpress="DeleteImg" bindtap="listenerButtonPreviewImage" data-index="{{index}}" mode='widthFix' />
|
||||
</view>
|
||||
<view class="imgs" wx:if="{{feed.url.length<3}}">
|
||||
<view class="images" bindtap="chooseImage">
|
||||
<image src='../../images/upload.png' mode='widthFix' />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 确认修改 -->
|
||||
<button class="publish" bindtap="sure">确认修改</button>
|
@ -1,73 +0,0 @@
|
||||
/* pages/change/change.wxss */
|
||||
.title{
|
||||
font-size: 38rpx;
|
||||
display: flex;
|
||||
margin-top: 25rpx;
|
||||
|
||||
padding: 13px 0;
|
||||
margin-bottom: 30rpx;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
.content{
|
||||
margin-bottom: 30rpx;
|
||||
border-bottom: 1px solid #ccc;
|
||||
padding-right: 50rpx;
|
||||
margin-top: 30rpx;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 550rpx !important;
|
||||
box-sizing: border-box;
|
||||
font-size: 32rpx;
|
||||
color: #454545;
|
||||
line-height: 44rpx;
|
||||
/*word-break: break-all;*/
|
||||
}
|
||||
.picker{
|
||||
|
||||
display: flex;
|
||||
padding: 13px 0;
|
||||
margin-bottom: 35rpx;
|
||||
border-bottom: 1px solid #ccc;
|
||||
|
||||
}
|
||||
.img_box{
|
||||
position:relative;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin:0 auto;
|
||||
}
|
||||
.imgs{
|
||||
width:33.33333333%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-bottom:20rpx;
|
||||
}
|
||||
.imgs image{
|
||||
width:90%;
|
||||
max-height:212rpx;
|
||||
border:1px solid rgba(214, 212, 212, 0.1);
|
||||
/* box-shadow: 5rpx 5rpx 1rpx 3rpx #e2e0e0; */
|
||||
}
|
||||
.imgs .images{
|
||||
position:relative;
|
||||
}
|
||||
.images button{
|
||||
width:100%;
|
||||
height:100%;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
}
|
||||
.img_box .images{
|
||||
width:90%;
|
||||
height: 212rpx;
|
||||
border:1px solid #E8E8E8;
|
||||
border-radius:4rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.img_box .images>image{
|
||||
width:60rpx;
|
||||
height:60rpx;
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
|
||||
{
|
||||
|
||||
}
|
@ -1,71 +0,0 @@
|
||||
<!--index.wxml-->
|
||||
<scroll-view scroll-y="true" class="container" bindscrolltoupper="upper" upper-threshold="10" lower-threshold="5" bindscrolltolower="lower" scroll-into-view="{{toView}}" scroll-top="{{scrollTop}}">
|
||||
<view class="search flex-wrp">
|
||||
<view class="search-left flex-item">
|
||||
|
||||
<input placeholder="点击右侧闪电发帖" placeholder-class="search-placeholder"/>
|
||||
</view>
|
||||
<view class="search-right flex-item" bindtap="goto">
|
||||
<image src="../../images/lighting.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<view class="sousuokuang">
|
||||
<view class="sousuo">
|
||||
<view class="shurukuang">
|
||||
<input placeholder="搜索" value="{{inputValue}}" bindinput="GetSearchInput"></input>
|
||||
</view>
|
||||
<view class="sousuo_anniu" bindtap="ToSearch">
|
||||
<text>搜索</text>
|
||||
<icon type="search" size="20"></icon>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
<block wx:for="{{feed}}" wx:for-index="idx" wx:for-item="item" data-idx="{{idx}}">
|
||||
<view class="feed-item">
|
||||
<view class="feed-source">
|
||||
<a class="">
|
||||
<view class="avatar">
|
||||
<image src="{{item.feed_source_img}}"></image>
|
||||
<!--<open-data type="userAvatarUrl"></open-data>-->
|
||||
|
||||
</view>
|
||||
<text>{{item.feed_source_name}}</text>
|
||||
<!-- <open-data type="userNickName"></open-data>-->
|
||||
</a>
|
||||
<image class="item-more" mode="aspectFit" bindtap="delete_p" data-aid="{{item._id}}" src="../../images/more.png"></image>
|
||||
</view>
|
||||
<view class="feed-content">
|
||||
<view class="question" bindtap="bindItemTap" data-aid="{{item._id}}">
|
||||
<a class="question-link">
|
||||
<text>{{item.title}}</text>
|
||||
</a>
|
||||
</view>
|
||||
<view class="answer-body">
|
||||
<view >
|
||||
<text class="answer-txt" bindtap="bindItemTap" data-aid="{{item._id}}">{{item.content}}</text>
|
||||
</view>
|
||||
<view class="answer-actions" bindtap="bindItemTap">
|
||||
<view class="like dot">
|
||||
<a>{{item.good_num}} 赞同 </a>
|
||||
</view>
|
||||
<view class="follow-it">
|
||||
<text decode="{{true}}">  </text>
|
||||
</view>
|
||||
<view class="comments dot">
|
||||
<a>{{item.comment_num}} 评论 </a>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="loading" hidden="{{!loadMore}}">正在载入更多...</view>
|
||||
<view class="loading" hidden="{{!loadAll}}">已加载全部</view>
|
||||
</scroll-view>
|
@ -1,109 +0,0 @@
|
||||
/**index.wxss**/
|
||||
|
||||
.container{
|
||||
height: 1500rpx;
|
||||
}
|
||||
.container .search{
|
||||
width: 735rpx;
|
||||
height: 65rpx;
|
||||
padding: 12.5rpx 0 12.5rpx 15rpx;
|
||||
background: #2A8CE5;
|
||||
}
|
||||
.container .search-left{
|
||||
flex: 8;
|
||||
background: #4EA3E7;
|
||||
text-align: left;
|
||||
}
|
||||
.container .search-left input{
|
||||
display: inline-block;
|
||||
height: 65rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
.search-placeholder{
|
||||
color: #8CCEFD;
|
||||
line-height: 20rpx;
|
||||
}
|
||||
.container .search .search-left image{
|
||||
display: inline-block;
|
||||
width: 35rpx;
|
||||
height: 35rpx;
|
||||
padding: 15rpx 15rpx 15rpx 20rpx;
|
||||
}
|
||||
.container .search .search-right{
|
||||
flex: 1;
|
||||
}
|
||||
.container .search .search-right image{
|
||||
width: 45rpx;
|
||||
height: 45rpx;
|
||||
padding: 10rpx;
|
||||
}
|
||||
|
||||
.container{
|
||||
padding: 0;
|
||||
font-size: 14rpx;
|
||||
background: #F0F4F3;
|
||||
color: #000;
|
||||
}
|
||||
/*feed-item part is in app.wxss for multiplexing*/
|
||||
.answer-txt{
|
||||
width:700rpx;
|
||||
height:49rpx;
|
||||
font-size:25rpx;
|
||||
overflow:hidden;
|
||||
text-overflow: ellipsis;
|
||||
display:-webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
.loading {
|
||||
font-size: 32rpx;
|
||||
position: relative;
|
||||
bottom: 5rpx;
|
||||
padding: 10rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.sousuokuang {
|
||||
width: 100%;
|
||||
height: 100rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
background-color: white;
|
||||
}
|
||||
.sousuo {
|
||||
width: 92%;
|
||||
height: 100rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-items: center;
|
||||
}
|
||||
.shurukuang {
|
||||
width: 80%;
|
||||
height: 64rpx;
|
||||
border-radius: 32rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #f6f6f6;
|
||||
}
|
||||
.shurukuang input {
|
||||
width: 90%;
|
||||
height: 100%;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.sousuo_anniu {
|
||||
width: 20%;
|
||||
height: 64rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.sousuo_anniu text {
|
||||
font-size: 30rpx;
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
// pages/login/login.js
|
||||
Page({
|
||||
data:{
|
||||
userInfo:'',
|
||||
avatarUrl:'',
|
||||
nickName:''
|
||||
},
|
||||
onLoad(){
|
||||
/*
|
||||
let user=wx.getStorageSync('user')
|
||||
this.setData({
|
||||
userInfo:user
|
||||
})
|
||||
wx.switchTab({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
*/
|
||||
},
|
||||
login(){
|
||||
let that = this;
|
||||
console.log('点击事件执行了')
|
||||
wx.getUserProfile({
|
||||
desc: '必须授权才能使用',
|
||||
success:res=>{
|
||||
let user=res.userInfo
|
||||
let avatarUrl=res.userInfo.avatarUrl
|
||||
let nickName=res.userInfo.nickName
|
||||
|
||||
wx.setStorageSync('user', user)
|
||||
wx.setStorageSync('avatarUrl', avatarUrl)
|
||||
wx.setStorageSync('nickName', nickName)
|
||||
console.log('成功',res)
|
||||
wx.cloud.database().collection('user').add({
|
||||
data: {
|
||||
userInfo:user,
|
||||
avatarUrl:user.avatarUrl,
|
||||
nickName:user.nickName
|
||||
}
|
||||
})
|
||||
},
|
||||
fall:res=>{
|
||||
console.log('失败',res)
|
||||
}
|
||||
})
|
||||
wx.switchTab({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
},
|
||||
nologin(){
|
||||
this.setData({
|
||||
userInfo:''
|
||||
})
|
||||
wx.setStorageSync('user', null)
|
||||
},
|
||||
})
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
<!--pages/login/login.wxml-->
|
||||
<!--登录-->
|
||||
<button wx:if="{{!userInfo}}" bindtap="login">登录</button>
|
||||
<view wx:else class="root">
|
||||
<image class="touxiang" src="{{userInfo.avatarUrl}}"></image>
|
||||
<text class="nicheng">{{userInfo.nickName}}</text>
|
||||
</view>
|
||||
<!--退出登录-->
|
||||
<view wx:if="{{userInfo}}">
|
||||
<button bindtap="nologin" >
|
||||
<text>退出登录</text>
|
||||
</button>
|
||||
</view>
|
@ -1,12 +0,0 @@
|
||||
/* pages/login/login.wxss */
|
||||
.touxiang {
|
||||
width: 150rpx;
|
||||
height: 150rpx;
|
||||
border-radius: 50%;
|
||||
margin-top: 20rpx;
|
||||
margin-bottom: 10rpx;
|
||||
margin-left: 40%;
|
||||
}
|
||||
.nicheng{
|
||||
color:white;
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
//logs.js
|
||||
var util = require('../../utils/util.js')
|
||||
var app=getApp()
|
||||
Page({
|
||||
data: {
|
||||
navTab: ["通知", "赞与感谢", "关注"],
|
||||
currentNavtab: "0",
|
||||
imgList:[]
|
||||
},
|
||||
onLoad: function () {
|
||||
var that = this
|
||||
wx.cloud.database().collection('food')
|
||||
/*.where({
|
||||
food_name:"烤盘饭",
|
||||
_openid:undefined
|
||||
})*/
|
||||
.get({
|
||||
success(res) {
|
||||
console.log("请求成功", res)
|
||||
that.setData({
|
||||
imgList:res.data
|
||||
}),
|
||||
console.log(res.data)
|
||||
},
|
||||
fail(res) {
|
||||
console.log("请求失败", res)
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
})
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"navigationBarTitleText": ""
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
<text class="question-title1"></text>
|
||||
<block wx:for="{{imgList}}" wx:key="index">
|
||||
<view class="question" >
|
||||
<text class="question-title">{{item.food_name}}</text>
|
||||
<image wx:for="{{item.url}}" src="{{item}}" mode="heightFix" ></image>
|
||||
</view>
|
||||
</block>
|
@ -1,149 +0,0 @@
|
||||
.a {
|
||||
padding: 0;
|
||||
font-size: 14rpx;
|
||||
background: #F0F4F3;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.question {
|
||||
position: relative;
|
||||
width: 650rpx;
|
||||
padding: 40rpx 50rpx 30rpx;
|
||||
background: #298DE5;
|
||||
color: #fff;
|
||||
font-size: 38rpx;
|
||||
line-height: 48rpx;
|
||||
}
|
||||
.answerer-wrp{
|
||||
position: relative;
|
||||
width: 750rpx;
|
||||
height: 150rpx;
|
||||
background: #fff;
|
||||
}
|
||||
.answerer-wrp .bg-half{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 750rpx;
|
||||
height: 75rpx;
|
||||
background: #298DE5;
|
||||
}
|
||||
.answerer {
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
width: 630rpx;
|
||||
height: 90rpx;
|
||||
padding: 30rpx;
|
||||
background: #fff;
|
||||
border: solid 1px #ebebeb;
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 1px 2px #bebebe;
|
||||
}
|
||||
.answerer .avatar {
|
||||
flex: 1;
|
||||
width: 90rpx;
|
||||
height: 90rpx;
|
||||
}
|
||||
|
||||
.answerer .avatar image {
|
||||
display: inline-block;
|
||||
width: 90rpx;
|
||||
height: 90rpx;
|
||||
border-radius: 90rpx;
|
||||
}
|
||||
.answerer .answerer-info{
|
||||
flex: 5;
|
||||
text-align: left;
|
||||
padding: 10rpx 20rpx;
|
||||
line-height: 38rpx;
|
||||
}
|
||||
.answerer .answerer-info text{
|
||||
display: block;
|
||||
}
|
||||
.answerer .answerer-info .answerer-name{
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.answerer .answerer-info .answerer-des{
|
||||
font-size: 22rpx;
|
||||
color: #808080;
|
||||
line-height: 28rpx;
|
||||
}
|
||||
.answerer .follow{
|
||||
flex: 2;
|
||||
padding: 15rpx 0;
|
||||
font-size: 22rpx;
|
||||
}
|
||||
.answerer .follow text{
|
||||
display: inline-block;
|
||||
padding: 15rpx 20rpx;
|
||||
color: #40bcd0;
|
||||
border: solid 2px #40bcd0;
|
||||
border-radius: 6rpx;
|
||||
}
|
||||
.answer-content{
|
||||
padding: 30rpx 40rpx;
|
||||
background: #ffffff;
|
||||
}
|
||||
.answer-content text{
|
||||
font-size: 32rpx;
|
||||
color: #454545;
|
||||
line-height: 44rpx;
|
||||
word-break: break-all;
|
||||
}
|
||||
.answer-content image{
|
||||
width: 100%;
|
||||
margin: 20rpx 0;
|
||||
}
|
||||
.answer-footer{
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
height: 70rpx;
|
||||
border-top: solid 1px #ebebeb;
|
||||
background: #ffffff;
|
||||
width: 670rpx;
|
||||
padding: 20rpx 40rpx;
|
||||
}
|
||||
.answer-footer .good{
|
||||
flex: 1;
|
||||
/*display: inline-block;*/
|
||||
height: 40rpx;
|
||||
border: solid 1px #d1d1d1;
|
||||
border-radius: 3px;
|
||||
padding: 10rpx 8rpx;
|
||||
margin: 10rpx 0;
|
||||
}
|
||||
.answer-footer .good .good-bad{
|
||||
display: inline-block;
|
||||
}
|
||||
.answer-footer .good image{
|
||||
display: inline-block;
|
||||
width: 38rpx;
|
||||
height: 38rpx;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.answer-footer .good .good-num{
|
||||
display: inline-block;
|
||||
padding: 10rpx 4rpx;
|
||||
/*font-size: 24rpx;*/
|
||||
}
|
||||
.answer-footer .operation-wrp{
|
||||
flex: 5;
|
||||
}
|
||||
.answer-footer .operation{
|
||||
justify-content: space-between;
|
||||
padding: 0 0 0 60rpx;
|
||||
}
|
||||
.answer-footer .operation-btn{
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
.answer-footer .operation image{
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
}
|
||||
.answer-footer .operation-btn text{
|
||||
display: block;
|
||||
font-size: 14rpx;
|
||||
color: #bebebe;
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
//answer.js
|
||||
var util = require('../../utils/util.js')
|
||||
|
||||
var app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
motto: '知乎--微信小程序版',
|
||||
userInfo: {}
|
||||
},
|
||||
//事件处理函数
|
||||
bindItemTap: function() {
|
||||
wx.navigateTo({
|
||||
url: '../answer/answer'
|
||||
})
|
||||
},
|
||||
onLoad: function () {
|
||||
console.log('onLoad')
|
||||
var that = this
|
||||
//调用应用实例的方法获取全局数据
|
||||
app.getUserInfo(function(userInfo){
|
||||
//更新数据
|
||||
that.setData({
|
||||
userInfo:userInfo
|
||||
})
|
||||
})
|
||||
},
|
||||
tapName: function(event){
|
||||
console.log(event)
|
||||
}
|
||||
})
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"navigationBarTitleText": "问题"
|
||||
}
|
@ -1,180 +0,0 @@
|
||||
/**answer.wxss**/
|
||||
|
||||
.answer-feed {
|
||||
padding: 0;
|
||||
font-size: 14rpx;
|
||||
background: #F0F4F3;
|
||||
color: #000;
|
||||
}
|
||||
.question-wrp{
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 1px 2px #bebebe;
|
||||
}
|
||||
.question-item{
|
||||
width: 710rpx;
|
||||
padding: 40rpx 20rpx 10rpx;
|
||||
background: #fff;
|
||||
}
|
||||
.question-item .que-tag{
|
||||
|
||||
}
|
||||
.question-item .que-tag .tag{
|
||||
height: 28rpx;
|
||||
padding: 15rpx 20rpx;
|
||||
border-radius: 28rpx;
|
||||
margin: 0 10rpx;
|
||||
background: #EEF5F8;
|
||||
color: #2186E0;
|
||||
font-size: 28rpx;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.question-item .que-title{
|
||||
padding: 40rpx 20rpx 30rpx;
|
||||
font-size: 38rpx;
|
||||
}
|
||||
.question-item .que-content{
|
||||
padding: 0 20rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
.question-item .que-follow{
|
||||
margin: 20rpx;
|
||||
height: 68rpx;
|
||||
}
|
||||
.question-item .que-follow view{
|
||||
display: inline-block;
|
||||
margin: 0 40rpx 0 0;
|
||||
}
|
||||
|
||||
.question-item .que-follow image{
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
margin: 0 10rpx 0 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.question-item .que-follow .left{
|
||||
float: left;
|
||||
padding: 10rpx 0;
|
||||
}
|
||||
.question-item .que-follow .left text{
|
||||
color: #AFAFAF;
|
||||
height: 50rpx;
|
||||
vertical-align: middle;
|
||||
padding: 18rpx 0;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.question-item .que-follow .right{
|
||||
float: right;
|
||||
padding: 20rpx 55rpx;
|
||||
color: #ffffff;
|
||||
background: #52C980;
|
||||
border-radius: 3px;
|
||||
font-size: 26rpx;
|
||||
margin: 0;
|
||||
}
|
||||
.que-operate{
|
||||
width: 750rpx;
|
||||
border-top: solid 1px #ebebeb;
|
||||
border-bottom: solid 1px #ebebeb;
|
||||
color: #889091;
|
||||
vertical-align: middle;
|
||||
background: #ffffff;
|
||||
}
|
||||
.que-operate .flex-item{
|
||||
padding: 20rpx 0;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
.que-operate .invite{
|
||||
border-right: solid 2px #ebebeb;
|
||||
}
|
||||
.que-operate image{
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
vertical-align: middle;
|
||||
margin: 0 20rpx 0 0;
|
||||
}
|
||||
|
||||
/*.answer-feed .feed-item{*/
|
||||
/*width: 690rpx;*/
|
||||
/*padding: 30rpx 30rpx 20rpx;*/
|
||||
/*margin: 7rpx 0 6rpx 0;*/
|
||||
/*background: #ffffff;*/
|
||||
/*border-top: 1px solid #eee;*/
|
||||
/*border-bottom: 1px solid #eee;*/
|
||||
/*box-shadow: 0 2px 5px #eeeeee;*/
|
||||
/*}*/
|
||||
/*.answer-feed .feed-item .feed-source{*/
|
||||
/*width: 690rpx;*/
|
||||
/*left: 0;*/
|
||||
/*height: 50rpx;*/
|
||||
/*}*/
|
||||
/*.answer-feed .feed-item .feed-source .avatar{*/
|
||||
/*position: relative;*/
|
||||
/*display: inline-block;*/
|
||||
/*}*/
|
||||
/*.answer-feed .feed-item .feed-source a{*/
|
||||
/*display: inline-block;*/
|
||||
/*height: 40rpx;*/
|
||||
/*}*/
|
||||
/*.answer-feed .feed-item .feed-source .avatar image{*/
|
||||
/*/!*position: absolute;*!/*/
|
||||
/*display: inline-block;*/
|
||||
/*width: 45rpx;*/
|
||||
/*height: 45rpx;*/
|
||||
/*border-radius: 45rpx;*/
|
||||
/*top: 10rpx;*/
|
||||
/*vertical-align: middle;*/
|
||||
/*}*/
|
||||
/*.answer-feed .feed-item .feed-source text{*/
|
||||
/*/!*position: absolute;*!/*/
|
||||
/*display: inline-block;*/
|
||||
/*height: 40rpx;*/
|
||||
/*line-height: 40rpx;*/
|
||||
/*vertical-align: middle;*/
|
||||
/*margin: 0 0 0 15rpx;*/
|
||||
/*color: #a0acac;*/
|
||||
/*font-size: 16rpx;*/
|
||||
/*}*/
|
||||
/*.answer-feed .feed-item .feed-source .item-more{*/
|
||||
/*display: inline-block;*/
|
||||
/*width: 40rpx;*/
|
||||
/*height: 45rpx;*/
|
||||
/*float: right;*/
|
||||
/*}*/
|
||||
/*.answer-feed .feed-item .feed-content{*/
|
||||
/*padding: 10rpx 0 0 0;*/
|
||||
/*}*/
|
||||
/*.answer-feed .feed-item .feed-content .question text{*/
|
||||
/*font-size: 28rpx;*/
|
||||
/*font-weight: 600px;*/
|
||||
/*line-height: 40rpx;*/
|
||||
/*text-space: 5rpx;*/
|
||||
/*}*/
|
||||
.answer-feed .feed-item .feed-content .answer-body{
|
||||
padding: 0;
|
||||
/*height: 10rpx;*/
|
||||
font-size: 24rpx;
|
||||
line-height: 28rpx;
|
||||
color: #5b5b5b;
|
||||
}
|
||||
/*.answer-feed .feed-item .feed-content .answer-actions{*/
|
||||
/*width: 690rpx;*/
|
||||
/*padding: 10rpx 0 0;*/
|
||||
/*color: #a0acac;*/
|
||||
/*}*/
|
||||
/*.answer-feed .feed-item .feed-content .answer-actions view{*/
|
||||
/*display: inline-block;*/
|
||||
/*vertical-align: text-bottom;*/
|
||||
/*padding: 0 10rpx 0 0;*/
|
||||
/*font-size: 24rpx;*/
|
||||
/*}*/
|
||||
/*.answer-feed .feed-item .feed-content .answer-actions .dot ::after{*/
|
||||
/*content: "•";*/
|
||||
/*}*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,33 +0,0 @@
|
||||
// pages/searchShow/searchShow.js
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
onLoad: function(options) {
|
||||
console.log("1")
|
||||
console.log(JSON.parse(options.re),"1")
|
||||
let re = JSON.parse(options.re);
|
||||
let that = this
|
||||
that.setData({
|
||||
re: re
|
||||
})
|
||||
console.log(re)
|
||||
},
|
||||
bindItemTap: function(event) {
|
||||
/*wx.navigateTo({
|
||||
url: '../answer/answer'
|
||||
})*/
|
||||
var aid=event.currentTarget.dataset.aid;
|
||||
console.log(aid)
|
||||
//console.log("1")
|
||||
wx.navigateTo({
|
||||
url: '../answer/answer?aid='+aid,//要跳转到的页面路径
|
||||
})
|
||||
}
|
||||
|
||||
})
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
<!--pages/searchShow/searchShow.wxml-->
|
||||
|
||||
<scroll-view scroll-y="true" class="container" bindscrolltoupper="upper" upper-threshold="10" lower-threshold="5" bindscrolltolower="lower" scroll-into-view="{{toView}}" scroll-top="{{scrollTop}}">
|
||||
<!-- 搜索结果展示 -->
|
||||
<block wx:for="{{re}}" wx:for-index="idx" wx:for-item="item" data-idx="{{idx}}">
|
||||
<view class="feed-item">
|
||||
<view class="feed-source">
|
||||
<a class="">
|
||||
<view class="avatar">
|
||||
<image src="{{item.feed_source_img}}"></image>
|
||||
<!--<open-data type="userAvatarUrl"></open-data>-->
|
||||
|
||||
</view>
|
||||
<text>{{item.feed_source_name}}</text>
|
||||
<!-- <open-data type="userNickName"></open-data>-->
|
||||
</a>
|
||||
<image class="item-more" mode="aspectFit" src="../../images/more.png"></image>
|
||||
</view>
|
||||
<view class="feed-content">
|
||||
<view class="question" bindtap="bindItemTap" data-aid="{{item._id}}">
|
||||
<a class="question-link">
|
||||
<text>{{item.title}}</text>
|
||||
</a>
|
||||
</view>
|
||||
<view class="answer-body">
|
||||
<view >
|
||||
<text class="answer-txt" bindtap="bindItemTap" data-aid="{{item._id}}">{{item.content}}</text>
|
||||
</view>
|
||||
<view class="answer-actions" bindtap="bindItemTap">
|
||||
<view class="like dot">
|
||||
<a>{{item.good_num}} 赞同 </a>
|
||||
</view>
|
||||
<view class="follow-it">
|
||||
<text decode="{{true}}">  </text>
|
||||
</view>
|
||||
<view class="comments dot">
|
||||
<a>{{item.comment_num}} 评论 </a>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</scroll-view>
|
@ -1,10 +0,0 @@
|
||||
.answer-txt{
|
||||
width:700rpx;
|
||||
height:49rpx;
|
||||
font-size:25rpx;
|
||||
overflow:hidden;
|
||||
text-overflow: ellipsis;
|
||||
display:-webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"navigationBarTitleText": "我要发帖"
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
|
||||
<!--上传图片演示-->
|
||||
<form bindsubmit="submit">
|
||||
|
||||
|
||||
|
||||
<!--帖子的标题-->
|
||||
<view class="title">
|
||||
<view class="title_right"><input value="{{value1}}" type="text" name='name' maxlength='100' placeholder='输入标题'/></view>
|
||||
</view>
|
||||
|
||||
<!--帖子的内容-->
|
||||
<textarea bindblur="blur" value="{{value2}}" auto-height maxlength="500" name='content' placeholder='输入内容'>
|
||||
</textarea>
|
||||
|
||||
<!--帖子的图片-->
|
||||
<view class="img_box">
|
||||
<view class="imgs" wx:for="{{tempFilePaths}}" wx:key="index">
|
||||
<image src='{{item}}' bindlongpress="DeleteImg" bindtap="listenerButtonPreviewImage" data-index="{{index}}" mode='widthFix' />
|
||||
</view>
|
||||
<view class="imgs" wx:if="{{nowCount<3}}">
|
||||
<view class="images" bindtap="chooseImage">
|
||||
<image src='../../images/upload.png' mode='widthFix' />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!--提交按钮-->
|
||||
<button class="tijiao" type="primary" formType="submit">提交</button>
|
||||
</form>
|
||||
|
@ -1,73 +0,0 @@
|
||||
/* pages/submit/submit.wxss */
|
||||
form{
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 20rpx 17rpx;
|
||||
}
|
||||
.title{
|
||||
font-size: 38rpx;
|
||||
display: flex;
|
||||
margin-top: 25rpx;
|
||||
padding: 13px 0;
|
||||
margin-bottom: 30rpx;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
textarea{
|
||||
margin-bottom: 30rpx;
|
||||
border-bottom: 1px solid #ccc;
|
||||
padding-right: 50rpx;
|
||||
margin-top: 30rpx;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 550rpx !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.picker{
|
||||
|
||||
display: flex;
|
||||
padding: 13px 0;
|
||||
margin-bottom: 35rpx;
|
||||
border-bottom: 1px solid #ccc;
|
||||
|
||||
}
|
||||
.img_box{
|
||||
position:relative;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin:0 auto;
|
||||
}
|
||||
.imgs{
|
||||
width:33.33333333%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-bottom:20rpx;
|
||||
}
|
||||
.imgs image{
|
||||
width:90%;
|
||||
max-height:212rpx;
|
||||
border:1px solid rgba(214, 212, 212, 0.1);
|
||||
/* box-shadow: 5rpx 5rpx 1rpx 3rpx #e2e0e0; */
|
||||
}
|
||||
.imgs .images{
|
||||
position:relative;
|
||||
}
|
||||
.images button{
|
||||
width:100%;
|
||||
height:100%;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
}
|
||||
.img_box .images{
|
||||
width:90%;
|
||||
height: 212rpx;
|
||||
border:1px solid #E8E8E8;
|
||||
border-radius:4rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.img_box .images>image{
|
||||
width:60rpx;
|
||||
height:60rpx;
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
{
|
||||
"compileType": "miniprogram",
|
||||
"setting": {
|
||||
"coverView": true,
|
||||
"es6": true,
|
||||
"postcss": true,
|
||||
"minified": true,
|
||||
"enhance": true,
|
||||
"showShadowRootInWxmlPanel": true,
|
||||
"packNpmRelationList": [],
|
||||
"ignoreDevUnusedFiles": false,
|
||||
"ignoreUploadUnusedFiles": true,
|
||||
"babelSetting": {
|
||||
"ignore": [],
|
||||
"disablePlugins": [],
|
||||
"outputPath": ""
|
||||
}
|
||||
},
|
||||
"condition": {},
|
||||
"editorSetting": {
|
||||
"tabIndent": "insertSpaces",
|
||||
"tabSize": 2
|
||||
},
|
||||
"libVersion": "2.27.0",
|
||||
"packOptions": {
|
||||
"ignore": [],
|
||||
"include": []
|
||||
},
|
||||
"appid": "wxcc745ea897810e52"
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
function formatTime(date) {
|
||||
var year = date.getFullYear()
|
||||
var month = date.getMonth() + 1
|
||||
var day = date.getDate()
|
||||
|
||||
var hour = date.getHours()
|
||||
var minute = date.getMinutes()
|
||||
var second = date.getSeconds()
|
||||
|
||||
|
||||
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
|
||||
}
|
||||
|
||||
function formatNumber(n) {
|
||||
n = n.toString()
|
||||
return n[1] ? n : '0' + n
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
formatTime: formatTime
|
||||
};
|
||||
/*
|
||||
var index = require('../data/data_index.js')
|
||||
var index_next = require('../data/data_index_next.js')
|
||||
|
||||
function getData(url){
|
||||
return new Promise(function(resolve, reject){
|
||||
wx.request({
|
||||
url: url,
|
||||
data: {},
|
||||
header: {
|
||||
//'Content-Type': 'application/json'
|
||||
},
|
||||
success: function(res) {
|
||||
console.log("success")
|
||||
resolve(res)
|
||||
},
|
||||
fail: function (res) {
|
||||
reject(res)
|
||||
console.log("failed")
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function getData2(){
|
||||
return index.index;
|
||||
}
|
||||
|
||||
function getNext(){
|
||||
return index_next.next;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports.getData = getData;
|
||||
module.exports.getData2 = getData2;
|
||||
module.exports.getNext = getNext;
|
||||
module.exports.getDiscovery = getDiscovery;
|
||||
module.exports.discoveryNext = discoveryNext;
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
@ -1,2 +0,0 @@
|
||||
.idea
|
||||
node_modules
|
@ -1,2 +0,0 @@
|
||||
node_modules
|
||||
.idea
|
@ -1,32 +0,0 @@
|
||||
{
|
||||
"name": "frontend",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"start": "webpack-dev-server"
|
||||
},
|
||||
"dependencies": {
|
||||
"antd": "^3.1.0",
|
||||
"babel-core": "^6.26.0",
|
||||
"babel-loader": "^7.1.2",
|
||||
"babel-plugin-transform-object-rest-spread": "^6.26.0",
|
||||
"babel-preset-es2015": "^6.24.1",
|
||||
"babel-preset-react": "^6.24.1",
|
||||
"css-loader": "^0.28.7",
|
||||
"html-webpack-plugin": "^2.30.1",
|
||||
"react": "^16.2.0",
|
||||
"react-dom": "^16.2.0",
|
||||
"style-loader": "^0.19.0",
|
||||
"webpack": "^3.8.1",
|
||||
"webpack-dev-server": "^2.9.4"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"devDependencies": {
|
||||
"babel-plugin-import": "^1.6.3",
|
||||
"less": "^2.7.3",
|
||||
"less-loader": "^4.0.5"
|
||||
}
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import App from './App';
|
||||
|
||||
let root=document.createElement('div');
|
||||
root.className='root';
|
||||
document.body.appendChild(root);
|
||||
ReactDOM.render(React.createElement(App), root);
|
@ -1,88 +0,0 @@
|
||||
* {
|
||||
font-family: "Microsoft YaHei UI", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
|
||||
}
|
||||
|
||||
.place {
|
||||
font-size: 30px;
|
||||
font-weight: 900;
|
||||
position: absolute;
|
||||
left: -2px;
|
||||
top: -2px;
|
||||
opacity: .3;
|
||||
}
|
||||
|
||||
.place-0 {
|
||||
font-size: 50px;
|
||||
}
|
||||
|
||||
.place-1 {
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
.recommendation-item {
|
||||
position: relative;
|
||||
padding: 20px;
|
||||
.camera {
|
||||
position: relative;
|
||||
padding-left: 160px;
|
||||
table {
|
||||
width: 100%;
|
||||
}
|
||||
.image {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 120px;
|
||||
text-align: center;
|
||||
padding-top: 18px;
|
||||
img {
|
||||
width: 120px;
|
||||
}
|
||||
.name {
|
||||
font-weight: bold;
|
||||
width: 120px;
|
||||
white-space: normal;
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.score {
|
||||
opacity: .5;
|
||||
font-size: 11px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table, th, td {
|
||||
border: 1px solid #e8e8e8;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 8px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.pros-cons {
|
||||
display: flex;
|
||||
padding: 10px 0;
|
||||
.score-hint {
|
||||
font-size: 9px;
|
||||
opacity: .3;
|
||||
color:black;
|
||||
}
|
||||
.pros {
|
||||
color: #1890ff;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.cons {
|
||||
color: #F5222D;
|
||||
flex: 1;
|
||||
}
|
||||
.list {
|
||||
font-size: 11px;
|
||||
}
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
export default function translateTag(tag, inCons = false) {
|
||||
let prosDict = {
|
||||
'!lowPrice': '专业级别一步到位',
|
||||
'lowPrice': '价格较低',
|
||||
'!lightBuild': '手感扎实',
|
||||
'lightBuild': '相机轻',
|
||||
'scenery': '拍摄风景效果好',
|
||||
'travel': '合适旅行时使用',
|
||||
'event': '合适记录活动',
|
||||
'sports': '拍摄体育比赛效果好',
|
||||
'portrait': '拍摄人像效果好',
|
||||
'astronomy': '天文摄影效果好',
|
||||
'flash': '有闪光灯',
|
||||
'video': '可摄像',
|
||||
'bluetooth': '可蓝牙传输照片',
|
||||
'touchScreen': '有触摸屏',
|
||||
'gps': '内置GPS',
|
||||
'waterproof': '防水',
|
||||
'newModel': '型号新',
|
||||
'durableBuild': '机身质量好',
|
||||
};
|
||||
let consDict = {
|
||||
'!lowPrice': '总体价格低于预算',
|
||||
'lowPrice': '价格较高',
|
||||
'!lightBuild': '相机重量偏轻',
|
||||
'lightBuild': '相机较重',
|
||||
'scenery': '不适合拍摄风景',
|
||||
'travel': '不适合旅行时使用',
|
||||
'event': '不适合记录活动',
|
||||
'sports': '不适合拍摄体育比赛',
|
||||
'portrait': '不适合拍摄人像',
|
||||
'astronomy': '不适合天文摄影',
|
||||
'flash': '没闪光灯',
|
||||
'video': '不能摄像',
|
||||
'bluetooth': '没有蓝牙',
|
||||
'touchScreen': '没有触摸屏',
|
||||
'gps': '没有GPS',
|
||||
'waterproof': '不防水',
|
||||
'newModel': '型号比较旧',
|
||||
'durableBuild': '机身质量一般',
|
||||
};
|
||||
return inCons ? consDict[tag] : prosDict[tag];
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
let HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
let path = require('path');
|
||||
|
||||
module.exports = {
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.less$/,
|
||||
use: [{
|
||||
loader: "style-loader" // creates style nodes from JS strings
|
||||
}, {
|
||||
loader: "css-loader" // translates CSS into CommonJS
|
||||
}, {
|
||||
loader: "less-loader" // compiles Less to CSS
|
||||
}],
|
||||
},
|
||||
{
|
||||
test: /\.jsx?/,
|
||||
exclude: /(node_modules|bower_components)/,
|
||||
use: {
|
||||
loader: 'babel-loader',
|
||||
options: {
|
||||
presets: ["es2015", "react"],
|
||||
plugins: ["transform-object-rest-spread", ["import", {
|
||||
"libraryName": "antd",
|
||||
"style": true, // or 'css'
|
||||
}]],
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /\.css$/,
|
||||
use: ['style-loader', 'css-loader'],
|
||||
},
|
||||
],
|
||||
},
|
||||
entry: './src/index.js',
|
||||
resolve: {
|
||||
extensions: ['.js', '.jsx'],
|
||||
},
|
||||
output: {
|
||||
path: path.resolve(__dirname, 'dist'),
|
||||
filename: 'index.js',
|
||||
},
|
||||
devServer: {
|
||||
contentBase: path.join(__dirname, "dist"),
|
||||
port: 9000,
|
||||
},
|
||||
plugins: [new HtmlWebpackPlugin()],
|
||||
};
|
@ -1,3 +0,0 @@
|
||||
.idea
|
||||
/out
|
||||
*.class
|
@ -1,304 +0,0 @@
|
||||
FUNCTION_BLOCK camera // Block definition (there may be more than one block per file)
|
||||
|
||||
VAR_INPUT // Define input variables
|
||||
price : REAL;
|
||||
pixelDepth : REAL;
|
||||
pixels : REAL;
|
||||
maxISO : REAL;
|
||||
weight : REAL;
|
||||
autoFocus : REAL;
|
||||
launchDate : REAL;
|
||||
frameRate : REAL;
|
||||
touchScreen : REAL;
|
||||
video : REAL;
|
||||
flash : REAL;
|
||||
waterproof : REAL;
|
||||
bluetooth : REAL;
|
||||
gps : REAL;
|
||||
isMetal : REAL;
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT // Define output variable
|
||||
travel : REAL;
|
||||
event : REAL;
|
||||
sports : REAL;
|
||||
scenery : REAL;
|
||||
portrait : REAL;
|
||||
astronomy : REAL;
|
||||
newModel : REAL;
|
||||
durableBuild : REAL;
|
||||
lightBuild : REAL;
|
||||
lowPrice : REAL;
|
||||
END_VAR
|
||||
|
||||
FUZZIFY price
|
||||
TERM low := (0, 1) (1000, 0) ;
|
||||
TERM medium := (600, 0) (800,1) (1500,1) (1700,0);
|
||||
TERM high := (1500, 0) (1700, 1);
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY pixelDepth
|
||||
TERM low := (0, 1) (16, 0) ;
|
||||
TERM medium := (10, 0) (12,1) (20,1) (26,0);
|
||||
TERM high := (18, 0) (36, 1);
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY pixels
|
||||
TERM low := (0, 1) (12000000, 0) ;
|
||||
TERM medium := (8000000, 0) (15000000,1) (20000000,1) (26000000,0);
|
||||
TERM high := (20000000, 0) (40000000, 1);
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY maxISO
|
||||
TERM low := (0, 1) (6400, 0) ;
|
||||
TERM medium := (3200, 0) (6400,1) (12800,1) (25600,0);
|
||||
TERM high := (12800, 0) (51200, 1);
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY weight
|
||||
TERM light := (0, 1) (500, 0) ;
|
||||
TERM medium := (300, 0) (500,1) (700,1) (1000,0);
|
||||
TERM heavy := (800, 0) (1000, 1);
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY autoFocus
|
||||
TERM low := (0, 1) (15, 0) ;
|
||||
TERM medium := (10, 0) (15,1) (25,1) (30,0);
|
||||
TERM high := (25, 0) (50, 1);
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY launchDate
|
||||
TERM antique := (1000000000000, 1) (1300000000000, 0) ;
|
||||
TERM earlier := (1200000000000, 0) (1300000000000,1) (1350000000000,1) (1450000000000,0);
|
||||
TERM recent := (1400000000000, 0) (1500000000000, 1);
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY frameRate
|
||||
TERM low := (0, 1) (4, 0) ;
|
||||
TERM medium := (3, 0) (8,1) (10,1) (12,0);
|
||||
TERM high := (10, 0) (12, 1);
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY touchScreen
|
||||
TERM no := (0, 1) (1, 0) ;
|
||||
TERM yes := (0, 0) (1, 1) ;
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY video
|
||||
TERM no := (0, 1) (1, 0) ;
|
||||
TERM yes := (0, 0) (1, 1) ;
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY flash
|
||||
TERM no := (0, 1) (1, 0) ;
|
||||
TERM yes := (0, 0) (1, 1) ;
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY waterproof
|
||||
TERM no := (0, 1) (1, 0) ;
|
||||
TERM yes := (0, 0) (1, 1) ;
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY bluetooth
|
||||
TERM no := (0, 1) (1, 0) ;
|
||||
TERM yes := (0, 0) (1, 1) ;
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY gps
|
||||
TERM no := (0, 1) (1, 0) ;
|
||||
TERM yes := (0, 0) (1, 1) ;
|
||||
END_FUZZIFY
|
||||
|
||||
FUZZIFY isMetal
|
||||
TERM no := (0, 1) (1, 0) ;
|
||||
TERM yes := (0, 0) (1, 1) ;
|
||||
END_FUZZIFY
|
||||
|
||||
DEFUZZIFY travel
|
||||
TERM veryBad := (0,1) (0.2,0);
|
||||
TERM bad := (0,0) (0.1,1) (0.5,0);
|
||||
TERM average:= (0,0) (0.5,1) (1,0);
|
||||
TERM good:= (0.5,0) (0.9,1) (1,0);
|
||||
TERM veryGood:= (0.8,0) (1,1);
|
||||
METHOD : COG;
|
||||
DEFAULT := 0.5;
|
||||
END_DEFUZZIFY
|
||||
|
||||
DEFUZZIFY event
|
||||
TERM veryBad := (0,1) (0.2,0);
|
||||
TERM bad := (0,0) (0.1,1) (0.5,0);
|
||||
TERM average:= (0,0) (0.5,1) (1,0);
|
||||
TERM good:= (0.5,0) (0.9,1) (1,0);
|
||||
TERM veryGood:= (0.8,0) (1,1);
|
||||
METHOD : COG;
|
||||
DEFAULT := 0.5;
|
||||
END_DEFUZZIFY
|
||||
|
||||
DEFUZZIFY sports
|
||||
TERM veryBad := (0,1) (0.2,0);
|
||||
TERM bad := (0,0) (0.1,1) (0.5,0);
|
||||
TERM average:= (0,0) (0.5,1) (1,0);
|
||||
TERM good:= (0.5,0) (0.9,1) (1,0);
|
||||
TERM veryGood:= (0.8,0) (1,1);
|
||||
METHOD : COG;
|
||||
DEFAULT := 0.5;
|
||||
END_DEFUZZIFY
|
||||
|
||||
DEFUZZIFY scenery
|
||||
TERM veryBad := (0,1) (0.2,0);
|
||||
TERM bad := (0,0) (0.1,1) (0.5,0);
|
||||
TERM average:= (0,0) (0.5,1) (1,0);
|
||||
TERM good:= (0.5,0) (0.9,1) (1,0);
|
||||
TERM veryGood:= (0.8,0) (1,1);
|
||||
METHOD : COG;
|
||||
DEFAULT := 0.5;
|
||||
END_DEFUZZIFY
|
||||
|
||||
DEFUZZIFY portrait
|
||||
TERM veryBad := (0,1) (0.2,0);
|
||||
TERM bad := (0,0) (0.1,1) (0.5,0);
|
||||
TERM average:= (0,0) (0.5,1) (1,0);
|
||||
TERM good:= (0.5,0) (0.9,1) (1,0);
|
||||
TERM veryGood:= (0.8,0) (1,1);
|
||||
METHOD : COG;
|
||||
DEFAULT := 0.5;
|
||||
END_DEFUZZIFY
|
||||
|
||||
DEFUZZIFY astronomy
|
||||
TERM veryBad := (0,1) (0.2,0);
|
||||
TERM bad := (0,0) (0.1,1) (0.5,0);
|
||||
TERM average:= (0,0) (0.5,1) (1,0);
|
||||
TERM good:= (0.5,0) (0.9,1) (1,0);
|
||||
TERM veryGood:= (0.8,0) (1,1);
|
||||
METHOD : COG;
|
||||
DEFAULT := 0.5;
|
||||
END_DEFUZZIFY
|
||||
|
||||
DEFUZZIFY newModel
|
||||
TERM veryBad := (0,1) (0.2,0);
|
||||
TERM bad := (0,0) (0.1,1) (0.5,0);
|
||||
TERM average:= (0,0) (0.5,1) (1,0);
|
||||
TERM good:= (0.5,0) (0.9,1) (1,0);
|
||||
TERM veryGood:= (0.8,0) (1,1);
|
||||
METHOD : COG;
|
||||
DEFAULT := 0.5;
|
||||
END_DEFUZZIFY
|
||||
|
||||
DEFUZZIFY durableBuild
|
||||
TERM veryBad := (0,1) (0.2,0);
|
||||
TERM bad := (0,0) (0.1,1) (0.5,0);
|
||||
TERM average:= (0,0) (0.5,1) (1,0);
|
||||
TERM good:= (0.5,0) (0.9,1) (1,0);
|
||||
TERM veryGood:= (0.8,0) (1,1);
|
||||
METHOD : COG;
|
||||
DEFAULT := 0.5;
|
||||
END_DEFUZZIFY
|
||||
|
||||
DEFUZZIFY lightBuild
|
||||
TERM veryBad := (0,1) (0.2,0);
|
||||
TERM bad := (0,0) (0.1,1) (0.5,0);
|
||||
TERM average:= (0,0) (0.5,1) (1,0);
|
||||
TERM good:= (0.5,0) (0.9,1) (1,0);
|
||||
TERM veryGood:= (0.8,0) (1,1);
|
||||
METHOD : COG;
|
||||
DEFAULT := 0.5;
|
||||
END_DEFUZZIFY
|
||||
|
||||
DEFUZZIFY lowPrice
|
||||
TERM veryBad := (0,1) (0.2,0);
|
||||
TERM bad := (0,0) (0.1,1) (0.5,0);
|
||||
TERM average:= (0,0) (0.5,1) (1,0);
|
||||
TERM good:= (0.5,0) (0.9,1) (1,0);
|
||||
TERM veryGood:= (0.8,0) (1,1);
|
||||
METHOD : COG;
|
||||
DEFAULT := 0.5;
|
||||
END_DEFUZZIFY
|
||||
|
||||
RULEBLOCK travel
|
||||
AND : MIN;
|
||||
RULE 1 : IF weight IS light THEN travel IS good;
|
||||
RULE 2 : IF video IS yes THEN travel IS good;
|
||||
RULE 3 : IF gps IS yes THEN travel IS good;
|
||||
RULE 4 : IF flash IS no THEN travel IS bad;
|
||||
RULE 5 : IF weight IS heavy THEN travel IS veryBad;
|
||||
END_RULEBLOCK
|
||||
|
||||
RULEBLOCK event
|
||||
AND : MIN;
|
||||
|
||||
RULE 1 : IF frameRate IS high THEN event IS good;
|
||||
RULE 2 : IF gps IS yes THEN event IS good;
|
||||
RULE 3 : IF bluetooth IS yes THEN event IS good;
|
||||
RULE 4 : IF flash IS no THEN event IS bad;
|
||||
END_RULEBLOCK
|
||||
|
||||
RULEBLOCK sports
|
||||
AND : MIN;
|
||||
|
||||
RULE 1 : IF frameRate IS high THEN sports IS veryGood;
|
||||
RULE 2 : IF autoFocus IS high THEN sports IS veryGood;
|
||||
RULE 3 : IF pixels IS high THEN sports IS good;
|
||||
RULE 4 : IF frameRate IS low THEN sports IS veryBad;
|
||||
RULE 5 : IF autoFocus IS low THEN sports IS veryBad;
|
||||
END_RULEBLOCK
|
||||
|
||||
RULEBLOCK scenery
|
||||
AND : MIN;
|
||||
|
||||
RULE 1 : IF pixels IS high THEN scenery IS veryGood;
|
||||
RULE 2 : IF pixelDepth IS high THEN scenery IS veryGood;
|
||||
RULE 3 : IF maxISO IS high THEN scenery IS good;
|
||||
RULE 4 : IF gps IS yes THEN scenery IS good;
|
||||
RULE 5 : IF pixelDepth IS low THEN scenery IS bad;
|
||||
END_RULEBLOCK
|
||||
|
||||
RULEBLOCK portrait
|
||||
AND : MIN;
|
||||
|
||||
RULE 1 : IF pixels IS high THEN portrait IS good;
|
||||
RULE 2 : IF pixelDepth IS high THEN portrait IS good;
|
||||
RULE 3 : IF pixelDepth IS low THEN portrait IS bad;
|
||||
END_RULEBLOCK
|
||||
|
||||
RULEBLOCK astronomy
|
||||
AND : MIN;
|
||||
|
||||
RULE 1 : IF pixels IS high THEN astronomy IS good;
|
||||
RULE 2 : IF pixelDepth IS high THEN astronomy IS good;
|
||||
RULE 3 : IF maxISO IS high THEN astronomy IS good;
|
||||
RULE 4 : IF maxISO IS low THEN astronomy IS veryBad;
|
||||
RULE 5 : IF pixels IS low THEN astronomy IS veryBad;
|
||||
END_RULEBLOCK
|
||||
|
||||
RULEBLOCK newModel
|
||||
AND : MIN;
|
||||
|
||||
RULE 1 : IF launchDate IS antique THEN newModel IS bad;
|
||||
RULE 2 : IF launchDate IS earlier THEN newModel IS average;
|
||||
RULE 3 : IF launchDate IS recent THEN newModel IS good;
|
||||
END_RULEBLOCK
|
||||
|
||||
RULEBLOCK durableBuild
|
||||
AND : MIN;
|
||||
|
||||
RULE 1 : IF isMetal IS no THEN durableBuild IS bad;
|
||||
RULE 2 : IF isMetal IS yes THEN durableBuild IS good;
|
||||
END_RULEBLOCK
|
||||
|
||||
RULEBLOCK lightBuild
|
||||
AND : MIN;
|
||||
|
||||
RULE 1 : IF weight IS heavy THEN lightBuild IS bad;
|
||||
RULE 1 : IF weight IS medium THEN lightBuild IS average;
|
||||
RULE 2 : IF weight IS light THEN lightBuild IS good;
|
||||
END_RULEBLOCK
|
||||
|
||||
RULEBLOCK lowPrice
|
||||
AND : MIN;
|
||||
|
||||
RULE 1 : IF price IS high THEN lowPrice IS bad;
|
||||
RULE 1 : IF price IS medium THEN lowPrice IS average;
|
||||
RULE 2 : IF price IS low THEN lowPrice IS good;
|
||||
END_RULEBLOCK
|
||||
|
||||
END_FUNCTION_BLOCK
|