プロジェクト

全般

プロフィール

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

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

Shinichi Urabe10年以上前に追加. 7年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2013-12-26
期日:
進捗率:

100%


説明

概要

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

仕様

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

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

関係しているリビジョン

リビジョン 4fe20d44 (差分)
Shinichi Urabe約10年前に追加

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

リビジョン 547e53ec (差分)
Shinichi Urabe約10年前に追加

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

リビジョン fad81b04 (差分)
Shinichi Urabe約10年前に追加

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

リビジョン 5aaabf75 (差分)
Shinichi Urabe約10年前に追加

(refs #3539) auto asynchronous update message data.

リビジョン 570955cf (差分)
Shinichi Urabe約10年前に追加

(refs #3539) Commonization for javascript api.

リビジョン 862bf477 (差分)
Shinichi Urabe約10年前に追加

(refs #3539) add comment for functions.

リビジョン a886a4e4 (差分)
Shinichi Urabe約10年前に追加

(refs #3539) delete the unnecessary divergence processing.

リビジョン d1b9c80f (差分)
Shinichi Urabe約10年前に追加

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

リビジョン 71f9da5a (差分)
Shinichi Urabe約10年前に追加

(refs #3539) update is_read message in controller.

リビジョン 6cf73cec (差分)
Shinichi Urabe が7年以上前に追加

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

リビジョン 2d912657 (差分)
Shinichi Urabe が7年以上前に追加

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

履歴

#1 Shinichi Urabe約10年前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

#2 Shinichi Urabe約10年前に更新

応答サンプル

{
    "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 Maki Takahashi約10年前に更新

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

#4 Maki Takahashiほぼ10年前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

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

#5 Maki Takahashiほぼ10年前に更新

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

#6 kaoru nほぼ10年前に更新

  • 対象バージョン2.0.0 から 2.0.0.2 alpha 2 に変更

#7 Shinichi Urabe7年以上前に更新

  • ステータスRejected(差し戻し) から Accepted(着手) に変更
  • 進捗率50 から 0 に変更

指摘点修正します

#8 Shinichi Urabe7年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

#9 Shinichi Urabe7年以上前に更新

  • ステータスPending Review(レビュー待ち) から Fixed(完了) に変更
  • 進捗率50 から 100 に変更

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

他の形式にエクスポート: Atom PDF