diff --git a/aurelia_project/aurelia.json b/aurelia_project/aurelia.json index baf6e8f7c2f1a5df10257612f8f331414fd39b75..a6ce1e1cde74dfd18d1951555da1b6ef7597e5c7 100644 --- a/aurelia_project/aurelia.json +++ b/aurelia_project/aurelia.json @@ -120,6 +120,11 @@ "dist/basic.css" ] }, + { + "name": "ua-device", + "path": "../node_modules/ua-device", + "main": "ua-device" + }, { "name": "tinycolorpicker", "path": "../node_modules/tinyColorPicker", diff --git a/package.json b/package.json index 5f63e41daf51e5a9c0366d69d82beb22992301a6..83a75ffd43b0c8ff16f9968374135a68c3e259ef 100644 --- a/package.json +++ b/package.json @@ -36,11 +36,12 @@ "requirejs": "^2.3.2", "semantic-ui-calendar": "0.0.6", "simplemde": "github:xiweicheng/simplemde-markdown-editor#master", - "tinycolorpicker": "github:xiweicheng/tinyColorPicker#master", "text": "github:requirejs/text#latest", "timeago.js": "^2.0.2", + "tinycolorpicker": "github:xiweicheng/tinyColorPicker#master", "tms-semantic-ui": "^3.2.10", "toastr": "^2.1.2", + "ua-device": "github:xiweicheng/ua-device#merged", "wurl": "^2.1.0" }, "peerDependencies": {}, diff --git a/src/resources/elements/em-chat-content-item.html b/src/resources/elements/em-chat-content-item.html index fc43b7dfad320a9b5179ee89fc538fba8a1836f6..422330d81a7dc03e11ce283a52df4444cb983650 100644 --- a/src/resources/elements/em-chat-content-item.html +++ b/src/resources/elements/em-chat-content-item.html @@ -5,6 +5,7 @@
${item.creator.name}
+
${item.createDate | timeago}
diff --git a/src/resources/elements/em-chat-content-item.js b/src/resources/elements/em-chat-content-item.js index dc3c0897848e2aed080c736a72e6cac6352741f8..3ff7dd8adaf520d06e644038609b4ea35b81f826 100644 --- a/src/resources/elements/em-chat-content-item.js +++ b/src/resources/elements/em-chat-content-item.js @@ -368,13 +368,13 @@ export class EmChatContentItem { $.get('/admin/chat/channel/get', { id: item.id }, (data) => { - if (item.version != data.data.version) { - _.extend(item, data.data); - toastr.success('刷新同步成功!'); - } else { - item.chatReplies = data.data.chatReplies; - toastr.info('消息内容暂无变更!'); - } + // if (item.version != data.data.version) { + _.extend(item, data.data); + toastr.success('刷新同步成功!'); + // } else { + // item.chatReplies = data.data.chatReplies; + // toastr.info('消息内容暂无变更!'); + // } }); } diff --git a/src/resources/elements/em-chat-input.js b/src/resources/elements/em-chat-input.js index adcc5ab7bea015d3edb85f52831d0e9b032ffbe6..1d703012d7bf9a84f594bf7a424955ef32904739 100644 --- a/src/resources/elements/em-chat-input.js +++ b/src/resources/elements/em-chat-input.js @@ -314,6 +314,7 @@ export class EmChatInput { path: wurl('path'), chatTo: this.chatTo, content: content, + ua: navigator.userAgent, contentHtml: html }; } else { @@ -324,6 +325,7 @@ export class EmChatInput { channelId: this.channel.id, usernames: usernames, content: content, + ua: navigator.userAgent, contentHtml: html }; } diff --git a/src/resources/elements/em-chat-msg.html b/src/resources/elements/em-chat-msg.html index be437a5ffb0abb42a0d2d0874cd854e03a894663..b83f2b591a36eadfd409565f73298da2a1cfbd5e 100644 --- a/src/resources/elements/em-chat-msg.html +++ b/src/resources/elements/em-chat-msg.html @@ -8,6 +8,7 @@
${item.creator.name} diff --git a/src/resources/elements/em-chat-topic-input.js b/src/resources/elements/em-chat-topic-input.js index ff7cb022d5f2742b79c85cf776d8d46585c59045..4cd5e985d6b87b248c973ebf43a752b9a7a0c84e 100644 --- a/src/resources/elements/em-chat-topic-input.js +++ b/src/resources/elements/em-chat-topic-input.js @@ -294,6 +294,7 @@ export class EmChatTopicInput { url: utils.getUrl(), usernames: utils.parseUsernames(content, this.members).join(','), content: content, + ua: navigator.userAgent, contentHtml: utils.md2html(content, true), id: this.chat.id }, (data, textStatus, xhr) => { diff --git a/src/resources/elements/em-chat-topic.html b/src/resources/elements/em-chat-topic.html index 9658e83de078413e7f3e6bf40ab25fc831869b7c..ab8869970fbd5eb1cf8c764119de0b8e4c31f5c6 100644 --- a/src/resources/elements/em-chat-topic.html +++ b/src/resources/elements/em-chat-topic.html @@ -8,6 +8,7 @@
${chat.creator.name} @@ -32,6 +33,7 @@
${item.creator.name} diff --git a/src/resources/value-converters/vc-common.js b/src/resources/value-converters/vc-common.js index 78b55f215dc09eacafc4dcadff251263092473ce..b09e0daaa7424d0472e2cb9b98bf45154ebfa7de 100644 --- a/src/resources/value-converters/vc-common.js +++ b/src/resources/value-converters/vc-common.js @@ -4,6 +4,10 @@ import { default as ColorHash } from 'color-hash'; import tags from 'common/common-tags'; +import { + default as UA +} +from 'ua-device'; let tg = timeago(); @@ -202,3 +206,41 @@ export class DiffHtmlValueConverter { return value; } } + +export class UaValueConverter { + toView(value) { + if (value) { + + var ua = new UA(value); + let type = ua.device.type; + if (type === 'mobile') { + return 'mobile'; + } else if (type === 'tablet') { + return 'tablet'; + } else if (type === 'desktop') { + return 'laptop'; + } + } + return 'laptop'; + } +} + +export class Ua2ValueConverter { + toView(value) { + + let s = ''; + if (value) { + + var ua = new UA(value); + let type = ua.device.type; + if (type === 'mobile') { + s = `手机`; + } else if (type === 'tablet') { + s = '平板'; + } else if (type === 'desktop') { + s = '电脑'; + } + } + return `${s} (${ua.device.manufacturer ? ua.device.manufacturer + ' ' : ''}${ua.device.model ? ua.device.model + ' ' : ''}${ua.os.name} ${ua.browser.name}[${ua.engine.name}])`; + } +}