wxb před 7 roky
rodič
revize
39030567fb
6 změnil soubory, kde provedl 335 přidání a 4 odebrání
  1. 94 0
      css/WBAccount.css
  2. 51 0
      html/WBAccount.html
  3. 3 3
      index.html
  4. 115 0
      js/WBAccount.js
  5. 1 1
      js/WBData.js
  6. 71 0
      node/main.js

+ 94 - 0
css/WBAccount.css

@@ -0,0 +1,94 @@
+button{
+    margin-top: 2%;
+    color: white;
+    background: rgba(22, 155, 213, 1);
+    width: 6%;
+    border-radius: 5px;
+    margin-left: 3%;
+    cursor: pointer;
+}
+table,tr,td{
+    box-sizing: border-box;
+    border-width: 1px;
+    border-style: solid;
+    border-color: rgba(161, 161, 161, 1);
+}
+
+.tb{
+    margin-top:20px;
+}
+td button{
+    margin-top: 3%;
+    color: white;
+    background: rgba(22, 155, 213, 1);
+    width: 45%;
+    border-radius: 5px;
+    margin-left: 3%;
+}
+.insertDiv{
+    margin: 0 auto;
+    text-align: center;
+    width: 30%;
+    margin-top: 50px;
+    box-sizing: border-box;
+    border-width: 1px;
+    border-style: solid;
+    border-color: rgba(161, 161, 161, 1);
+    border-radius: 6px;
+    padding: 20px;
+    position: fixed;
+    top: 30%;
+    left: 30%;
+    background: white;
+    display: none;
+}
+.insertDiv button{
+    margin-top: 3%;
+    color: white;
+    background: rgba(22, 155, 213, 1);
+    width: 25%;
+    border-radius: 5px;
+    margin-left: 3%;
+}
+.updateDiv{
+    margin: 0 auto;
+    text-align: center;
+    width: 30%;
+    margin-top: 50px;
+    box-sizing: border-box;
+    border-width: 1px;
+    border-style: solid;
+    border-color: rgba(161, 161, 161, 1);
+    border-radius: 6px;
+    padding: 20px;
+    position: fixed;
+    top: 30%;
+    left: 30%;
+    background: white;
+    display: none;
+}
+.updateDiv button{
+    margin-top: 3%;
+    color: white;
+    background: rgba(22, 155, 213, 1);
+    width: 25%;
+    border-radius: 5px;
+    margin-left: 3%;
+}
+.header{
+    font-size:22px;
+}
+.header div{
+    float: right;
+}
+.info label{
+    vertical-align: middle;
+    display: inline-block;
+    text-align: justify;
+    text-align-last: justify;
+    float:left;
+    width: 30%;
+}
+.info input{
+    vertical-align: middle;
+}

+ 51 - 0
html/WBAccount.html

@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Page Title</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <link rel="stylesheet" href="./WBAccount.css">
+</head>
+<body>
+<button onclick="show('.insertDiv')"> 添加</button>
+<div class="tb">
+    <table class="table table-border table-bordered table-bg"
+           style="width: 100%;word-break: break-all;word-wrap: break-word;">
+        <thead>
+        <tr class="text-c">
+            <th>微博号</th>
+            <th>微博名称</th>
+            <th>加入时间</th>
+            <th>操作</th>
+        </tr>
+        </thead>
+        <tbody id="warp">
+        </tbody>
+    </table>
+</div>
+<div class="insertDiv">
+    <div class="header">
+        <span>添加详情</span>
+        <div style="cursor: pointer;" onclick="show('.insertDiv')">×</div>
+    </div>
+    <div class="info">
+        <p><label for="">微博号:</label><input type="text" class="wbNum" placeholder="请填写微博号"/></p>
+        <p><label for="">微博名称:</label><input type="text" class="wbName" placeholder="请填写微博名称"/></p>
+    </div>
+    <button onclick="insert();">确定</button>
+</div>
+<div class="updateDiv">
+    <div class="header">
+        <span>编辑详情</span>
+        <div style="cursor: pointer;" onclick="show('.updateDiv')">×</div>
+    </div>
+    <div class="info">
+        <p><label for="">微博名称:</label><input type="text" class="newName" placeholder="请填写要修改的微博名称"/></p>
+    </div>
+    <button class="update">确定</button>
+</div>
+</body>
+</html>
+<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
+<script src="./WBAccount.js"></script>

