URLEncode问题------------------------------------------
URL会将+变成空格,解密时会出现异常。
加密的方式是
Taobao端
1> DES 用key加密
2> Base64 Encode
3> URLEncode
JJE端
1> SpringMVC自动会将数据进行URLDecode
2> Base64 Decode
3> DES 用key解密
出问题的地方是
1> Taobao中间又加了层页面的跳转 没有URLEncode
2> JJE Tab切换页面中少了URLEncode
3> JJE 错误跳转页面后少了URLEncode
嵌套页面设计问题--------------------------------------------
Taobao为了统一风格嵌套了我们的注册绑定页面,但是没有考虑到我们系统一部分的验证是ajax的,一部分是刷新页面的。 导致后期没有时间来改进这块内容。
添加遮罩层-------------------------------------------------
在Taobao的强烈要求下,我们对页面添加了遮罩层, 但是整合页面的nice validator验证时出现了一些小问题。
异常处理 enum的局限性---------------------------------------
enum的优点是指定了数据的种类, 缺点也是指定了数据的种类。
enum适合于用在一些确定数据内容的地方,如下拉列表等。 但是用其定义errorMsg就不合适了。
接手会员绑定接口碰到问题之一是异常信息被人为的吃掉了。导致在生产环境中,无法快速判断异常原因。
CRM将错误信息返回给vbp (例如:已经存在相同的身份证), 而vbp没有将这些错误信息暴露给用户,只是记了个日志,页面中只显示-注册失败。
vbp将错误进行了归类,但是副作用是缺少的详细的错误信息, 用String会更加灵活,既能归类,又能给出具体原因。 对于现有系统可以用String对Enum做一个补充
Enum
LOGIN_FAILED("用户名或密码错误"),
SERVER_ERROR("服务器错误"),
TBID_USED("淘宝帐号已被使用"),
BINDED("已绑定"),
TAOBAO_BIND_FAIL("绑定失败"),
CRM_FAIL("注册失败 - 您的用户信息已被使用,请联系1010-1666"),
JJE_BIND_ERROR("绑定失败"),
NOT_ACCEPTABLE("参数错误"),
SUCCESS("成功");
JSON在生产环境和UAT QA环境中格式不一致-------------------------------
我们用的是resteasy,注解是resteasy中的@Path,而SpringMVC用的是@RequestMapping
相同的代码在生产环境中 返回的JSON格式不带头, UAT和QA环境中都是带头的
war包都一致, 可能的原因是生产环境运行时加载的包不同。
考虑到运行时加载的风险性,直接自己用String ping成一个JSON返回。
MD5问题----------------------------------------------------------------
用md5对传递的参数做验证, 但是md5算法不一致,导致某些值我们解出来的是31位,而对方是32位
需求变动问题-----------------------------------------------------
Taobao账号需要对应多个JJE账号
CRM端没有时间来实现, 最后方案是去掉我们这里的页面和CRM的额度限制,都是以taobao的为准。
某些用户绑定时调用tb接口时会报错----------------------------------------
查日志成本大 而且无法定位到某些用户, 如果在binding表中加入字段存放异常信息就完美了
tb积分兑换调用我们接口时有时会超时--------------------------