微信小程序?qū)崿F(xiàn)發(fā)動(dòng)態(tài)功能的示例代碼
最近做了一個(gè)校園拍賣小程序,想在里面添加一個(gè)類似校園圈功能,現(xiàn)在來一步一步實(shí)現(xiàn)。
一、設(shè)計(jì)所需要的表
1、文章表
文章表很簡單,就類似朋友圈,一個(gè)文字內(nèi)容,一個(gè)圖片數(shù)組

2、評(píng)論表

3、點(diǎn)贊表

二、發(fā)布動(dòng)態(tài)
1、文本區(qū)
光標(biāo)有點(diǎn)問題,回車換行時(shí)光標(biāo)和文字被埋在下面了

解決,給textarea設(shè)置一個(gè)最大高度,max-length,把scroll-view改為view ,因?yàn)閠extarea本身自帶滾動(dòng)

2、最終發(fā)表動(dòng)態(tài)效果

3、發(fā)布動(dòng)態(tài)代碼
1、publisherArticle.wxml
<view class="main">
<!--文字區(qū)-->
<view class="text" >
<textarea fixed="true" auto-height placeholder="這一刻的想法..." bindinput="setText" style="margin: 10rpx;width: 96%;max-height: 90%;"/>
</view>
<!--圖片區(qū)-->
<view class="img">
<block wx:for="{{selectImgs}}" wx:key="index">
<image src="{{item}}" style="height: 220rpx;width: 220rpx;margin: 10rpx;"></image>
</block>
<image wx:if="{{selectImgs.length != 9}}" src="/image/addImg.png" bindtap="selectImg" style="height: 80rpx;width: 80rpx;padding: 70rpx;background-color: rgb(241, 236, 236);margin-top: 10rpx;"></image>
</view>
<view class="publish" bindtap="publish">發(fā)表</view>
</view>2、publisherArticle.wxss
.main{
position: fixed;
top: 10rpx;
bottom: 10rpx;
left: 0rpx;
right: 0rpx;
z-index: 0;
}
.text{
position: fixed;
top: 20rpx;
left: 10rpx;
right: 10rpx;
height: 23%;
background-color: white;
border-radius: 10rpx;
z-index: 1;
}
.img{
position: fixed;
display: flex;
flex-wrap: wrap;
top: 23%;
left: 10rpx;
right: 10rpx;
bottom: 15%;
background-color: white;
border-radius: 10rpx;
z-index: 1;
}
.publish{
position: fixed;
z-index: 1;
top: 88%;
width: 11%;
left: 40%;
background-color: rgb(8, 88, 32);
color: white;
font-size: 40rpx;
border-radius: 30px;
padding: 10rpx 30rpx;
box-shadow: 2px 2px 10px rgb(16, 46, 33);
}3、publishArticle.js
Page({
data: {
selectImgs: null,
text: '',
uploadImgs: []
},
selectImg(){
wx.chooseImage({
count: 8,
success: (res) => {
this.setData({
selectImgs: res.tempFilePaths
})
}
})
},
setText(e){
let text = e.detail.value
console.log(text)
this.setData({
text: text
})
},
//發(fā)表動(dòng)態(tài)
publish(){
this.uploadImages().then((resolve, reject) => {
wx.showLoading({
title: '發(fā)布中'
})
setTimeout(() => {}, 500)
let imagesUrl = this.data.uploadImgs //云存儲(chǔ)的圖片列表
let text = this.data.text
wx.cloud.database().collection('article').add({
data: {
content: text,
imagesUrl: imagesUrl
},
success: (res) => {
wx.hideLoading({
success: (res) => {
wx.showToast({
title: '發(fā)表成功',
})
wx.navigateBack({
delta: 1,
})
},
})
}
})
})
},
//上傳圖片到云存儲(chǔ)
uploadImages() {
let _this = this
return new Promise(function (resolve, reject) {
function upload(index) {
var picnum = index+1
wx.showLoading({
title: '上傳第' + picnum + '張圖片'
})
wx.cloud.uploadFile({
cloudPath: 'articleImgs/' + new Date().getTime() + '_' + Math.floor(Math.random() * 1000) + '.jpg', //給圖片命名
filePath: _this.data.selectImgs[index], //本地圖片路徑
success: (res) => {
_this.data.uploadImgs[index] = res.fileID
wx.hideLoading({
success: (res) => {},
})
//判斷是否全部上傳
if (_this.data.selectImgs.length - 1 <= index) {
console.log('已全部上傳')
resolve('success')
return
} else {
console.log(index)
upload(index + 1)
}
},
fail: (err) => {
reject('error')
wx.showToast({
title: '上傳失敗,請重新上傳',
type: 'none'
})
}
})
}
upload(0)
})
},
}
到此這篇關(guān)于微信小程序?qū)崿F(xiàn)發(fā)動(dòng)態(tài)功能的文章就介紹到這了,更多相關(guān)小程序發(fā)動(dòng)態(tài)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解JS中定時(shí)器setInterval和setTImeout的this指向問題
在js中setTimeout和setInterval都是用來定時(shí)的一個(gè)功能,下面這篇文章主要給介紹了JS中setInterval和setTImeout的this指向問題,文中通過示例介紹的很詳細(xì),有需要的朋友可以參考借鑒,一起來看看吧。2017-01-01
javascript實(shí)現(xiàn)類似百度分享功能的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)類似百度分享功能的方法,以實(shí)例形式較為完整的分析了基于javascript實(shí)現(xiàn)百度分享功能所涉及的樣式與分享功能實(shí)現(xiàn)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
重寫document.write實(shí)現(xiàn)無阻塞加載js廣告(補(bǔ)充)
這篇文章主要介紹了重寫document.write實(shí)現(xiàn)無阻塞加載js廣告,需要的朋友可以參考下2014-12-12
JavaScript捕捉事件和阻止冒泡事件實(shí)例分析
這篇文章主要介紹了JavaScript捕捉事件和阻止冒泡事件,結(jié)合實(shí)例形式分析了冒泡的原理及javascript阻止冒泡的相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
js實(shí)現(xiàn)無需數(shù)據(jù)庫的縣級(jí)以上聯(lián)動(dòng)行政區(qū)域下拉控件
縣級(jí)以上聯(lián)動(dòng)行政區(qū)域下拉控件,想必大家對此也有所熟悉,本文為大家介紹下使用js實(shí)現(xiàn)無需數(shù)據(jù)庫的聯(lián)動(dòng)下拉控件,感興趣的朋友可以參考下,希望對大家有所幫助2013-08-08