+ 3 - 3
index.html

@@ -37,9 +37,9 @@
     <div class="header"><h1>微博数据分析</h1></div>
     <div class="header"><h1>微博数据分析</h1></div>
     <div class="content">
     <div class="content">
         <div class="left">
         <div class="left">
-            <p><span style="background:rgb(215,215,215)"; onclick="changeIframe(this,'WBAccount')">微博号管理</span></p>
-            <p><span onclick="changeIframe(this,'WBData')">微博数据分析</span></p>
-            <p><span onclick="changeIframe(this,'Comment')">微博评论爬虫</span></p>
+            <p><span style="background:rgb(215,215,215)"; onclick="changeIframe(this,'./html/WBAccount')">微博号管理</span></p>
+            <p><span onclick="changeIframe(this,'./html/WBData')">微博数据分析</span></p>
+            <p><span onclick="changeIframe(this,'./html/Comment')">微博评论爬虫</span></p>
         </div>
         </div>
         <div class="right">
         <div class="right">
             <iframe src="account.html" frameborder="0" style="
             <iframe src="account.html" frameborder="0" style="

+ 115 - 0
js/WBAccount.js

@@ -0,0 +1,115 @@
+window.onload=function(){
+    getData();
+}
+getData=function(){
+    $.ajax({
+        type: "get",
+        url: "/selectall",
+        data:{},
+        dataType: "json",
+        success: function (data) {
+            let tbody=$("#warp")[0];
+            tbody.innerHTML="";
+            for(var i in data){
+                let uid='"'+data[i].WbId+'"';
+                let td="";
+                let tr="";
+                td+="<td>"+data[i].WbNumber+"</td><td>"+data[i].WbName+"</td><td>"+data[i].AddTime+"</td><td><button onclick='update("+uid+")'>编辑</button><button onclick='deleteData("+uid+")'>删除</button></td>";
+                tr="<tr>"+td+"</tr>";
+                $(tbody).append(tr);
+            }
+        }
+    })
+}
+
+deleteData=function(id){
+    var r=confirm("是否确定删除此微博号?")
+    if (r==true)
+    {
+        $.ajax({
+            type: "get",
+            url: "/delete?id="+id,
+            data:{},
+            dataType: "json",
+            success: function (data) {
+                if(data=="success"){
+                    alert("删除成功!");
+                    getData();
+                }else{
+                    alert("删除失败!");
+                }
+            }
+        })
+        return;
+    }
+
+}
+
+insert=function(){
+    let wbNum=$('.wbNum')[0].value;
+    let wbName=$('.wbName')[0].value;
+    $.ajax({
+        type: "get",
+        url: "/insert?num="+wbNum+"&name="+wbName,
+        data:{},
+        dataType: "json",
+        success: function (data) {
+            if(data=="success"){
+                alert("插入成功!");
+                show('.insertDiv');
+                getData();
+            }else{
+                alert("插入失败!");
+            }
+        }
+    })
+}
+
+update=function(id){
+    show('.updateDiv');
+    let wbName=$('.newName')[0];
+    $.ajax({
+        type: "get",
+        url: "/selectbyid?id="+id,
+        data:{},
+        dataType: "json",
+        success: function (data) {
+            if(data.length!=0){
+                wbName.value=data[0].WbName;
+            }else{
+                alert("查询失败!");
+            }
+        }
+    })
+    $(".update")[0].onclick=function(){
+
+        if(wbName.value==""){
+            alert("请填写要修改的微博名称!");
+            return;
+        }
+        $.ajax({
+            type: "get",
+            url: "/update?id="+id+"&name="+wbName.value,
+            data:{},
+            dataType: "json",
+            success: function (data) {
+                if(data=="success"){
+                    alert("修改成功!");
+                    show('.updateDiv');
+                    getData();
+                }else{
+                    alert("修改失败!");
+                }
+            }
+        })
+    };
+}
+
+show=function(el){
+    let thisDiv=$(el)[0];
+    if(thisDiv.style.display=="" || thisDiv.style.display=="none"){
+        thisDiv.style.display="block";
+    }else{
+        thisDiv.style.display="none";
+    }
+}

