浏览代码

优化PM工具

zxlie 6 年之前
父节点
当前提交
14c2b89f98
共有 3 个文件被更改,包括 21 次插入7 次删除
  1. 1 2
      apps/manifest.json
  2. 1 1
      apps/page-modifier/content-script.js
  3. 19 4
      apps/page-modifier/index.js

+ 1 - 2
apps/manifest.json

@@ -1,6 +1,6 @@
 {
   "name": "WEB前端助手(FeHelper)-Dev",
-  "version": "2019.06.1810",
+  "version": "2019.06.1915",
   "manifest_version": 2,
   "default_locale": "zh_CN",
   "description": "FE助手:JSON格式化、JSON比对、二维码、信息编解码、代码压缩&美化、页面取色、Markdown、网页截屏、编码设置、正则、Crontab、时间转换、网页性能检测、密码生成器、便签笔记、chrome插件下载等",
@@ -135,7 +135,6 @@
         "https://*/*"
       ],
       "js": [
-        "static/js/msg_type.js",
         "page-modifier/content-script.js"
       ],
       "run_at": "document_end",

+ 1 - 1
apps/page-modifier/content-script.js

@@ -292,7 +292,7 @@ let PageModify = function (pageConfig) {
 let ModifyCurrentPage = function () {
 
     chrome.runtime.sendMessage({
-        type: MSG_TYPE.GET_PAGE_MODIFIER_CONFIG,
+        type: 'get_page_modifier_config',
         params: {
             url: location.href
         }

+ 19 - 4
apps/page-modifier/index.js

@@ -95,11 +95,24 @@ new Vue({
 
         saveModifier: function (isEditMode) {
             if (isEditMode) {
-                this.mScript = editor.getValue();
+                // 必须填写一个名称
+                if (!this.editCM.mName || !this.editCM.mName.trim()) {
+                    alert('网页精灵名称 不能为空,起一个自己看得懂的名字吧!');
+                    return false;
+                }
+
+                // 首先校验规则是否是一个合法正则表达式
+                let matchs = this.editCM.mPattern.trim().match(/\/(.*)\/([igm]*)?$/);
+                if (!matchs || !matchs.length) {
+                    alert('网页匹配规则 必须是一个正确的Javascript正则表达式!');
+                    return false;
+                }
+
+                this.editCM.mScript = editor.getValue();
                 this.cachedModifiers.some(cm => {
                     if (cm.id === this.editCM.id) {
-                        cm.mName = this.editCM.mName;
-                        cm.mPattern = this.editCM.mPattern;
+                        cm.mName = this.editCM.mName.trim();
+                        cm.mPattern = this.editCM.mPattern.trim();
                         cm.mFilter = this.editCM.mFilter;
                         cm.mRefresh = this.editCM.mRefresh;
                         cm.mScript = editor.getValue();
@@ -164,7 +177,9 @@ new Vue({
                                                     merge = confirm('发现有相同名称或规则的精灵,是否选择覆盖?');
                                                 }
                                                 if (merge) {
-                                                    cm = r;
+                                                    keys.forEach(k => {
+                                                        cm[k] = r[k];
+                                                    });
                                                 } else {
                                                     r.id += '_';
                                                 }