接口对各个客户端数据返回格式 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
pxllong

接口对各个客户端数据返回格式

  •  
  •   pxllong Jul 27, 2016 2342 views
    This topic created in 3562 days ago, the information mentioned may be changed or developed.

    说下问题: 现在同一个接口安卓端和 iOS 端渲染的方式不一样。因为涉及到部分 html 标签 例如 "您好,吃饭了么"吃饭需要标红加括号 我现在有几个方案 不知道各位是怎么处理的 1.返回格式自定义标签类似 bbscode Resp: { "content": "您好,color:red吃饭</color>了么",
    } 服务端解析根据标签解析

    2. 直接在服务端根据每个端处理好数据 安卓: Resp: { "content": "您好,<span color="red">(吃饭了么)</span>" } iOS: Resp: { "content": "您好,<span color="#ffffff">[吃饭了么]</span>" } 方式一升级了标签就很麻烦,需要对各个版本进行兼容,还是得走到方式二 方法二 服务端处理麻烦点 需要每个端都要做数据处理,但是数据好控制。 现在犹豫着是让服务端做更多事情还是让客户端做。 不知道各位有什么好的经验吗? 谢谢 
    12 replies    2016-07-28 09:32:30 +08:00
    dangyuluo
        1
    dangyuluo  
       Jul 27, 2016
    我觉得还是让客户端去做比较好。传输的数据应该是不包括样式的。
    pxllong
        2
    pxllong  
    OP
       Jul 27, 2016
    补充下:现在数据来源事来自网页端的 html ,涉及到富文本
    ZGLHHH
        3
    ZGLHHH  
       Jul 27, 2016
    用"\"防止转义?
    例子:
    <span color="#ffffff">\(吃饭了么\)</span>
    pxllong
        4
    pxllong  
    OP
       Jul 27, 2016
    @ZGLHHH 不是, 是安卓和 ios 处理富文本需要的数据格式问题 。由服务端算还是客户端算 约定一套 bbscode
    ZGLHHH
        5
    ZGLHHH  
       Jul 27, 2016
    @pxllong 我觉得应该选客户端
    xenme
        6
    xenme  
       Jul 27, 2016 via iPhone
    服务端只返回数据比较好,各平台自己处理显示和平台差异部分
    pxllong
        7
    pxllong  
    OP
       Jul 28, 2016
    客户端做 服务器只能返回

    您好,[i][size=4][fOnt=黑体][u][b]吃饭了么?[/b][/u][/font][/size][/i]
    3dwelcome
        8
    3dwelcome  
       Jul 28, 2016 via Android
    我以前也觉得数据和样式分离比较优雅、但实际操作下来、除了让前端代码更多更复杂外、并没有带来特别的好处。

    现在选的话、我会选第二种。
    angelface
        9
    angelface  
       Jul 28, 2016
    服务端返回基本结构,客户端加样式。
    pxllong
        10
    pxllong  
    OP
       Jul 28, 2016
    @angelface

    现在数据解析需要些多套
    ios 一套 安卓一套 js 一套 后端一套
    感觉成本略高
    sunhr
        11
    sunhr  
       Jul 28, 2016   1
    我是做客户端的,选第二种,理由如下:

    1 、节省时间照 LZ 描述, App 这边应该是用了直接可以渲染 HTML 标签的富文本控件,那么如果 Server 返回处理好的数据, App 直接扔进去就可以了。否则的话 iOS 开发搞一遍, Android 开发再搞一遍,浪费资源,容易出错。

    2 、灵活可控假设 App 已经上线,突然发现标签有 bug 或者突然有运营需求过来需要修改文字或样式,第二种方案可以分分钟搞定

    现实开发中,经常会遇到类似的问题, Server 和 App 都认为应该对方去实现。拉大家一起权衡一下利弊, 80%的情况最后都交给 Server 了,毕竟移动设备的电量和流量有限= =
    pxllong
        12
    pxllong  
    OP
       Jul 28, 2016
    @sunhr
    感谢回复。
    我现在倾向也这个 服务端好控
    About     Help     Advertise     Blog     API     FAQ     Solana     5238 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 09:17 PVG 17:17 LAX 02:17 JFK 05:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86