├── LICENSE
├── README.md
├── dist
├── CSDN-helper@1.1.0.user.js
├── CSDN-helper@1.1.6.user.js
├── README.md
├── app@1.0.css
├── app@1.0.html
└── app@1.0.js
├── docs
├── .nojekyll
├── README.md
├── _coverpage.md
├── _sidebar.md
├── comment.md
├── import.md
├── index.html
├── like.md
└── market.md
├── img
├── README.md
├── cover.png
├── csdn.png
└── favicon.ico
├── main.user.js
└── market
├── README.md
└── ZainCheung
├── HelloWorld
├── HelloWorld@1.0.json
└── helloWorld.md
├── 网友评论
├── 网友评论.md
└── 网友评论@1.0.json
└── 马保国
├── 马保国.md
└── 马保国@1.0.json
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 张远超
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | [💡 简介](#简介)
13 |
14 | [:octocat: 安装](#安装)
15 |
16 | [📚 功能](#功能)
17 |
18 | [📖 使用文档](https://zaincheung.github.io/CSDN-helper/)
19 |
20 | [🐛 版本历史与更新日志](https://github.com/ZainCheung/CSDN-helper/releases)
21 |
22 | [👻 责任说明](#责任说明)
23 |
24 | # 简介
25 | 这是一款可以全自动点赞评论刷积分刷等级的插件,进入到CSDN博客页面后便可以自动点赞评论
26 |
27 | 可以选定点赞评论的范围,比如文章字数,浏览数或者文章的发布日期等等
28 |
29 | # 安装
30 |
31 | 安装并使用这款插件,需要你的浏览器装有油猴[Tampermonkey](https://tampermonkey.net/)插件
32 |
33 | | [正式版](https://greasyfork.org/zh-CN/scripts/401373-csdn博客刷积分刷等级助手) | [GitHub版](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/main.user.js) |
34 | | :----------------------------------------------------------: | :----------------------------------------------------------: |
35 | | 在油猴上正式发布的版本, 最稳定, 更新频率较低 | 新增内容测试的地方, 更新频率高, 但功能不稳定 |
36 |
37 |
38 | **本脚本的点赞评论均需要在登陆之后的环境下进行,否则没反应属于正常**
39 |
40 | # 功能
41 | 1. 快速刷积分刷等级
42 | 2. 当天点赞次数用尽之后会帮你关闭自动点赞
43 | 3. 评论的内容你来提前设定,此后便会随机抽选一条内容评论
44 | 4. 纯模拟用户操作,安全并且不会引发账号异常
45 | 5. 营造博客内大家热情友好的一面
46 | 6. 增加互动,为自己的博客带来流量收益
47 |
48 | # 评论市场
49 |
50 | * 评论市场提供评论模板,可以快速导入到你的插件中
51 | * 欢迎提交你的评论库到评论市场
52 |
53 | ## 使用方法
54 |
55 | 找到你感兴趣的评论,可浏览内容,可复制链接导入进你的插件
56 |
57 | ## 所有评论
58 |
59 | | 作者 | 预览 | 类别 | 条目 | 版本 | 导入链接 |
60 | | :-----------------------------------------: | :----------------------------------------------------------: | :--: | :--: | ---- | :----------------------------------------------------------: |
61 | | [ZainCheung](https://github.com/ZainCheung) | [helloWorld](https://github.com/ZainCheung/CSDN-helper/blob/master/market/ZainCheung/HelloWorld/helloWorld.md) | 所有 | 28 | 1.0 | **[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/HelloWorld/HelloWorld@1.0.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/HelloWorld/HelloWorld@1.0.json)** |
62 | | [ZainCheung](https://github.com/ZainCheung) | [马保国](https://github.com/ZainCheung/CSDN-helper/blob/master/market/ZainCheung/马保国/马保国.md) | 随机 | 1 | 1.0 | **[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/马保国/马保国@1.0.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/马保国/马保国@1.0.json)** |
63 | | [ZainCheung](https://github.com/ZainCheung) | [网友评论](https://github.com/ZainCheung/CSDN-helper/blob/master/market/ZainCheung/网友评论/网友评论.md) | 随机 | 13 | 1.0 | **[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/网友评论/网友评论@1.0.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/网友评论/网友评论@1.0.json)** |
64 |
65 | ## 加入我们
66 |
67 | 欢迎参与开源项目,提交自己制作的评论库,为开源贡献自己的一份力量。
68 |
69 | ### 提交流程:
70 |
71 | 1. 在项目的`market`目录下新建一个以你的名字(用户名或者花名都可以)为名的文件夹,里面存放的就是你的评论库。
72 | 2. 为每个库建立一个独立的文件夹,以评论库名命名,库下面放置的是各个版本的json文件以及一个README文件。
73 | 3. 提交到项目,作者会帮你更新到主页面列表中。
74 |
75 | ### json结构:
76 |
77 | ```json
78 | {
79 | "commentList": {
80 | "type": "random",
81 | "count": 2,
82 | "author": "作者",
83 | "name": "评论库名",
84 | "version": "1.0",
85 | "R": [
86 | {
87 | "text": "这是第一条评论"
88 | },
89 | {
90 | "text": "这是第二条评论"
91 | }
92 | ]
93 | }
94 | }
95 | ```
96 |
97 | `commentList`:最外层结构
98 |
99 | `type`:库的类型,小写字母,推荐 `random`
100 |
101 | | 所有 | 随机 | 分段 | 少等字数 | 中等字数 | 多等字数 |
102 | | :-----: | :----: | :------: | :------: | :------: | :------: |
103 | | ~~all~~ | random | ~~word~~ | ~~s~~ | ~~m~~ | ~~l~~ |
104 |
105 | 注意:目前只使用**随机评论**,其他所有类型将在下一个版本废弃,请不要使用!!!
106 |
107 | `count`: 评论数量
108 |
109 | `author`: 作者
110 |
111 | `name`: 评论库名
112 |
113 | `version`: 版本,建议从1.0开始
114 |
115 | 评论内容:从示例中可以看到,在`R`列表里面有2条评论
116 |
117 | ### README结构
118 |
119 | ```
120 | ### 评论库:评论库名
121 |
122 | ### 作者:作者名
123 |
124 | ### 类别:随机
125 |
126 | ### 条目:2
127 |
128 | ### 版本:1.0
129 |
130 | ### 导入链接:[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/作者名/评论库名/评论库@版本.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/作者名/评论库名/评论库@版本.json)
131 |
132 | #### 随机:
133 |
134 | 1. 这是第一条评论
135 | 2. 这是第二条评论
136 | ```
137 |
138 |
139 |
140 | # 责任说明
141 | 该脚本仅用于学习开发,请不要借此发布不良内容,如因被举报导致关进小黑屋与此项目无关
142 |
--------------------------------------------------------------------------------
/dist/CSDN-helper@1.1.0.user.js:
--------------------------------------------------------------------------------
1 | // ==UserScript==
2 | // @name CSDN博客自动点赞评论助手
3 | // @namespace http://tampermonkey.net/
4 | // @version 1.1.0
5 | // @description 打开任意一个CSDN博客页面,就可以进行自动点赞评论,可以自定义策略与评论内容,高度可定制化
6 | // @author ZainCheung
7 | // @match *://blog.csdn.net/*/article/details/*
8 | // @grant GM.xmlHttpRequest
9 | // @connect csdn.net
10 | // @require https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js
11 | // @resource html https://cdn.jsdelivr.net/gh/superBoyJack/CSDN-helper/dist/app@1.0.html
12 | // @resource css https://cdn.jsdelivr.net/gh/superBoyJack/CSDN-helper/dist/app@1.0.css
13 | // @resource js https://cdn.jsdelivr.net/gh/superBoyJack/CSDN-helper/dist/app@1.0.js
14 | // @grant GM_getValue
15 | // @grant GM_setValue
16 | // @grant GM.getValue
17 | // @grant GM.setValue
18 | // @grant unsafeWindow
19 | // @grant GM_getResourceText
20 | // @icon https://cdn.jsdelivr.net/gh/superBoyJack/CDN/img/20200428232059.png
21 | // ==/UserScript==
22 |
23 | // 获取网页的网址
24 | var articalUrl = window.location.href;
25 | var host = articalUrl.split("article/details/")[0]; // 域名
26 | var artId = articalUrl.split("article/details/")[1].split("?")[0];
27 | // 组装评论请求
28 | var getCommentUrl = host + "phoenix/comment/list/" + artId + "?page=1&size=1000&tree_type=1";
29 | // 当前登陆用户的账号
30 | var myName = document.querySelector("#csdn_container_tool > div > ul > li:nth-child(5) > div.userControl > div:nth-child(2) > div:nth-child(1) > a").href.split("blog.csdn.net/")[1];
31 | // 文章的作者账号
32 | var UserName = document.querySelector("#mainBox > main > div.blog-content-box > div > div > div.article-info-box > div.article-bar-top > div > a.follow-nickName").href.split("csdn.net/")[1];
33 | // 文章全文字数
34 | var blogLength = document.querySelector("#article_content").innerText.replace(/\ +/g,"").replace(/[\r\n]/g,"").length;
35 | // 文章阅读量
36 | var blogRead = document.querySelector("#mainBox > main > div.blog-content-box > div > div > div.article-info-box > div.article-bar-top > div > span.read-count").innerText;
37 | // 文章最后发布日期
38 | var blogDate = document.querySelector("#mainBox > main > div.blog-content-box > div > div > div.article-info-box > div.article-bar-top > div > span.time").innerText.slice(0,10);
39 | // 评论文本框
40 | var commentArea = document.querySelector("#comment_content");
41 | // 评论按钮
42 | var commentBtn = document.querySelector("#commentform > div > div.right-box > a > input");
43 | // 是否评论,默认评论
44 | var toComment = true;
45 |
46 | function init(){
47 | // 新的一天会自动打开点赞开关
48 | if(localStorage.today){
49 | var today = new Date();
50 | if(localStorage.today != today.getDate()){
51 | localStorage.likeSwitch = 100;
52 | localStorage.likeCustom = 100;
53 | localStorage.today = today.getDate();
54 | }
55 | }
56 |
57 | if(localStorage.likeSwitch == 100){
58 | if(localStorage.likeCustom == 100){
59 | console.log("blogLength:" + blogLength);
60 | console.log("blogRead:" + blogRead);
61 | console.log("localStorage.likeWordNumber:" + localStorage.likeWordNumber);
62 | console.log("localStorage.likeReadNumber:" + localStorage.likeReadNumber);
63 | if((parseInt(blogLength) >= parseInt(localStorage.likeWordNumber)) && (parseInt(blogRead) >= parseInt(localStorage.likeReadNumber))){
64 | if((new Date(blogDate).getTime()) >= (new Date(localStorage.likeDate).getTime())){
65 | likeEvent();
66 | }
67 | }
68 | }else{
69 | likeEvent();
70 | }
71 | }
72 |
73 | if(localStorage.commentSwitch == 100){
74 | if(localStorage.commentCustom == 100){
75 | if((parseInt(blogLength) >= parseInt(localStorage.commentWordNumber)) && (parseInt(blogRead) >= parseInt(localStorage.commentReadNumber))){
76 | if((new Date(blogDate).getTime()) >= (new Date(localStorage.commentDate).getTime())){
77 | commentEvent();
78 | }
79 | }
80 | }else{
81 | commentEvent();
82 | }
83 | }
84 |
85 | }
86 | // 点赞事件
87 | function likeEvent(){
88 | //没有点赞才自动点赞并且延迟100毫秒后进行评论
89 | var zhan = document.querySelector("#is-like > a");
90 |
91 | if(document.querySelector("#is-like-img").style.display == "block"){
92 | zhan.click();
93 | var checkFull = window.setInterval(function(){
94 | if(document.querySelector("body > div.skin-boxshadow").style.display == "block"){localStorage.likeSwitch = 0}
95 | },100);
96 | setTimeout(function(){
97 | window.clearInterval(checkFull);
98 | },1000);
99 | }else{ console.warn("已经点过赞了");}
100 | }
101 |
102 | // 评论事件
103 | function commentEvent(){
104 | var commentTextList = JSON.parse(localStorage.commentList);
105 | var commentText;
106 | if(localStorage.commentRangeSwitch==0){
107 | commentText = commentTextList.R[Math.floor(Math.random()*commentTextList.R.length)].text;
108 | }else{
109 | var count_S = localStorage.commentRange.split(",")[0];
110 | var count_L = localStorage.commentRange.split(",")[1];
111 | if(blogLengthcount_L){
114 | commentText = commentTextList.L[Math.floor(Math.random()*commentTextList.L.length)].text;
115 | }
116 | }
117 |
118 | setTimeout(function(){
119 | // 从页面获取评论列表,但是只能获取第一页
120 | var commentList = document.querySelectorAll('#mainBox > main > div.comment-box > div.comment-list-container > div.comment-list-box > ul');
121 | for (let i=0; i a").href.split("csdn.net/")[1]==myName){
124 | toComment = false;
125 | console.log("已经评论过,无需重复评论");
126 | }
127 | if(i==(commentList.length-1)){
128 | if(toComment && myName!=UserName){
129 | console.log(commentText);
130 | document.querySelector("#comment_content").value= commentText;
131 | document.querySelector("#commentform > div > div.right-box > a > input").click();
132 | console.log("评论成功!");
133 | }
134 | }
135 | }
136 | },500);
137 | }
138 |
139 | (function() {
140 | init();
141 | })();
142 |
143 | // 添加Link
144 | function addGlobalLink(rel,href) {
145 | var head, link;
146 | head = document.getElementsByTagName('head')[0];
147 | if (!head) { return; }
148 | link = document.createElement('link');
149 | link.rel = rel;
150 | link.href = href;
151 | head.appendChild(link);
152 | }
153 | // 添加Script
154 | function addGlobalScript(src) {
155 | var body, script;
156 | body = document.getElementsByTagName('body')[0];
157 | if (!body) { return; }
158 | script = document.createElement('script');
159 | script.src = src;
160 | body.appendChild(script);
161 | }
162 |
163 | addGlobalLink('stylesheet','https://cdn.jsdelivr.net/gh/superBoyJack/CDN/css/element-ui-index.css');
164 | addGlobalLink('stylesheet','https://at.alicdn.com/t/font_1776564_biuc05tmt1k.css');
165 | addGlobalLink('stylesheet','https://cdn.jsdelivr.net/gh/superBoyJack/CSDN-helper/dist/app@0.2.css');
166 | addGlobalScript("https://cdn.jsdelivr.net/gh/superBoyJack/CDN/js/element-ui-index.js");
167 | addGlobalScript("https://cdn.jsdelivr.net/npm/vue/dist/vue.js");
168 | addGlobalScript("https://unpkg.com/axios/dist/axios.min.js");
169 |
170 | window.addEventListener(
171 | 'load',
172 | function(){
173 | var appMenu = document.createElement("div");
174 | var vueScript = document.createElement("script");
175 | appMenu.innerHTML = GM_getResourceText("html");
176 | vueScript.innerHTML = GM_getResourceText("js");
177 | var navbar,body;
178 | navbar = document.getElementById('csdn-toolbar');
179 | body = document.getElementsByTagName('body')[0];
180 | if (navbar && body) {
181 | navbar.parentNode.insertBefore(appMenu, navbar.nextSibling);
182 | body.parentNode.insertBefore(vueScript, body.nextSibling);
183 | }
184 | },true);
185 |
--------------------------------------------------------------------------------
/dist/CSDN-helper@1.1.6.user.js:
--------------------------------------------------------------------------------
1 | // ==UserScript==
2 | // @name CSDN博客刷积分刷等级助手
3 | // @namespace http://tampermonkey.net/
4 | // @version 1.1.6
5 | // @description 打开任意一个CSDN博客页面,就可以进行自动点赞评论,可以涨积分升级,可以自定义策略与评论内容,高度可定制化
6 | // @author ZainCheung
7 | // @match *://blog.csdn.net/*/article/details/*
8 | // @grant GM.xmlHttpRequest
9 | // @connect csdn.net
10 | // @resource html https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper/dist/app@1.0.html
11 | // @resource css https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper/dist/app@1.0.css
12 | // @resource js https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper/dist/app@1.0.js
13 | // @grant GM_getValue
14 | // @grant GM_setValue
15 | // @grant GM.getValue
16 | // @grant GM.setValue
17 | // @grant unsafeWindow
18 | // @grant GM_getResourceText
19 | // @icon https://cdn.jsdelivr.net/gh/ZainCheung/CDN/img/20200428232059.png
20 | // ==/UserScript==
21 |
22 | // 获取网页的网址
23 | var articalUrl = window.location.href;
24 | var host = articalUrl.split("article/details/")[0]; // 域名
25 | var artId = articalUrl.split("article/details/")[1].split("?")[0];
26 | // 组装评论请求
27 | var getCommentUrl = host + "phoenix/comment/list/" + artId + "?page=1&size=1000&tree_type=1";
28 | // 当前登陆用户的账号
29 | var myName = document.querySelector("#csdn-toolbar > div > div > div.toolbar-btns.onlyUser.csdn-toolbar-fr > div.toolbar-btn-login.csdn-toolbar-fl.toolbar-subMenu-box > div > a:nth-child(5)").href.split("blog.csdn.net/")[1];
30 | // 文章的作者账号
31 | var UserName = document.querySelector("#mainBox > main > div.blog-content-box > div > div > div.article-info-box > div.article-bar-top > div > a.follow-nickName").href.split("csdn.net/")[1];
32 | // 文章全文字数
33 | var blogLength = document.querySelector("#article_content").innerText.replace(/\ +/g,"").replace(/[\r\n]/g,"").length;
34 | // 文章阅读量
35 | var blogRead = document.querySelector("#mainBox > main > div.blog-content-box > div > div > div.article-info-box > div.article-bar-top > div > span.read-count").innerText;
36 | // 文章最后发布日期
37 | var blogDate = document.querySelector("#mainBox > main > div.blog-content-box > div > div > div.article-info-box > div.article-bar-top > div > span.time").innerText.slice(0,10);
38 | // 评论文本框
39 | var commentArea = document.querySelector("#comment_content");
40 | // 评论按钮
41 | var commentBtn = document.querySelector("#commentform > div > div.right-box > a > input");
42 | // 是否评论,默认评论
43 | var toComment = true;
44 |
45 | function init(){
46 | // 新的一天会自动打开点赞开关
47 | if(localStorage.today){
48 | var today = new Date();
49 | if(localStorage.today != today.getDate()){
50 | localStorage.likeSwitch = 100;
51 | localStorage.likeCustom = 100;
52 | localStorage.today = today.getDate();
53 | }
54 | }
55 |
56 | if(localStorage.likeSwitch == 100){
57 | if(localStorage.likeCustom == 100){
58 | if((parseInt(blogLength) >= parseInt(localStorage.likeWordNumber)) && (parseInt(blogRead) >= parseInt(localStorage.likeReadNumber))){
59 | if((new Date(blogDate).getTime()) >= (new Date(localStorage.likeDate).getTime())){
60 | likeEvent();
61 | }
62 | }
63 | }else{
64 | likeEvent();
65 | }
66 | }
67 |
68 | if(localStorage.commentSwitch == 100){
69 | if(localStorage.commentCustom == 100){
70 | if((parseInt(blogLength) >= parseInt(localStorage.commentWordNumber)) && (parseInt(blogRead) >= parseInt(localStorage.commentReadNumber))){
71 | if((new Date(blogDate).getTime()) >= (new Date(localStorage.commentDate).getTime())){
72 | commentEvent();
73 | }
74 | }
75 | }else{
76 | commentEvent();
77 | }
78 | }
79 |
80 | }
81 | // 点赞事件
82 | function likeEvent(){
83 | //没有点赞才自动点赞并且延迟100毫秒后进行评论
84 | var zhan = document.querySelector("#is-like > a");
85 |
86 | if(document.querySelector("#is-like-img").style.display == "block"){
87 | zhan.click();
88 | var checkFull = window.setInterval(function(){
89 | if(document.querySelector("body > div.skin-boxshadow").style.display == "block"){localStorage.likeSwitch = 0}
90 | },100);
91 | setTimeout(function(){
92 | window.clearInterval(checkFull);
93 | },1000);
94 | }else{ console.warn("已经点过赞了");}
95 | }
96 |
97 | // 评论事件
98 | function commentEvent(){
99 | var commentTextList = JSON.parse(localStorage.commentList);
100 | var commentText;
101 | if(localStorage.commentRangeSwitch==0){
102 | commentText = commentTextList.R[Math.floor(Math.random()*commentTextList.R.length)].text;
103 | }else{
104 | var count_S = localStorage.commentRange.split(",")[0];
105 | var count_L = localStorage.commentRange.split(",")[1];
106 | if(blogLengthcount_L){
109 | commentText = commentTextList.L[Math.floor(Math.random()*commentTextList.L.length)].text;
110 | }
111 | }
112 |
113 | setTimeout(function(){
114 | if(myName!=UserName){
115 | // 从页面获取评论列表,但是只能获取第一页
116 | var commentList = document.querySelector('#mainBox > main > div.comment-box > div.comment-list-container > div.comment-list-box > ul');
117 | if(commentList==null){
118 | console.log(commentText);
119 | document.querySelector("#comment_content").value= commentText;
120 | document.querySelector("#commentform > div > div.right-box > a > input").click();
121 | console.log("评论成功!");
122 | }else{
123 | var Imgs = commentList.getElementsByClassName("avatar");
124 | for (let i=0; i div > div.right-box > a > input").click();
136 | console.log("评论成功!");
137 | }
138 | }
139 | }
140 | },500);
141 | }
142 |
143 | (function() {
144 | init();
145 | })();
146 |
147 | // 添加Link
148 | function addGlobalLink(rel,href) {
149 | var head, link;
150 | head = document.getElementsByTagName('head')[0];
151 | if (!head) { return; }
152 | link = document.createElement('link');
153 | link.rel = rel;
154 | link.href = href;
155 | head.appendChild(link);
156 | }
157 | // 添加Script
158 | function addGlobalScript(src) {
159 | var body, script;
160 | body = document.getElementsByTagName('body')[0];
161 | if (!body) { return; }
162 | script = document.createElement('script');
163 | script.src = src;
164 | body.appendChild(script);
165 | }
166 |
167 | addGlobalLink('stylesheet','https://cdn.jsdelivr.net/gh/ZainCheung/CDN/css/element-ui-index.css');
168 | addGlobalLink('stylesheet','https://at.alicdn.com/t/font_1776564_biuc05tmt1k.css');
169 | addGlobalLink('stylesheet','https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper/dist/app@1.0.css');
170 | addGlobalScript("https://cdn.jsdelivr.net/gh/ZainCheung/CDN/js/element-ui-index.js");
171 | addGlobalScript("https://cdn.jsdelivr.net/npm/vue");
172 | addGlobalScript("https://unpkg.com/axios/dist/axios.min.js");
173 |
174 | window.addEventListener(
175 | 'load',
176 | function(){
177 | var appMenu = document.createElement("div");
178 | var vueScript = document.createElement("script");
179 | appMenu.innerHTML = GM_getResourceText("html");
180 | vueScript.innerHTML = GM_getResourceText("js");
181 | var navbar,body;
182 | navbar = document.getElementById('csdn-toolbar');
183 | body = document.getElementsByTagName('body')[0];
184 | if (navbar && body) {
185 | navbar.parentNode.insertBefore(appMenu, navbar.nextSibling);
186 | body.parentNode.insertBefore(vueScript, body.nextSibling);
187 | }
188 | },true);
189 |
--------------------------------------------------------------------------------
/dist/README.md:
--------------------------------------------------------------------------------
1 | ## 这里放置源文件
2 |
--------------------------------------------------------------------------------
/dist/app@1.0.css:
--------------------------------------------------------------------------------
1 | /* 悬浮入口 */
2 | .el-backtop {
3 | transform: translateX(-16px);
4 | transition: .2s;
5 | top: 50%;
6 | border-radius: 50%;
7 | }
8 | .el-backtop:hover {
9 | left: 0px;
10 | transform: translateX(0);
11 | }
12 | /* 抽屉面板加滑动 */
13 | .el-drawer{
14 | overflow-y: scroll
15 | }
16 | .el-main {
17 | padding: 20px 0 20px 0;
18 | }
19 | /* 开关标签颜色 */
20 | .el-switch__label.is-active {
21 | color: #606266;
22 | }
23 | /* 标题下拉箭头 */
24 | .el-collapse-item__arrow {
25 | /* margin: 0 165px 0 10px; */
26 | margin-right: 40%;
27 | }
28 | /* 滚动槽 */
29 | ::-webkit-scrollbar {
30 | width: 6px;
31 | height: 6px;
32 | }
33 | ::-webkit-scrollbar-track {
34 | border-radius: 3px;
35 | background: rgba(0,0,0,0.06);
36 | -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.08);
37 | }
38 | /* 滚动条滑块 */
39 | ::-webkit-scrollbar-thumb {
40 | border-radius: 3px;
41 | background: rgba(0,0,0,0.12);
42 | -webkit-box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
43 | }
--------------------------------------------------------------------------------
/dist/app@1.0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
13 |
14 |
15 |
16 | CSDN 助手
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | 点 赞
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 | 最低字数:
63 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 | 最低浏览量:
82 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 | 发文日期:
102 |
103 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 | 评 论
120 |
121 |
122 |
123 |
124 |
125 |
126 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 | 最低字数:
180 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 | 最低浏览量:
198 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 | 发文日期:
218 |
219 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 | 内 容
238 |
239 |
240 |
241 |
242 |
243 |
244 |
250 |
251 |
252 |
256 |
257 |
258 | {{ props.row.text }}
259 |
260 |
261 |
265 |
266 |
267 |
268 | 导入
269 | 新建
270 |
271 |
272 | 编辑
275 | 删除
279 |
280 |
281 |
282 |
283 |
284 |
291 |
292 |
293 |
294 |
295 |
296 |
302 |
303 |
307 |
308 |
309 | {{ props.row.text }}
310 |
311 |
312 |
316 |
317 |
318 |
319 | 导入
320 | 新建
321 |
322 |
323 | 编辑
326 | 删除
330 |
331 |
332 |
333 |
334 |
341 |
342 |
343 |
344 |
345 |
346 |
352 |
353 |
357 |
358 |
359 | {{ props.row.text }}
360 |
361 |
362 |
366 |
367 |
368 |
369 | 导入
370 | 新建
371 |
372 |
373 | 编辑
376 | 删除
380 |
381 |
382 |
383 |
384 |
391 |
392 |
393 |
394 |
395 |
396 |
402 |
403 |
407 |
408 |
409 | {{ props.row.text }}
410 |
411 |
412 |
416 |
417 |
418 |
419 | 导入
420 | 新建
421 |
422 |
423 | 编辑
426 | 删除
430 |
431 |
432 |
433 |
434 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
460 |
461 |
462 |
463 |
464 | 关 于
465 |
466 |
467 |
468 |
469 | 版本:1.0
470 |
471 |
472 |
473 |
474 | 如果觉得这个插件不错,欢迎给个Star
475 |
476 |
477 |
478 |
479 | GitHub:
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 | 保 存
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
506 |
514 |
515 |
519 |
520 |
521 |
522 |
529 |
530 |
531 |
532 |
533 |
534 | 评论库:{{ importDialog.commentList.name }}
535 |
536 |
537 |
538 |
539 | 作者:{{ importDialog.commentList.author }}
540 |
541 |
542 |
543 |
544 | 条目:{{ importDialog.commentList.count }}
545 |
546 |
547 |
548 |
549 | 版本:{{ importDialog.commentList.version }}
550 |
551 |
552 |
553 |
554 |
560 |
561 |
562 |
568 |
569 |
570 |
571 | 更多评论尽在评论市场,
572 |
573 | 点我前往...
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
585 |
586 |
587 |
--------------------------------------------------------------------------------
/dist/app@1.0.js:
--------------------------------------------------------------------------------
1 | var Main = {
2 | data() {
3 | return {
4 | menuShow: false,
5 | likeSwitch: 0,
6 | likeCustom: 0,
7 | likeWordNumber: "",
8 | likeReadNumber: "",
9 | likeDate: "",
10 | commentSwitch: 0,
11 | commentCustom: 0,
12 | commentWordNumber: 0,
13 | commentReadNumber: 0,
14 | commentDate: "",
15 | commentRangeSwitch: 0,
16 | commentRange: [100,2000],
17 | commentDialog: {
18 | visible: false,
19 | title: "默认标题",
20 | text: "",
21 | new: true,
22 | source: "",
23 | index: "",
24 | /* 禁用判断 */
25 | checkDisabled(){
26 | if(this.text.length == 0){
27 | return true;
28 | }else{
29 | while(this.text.indexOf(" ") >= 0){
30 | this.text=this.text.replace(" ","");
31 | }
32 | }
33 | return false;
34 | }
35 | },
36 | importDialog: {
37 | visible: false,
38 | hasResult: false,
39 | loading: false,
40 | success: false,
41 | title: "导入评论",
42 | footer: "查询",
43 | text: "",
44 | commentList: "",
45 | checkDisabled(){
46 | if(this.text.length == 0 || this.loading){
47 | return true;
48 | }else{
49 | while(this.text.indexOf(" ") >= 0){
50 | this.text=this.text.replace(" ","");
51 | }
52 | }
53 | return false;
54 | }
55 |
56 | },
57 | currentPage: {
58 | R: 1,
59 | S: 1,
60 | M: 1,
61 | L: 1,
62 | pageSize: 5
63 | },
64 | dateOptions: [{
65 | value: this.getDateOption(0),
66 | label: '今天'
67 | }, {
68 | value: this.getDateOption(3600 * 1000 * 24 * 7),
69 | label: '一周内'
70 | }, {
71 | value: this.getDateOption(3600 * 1000 * 24 * 30),
72 | label: '一月内'
73 | }, {
74 | value: this.getDateOption(3600 * 1000 * 24 * 30 * 12),
75 | label: '一年内'
76 | }, {
77 | value: this.getDateOption(3600 * 1000 * 24 * 30 * 12 * 2),
78 | label: '两年内'
79 | }, {
80 | value: this.getDateOption(3600 * 1000 * 24 * 30 * 12 * 5),
81 | label: '五年内'
82 | }, {
83 | value: this.getDateOption(3600 * 1000 * 24 * 30 * 12 * 10),
84 | label: '十年内'
85 | }, {
86 | value: '1999-12-01',
87 | label: '不限'
88 | }
89 | ],
90 | commentList: {
91 | R: [
92 | {text: "写的不错哦,欢迎回访我的博客哦"},
93 | {text: "前排支持一下,可以的话来我博客看看吧"},
94 | {text: "我在大佬的评论区瑟瑟发抖,希望能引起注意并回访我的博客哈哈"},
95 | {text: "膜拜技术大佬,来我博客指点江山吧"},
96 | {text: "分享技术,不错哦"},
97 | {text: "少年,我看你骨骼精奇,不如来我博客看看可好"}
98 | ],
99 | S: [
100 | {text: "虽然字数不多,但是写的非常棒!欢迎回访我的博客"},
101 | {text: "字不在多在于精"},
102 | {text: "少年,我看你骨骼精奇,不如多敲几行字可好"},
103 | {text: "博客破万卷,代码如有神"},
104 | {text: "字不多却铿锵有力"},
105 | {text: "一文不赞何以赞天下"}
106 | ],
107 | M: [
108 | {text: "写的不错,活到老,学到老!欢迎回访我的博客"},
109 | {text: "欢迎来我博客看看,可以顺手点赞也是极好的"},
110 | {text: "前排支持一下,欢迎回访我的博客"},
111 | {text: "都是干货,谢谢了,欢迎回访我的博客"},
112 | {text: "向你学习,欢迎回访我的博客"},
113 | {text: "写的真好,如果可以,欢迎回访我的博客"}
114 |
115 | ],
116 | L: [
117 | {text: "写了这么多字,手动码字一定很累吧!欢迎回访我的博客"},
118 | {text: "我在大佬的评论区瑟瑟发抖,欢迎大佬回访我的博客"},
119 | {text: "膜拜技术大佬,来我博客指点江山吧"},
120 | {text: "收获满满,码字不易,欢迎回访我的博客"},
121 | {text: "不曾想,若是有一天我能像你一样写出这么好的博客该多好,欢迎来我的博客指点"},
122 | {text: "天若有情天亦老,来我博客看看可好"}
123 |
124 | ]
125 | },
126 | };
127 | },
128 | mounted() {
129 | this.initItem("likeSwitch",0);
130 | this.initItem("likeCustom",0);
131 | this.initItem("likeWordNumber",100);
132 | this.initItem("likeReadNumber",100);
133 | this.initItem("likeDate",this.getDateOption(3600 * 1000 * 24 * 30 * 12));
134 |
135 | this.initItem("commentSwitch",0);
136 | this.initItem("commentCustom",0);
137 | this.initItem("commentWordNumber",100);
138 | this.initItem("commentReadNumber",100);
139 | this.initItem("commentDate",this.getDateOption(3600 * 1000 * 24 * 30 * 12));
140 | this.initItem("commentRangeSwitch",0);
141 | this.initItem("commentRange",[100,2000]);
142 |
143 | this.initItem("commentList",this.commentList);
144 |
145 | if(!localStorage.today){
146 | var date = new Date();
147 | localStorage.today = date.getDate();
148 | }
149 |
150 | },
151 | methods: {
152 | /* 初始化localStorage */
153 | initItem(item,value){
154 | if (localStorage[item]) {
155 | switch (item) {
156 | case "commentRange":
157 | var str = localStorage.commentRange;
158 | this.commentRange = [str.split(",")[0],str.split(",")[1]];
159 | break;
160 | case "commentList":
161 | this.commentList = JSON.parse(localStorage.commentList);
162 | break;
163 | default:this[item] = localStorage[item];
164 | break;
165 | }
166 | }else{
167 | switch (item) {
168 | case "commentList":
169 | this.commentList = value;
170 | localStorage.commentList = JSON.stringify(value);
171 | break;
172 |
173 | default:this[item] = localStorage[item] = value;
174 | break;
175 | }
176 | }
177 | },
178 | /**
179 | *评论类别码
180 | * 0:随机评论
181 | * 1:少字数评论
182 | * 2:中等字数评论
183 | * 3:多字数评论
184 | * */
185 | getCommentType(type){
186 | var str;
187 | switch (type) {
188 | case 0:str = "R";break;
189 | case 1:str = "S";break;
190 | case 2:str = "M";break;
191 | case 3:str = "L";break;
192 | default:break;
193 | }
194 | return str;
195 | },
196 | /* 负责日期选择器的日期格式化:时间戳减去多少毫秒之前 */
197 | getDateOption(time){
198 | var date = new Date();
199 | date.setTime(date.getTime() - time);
200 | return (date.getFullYear()) + "-" + (date.getMonth() + 1) + "-" + (date.getDate());
201 | },
202 | /* 新建评论 */
203 | commentNew(type){
204 | this.commentDialog.new = true;
205 | this.commentDialog.title = "新建评论";
206 | this.commentDialog.source = this.getCommentType(type);
207 | this.commentDialog.text = "";
208 | this.commentDialog.visible = true;
209 | },
210 | /* 编辑评论 */
211 | commentEdit(index, row, type) {
212 | /* 获取到R-S-M-L */
213 | var typeCode = this.getCommentType(type);
214 | /* 通过当前页码,选中表格的行数以及页码尺寸获得在数组中的固定序列:0+(2-1)*5=5,第二页的第一行即数组的下标为5 */
215 | var staticIndex = index + ((this.currentPage[typeCode]-1)*this.currentPage.pageSize);
216 | this.commentDialog.new = false;
217 | this.commentDialog.title = "编辑评论";
218 | this.commentDialog.source = typeCode;
219 | this.commentDialog.text = this.commentList[typeCode][staticIndex].text;
220 | this.commentDialog.index = index;
221 | this.commentDialog.visible = true;
222 | },
223 | /* 删除评论 */
224 | commentDelete(index, row, type) {
225 | var typeCode = this.getCommentType(type);
226 | var staticIndex = index + ((this.currentPage[typeCode]-1)*this.currentPage.pageSize);
227 | this.commentList[typeCode].splice(staticIndex,1);
228 | this.saveComment();
229 | },
230 | /* 打开导入评论窗口 */
231 | commentOpenImport(){
232 | this.importDialog.text = "";
233 | this.importDialog.hasResult = false;
234 | this.importDialog.footer = "查询";
235 | this.importDialog.visible = true;
236 | },
237 | /* 导入评论 */
238 | commentImport(){
239 | if(!this.importDialog.commentList.type){return}
240 | switch (this.importDialog.commentList.type) {
241 | case "all":
242 | this.commentList = this.importDialog.commentList;
243 | break;
244 | case "random":
245 | this.commentList.R = this.importDialog.commentList.R;
246 | break;
247 | case "word":/* 字数分段评论(S+M+L) */
248 | this.commentList.S = this.importDialog.commentList.S;
249 | this.commentList.M = this.importDialog.commentList.M;
250 | this.commentList.L = this.importDialog.commentList.L;
251 | break;
252 | case "s":
253 | this.commentList.S = this.importDialog.commentList.S;
254 | break;
255 | case "m":
256 | this.commentList.M = this.importDialog.commentList.M;
257 | break;
258 | case "l":
259 | this.commentList.L = this.importDialog.commentList.L;
260 | break;
261 | default:
262 | break;
263 | }
264 | this.saveComment();
265 | console.log("导入成功");
266 | this.importDialog.hasResult = true;
267 | this.importDialog.success = false;
268 | this.importDialog.loading = false;
269 | this.importDialog.visible = false;
270 | this.$message({
271 | showClose: true,
272 | message: '评论导入成功,共导入' + this.importDialog.commentList.count + "条评论!",
273 | type: 'success'
274 | });
275 | },
276 | /* 查询评论文件 */
277 | commentQuery(){
278 | this.importDialog.loading = true;
279 | /* 查询完毕并且成功请求返回时 */
280 | if( this.importDialog.hasResult && this.importDialog.success){
281 | this.commentImport();
282 | return;
283 | }
284 |
285 | axios
286 | .get(this.importDialog.text)
287 | .then(response => {
288 | this.importDialog.commentList = response.data.commentList;
289 | console.log(this.importDialog.commentList);
290 | // this.importDialog.hasResult = true;
291 | this.importDialog.success = true;
292 | this.importDialog.footer = "导入";
293 | })
294 | .catch(error => {
295 | console.log(error);
296 | this.importDialog.success = false;
297 | this.importDialog.footer = "查询";
298 | this.$message({
299 | showClose: true,
300 | message: '链接解析失败',
301 | type: 'error'
302 | });
303 | return;
304 | })
305 | .finally(() => {
306 | this.importDialog.hasResult = true;
307 | this.importDialog.loading = false;
308 | })
309 | },
310 | /* 以下4个负责监控分页的变化并实时反馈 */
311 | currentPageChange_R(page){
312 | this.currentPage.R = page;
313 | },
314 | currentPageChange_S(page){
315 | this.currentPage.S = page;
316 | },
317 | currentPageChange_M(page){
318 | this.currentPage.M = page;
319 | },
320 | currentPageChange_L(page){
321 | this.currentPage.L = page;
322 | },
323 | /* 提交评论内容到Vue */
324 | postComment(){
325 | var comment = {text:this.commentDialog.text}
326 | if(this.commentDialog.new){
327 | this.commentList[this.commentDialog.source].push(comment);
328 | }else{
329 | this.commentList[this.commentDialog.source][this.commentDialog.index] = comment;
330 | }
331 | this.saveComment();
332 | this.commentDialog.visible = false;
333 | },
334 | /* 保存到localStorage */
335 | saveComment(){
336 | localStorage.commentList = JSON.stringify(this.commentList);
337 | },
338 | postChange(){
339 | /* 点赞配置保存到localStorage */
340 | localStorage.likeSwitch = this.likeSwitch;
341 | localStorage.likeCustom = this.likeCustom;
342 | localStorage.likeWordNumber = this.likeWordNumber;
343 | localStorage.likeReadNumber = this.likeReadNumber;
344 | var like_Date = new Date(this.likeDate);
345 | localStorage.likeDate = (like_Date.getFullYear()) + "-" + (like_Date.getMonth() + 1) + "-" + (like_Date.getDate());
346 |
347 | /* 评论配置保存到localStorage */
348 | localStorage.commentSwitch = this.commentSwitch;
349 | localStorage.commentCustom = this.commentCustom;
350 | localStorage.commentWordNumber = this.commentWordNumber;
351 | localStorage.commentReadNumber = this.commentReadNumber;
352 | localStorage.commentRangeSwitch = this.commentRangeSwitch;
353 | localStorage.commentRange = this.commentRange;
354 | var comment_Date = new Date(this.commentDate);
355 | localStorage.commentDate = (comment_Date.getFullYear()) + "-" + (comment_Date.getMonth() + 1) + "-" + (comment_Date.getDate());
356 |
357 | this.menuShow = false;
358 | },
359 |
360 | }
361 | };
362 | var Ctor = Vue.extend(Main);
363 | var ctor = new Ctor();
364 | ctor.$mount("#app");
--------------------------------------------------------------------------------
/docs/.nojekyll:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/docs/README.md:
--------------------------------------------------------------------------------
1 | # CSDN-helper
2 |
3 | > CSDN自动点赞评论助手
4 |
5 |
6 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | # 简介
19 | 这是一款可以全自动点赞评论刷积分刷等级的插件,进入到CSDN博客页面后便可以自动点赞评论
20 |
21 | 可以选定点赞评论的范围,比如文章字数,浏览数或者文章的发布日期等等
22 |
23 | # 安装
24 | 安装并使用这款插件,需要完成两个步骤
25 |
26 | ## 一、需要浏览器拥有[Tampermonkey](https://tampermonkey.net/)插件.
27 |
28 | ### [Tampermonkey](https://tampermonkey.net/) / [Violentmonkey](https://violentmonkey.github.io/)
29 | 如果你的电脑无法**科学上网**,那么我们为你准备了备用的下载地址:[无需翻墙即可下载](https://lanzous.com/ic2m7pi)
30 |
31 | *下载后得到一个crx文件,使用了Chromium内核的浏览器打开右上角更多 > 更多工具 > 扩展程序,接着将crx文件拖入浏览器即可安装*
32 |
33 | 如需科学上网,我们也为你准备了传送门:[谷歌访问助手](https://lanzous.com/iax4lyh)
34 |
35 | ## 二、**CSDN-helper**:点击名称即可安装👇
36 |
37 | | [正式版](https://greasyfork.org/zh-CN/scripts/401373-csdn博客刷积分刷等级助手) | [GitHub版](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/main.user.js) |
38 | | :----------------------------------------------------------: | :----------------------------------------------------------: |
39 | | 在油猴上正式发布的版本, 最稳定, 更新频率较低 | 新增内容测试的地方, 更新频率高, 但功能不稳定 |
40 |
41 | # 使用方法
42 | 安装脚本后,打开任意一篇CSDN博客文章页面,屏幕左边会出现齿轮标识,点进去进行配置.
43 |
44 | 大多数设置, 需要保存后并刷新网页才能生效. 只有自定义的评论可以立即保存.
45 |
46 | **本脚本的点赞评论均需要在登陆之后的环境下进行,否则没反应属于正常**
47 |
48 | # 功能
49 | 1. 快速刷积分刷等级
50 | 2. 当天点赞次数用尽之后会帮你关闭自动点赞
51 | 3. 评论的内容你来提前设定,此后便会随机抽选一条内容评论
52 | 4. 纯模拟用户操作,安全并且不会引发账号异常
53 | 5. 营造博客内大家热情友好的一面
54 | 6. 增加互动,为自己的博客带来流量收益
55 |
56 | # 责任说明
57 | 该脚本仅用于学习开发,请不要借此发布不良内容,如因被举报导致关进小黑屋与此项目无关
58 |
--------------------------------------------------------------------------------
/docs/_coverpage.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # CSDN-helper 1.0
4 |
5 | > 🚀一款CSDN博客自动点赞评论的浏览器插件
6 |
7 | - Don't give in to life
8 | - Your blog should be shining
9 | - Strive to be a better Z
10 |
11 | [GitHub](https://github.com/superBoyJack/CSDN-helper)
12 | [开始使用](#csdn-helper)
13 |
14 |
--------------------------------------------------------------------------------
/docs/_sidebar.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | * 入门
4 |
5 | * [🚀 快速开始](/#csdn-helper)
6 | * [💡 简介](/#简介)
7 | * [:octocat: 安装](/#安装)
8 | * [📚 功能](/#功能)
9 | * [🐛 版本历史与更新日志](https://github.com/superBoyJack/CSDN-helper/releases)
10 | * [👻 责任说明](/#责任说明)
11 |
12 | * 使用教程
13 |
14 | * [👍 点赞](like.md)
15 | * [💬 评论](comment.md)
16 |
17 | * 定制化
18 |
19 | * [📝 评论导入](import.md)
20 | * [🎁 评论市场](market.md)
--------------------------------------------------------------------------------
/docs/comment.md:
--------------------------------------------------------------------------------
1 | # 打开自动评论
2 |
3 | > 打开自动点赞后,默认会给你接下来要打开的所有文章评论,评论内容来自内容模块的随机评论
4 |
5 | # 字数分段
6 | > 打开字数分段开关即可对文章的字数判断,并根据你的分段评论做出相应的评论
7 | > 分段主要是让用户自定义标准,比如默认的是100字以下为低字数,2000以上为高字数,则100字至2000字为中等字数,插件便会帮你自动分辨文章字数并作出评论
8 |
9 | # 个性化配置
10 |
11 | > 打开个性化配置,即可对文章进行筛选,通过文字的字数,浏览量,以及发文日期选择性对文章进行评论
12 |
13 |
14 | # 最低字数
15 |
16 | > 配置最低字数,默认100字,最高可调10000,最低可调0
17 |
18 |
19 | # 最低浏览量
20 |
21 | > 配置最低浏览量,默认100浏览量,最高可调10000,最低可调0
22 |
23 |
24 | # 发文日期
25 |
26 | > 配置发文日期,默认一年内,可选当天,一周内,一月内,一年内,两年内,五年内,十年内,以及不限日期(1999年12月份之后都可以)
27 |
28 |
29 |
30 | # 注意
31 |
32 | 评论配置的更改完成后,会在保存后更新配置,请记得点击保存按钮
--------------------------------------------------------------------------------
/docs/import.md:
--------------------------------------------------------------------------------
1 | # 评论导入
2 |
3 | 评论导入功能可以将评论市场的评论库导入到你的插件里,并且存储起来,你完全可以对导入的评论进行自定义修改,而后便可以在评论的时候派上用场。
4 |
5 | ## 步骤
6 |
7 | 1. 内容=>导入,打开导入窗口,粘贴评论库的链接(关于评论库的链接你可以在评论市场找到),点击查询即可;
8 | 2. 当查询到文件后,插件会列出评论库的基本信息,核对无误后,你便可以导入到你的插件中去;
9 | 3. 如果第一步中查询出现了错误,请检查链接在浏览器中是否能打开,如果打不开或者文件格式错误都会导致导入失败。另一可能是文件的更新延迟,基于jsdeliver的缓存机制,更新文件大约需要24个小时才能刷新缓存,可以过1天之后再来试试。
10 |
11 | ## 案例
12 |
13 | 链接:https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/HelloWorld/HelloWorld@1.0.json
14 |
15 | 文件信息:
16 |
17 | #### 随机:
18 |
19 | 1. 写的不错哦,欢迎回访我的博客哦
20 | 2. 前排支持一下,可以的话来我博客看看吧
21 | 3. 我在大佬的评论区瑟瑟发抖,希望能引起注意并回访我的博客哈哈
22 | 4. 膜拜技术大佬,来我博客指点江山吧
23 | 5. 分享技术,不错哦,加油!
24 | 6. 少年,我看你骨骼精奇,不如来我博客看看可好
25 | 7. 有一天,我在某个人的评论区里写下了这么一句话
26 | 8. 学到了,感谢啊,有空来我博客看看哦
27 | 9. 我觉得很可,继续加油
28 | 10. 写的都很不错,向你学习吧
29 |
30 | #### 少等字数:
31 |
32 | 1. 虽然字数不多,但是写的非常棒!欢迎回访我的博客
33 | 2. 字不在多在于精
34 | 3. 少年,我看你骨骼精奇,不如多敲几行字可好
35 | 4. 博客破万卷,代码如有神
36 | 5. 字不多却铿锵有力
37 | 6. 一文不赞何以赞天下
38 |
39 | #### 中等字数:
40 |
41 | 1. 写的不错,活到老,学到老!欢迎回访我的博客
42 | 2. 欢迎来我博客看看,可以顺手点赞也是极好的
43 | 3. 前排支持一下,欢迎回访我的博客
44 | 4. 都是干货,谢谢了,欢迎回访我的博客
45 | 5. 向你学习,欢迎回访我的博客
46 | 6. 写的真好,如果可以,欢迎回访我的博客
47 |
48 | #### 多等字数:
49 |
50 | 1. 写了这么多字,手动码字一定很累吧!欢迎回访我的博客
51 | 2. 我在大佬的评论区瑟瑟发抖,欢迎大佬回访我的博客
52 | 3. 膜拜技术大佬,来我博客指点江山吧
53 | 4. 收获满满,码字不易,欢迎回访我的博客
54 | 5. 不曾想,若是有一天我能像你一样写出这么好的博客该多好,欢迎来我的博客指点
55 | 6. 天若有情天亦老,来我博客看看可好
56 |
57 | 基于这个链接,你便可以得到其中所有的评论
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CSDN-helper
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/docs/like.md:
--------------------------------------------------------------------------------
1 | # 打开自动点赞
2 |
3 | > 打开自动点赞后,默认会给你接下来要打开的所有文章点赞
4 |
5 |
6 | # 个性化配置
7 |
8 | > 打开个性化配置,即可对文章进行筛选,通过文字的字数,浏览量,以及发文日期选择性对文章进行点赞
9 |
10 |
11 | # 最低字数
12 |
13 | > 配置最低字数,默认100字,最高可调10000,最低可调0
14 |
15 |
16 | # 最低浏览量
17 |
18 | > 配置最低浏览量,默认100浏览量,最高可调10000,最低可调0
19 |
20 |
21 |
22 | # 发文日期
23 |
24 | > 配置发文日期,默认一年内,可选当天,一周内,一月内,一年内,两年内,五年内,十年内,以及不限日期(1999年12月份之后都可以)
25 |
26 |
27 |
28 | # 注意
29 |
30 | 点赞配置的更改完成后,会在保存后更新配置,请记得点击保存按钮
--------------------------------------------------------------------------------
/docs/market.md:
--------------------------------------------------------------------------------
1 | # 评论市场
2 |
3 | * 评论市场提供评论模板,可以快速导入到你的插件中
4 | * 欢迎提交你的评论库到评论市场
5 |
6 | ## 使用方法
7 |
8 | 找到你感兴趣的评论,可浏览内容,可复制链接导入进你的插件
9 |
10 | ## 所有评论
11 |
12 | | 作者 | 预览 | 类别 | 条目 | 版本 | 导入链接 |
13 | | :-----------------------------------------: | :----------------------------------------------------------: | :--: | :--: | ---- | :----------------------------------------------------------: |
14 | | [ZainCheung](https://github.com/ZainCheung) | [helloWorld](https://github.com/ZainCheung/CSDN-helper/blob/master/market/ZainCheung/HelloWorld/helloWorld.md) | 所有 | 28 | 1.0 | https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/HelloWorld/HelloWorld@1.0.json |
15 | | [ZainCheung](https://github.com/ZainCheung) | [马保国](https://github.com/ZainCheung/CSDN-helper/blob/master/market/ZainCheung/马保国/马保国.md) | 随机 | 1 | 1.0 | https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/马保国/马保国@1.0.json |
16 | | [ZainCheung](https://github.com/ZainCheung) | [网友评论](https://github.com/ZainCheung/CSDN-helper/blob/master/market/ZainCheung/网友评论/网友评论.md) | 随机 | 13 | 1.0 | https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/网友评论/网友评论@1.0.json |
17 |
18 | ## 加入我们
19 |
20 | 欢迎参与开源项目,提交自己制作的评论库,为开源贡献自己的一份力量。
21 |
22 | ### 提交流程:
23 |
24 | 1. 在项目的`market`目录下新建一个以你的名字(用户名或者花名都可以)为名的文件夹,里面存放的就是你的评论库。
25 | 2. 为每个库建立一个独立的文件夹,以评论库名命名,库下面放置的是各个版本的json文件以及一个README文件。
26 | 3. 提交到项目,作者会帮你更新到主页面列表中。
27 |
28 | ### json结构:
29 |
30 | ```json
31 | {
32 | "commentList": {
33 | "type": "random",
34 | "count": 2,
35 | "author": "作者",
36 | "name": "评论库名",
37 | "version": "1.0",
38 | "R": [
39 | {
40 | "text": "这是第一条评论"
41 | },
42 | {
43 | "text": "这是第二条评论"
44 | }
45 | ]
46 | }
47 | }
48 | ```
49 |
50 | `commentList`:最外层结构
51 |
52 | `type`:库的类型,小写字母,推荐 `random`
53 |
54 | | 所有 | 随机 | 分段 | 少等字数 | 中等字数 | 多等字数 |
55 | | :-----: | :----: | :------: | :------: | :------: | :------: |
56 | | ~~all~~ | random | ~~word~~ | ~~s~~ | ~~m~~ | ~~l~~ |
57 |
58 | 注意:目前只使用**随机评论**,其他所有类型将在下一个版本废弃,请不要使用!!!
59 |
60 | `count`: 评论数量
61 |
62 | `author`: 作者
63 |
64 | `name`: 评论库名
65 |
66 | `version`: 版本,建议从1.0开始
67 |
68 | 评论内容:从示例中可以看到,在`R`列表里面有2条评论
69 |
70 | ### README结构
71 |
72 | ```
73 | ### 评论库:评论库名
74 |
75 | ### 作者:作者名
76 |
77 | ### 类别:随机
78 |
79 | ### 条目:2
80 |
81 | ### 版本:1.0
82 |
83 | ### 导入链接:[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/作者名/评论库名/评论库@版本.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/作者名/评论库名/评论库@版本.json)
84 |
85 | #### 随机:
86 |
87 | 1. 这是第一条评论
88 | 2. 这是第二条评论
89 | ```
90 |
91 |
--------------------------------------------------------------------------------
/img/README.md:
--------------------------------------------------------------------------------
1 | ## 图片库
2 |
--------------------------------------------------------------------------------
/img/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainCheung/CSDN-helper/6960ee836b82b84f4784d9b40756570b50c2ec0a/img/cover.png
--------------------------------------------------------------------------------
/img/csdn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainCheung/CSDN-helper/6960ee836b82b84f4784d9b40756570b50c2ec0a/img/csdn.png
--------------------------------------------------------------------------------
/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainCheung/CSDN-helper/6960ee836b82b84f4784d9b40756570b50c2ec0a/img/favicon.ico
--------------------------------------------------------------------------------
/main.user.js:
--------------------------------------------------------------------------------
1 | // ==UserScript==
2 | // @name CSDN博客刷积分刷等级助手
3 | // @namespace http://tampermonkey.net/
4 | // @version 1.1.9
5 | // @description 打开任意一个CSDN博客页面,就可以进行自动点赞评论,可以涨积分升级,可以自定义策略与评论内容,高度可定制化
6 | // @author ZainCheung
7 | // @match *://blog.csdn.net/*/article/details/*
8 | // @grant GM.xmlHttpRequest
9 | // @connect csdn.net
10 | // @resource html https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/dist/app@1.0.html
11 | // @resource css https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper/dist/app@1.0.css
12 | // @resource js https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper/dist/app@1.0.js
13 | // @grant GM_getValue
14 | // @grant GM_setValue
15 | // @grant GM.getValue
16 | // @grant GM.setValue
17 | // @grant unsafeWindow
18 | // @grant GM_getResourceText
19 | // @icon https://cdn.jsdelivr.net/gh/ZainCheung/CDN/img/20200428232059.png
20 | // ==/UserScript==
21 |
22 | // 获取网页的网址
23 | var articalUrl = window.location.href;
24 | var host = articalUrl.split("article/details/")[0]; // 域名
25 | var artId = articalUrl.split("article/details/")[1].split("?")[0];
26 | // 组装评论请求
27 | var getCommentUrl = host + "phoenix/comment/list/" + artId + "?page=1&size=1000&tree_type=1";
28 | // 当前登陆用户的账号
29 | var myName = document.querySelector("#csdn-toolbar > div > div > div.toolbar-container-right > div > div.toolbar-btn.toolbar-btn-login.csdn-toolbar-fl.toolbar-subMenu-box > a").href.split("blog.csdn.net/")[1];
30 | // 文章的作者账号
31 | var UserName = document.querySelector("#mainBox > main > div.blog-content-box > div > div > div.article-info-box > div.article-bar-top > div > a.follow-nickName").href.split("csdn.net/")[1];
32 | // 文章全文字数
33 | var blogLength = document.querySelector("#article_content").innerText.replace(/\ +/g,"").replace(/[\r\n]/g,"").length;
34 | // 文章阅读量
35 | var blogRead = document.querySelector("#mainBox > main > div.blog-content-box > div > div > div.article-info-box > div.article-bar-top > div > span.read-count").innerText;
36 | // 文章最后发布日期
37 | var blogDate = document.querySelector("#mainBox > main > div.blog-content-box > div > div > div.article-info-box > div.article-bar-top > div > span.time").innerText.slice(0,10);
38 | // 评论文本框
39 | var commentArea = document.querySelector("#comment_content");
40 | // 评论按钮
41 | var commentBtn = document.querySelector("#commentform > div > div.right-box > a > input");
42 | // 是否评论,默认评论
43 | var toComment = true;
44 |
45 | function init(){
46 | // 新的一天会自动打开点赞开关
47 | if(localStorage.today){
48 | var today = new Date();
49 | if(localStorage.today != today.getDate()){
50 | localStorage.likeSwitch = 100;
51 | localStorage.likeCustom = 100;
52 | localStorage.today = today.getDate();
53 | }
54 | }
55 |
56 | if(localStorage.likeSwitch == 100){
57 | if(localStorage.likeCustom == 100){
58 | if((parseInt(blogLength) >= parseInt(localStorage.likeWordNumber)) && (parseInt(blogRead) >= parseInt(localStorage.likeReadNumber))){
59 | if((new Date(blogDate).getTime()) >= (new Date(localStorage.likeDate).getTime())){
60 | likeEvent();
61 | }
62 | }
63 | }else{
64 | likeEvent();
65 | }
66 | }
67 |
68 | if(localStorage.commentSwitch == 100){
69 | if(localStorage.commentCustom == 100){
70 | if((parseInt(blogLength) >= parseInt(localStorage.commentWordNumber)) && (parseInt(blogRead) >= parseInt(localStorage.commentReadNumber))){
71 | if((new Date(blogDate).getTime()) >= (new Date(localStorage.commentDate).getTime())){
72 | commentEvent();
73 | }
74 | }
75 | }else{
76 | commentEvent();
77 | }
78 | }
79 |
80 | }
81 | // 点赞事件
82 | function likeEvent(){
83 | //没有点赞才自动点赞并且延迟100毫秒后进行评论
84 | var zhan = document.querySelector("#is-like > a");
85 |
86 | if(document.querySelector("#is-like-img").style.display == "block"){
87 | zhan.click();
88 | var checkFull = window.setInterval(function(){
89 | if(document.querySelector("body > div.skin-boxshadow").style.display == "block"){localStorage.likeSwitch = 0}
90 | },100);
91 | setTimeout(function(){
92 | window.clearInterval(checkFull);
93 | },1000);
94 | }else{ console.warn("已经点过赞了");}
95 | }
96 |
97 | // 评论事件
98 | function commentEvent(){
99 | var commentTextList = JSON.parse(localStorage.commentList);
100 | var commentText;
101 | if(localStorage.commentRangeSwitch==0){
102 | commentText = commentTextList.R[Math.floor(Math.random()*commentTextList.R.length)].text;
103 | }else{
104 | var count_S = localStorage.commentRange.split(",")[0];
105 | var count_L = localStorage.commentRange.split(",")[1];
106 | if(blogLengthcount_L){
109 | commentText = commentTextList.L[Math.floor(Math.random()*commentTextList.L.length)].text;
110 | }
111 | }
112 |
113 | setTimeout(function(){
114 | if(myName!=UserName){
115 | // 从页面获取评论列表,但是只能获取第一页
116 | var commentList = document.querySelector('#mainBox > main > div.comment-box > div.comment-list-container > div.comment-list-box');
117 | if(commentList==null){
118 | console.log(commentText);
119 | document.querySelector("#comment_content").value= commentText;
120 | document.querySelector("#commentform > div > div.right-box > a > input").click();
121 | console.log("评论成功!");
122 | }else{
123 | var Imgs = commentList.getElementsByClassName("avatar");
124 | for (let i=0; i div > div.right-box > a > input").click();
136 | console.log("评论成功!");
137 | }
138 | }
139 | }
140 | },500);
141 | }
142 |
143 | (function() {
144 | init();
145 | })();
146 |
147 | // 添加Link
148 | function addGlobalLink(rel,href) {
149 | var head, link;
150 | head = document.getElementsByTagName('head')[0];
151 | if (!head) { return; }
152 | link = document.createElement('link');
153 | link.rel = rel;
154 | link.href = href;
155 | head.appendChild(link);
156 | }
157 | // 添加Script
158 | function addGlobalScript(src) {
159 | var body, script;
160 | body = document.getElementsByTagName('body')[0];
161 | if (!body) { return; }
162 | script = document.createElement('script');
163 | script.src = src;
164 | body.appendChild(script);
165 | }
166 |
167 | addGlobalLink('stylesheet','https://cdn.jsdelivr.net/gh/ZainCheung/CDN/css/element-ui-index.css');
168 | addGlobalLink('stylesheet','https://at.alicdn.com/t/font_1776564_biuc05tmt1k.css');
169 | addGlobalLink('stylesheet','https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper/dist/app@1.0.css');
170 | addGlobalScript("https://cdn.jsdelivr.net/gh/ZainCheung/CDN/js/element-ui-index.js");
171 | addGlobalScript("https://cdn.jsdelivr.net/npm/vue");
172 | addGlobalScript("https://unpkg.com/axios/dist/axios.min.js");
173 |
174 | window.addEventListener(
175 | 'load',
176 | function(){
177 | var appMenu = document.createElement("div");
178 | var vueScript = document.createElement("script");
179 | appMenu.innerHTML = GM_getResourceText("html");
180 | vueScript.innerHTML = GM_getResourceText("js");
181 | var navbar,body;
182 | navbar = document.getElementById('csdn-toolbar');
183 | body = document.getElementsByTagName('body')[0];
184 | if (navbar && body) {
185 | navbar.parentNode.insertBefore(appMenu, navbar.nextSibling);
186 | body.parentNode.insertBefore(vueScript, body.nextSibling);
187 | }
188 | },true);
189 |
--------------------------------------------------------------------------------
/market/README.md:
--------------------------------------------------------------------------------
1 | # 评论市场
2 |
3 | * 评论市场提供评论模板,可以快速导入到你的插件中
4 | * 欢迎提交你的评论库到评论市场
5 |
6 | ## 使用方法
7 |
8 | 找到你感兴趣的评论,可浏览内容,可复制链接导入进你的插件
9 |
10 | ## 所有评论
11 |
12 | | 作者 | 预览 | 类别 | 条目 | 版本 | 导入链接 |
13 | | :-----------------------------------------: | :----------------------------------------------------------: | :--: | :--: | ---- | :----------------------------------------------------------: |
14 | | [ZainCheung](https://github.com/ZainCheung) | [helloWorld](https://github.com/ZainCheung/CSDN-helper/blob/master/market/ZainCheung/HelloWorld/helloWorld.md) | 所有 | 28 | 1.0 | **[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/HelloWorld/HelloWorld@1.0.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/HelloWorld/HelloWorld@1.0.json)** |
15 | | [ZainCheung](https://github.com/ZainCheung) | [马保国](https://github.com/ZainCheung/CSDN-helper/blob/master/market/ZainCheung/马保国/马保国.md) | 随机 | 1 | 1.0 | **[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/马保国/马保国@1.0.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/马保国/马保国@1.0.json)** |
16 | | [ZainCheung](https://github.com/ZainCheung) | [网友评论](https://github.com/ZainCheung/CSDN-helper/blob/master/market/ZainCheung/网友评论/网友评论.md) | 随机 | 13 | 1.0 | **[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/网友评论/网友评论@1.0.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/网友评论/网友评论@1.0.json)** |
17 |
18 | ## 加入我们
19 |
20 | 欢迎参与开源项目,提交自己制作的评论库,为开源贡献自己的一份力量。
21 |
22 | ### 提交流程:
23 |
24 | 1. 在项目的`market`目录下新建一个以你的名字(用户名或者花名都可以)为名的文件夹,里面存放的就是你的评论库。
25 | 2. 为每个库建立一个独立的文件夹,以评论库名命名,库下面放置的是各个版本的json文件以及一个README文件。
26 | 3. 提交到项目,作者会帮你更新到主页面列表中。
27 |
28 | ### json结构:
29 |
30 | ```json
31 | {
32 | "commentList": {
33 | "type": "random",
34 | "count": 2,
35 | "author": "作者",
36 | "name": "评论库名",
37 | "version": "1.0",
38 | "R": [
39 | {
40 | "text": "这是第一条评论"
41 | },
42 | {
43 | "text": "这是第二条评论"
44 | }
45 | ]
46 | }
47 | }
48 | ```
49 |
50 | `commentList`:最外层结构
51 |
52 | `type`:库的类型,小写字母,推荐 `random`
53 |
54 | | 所有 | 随机 | 分段 | 少等字数 | 中等字数 | 多等字数 |
55 | | :-----: | :----: | :------: | :------: | :------: | :------: |
56 | | ~~all~~ | random | ~~word~~ | ~~s~~ | ~~m~~ | ~~l~~ |
57 |
58 | 注意:目前只使用**随机评论**,其他所有类型将在下一个版本废弃,请不要使用!!!
59 |
60 | `count`: 评论数量
61 |
62 | `author`: 作者
63 |
64 | `name`: 评论库名
65 |
66 | `version`: 版本,建议从1.0开始
67 |
68 | 评论内容:从示例中可以看到,在`R`列表里面有2条评论
69 |
70 | ### README结构
71 |
72 | ```
73 | ### 评论库:评论库名
74 |
75 | ### 作者:作者名
76 |
77 | ### 类别:随机
78 |
79 | ### 条目:2
80 |
81 | ### 版本:1.0
82 |
83 | ### 导入链接:[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/作者名/评论库名/评论库@版本.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/作者名/评论库名/评论库@版本.json)
84 |
85 | #### 随机:
86 |
87 | 1. 这是第一条评论
88 | 2. 这是第二条评论
89 | ```
90 |
91 |
--------------------------------------------------------------------------------
/market/ZainCheung/HelloWorld/HelloWorld@1.0.json:
--------------------------------------------------------------------------------
1 | {
2 | "commentList": {
3 | "type": "all",
4 | "count": 28,
5 | "author": "ZainCheung",
6 | "name": "helloWorld",
7 | "version": "1.0",
8 | "R": [
9 | {"text": "写的不错哦,欢迎回访我的博客哦"},
10 | {"text": "前排支持一下,可以的话来我博客看看吧"},
11 | {"text": "我在大佬的评论区瑟瑟发抖,希望能引起注意并回访我的博客哈哈"},
12 | {"text": "膜拜技术大佬,来我博客指点江山吧"},
13 | {"text": "分享技术,不错哦,加油"},
14 | {"text": "少年,我看你骨骼精奇,不如来我博客看看可好"},
15 | {"text": "有一天,我在某个人的评论区里写下了这么一句话"},
16 | {"text": "学到了,感谢啊,有空来我博客看看哦"},
17 | {"text": "我觉得很可,继续加油"},
18 | {"text": "写的都很不错,向你学习吧"}
19 | ],
20 | "S": [
21 | {"text": "虽然字数不多,但是写的非常棒!欢迎回访我的博客"},
22 | {"text": "字不在多在于精"},
23 | {"text": "少年,我看你骨骼精奇,不如多敲几行字可好"},
24 | {"text": "博客破万卷,代码如有神"},
25 | {"text": "字不多却铿锵有力"},
26 | {"text": "一文不赞何以赞天下"}
27 | ],
28 | "M": [
29 | {"text": "写的不错,活到老,学到老!欢迎回访我的博客"},
30 | {"text": "欢迎来我博客看看,可以顺手点赞也是极好的"},
31 | {"text": "前排支持一下,欢迎回访我的博客"},
32 | {"text": "都是干货,谢谢了,欢迎回访我的博客"},
33 | {"text": "向你学习,欢迎回访我的博客"},
34 | {"text": "写的真好,如果可以,欢迎回访我的博客"}
35 | ],
36 | "L": [
37 | {"text": "写了这么多字,手动码字一定很累吧!欢迎回访我的博客"},
38 | {"text": "我在大佬的评论区瑟瑟发抖,欢迎大佬回访我的博客"},
39 | {"text": "膜拜技术大佬,来我博客指点江山吧"},
40 | {"text": "收获满满,码字不易,欢迎回访我的博客"},
41 | {"text": "不曾想,若是有一天我能像你一样写出这么好的博客该多好,欢迎来我的博客指点"},
42 | {"text": "天若有情天亦老,来我博客看看可好"}
43 | ]
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/market/ZainCheung/HelloWorld/helloWorld.md:
--------------------------------------------------------------------------------
1 | ### 评论库:helloWorld
2 |
3 | ### 作者:ZainCheung
4 |
5 | ### 类别:所有
6 |
7 | ### 条目:28
8 |
9 | ### 版本:1.0
10 |
11 | ### 导入链接:[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/HelloWorld/helloWorld@1.0.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/HelloWorld/helloWorld@1.0.json)
12 |
13 | #### 随机:
14 |
15 | 1. 写的不错哦,欢迎回访我的博客哦
16 | 2. 前排支持一下,可以的话来我博客看看吧
17 | 3. 我在大佬的评论区瑟瑟发抖,希望能引起注意并回访我的博客哈哈
18 | 4. 膜拜技术大佬,来我博客指点江山吧
19 | 5. 分享技术,不错哦,加油!
20 | 6. 少年,我看你骨骼精奇,不如来我博客看看可好
21 | 7. 有一天,我在某个人的评论区里写下了这么一句话
22 | 8. 学到了,感谢啊,有空来我博客看看哦
23 | 9. 我觉得很可,继续加油
24 | 10. 写的都很不错,向你学习吧
25 |
26 | #### 少等字数:
27 |
28 | 1. 虽然字数不多,但是写的非常棒!欢迎回访我的博客
29 | 2. 字不在多在于精
30 | 3. 少年,我看你骨骼精奇,不如多敲几行字可好
31 | 4. 博客破万卷,代码如有神
32 | 5. 字不多却铿锵有力
33 | 6. 一文不赞何以赞天下
34 |
35 | #### 中等字数:
36 |
37 | 1. 写的不错,活到老,学到老!欢迎回访我的博客
38 | 2. 欢迎来我博客看看,可以顺手点赞也是极好的
39 | 3. 前排支持一下,欢迎回访我的博客
40 | 4. 都是干货,谢谢了,欢迎回访我的博客
41 | 5. 向你学习,欢迎回访我的博客
42 | 6. 写的真好,如果可以,欢迎回访我的博客
43 |
44 | #### 多等字数:
45 |
46 | 1. 写了这么多字,手动码字一定很累吧!欢迎回访我的博客
47 | 2. 我在大佬的评论区瑟瑟发抖,欢迎大佬回访我的博客
48 | 3. 膜拜技术大佬,来我博客指点江山吧
49 | 4. 收获满满,码字不易,欢迎回访我的博客
50 | 5. 不曾想,若是有一天我能像你一样写出这么好的博客该多好,欢迎来我的博客指点
51 | 6. 天若有情天亦老,来我博客看看可好
52 |
--------------------------------------------------------------------------------
/market/ZainCheung/网友评论/网友评论.md:
--------------------------------------------------------------------------------
1 | ### 评论库:网友评论
2 |
3 | ### 作者:ZainCheung
4 |
5 | ### 类别:随机
6 |
7 | ### 条目:13
8 |
9 | ### 版本:1.0
10 |
11 | ### 导入链接:[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/网友评论/网友评论@1.0.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/网友评论/网友评论@1.0.json)
12 |
13 | #### 随机:
14 |
15 | 1. 活到老学到老,支持原创!
16 | 2. 优秀优秀,必须给个大大的赞!
17 | 3. 大佬的文章让我受益颇多!
18 | 4. 大佬出品,必属精品
19 | 5. 写的不错,顶个贴,点个赞,嘿嘿!
20 | 6. 很棒呀,学习啦,谢谢分享!
21 | 7. 文章条理很清晰,学到了
22 | 8. 大佬写的很好,手动点赞!
23 | 9. 我,***,一枚互联网开发工程师,博客专家,看到此文章决定给你点个赞,请继续加油,有一天回首往事的时候你会觉得,那些奋斗的岁月是你一生的精华。
24 | 10. 感谢博主分享,讲的挺不错,希望后面有更多的文章
25 | 11. 大佬的文章让我受益匪浅,感谢博主!
26 | 12. 放弃不难,但坚持一定很酷!
27 | 13. 看完大佬的文章,我的心情竟是久久不能平静。正如老子所云:大音希声,大象无形。我现在终于明白我缺乏的是什么了。
--------------------------------------------------------------------------------
/market/ZainCheung/网友评论/网友评论@1.0.json:
--------------------------------------------------------------------------------
1 | {
2 | "commentList": {
3 | "type": "random",
4 | "count": 13,
5 | "author": "ZainCheung",
6 | "name": "网友评论",
7 | "version": "1.0",
8 | "R": [
9 | {
10 | "text": "活到老学到老,支持原创!"
11 | },
12 | {
13 | "text": "优秀优秀,必须给个大大的赞!"
14 | },
15 | {
16 | "text": "大佬的文章让我受益颇多!"
17 | },
18 | {
19 | "text": "大佬出品,必属精品"
20 | },
21 | {
22 | "text": "写的不错,顶个贴,点个赞,嘿嘿!"
23 | },
24 | {
25 | "text": "很棒呀,学习啦,谢谢分享!"
26 | },
27 | {
28 | "text": "文章条理很清晰,学到了"
29 | },
30 | {
31 | "text": "大佬写的很好,手动点赞!"
32 | },
33 | {
34 | "text": "我,***,一枚互联网开发工程师,博客专家,看到此文章决定给你点个赞,请继续加油,有一天回首往事的时候你会觉得,那些奋斗的岁月是你一生的精华。"
35 | },
36 | {
37 | "text": "感谢博主分享,讲的挺不错,希望后面有更多的文章"
38 | },
39 | {
40 | "text": "大佬的文章让我受益匪浅,感谢博主!"
41 | },
42 | {
43 | "text": "放弃不难,但坚持一定很酷!"
44 | },
45 | {
46 | "text": "看完大佬的文章,我的心情竟是久久不能平静。正如老子所云:大音希声,大象无形。我现在终于明白我缺乏的是什么了。"
47 | }
48 | ]
49 | }
50 | }
--------------------------------------------------------------------------------
/market/ZainCheung/马保国/马保国.md:
--------------------------------------------------------------------------------
1 | ### 评论库:马保国
2 |
3 | ### 作者:ZainCheung
4 |
5 | ### 类别:随机
6 |
7 | ### 条目:1
8 |
9 | ### 版本:1.0
10 |
11 | ### 导入链接:[https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/马保国/马保国@1.0.json](https://cdn.jsdelivr.net/gh/ZainCheung/CSDN-helper@master/market/ZainCheung/马保国/马保国@1.0.json)
12 |
13 | #### 随机:
14 |
15 | 1. 看到博主我「啪」就点进来了,很快啊,然后上来就是一个点赞、一个评论、一个收藏,全被博主防出去,防出去了啊。防出去以后自然是传统白嫖,以点到为止,我手指停在屏幕上没有点下去。
16 |
--------------------------------------------------------------------------------
/market/ZainCheung/马保国/马保国@1.0.json:
--------------------------------------------------------------------------------
1 | {
2 | "commentList": {
3 | "type": "random",
4 | "count": 1,
5 | "author": "ZainCheung",
6 | "name": "马保国",
7 | "version": "1.0",
8 | "R": [
9 | {
10 | "text": "看到博主我「啪」就点进来了,很快啊,然后上来就是一个点赞、一个评论、一个收藏,全被博主防出去,防出去了啊。防出去以后自然是传统白嫖,以点到为止,我手指停在屏幕上没有点下去。"
11 | }
12 | ]
13 | }
14 | }
--------------------------------------------------------------------------------