[关闭]
@forestsheep 2018-01-04T09:10:51.000000Z 字数 2608 阅读 231

devlog

help beat开发日志

forest sheep

2017/12/25

今天解决了一个之前卡了很久的:

问题

在打卡第二步,访问login.json的时候,服务器说我json格式不对。当时也试了很多,明明发的就是json object的。就是不行。

后来发现是这样的:

发送的虽然是json格式,但送出去的应该是键值对。

  1. $.ajax({
  2. url: "https://cybozush.cybozu.cn/api/auth/login.json",
  3. method: "post",
  4. data: {
  5. "username": "bxu",
  6. "password": "xxxxxx"
  7. },
  8. });

要用字符串的形式把json组织好,在放入data。这样就能发送json格式的body了。

然后出现了第二个问题:

第一步的getToken和cookie中的JSESSIONID都需要传给第二步。发现cookie取不到。

后来很简单的解决了:

第一步的cookie已经自动放进chrome的cookie管理器里面了。而且第二步不需要也不能够自己手动塞cookie的。自动就好了。

然后就初步整理了一些要做的事和一些看似鸡肋的事。例如阿黄提的伪装三次内的迟到。

2017/12/26

以前用过的python服务端需要改造一下,建了个branch。
for_chrome_ext

整理近期可做的事,先做基本的:

服务端交互系:

本地执行系:

由于所有人都跑过一遍之后,原先的cookie虽然不一定失效,但塞回去的意义感觉也不是很大,只要把自己作为最后一个访问的人,就没有登别人账号的担心了。

2017/12/27

Recent TODO

美化输入文本框

借鉴了豆瓣的登录页面css

  1. input {
  2. border: 1px solid #DBE5DB;
  3. border-radius: 2px;
  4. width: 252px;
  5. padding: 0 8px;
  6. height: 30px;
  7. line-height: 30px;
  8. font-size: 12px;
  9. margin-right: 3px;
  10. vertical-align: middle;
  11. -webkit-appearance: textfield;
  12. background-color: white;
  13. -webkit-rtl-ordering: logical;
  14. cursor: text;
  15. text-rendering: auto;
  16. color: initial;
  17. letter-spacing: normal;
  18. word-spacing: normal;
  19. text-transform: none;
  20. text-indent: 0px;
  21. text-shadow: none;
  22. display: inline-block;
  23. text-align: start;
  24. font: 400 13.3333px Arial;
  25. }

经验

原来chrome插件的localStorage只能存string的,所以json obj需要转化一下的

  1. //存放
  2. localStorge.sth_i_wanna_save = JSON.stringify(sth_json_obj)
  3. //取用
  4. var temp = JSON.parse(localStorge.sth_i_wanna_save)
  1. apt-get install python-pip
  2. pip install setuptools
  3. pip install web.py
  4. apt-get install python-lxml

经验

原来apt是要比apt-get更高级的方式。整合了一些基础的命令,较人性化。

  1. # 这个是题外话
  2. apt install docker.io
  3. docker run -d -p 3000:3000 -v /path/to/my/downloads:/downloads jpillora/cloud-torrent

进度

sql + python 初步取得数据成功

2017/12/29

没怎么开发了,都在搞ssr

2018/01/02

今天先从复活微信响应开始。

恢复了,还是可以用的。

不过修正了一个问题,如果直接用工具发给/weixin的话,由于没带微信签名,转xml会报错,把trace信息,代码都返回给发送者了,太可怕。

Recent TODO

经验

sqlite是没有mysql的ON DUPLICATE KEY UPDATE的。 下面2个链接有讲到,但觉得replace并不是很好的选择,会替换的所有的值,不想替换要吧原来的值取一遍再填一遍,有点繁琐。 下面也有个人讲到了

one

two

I'd prefer UPDATE (+ INSERT if UPDATE fails). Less code = fewer bugs.

所以用了先更新,更新不成再新增的办法。

  1. conn = sqlite3.connect("test.db")
  2. c = conn.cursor()
  3. sqlup = 'UPDATE users SET id = ? WHERE wx_id = ?'
  4. sqlins = 'INSERT into users values(?, ?)'
  5. try:
  6. c.execute(sqlup, (id, wid))
  7. if c.rowcount == 0:
  8. c.execute(sqlins, (wid, id))
  9. conn.commit()
  10. except Exception, ex:
  11. exstr = str(ex)
  12. if exstr.find('users.id') != -1 and exstr.find('UNIQUE') != -1:
  13. return "输入的id已经被注册了。"
  14. c.close()

判断object是否是json object?

  1. if (typeof(data) == "object" && Object.prototype.toString.call(data).toLowerCase() == "[object object]" && !data.length) {
  2. // dosth
  3. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注