微信中 web 小项目架构设计 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
chenhaifeng

微信中 web 小项目架构设计

  •  
  •   chenhaifeng Jun 24, 2015 4498 views
    This topic created in 3969 days ago, the information mentioned may be changed or developed.
    想请教下各位大神,目前公司后端用J2EE,跟他们商议,他们负责restful接口,我负责前端开发,前端用SPA方式做过一次项目,感觉单页程序不太适合运行在微信中。但又不想用jsp的方式,前端有几个人不会jsp。请问怎么架构比较合适。
    13 replies    2015-06-24 17:19:55 +08:00
    zonghua
        1
    zonghua  
       Jun 24, 2015 via iPhone
    jsp不就是写一个表达式标签么?试一下单页应用?
    Septembers
        2
    Septembers  
       Jun 24, 2015
    后端认真提供好RESTful服务
    至于前端扔给前端瞎折腾(比如node.js 什么的
    crs0910
        3
    crs0910  
       Jun 24, 2015 via iPhone
    为什么不适合 我现在就是这样。就是调试太麻烦了
    chenhaifeng
        4
    chenhaifeng  
    OP
       Jun 24, 2015
    @crs0910 单页程序,怎么加统计代码;还有怎么拿微信的 openid,必须先时后端,再跳到前端吧。
    crs0910
        5
    crs0910  
       Jun 24, 2015
    @chenhaifeng 不用的,我现在的做法是一进页面就把当前页面 url 当做参数请求后台拿到微信的授权地址,然后跳转到微信授权地址,微信授权后会在你的url后面加一个 code 参数然后跳回来,接着再用这个 code 去请求后台拿到 openId,然后缓存到 localStorage。
    这样下次进来就直接有openId了。
    crs0910
        6
    crs0910  
       Jun 24, 2015
    @chenhaifeng 统计代码没试过,是说统计某一个 router 的页面访问数据吗?这个没试过。
    likai
        7
    likai  
       Jun 24, 2015
    统计?用腾讯自家的统计系统噻
    chenhaifeng
        8
    chenhaifeng  
    OP
       Jun 24, 2015
    @crs0910 统计代码,页面入口和出口只会统计成项目地址,不会把 hash 统计进去,这样就没统计的意义。不过百度是支持 js 调用统计pv 的,腾讯自家则不支持。
    我现在碰到最麻烦的问题就是,拿微信的openid要先跳到后端的 servlet,然后再跳到我前端的index.html ,然后就会造成点返回键,回退到后端的 servlet,然后又跳到我的前端,如此循环无法退出系统。 index.html 我又不想用 jsp 代替。
    crs0910
        9
    crs0910  
       Jun 24, 2015
    @chenhaifeng 用我的方法可以啊,都是 ajax 请求。后端做一个拿授权地址的接口就得了。前台我是先判断有没有 localStorage,没有的话判断 url 里面有没有 code 参数, 也没有的话就请求后台拿到授权地址然后直接跳转, 跳转到授权页面登录后又带着 code 回到你前台页面,然后就可以用 code 去拿 openId 了。
    都是 ajax
    crs0910
        10
    crs0910  
       Jun 24, 2015
    就是第一次打开没授权的话,会出现先看到页面然后跳授权再跳回页面这种体验不好的情况。
    crs0910
        11
    crs0910  
       Jun 24, 2015
    @chenhaifeng 你前端用的是什么框架?
    chenhaifeng
        12
    chenhaifeng  
    OP
       Jun 24, 2015
    @crs0910 我自己在 riot2.0 的基础上稍微封装了一下,特点是极小,适合移动端。 https://github.com/cheft/cheftjs
    chenhaifeng
        13
    chenhaifeng  
    OP
       Jun 24, 2015
    @crs0910 最近一直在研究 单页面网站(SPA) 如何做 站点统计 和 SEO。
    大致可以解决,站点统计大多数提供商支持 _trackPageview ,可以通过 js 调用;
    SEO 也有很多人用 prerender.io 来做,基本上可以满足。
    惟一不足在微信里面得拿回调code,只能把主页弄成 jsp 页面算了。
    About     Help     Advertise     Blog     API     FAQ     Solana     3312 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 52ms UTC 11:47 PVG 19:47 LAX 04:47 JFK 07:47
    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