1. 程式人生 > >【小程式】微信小程式使用騰訊雲IM(三):歷史訊息展示

【小程式】微信小程式使用騰訊雲IM(三):歷史訊息展示

類似微信聊天向上滾動逐漸顯示歷史訊息功能

1.第一步:得到歷史訊息。

得到歷史訊息在值錢的部落格裡寫著有,就不再寫一次了。這裡我可以寫一下聊天介面。就類似於微信或者QQ聊天的這種大眾化審美的樣式。
這裡寫圖片描述

進入正題

當我獲取了當前的10條訊息後,將訊息setData進當前頁資料。然後將能夠獲得下次聊天記錄的兩個重要資料存在storage裡面:

wx.setStorageSync('lastMsgTime', resp.LastMsgTime);
wx.setStorageSync('msgKey', resp.MsgKey);

頁面顯示我是用 <scroll-view></scroll-view>

這個元件寫的。這個元件有一個屬性叫錨點 scroll-into-view。就比如我最開始獲取訊息的時候,能夠得到10條訊息。然後將錨點設定為chat9 (因為資料從0開始,切錨點字首必須為字母)。這樣的話,一進頁面就會自動滑到最後一條訊息。為了順滑我們還可以用上元件的另一個屬性:scroll-with-animation

scroll-view有一個屬性,滑動到頂部觸發方法:bindscrolltoupper。我們就需要在滑動到頂部時,再一次呼叫得到歷史訊息這個方法。然後將新得到的那以前的10條訊息放在另一個方法內,unshift進去。(因為是歷史訊息嘛,必須在陣列頭部)。
在unshift之前,需要把10條訊息調轉個順序。也就是array.reverse;
然後再一個一個的解析。
然後重點來啦!!!!

  currentMsgsArray.unshift(currentMsg);//將每一條資料unshift到聊天記錄頭部。
  //第一次刷新歷史記錄currentPage為1,重新整理一次就+1
  var infactLength = (that.data.currentPage - 1) * 10 + that.data.currentMsgCount;
  //然後判斷
    if (currentMsgsArray.length == infactLength) {
        var num = infactLength - (that.data.currentPage - 1) * 10
//話說必須在unshift完以後,在將資料setdata。不然聊天介面會滾動了。哈哈,我當時研究了好久 that.setData({ currentMsgsArray: currentMsgsArray, toview: 'chat' + num }); }

大概就是這麼寫了。
或許也有些不足,沒怎麼多研究,有錯的地方可以指出來哈。

相關推薦

程式程式使用IM歷史訊息展示

類似微信聊天向上滾動逐漸顯示歷史訊息功能 1.第一步:得到歷史訊息。 得到歷史訊息在值錢的部落格裡寫著有,就不再寫一次了。這裡我可以寫一下聊天介面。就類似於微信或者QQ聊天的這種大眾化審美的樣式。 進入正題 當我獲取了當前的10條訊息後,將訊

程式程式使用IM登入

微信小程式使用騰訊雲IM 新專案已經寫了很久啦 這個專案裡主要的難點其實是1v1聊天。他們對比了好幾家的即時通訊,最後選擇了騰訊雲通訊。我猜,可能是因為騰訊雲上說日活低於10w可以不付費吧。省錢嘛~踩坑踩了大概一週多兩週了,就把一些步驟寫下來,萬一以後也會用

※墨痕程式工具註冊步驟

1、在微信公眾平臺官網首頁( mp.weixin.qq.com)點選右上角的“立即註冊”按鈕。 2、選擇註冊的帳號型別  選擇“小程式”,點選“檢視型別區別”可檢視不同型別帳號的區別和優優勢 3、填寫郵箱和密碼 填寫未註冊過公眾平臺、開放平臺、企業

※墨痕程式的開發步驟2

1、登陸微信公眾平臺後,點選小程式,進入小程式開發,找到下面的工具,點選進去微信開發者工具   2、點選下載微信小程式開發工具

最佳實踐程式客服訊息實時通知如何快速低成本實現?

我們做微信小程式開發的都知道,只要在小程式頁面中新增如下程式碼即可進入小程式的客服會話介面: <button open-type="contact" >聯絡我們</button> 微信小程式客服會話介面如下圖所示:

純前端程式驗證碼

  index.wxml 驗證碼: <input type='text' bindinput='makecodeInput'/> <view class='makecode' bindtap='getcode'>{{code}}</view

程式程式掉進的坑之與後臺資料互動

一、與後臺的資料互動 注:服務端語言為Java. 在進行資料互動時,用的是Servlet進行資料的獲取和回傳。 在小程式中提交引數時需要在header寫入 header: {

程式程式開發實踐

帳號相關流程 註冊範圍 企業 政府 媒體 其他組織 換句話講就是不讓個人開發者註冊。 :) 填寫企業資訊 不能使用和之前的公眾號賬戶相同的郵箱,也就是說小程式是和微信公眾號一個層級的。 填寫公司機構資訊,對公賬戶資訊 繫結管理員微信 企業認

程式程式與後臺的互動

js onLoad: function (options) { var that = this; var list = that.data.list; var currentPage = that.data.currentPage; wx.sh

視訊分享程式入門與實戰

看到網友留言想要小程式的,想了想還是把這個提前吧,那幾個留言要小程式的記得讚賞嘿嘿。小程式官方正

學習筆記程式部署之新手問題點

2017年8月31號微信小程式團隊釋出新的開發者工具1.01.170831,這幾天差不多把前端頁面設計有了大概的瞭解,正發愁怎麼設計後臺資料互動,新工具就來了。以下是設定介紹。 官方連結[https:

程式程式開發除錯階段不校驗請求域名

https://blog.csdn.net/qq_30519365/article/details/78026879使用 wx.request、wx.connectSocket、wx.uploadFile、wx.downloadFile 等方法時,都會涉及到 URL,微信小程

備忘程式開發從入門到實戰視訊

第01講-小程式的背景.mp4 第02講-什麼是小程式.mp4 第03講-小程式生態及應用前景.mp4 第04講-小程式開發前的準備.mp4 第05講-安裝微信開發者工具.mp4 第06講-小程式程式碼結構簡介.mp4 第07講-小程式配置檔案介紹.mp4 第08講-開發者工

程式程式學習筆記每日更新ing_20180523打卡

1、app.json檔案中頁面路徑前不要加/2、圖片儘量不要儲存在小程式的目錄中。(因為小程式的大小不能超過1MB,超過則無法真機執行和釋出專案。應該將圖片都存放在伺服器上,讓小程式通過網路來載入圖片)3、設定display:flex是應用一切彈性佈局屬性的先決條件,如果不設

程式 程式連線本地介面

最近的一個專案就是微信小程式 第一次接觸微信開發者工具,並進行小程式的後端開發, 於是想看一下小程式如何請求本地的後臺服務介面 wx.request({ url: 'http://localho

程式程式掉進的坑之模板訊息

一、關於formId 在小程式開發文件中我們可以瞭解到傳送模板訊息需要以下引數: 在form_id引數中,我選擇了使用表單提交獲取formId的方法。 程式碼如下: 當在微信開發

知識整理程式-圖片在容器中等比縮放至垂直、水平居中,並計算縮放後真實寬高

一.對於微信小程式頁面中的圖片,官方提供了image元件進行支援。根據官方文件,image元件用法如下: 例:圖片水平、垂直居中佈局程式碼如下: <view style="width:75

程式程式掃描自定義二維碼到指定頁面的坑

重點 測試版本不需要釋出也可以進行測試 測試階段不釋出,只能掃描測試連結中的地址中的二維碼,其他的就算符合規範也不可以 如果是要動態匹配引數,那麼動態部分必定是/後面的字串 如果是要動態匹配引數,那

vue+uni-app商城實戰 | 第一篇有來程式快速開發接入Spring Cloud OAuth2認證中心完成授權登入

![](https://i.loli.net/2020/10/25/Ns1Ep6wqyV9MrYx.gif) # 一. 前言 本篇通過實戰來講述如何使用uni-app快速進行商城微信小程式的開發以及小程式如何接入後臺Spring Cloud微服務。 有來商城 [youlai-mall](https://

程序程序實現各種特效實例

負責 tab php 微信 點擊 space pic 效果圖 前後端 寫在前面 最近在負責一個微信小程序的前端以及前後端接口的對接的項目,整體上所有頁面的布局我都已經搭建完成,裏面有一些常用的特效,總結一下,希望對大家和我都能有所幫助 實例1:滾動tab選項卡 先看一下效果