Skip to content

Instantly share code, notes, and snippets.

@mzvast
Last active April 12, 2019 07:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mzvast/ef8a5f1168a31bf9a6d9199e2f6dbd31 to your computer and use it in GitHub Desktop.
Save mzvast/ef8a5f1168a31bf9a6d9199e2f6dbd31 to your computer and use it in GitHub Desktop.
iCafe Helper 简洁版
// ==UserScript==
// @name iCafe Helper 简洁版
// @namespace http://tampermonkey.net/
// @version 1.1
// @description 一键复制iCafe单信息,形成iCode提测邮件icode信息
// @author mzvast@gmail.com
// @match http://newicafe.baidu.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Your code here...
const makeCommitMsg = (issueId, fullTitle) => {
let scope = '';
let title = fullTitle.replace(/\s/g,'');
if (title.indexOf('【') !== -1 && fullTitle.indexOf('】') !== -1) {
const matchedScope = fullTitle
.match(/【(.*?)】/g)
.map(t => t.match(/【(.*)】/)[1]);
scope = `:(${matchedScope.join(',')})`;
title = title.match(/【.*】(.*)/)[0];
}
return `${issueId}${title}`;
};
const copyText = text => {
const el = document.createElement('textarea');
el.value = text;
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
console.log('copied:', text);
};
document.addEventListener(
'click',
e => {
// console.log(e.target);
if (e.target) {
if (e.target.matches('.titleValue.showIssueView.value')) {
// console.log('.titleValue.showIssueView.value');
const fullTitle = e.target.getAttribute('title');
const issueId = e.target.getAttribute('data-issueid');
const result = makeCommitMsg(issueId, fullTitle);
copyText(result);
} else if (e.target.matches('a.taskLink.titleLink')) {
// console.log('a.taskLink.titleLink');
const fullTitle = e.target.text;
const issueId = e.target
.getAttribute('href')
.match(/issue\/(.*)\/show/)[1];
const result = makeCommitMsg(issueId, fullTitle);
copyText(result);
}
}
},
true
);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment