Skip to content

Commit

Permalink
添加了登录信息过期的提示和处理
Browse files Browse the repository at this point in the history
  • Loading branch information
maicss committed Aug 23, 2017
1 parent 8bc37cc commit c39a563
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 3 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ chrome商店地址:https://chrome.google.com/webstore/detail/%E6%89%87%E8%B4%9
- 有些词语的释义渲染的很差。这个锅主要由扇贝的API来背……
- 网页中嵌套iframe的时候,不能正确触发事件。这个不打算处理。因为默认的获取选区方法是获取当前顶级文档下的选区。想要获取frame的选区必须得到frame的文档,但是页面不知道会嵌入多少个文档,所以这个很难处理。现在还在广泛使用嵌入frame的网页有网页播放器,网页邮箱,在一个网站获取一个社交的网站动态(比如微博)等。一个嵌套了frame的网页,对于用户来说,一眼是看不出来的。这个也不想弹出一个警告什么的,太丑了。所以,let it go吧。
- 刷新插件之后,页面不刷新,双击查词的时候,会出现找不到对象的错误。这个没搜到解决方案,官方开发论坛也说try...catch掉,然后就没有然后了……也就是说没有解决方案。而且正常使用不会出现这个问题的,是debug的时候才有,就算了吧。
- 在input和textarea里面双击的时候,能查询单词,但是弹出框的定位是在页面的左上角。这个是因为selection API在这两个里面获取到选区的offset就是俩0。也搜到了一些hack的方法,但是修改页面的DOM特别多(要做一个contentedible的div替换掉原来的textarea,然后再用其他标签动态插入定位blabla)这样会还要考虑原来可能有的表单提交什么的。也let it go得了。



## 吐槽:

Expand All @@ -55,3 +58,9 @@ chrome商店地址:https://chrome.google.com/webstore/detail/%E6%89%87%E8%B4%9
- Web Audio API
- Mutations/MutationObserver
- JSDOC

## 改进的空间

- setting页面的样式
- 可以使用persistent为false,然后全用事件机制运行,这样可以节省电量和计算资源

4 changes: 2 additions & 2 deletions js/background.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ const getDailyTask = () => {
clearInterval(taskTimer)
} else {
debugLogger('log', 'send daily task request')
chrome.cookies.get({url: 'https://www.shanbay.com/bdc/review/', name: 'auth_token'}, function (cookies) {
chrome.cookies.get({url: 'https://www.shanbay.com/bdc/review/', name: 'auth_token'}, function () {
request('https://www.shanbay.com/api/v1/bdc/stats/today/', {credentials: 'include'}).then(r => {

if (r.data.num_left === 0) {
Expand All @@ -75,7 +75,7 @@ const getDailyTask = () => {
})
}

})
}).catch(e => debugLogger('error', 'get daily task failed, cause: ', e))
})
}
}, 1000 * 60 * 60 * 3)
Expand Down
4 changes: 3 additions & 1 deletion js/const.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,9 @@ const request = (url, options = {}) => {
if (options.type === 'buffer') return res.arrayBuffer()
return res.json()
} else {
if (res.status === 401) {
notify({title: '扇贝网登录信息已过期', message: '请点击本通知或去扇贝网重新登录,否者将不能使用添加单词、右键查词和背单词提醒等功能。'})
}
debugLogger('error', `[${new Date().toLocaleDateString()}] request failed ${options.method || 'GET'} ${url} ${JSON.stringify(res)}`)
return Promise.reject(res)
}
Expand Down Expand Up @@ -134,7 +137,6 @@ const shanbayAPI = {
* @property {Array} enum - 取值范围
* */
const extensionSpecification = [
// {'content-sentence': false, desc: '是否显示例句', enum: [true, false]},
{'clickLookup': true, desc: '双击选中查词', enum: [true, false]},
{'contextLookup': true, desc: '右键查词', enum: [true, false]},
{'addBook': false, desc: '默认添加到单词本', enum: [true, false]},
Expand Down

0 comments on commit c39a563

Please sign in to comment.