爱创导购文收藏助手

保存商品详细页内容到爱创

// ==UserScript==
// @name         爱创导购文收藏助手
// @namespace    https://aiwriting.io/
// @version      0.1
// @description  保存商品详细页内容到爱创
// @author       羽衣尘
// @match        https://item.taobao.com/*
// @match        https://detail.tmall.com/*
// @match        https://item.jd.com/*
// @connect      aiwriting.io
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_listValues
// @grant        GM_xmlhttpRequest
// ==/UserScript==

(function() {
    'use strict';
    var siteIndex=[
        'item.taobao.com',
        'detail.tmall.com',
        'item.jd.com'
    ].indexOf(location.hostname);

    switch(siteIndex){
            //taobao
        case 0:
            taobaoItemFun();
            break;
            //Tmall
        case 1:
            tmallItemFun();
            break;
            //JD
        case 2:
            jdItemFun();
            break;
    }
    function taobaoItemFun() {
        document.querySelector(".tb-action").innerHTML +=('<div class="tb-btn-buy"><a href="javascript:;" id="saveToAichuang" style="margin-top:10px;background-color:#00aaff;border-color:#00aaff;color:#fff;">保存到爱创</a></div>');
        document.querySelector('#saveToAichuang').onclick=saveItem;
    }
    function tmallItemFun() {
        document.querySelector(".tb-action").innerHTML +=('<div class="tb-btn-basket tb-btn-sku "><a href="javascript:;" id="saveToAichuang" class="btn-special3 btn-lg" style="margin-top:10px;background-color:#00aaff;border-color:#00aaff;color:#fff;">保存到爱创</a></div>');
        document.querySelector('#saveToAichuang').onclick=saveItem;
    }
    function jdItemFun() {
        document.querySelector("#choose-btns").innerHTML +=('<a href="javascript:;" id="saveToAichuang" class="btn-special3 btn-lg" style="background-color:#00aaff;border-color:#00aaff;color:#fff;">保存到爱创</a>');
        document.querySelector('#saveToAichuang').onclick=saveItem;

    }
    function saveItem(){
        var btn = this;
        if(btn.getAttribute('disabled')){
            return false;
        }
        btn.setAttribute('disabled',true);
        btn.innerText='保存中...';
        GM_xmlhttpRequest({
            method:'POST',
            url:'https://test.aiwriting.io/api/collect/page',
            headers: {
                "Content-Type": "application/x-www-form-urlencoded"
            },
            // data:{
            //     url:location.href,
            //     html:document.getElementsByTagName('html')[0].innerHTML
            // },
            data:'url='+encodeURIComponent(location.href)+'&html='+encodeURIComponent(document.getElementsByTagName('html')[0].innerHTML),
            responseType :'json',
            timeout:10000,
            onload:function(xhr){
                btn.removeAttribute('disabled');
                if(xhr.readyState==4 && xhr.status==200){
                    if(xhr.response.status=="success"){
                        btn.innerText='已保存到爱创';
                    }else{
                        btn.innerText='保存到爱创';
                        alert(xhr.response.message);
                    }
                }else{
                    btn.innerText='保存到爱创';
                }
            },
            ontimeout:function(){
                alert('请求超时');
                btn.removeAttribute('disabled');
            },
            onerror:function(error){
                alert('请求出错');
                btn.removeAttribute('disabled');
            }
        });
    }
    /**
   * 保存链接
   * @param  {[type]}   myUrl [链接地址]
   * @param  {Function} cb    [回调]
   * @return {[type]}         [description]
   */
    function saveUrl(myUrl,cb){
        var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/rn/g,"n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r)}else if(r>127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}};

        var encodedUrl = Base64.encode(myUrl);
        // $.ajax({
        //     async:false,//必须为同步方式,否则onMessage中的sendResponse无法发送数据
        //     url: 'https://aiwriting.io/material/json/import/page/url?url=' + encodedUrl,
        //     type: 'get',
        //     success: function(res) {
        //         cb && cb(res);
        //     }
        // });
        GM_xmlhttpRequest({
            method:'GET',
            url:'https://aiwriting.io/material/json/import/page/url?url='+ encodedUrl,
            onload:function(response){
                console.log(response);
            },
            onerror:function(error){
                return false;
            }
        });
    }

})();