公司使用环信作为自家商城的客服解决方案,最终效果大概是这样子:
环信的配置很容易,但是集成很难,随便一个库都能和它冲突。摸索了几天终于集成好了,记录一下。
[……]
在某个商品评价接口中,后台要求点击评论后返回以上数据:
{ "order": { // key 固定为 order, 表示整个订单的信息 "order_id": "2017071900000000", // 订单号 "deliverycredit": "5", // 发货速度评分 (1-5) "servicecredit": "5", // 服务态度评分 (1-5) "desccredit": "5" // 描述相符评分 (1-5) }, "goods_id1": { // 商品 id "scores": "5", // 商品评分 (1-5) "result": "3", // 好中差评 "content": "非常好", // 评价内容 "isanonymous": "1", // 匿名 "image": [ // 买家返图 "http://konoha.com/image1.jpg", "http://konoha.com/image2.jpg" ] }, "goods_id2": { // 和上面一样 "scores": "1", "result": "1", "content": "糟透了", "isanonymous": "0", "image": [ "http://konoha.com/image3.jpg", "http://konoha.com/image4.jpg" ] } }
这里有个麻烦的地方,就是单个商品评价的 Object Key 不是固定的,跟随 goods_id 变化。不过也不碍事,特殊情况特殊处理就是了。
[……]
现在有一个 Konoha 的类,里面有个 Love 内部类,就像这样:
public class Konoha { public class Love{ public String wife = "Nepgear"; // 涅普姬雅我老婆 } }
现在需要在主类[……]
Android Studio 无缘无故就烂 CTRL+ALT+T,换快捷键也不行。虽然 try…catch 不常用 (影响性能),但有时手动打还是觉得麻烦。这时可以在语句结束后按「.」,可自动套入 try…catch。
[……]
ClipboardManager myClipboard; myClipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); ClipData myClip; // 要复制到粘贴板中的内容 String tex[......]
好用,还行。
手机号码:
1(3[0-9]|4[57]|5[0-35-9]|7[01678]|8[0-9])\d{8}
身份证号 (支持 15 位):
^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[[......]
如果只是获取经纬度的话,可以直接用自带的 LocationManager。
注意:使用 LocationManager 来获取定位信息,当位置服务默认关闭时,定位需要一段时间 (此时 location == null)。所以如果需要即时定位的话建议上第三方 SDK。
[1] An[……]