+ 1 - 1
js/WBData.js

@@ -106,7 +106,7 @@ const xuanr = (data) => {
     let checkdd=0;
     let checkdd=0;
     for(let der = 0; der < (data.length/45); der ++){
     for(let der = 0; der < (data.length/45); der ++){
         let dd = new Date(data[der].time)
         let dd = new Date(data[der].time)
-        let times = (dd.getMonth() + 1) + '/' + dd.getDate()
+        let times = (dd.getMonth() + 1) + '/' + dd.getDate()
         let timeser = dd.getFullYear() + '-' + (dd.getMonth() + 1) + '-' + dd.getDate()
         let timeser = dd.getFullYear() + '-' + (dd.getMonth() + 1) + '-' + dd.getDate()
         if (timeser != getlastmonth()) {
         if (timeser != getlastmonth()) {
             if(dd.getDate()!=checkdd+1){
             if(dd.getDate()!=checkdd+1){

+ 71 - 0
node/main.js

@@ -62,6 +62,13 @@ const retime = (msg) => {
     return s1
     return s1
 }
 }
 
 
+const guid=()=>{
+    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
+        var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
+        return v.toString(16);
+    });
+}
+
 const inssql = (msg) => {
 const inssql = (msg) => {
     try {
     try {
         let sql = "INSERT INTO `digital`(`name`, `id`, `fan`, `time`, `post`) VALUES ('"+msg.weiboname+"', '"+msg.weiboid+"', '"+msg.weibofan+"', NOW(), '"+msg.weibopost+"');"
         let sql = "INSERT INTO `digital`(`name`, `id`, `fan`, `time`, `post`) VALUES ('"+msg.weiboname+"', '"+msg.weiboid+"', '"+msg.weibofan+"', NOW(), '"+msg.weibopost+"');"
@@ -163,6 +170,70 @@ app.get('/setime', (req, res) => {
     
     
 })
 })
 
 
+app.get('/selectall',(req,res)=>{
+    let sql="select * from WBAccountNumber where WbState='1' order by AddTime desc";
+    query(sql,(error, results, fields)=> {
+        if (error){
+            res.json('error')
+        }else{
+            res.json(results);
+        };
+    },()=>{})
+})
+
+app.get('/selectbyid',(req,res)=>{
+    let wbId=req.query.id;
+    let sql="select * from WBAccountNumber where WbId='"+wbId+"'";
+    query(sql,(error, results, fields)=> {
+        if (error){
+            res.json('error')
+        }else{
+            res.json(results);
+        };
+    },()=>{})
+})
+
+app.get('/insert',(req,res)=>{
+    let wbNum=req.query.num;
+    let wbName=req.query.name;
+    let id=guid();
+    let day1 = new Date();
+    let s1 = day1.format("yyyy-MM-dd hh:mm:ss");
+    let sql='insert into WBAccountNumber values("'+id+'","'+wbNum+'","'+wbName+'","'+s1+'","1")';
+    query(sql, function (error, results, fields) {
+        if (error){
+            res.json('error')
+        }else{
+            res.json('success');
+        };
+    },()=>{});
+})
+
+app.get('/update',(req,res)=>{
+    let wbId=req.query.id;
+    let wbName=req.query.name;
+    let sql='update WBAccountNumber set WbName="'+wbName+'" where WbId="'+wbId+'"';
+    query(sql, function (error, results, fields) {
+        if (error){
+            res.json('error')
+        }else{
+            res.json('success');
+        };
+    },()=>{});
+})
+
+app.get('/delete',(req,res)=>{
+    let wbId=req.query.id;
+    let sql='update WBAccountNumber set WbState="0" where WbId="'+wbId+'"';
+    query(sql, function (error, results, fields) {
+        if (error){
+            res.json('error')
+        }else{
+            res.json('success');
+        };
+    },()=>{});
+})
+
 app.listen(2080, function() {
 app.listen(2080, function() {
     console.log('http://localhost:2080');
     console.log('http://localhost:2080');
 })
 })