Project

General

Profile

Enhancement(機能追加・改善) #3539

非同期で定期的にメッセージを取得する機能を追加する

Added by Shinichi Urabe almost 11 years ago. Updated almost 8 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Target version:
Start date:
2013-12-26
Due date:
% Done:

100%


Description

概要

スマホのメッセージ画面で非同期で定期的にメッセージを取得する機構を追加する

仕様

  • 画面の一番最新の表示のメッセージから追加のメッセージがあれば、そのデータを取得し、表示する
  • 最新のメッセージの id をキーにし、データを取得する
  • メッセージ投稿ボタンを押下時は定期的に同期している処理を一旦中断し、投稿が正常完了であれば、追加のデータを取得するようにする

重複でメッセージが表示されないように対応する
縦フリック処理で追加データの確認するような機構は今回追加しない

Associated revisions

Revision 4fe20d44 (diff)
Added by Shinichi Urabe almost 11 years ago

(refs #3539) Contained function group in an object.

Revision 547e53ec (diff)
Added by Shinichi Urabe almost 11 years ago

(refs #3539) add (is add low or upper) flag for api.

Revision fad81b04 (diff)
Added by Shinichi Urabe almost 11 years ago

(refs #3539) Not call message pager in pc_frontend message/smtChain action.

Revision 5aaabf75 (diff)
Added by Shinichi Urabe almost 11 years ago

(refs #3539) auto asynchronous update message data.

Revision 570955cf (diff)
Added by Shinichi Urabe almost 11 years ago

(refs #3539) Commonization for javascript api.

Revision 862bf477 (diff)
Added by Shinichi Urabe almost 11 years ago

(refs #3539) add comment for functions.

Revision a886a4e4 (diff)
Added by Shinichi Urabe almost 11 years ago

(refs #3539) delete the unnecessary divergence processing.

Revision d1b9c80f (diff)
Added by Shinichi Urabe almost 11 years ago

(refs #3539) Use method chain in insertMessageTemplate function.

Revision 71f9da5a (diff)
Added by Shinichi Urabe almost 11 years ago

(refs #3539) update is_read message in controller.

Revision 6cf73cec (diff)
Added by Shinichi Urabe almost 8 years ago

(refs #3539) fixes typo [hearbeat timer.] -> [heartbeat timer.]

Revision 2d912657 (diff)
Added by Shinichi Urabe almost 8 years ago

(refs #3539) set is_read flag that only showed messages.

History

#1 Updated by Shinichi Urabe almost 11 years ago

  • Status changed from New(新規) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

#2 Updated by Shinichi Urabe almost 11 years ago

応答サンプル

{
    "data": [
        {   
            "body": "This is Message.",
            "created_at": "2013-12-31 09:21:18",
            "formatted_date": "2013/12/31 (\u706b)",
            "id": "213",
            "image_path": "/web/cache/img/png/w_h/7cdd22f190fa5e6f42a0b132c3c434cf25bea9bd_png.png",
            "image_tag": "<img alt=\"\" src=\"/web/cache/img/png/w76_h76/7cdd22f190fa5e6f42a0b132c3c434cf25bea9bd_png.png\" />",
            "member": {
                "blocking": false,
                "friend": false,
                "friends_count": 1,
                "id": "5",
                "name": "Bob",
                "profile_image": "http://example.com/web/images/no_image.gif",
                "profile_url": "http://example.com/web/member/5",
                "screen_name": "Bob",
                "self": true,
                "self_introduction": null
            },  
            "subject": "This is Message." 
        }
    ],  
    "has_more": true,
    "status": "success" 
}

API 仕様

リクエスト - QueryString

パラメータ データ型 必須 備考
memberId メンバID string
maxId キーとするメッセージID string
isAddLow キーとするメッセージIDより新しいデータを取得するか否か string 1(true) or 0(false) 指定しない場合は 0

レスポンス - JSON

パラメータ データ型 必須 備考
data メッセージデータ配列 array メッセージデータ一,データが0件であれば、空の配列
[
{
id メッセージID string
subject タイトル string
body 本文 string
image_path 画像URL string 画像がない場合は null
image_tag 画像のHTML要素 string 画像がない場合は null
created_at 作成日 string
formatted_date 区切り日付 string
member 送信者のメンバ情報 object http //houou.github.io/api.php/member_search.html を参照
{ ... snip ... } http://houou.github.io/api.php/member_search.html を参照
},
]
has_more 次ページフラグ bool 次ページのデータがあれば、true
status 成功可否 string API呼び出しの成功可否を返します。success / error。

#3 Updated by Maki Takahashi over 10 years ago

e9c979a にて取り込みました。
スマホ版でざっくり動作確認しています。

#4 Updated by Maki Takahashi over 10 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

71f9da5a にてsmtChainのユーザ間でのメッセージ「全て」を既読としていますが、
初回にsmtChainにアクセスして表示される25件のメッセージより古いメッセージが未読だった場合でも
(読んでないにも関わらず)既読となってしまいます。
#3573 のメッセージ既読機能が実装された場合、「実際にはそのメッセージを見ていないのに、既読として表示される」
現象が起きてしまいますので、view→controllに既読処理を持ってくる事自体は間違っていないですが
現時点で表示対象となっているメッセージのみを既読処理するようにすべきと思います。

#5 Updated by Maki Takahashi over 10 years ago

https://redmine.openpne.jp/issues/3540#note-5 のフィードバック内容としてしまいましたが、
5aaabf75 にて 「heartbeat timer.」とすべきところが「hearbeat timer.」とtypoになっています。

#6 Updated by kaoru n over 10 years ago

  • Target version changed from 2.0.0 to 2.0.0.2 alpha 2

#7 Updated by Shinichi Urabe almost 8 years ago

  • Status changed from Rejected(差し戻し) to Accepted(着手)
  • % Done changed from 50 to 0

指摘点修正します

#8 Updated by Shinichi Urabe almost 8 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

#9 Updated by Shinichi Urabe almost 8 years ago

  • Status changed from Pending Review(レビュー待ち) to Fixed(完了)
  • % Done changed from 50 to 100

typo 修正と 表示されているメッセージのみ既読にするように修正しました

Also available in: Atom PDF