1
+ const express = require ( 'express' )
2
+ const router = express . Router ( )
3
+ const mysql = require ( '../mysql/db' )
4
+ const qiniu = require ( 'qiniu' )
5
+ const {
6
+ config
7
+ } = require ( '../config.js' )
8
+
9
+ router . get ( '/getToken' , getToken )
10
+ router . get ( '/list' , adList )
11
+ router . post ( '/add' , adAdd )
12
+ router . get ( '/detail' , adDetail )
13
+ router . post ( '/delete' , adDelete )
14
+ router . post ( '/changeSort' , adChangeSort )
15
+
16
+ async function getToken ( req , res , next ) {
17
+ const mac = new qiniu . auth . digest . Mac ( config . accessKey , config . secretKey ) ;
18
+ const options = {
19
+ scope : `${ config . bucket } ` ,
20
+ expires : 7200
21
+ }
22
+ const putPolicy = new qiniu . rs . PutPolicy ( options ) ;
23
+ const uploadToken = putPolicy . uploadToken ( mac ) ;
24
+ res . json ( {
25
+ isok : true ,
26
+ msg : '上传凭证获取成功' ,
27
+ upToken : uploadToken
28
+ } ) ;
29
+ }
30
+
31
+ async function adList ( req , res , next ) {
32
+ try {
33
+ let selectData = await mysql . query ( "SELECT adId, adName, adUrl, adSort, adPcImg, adMImg FROM vue_blog_ad ORDER BY adSort" )
34
+ return res . json ( {
35
+ isok : true ,
36
+ data : selectData ,
37
+ msg : ''
38
+ } ) ;
39
+ } catch ( error ) {
40
+ return res . json ( {
41
+ isok : false ,
42
+ msg : error
43
+ } ) ;
44
+ }
45
+ next ( ) ;
46
+ }
47
+
48
+ async function adAdd ( req , res , next ) {
49
+ try {
50
+ if ( req . body . id ) {
51
+ await mysql . query ( 'UPDATE vue_blog_ad SET adName = ?, adUrl = ?, adPcImg = ?, adMImg = ? WHERE adId = ?' ,
52
+ [ req . body . name , req . body . url , req . body . pcImg , req . body . mImg , req . body . id ] )
53
+ } else {
54
+ let adList = await mysql . query ( "SELECT adId, adName, adUrl, adSort FROM vue_blog_ad ORDER BY adSort" )
55
+ let sort = adList . length ? adList [ adList . length - 1 ] . adSort * 1 + 1 : 1
56
+ await mysql . query ( 'INSERT INTO vue_blog_ad (adName, adUrl, adPcImg, adMImg, adSort) VALUES (?, ?, ?, ?, ?)' ,
57
+ [ req . body . name , req . body . url , req . body . pcImg , req . body . mImg , sort ] )
58
+ }
59
+ return res . json ( {
60
+ isok : true ,
61
+ msg : ''
62
+ } ) ;
63
+ } catch ( error ) {
64
+ return res . json ( {
65
+ isok : false ,
66
+ msg : error
67
+ } ) ;
68
+ }
69
+ }
70
+
71
+ async function adDetail ( req , res , next ) {
72
+ try {
73
+ let selectData = await mysql . query ( "SELECT adId, adName, adUrl, adPcImg, adMImg FROM vue_blog_ad WHERE adId = ?" ,
74
+ [ req . query . id ] )
75
+ return res . json ( {
76
+ isok : true ,
77
+ data : selectData [ 0 ] ,
78
+ msg : ''
79
+ } ) ;
80
+ } catch ( error ) {
81
+ return res . json ( {
82
+ isok : false ,
83
+ msg : error
84
+ } ) ;
85
+ }
86
+ next ( ) ;
87
+ }
88
+
89
+ async function adDelete ( req , res , next ) {
90
+ try {
91
+ await mysql . query ( 'DELETE FROM vue_blog_ad WHERE adId = ?' ,
92
+ [ req . body . id ] )
93
+ return res . json ( {
94
+ isok : true ,
95
+ msg : ''
96
+ } ) ;
97
+ } catch ( error ) {
98
+ return res . json ( {
99
+ isok : false ,
100
+ msg : error
101
+ } ) ;
102
+ }
103
+ next ( ) ;
104
+ }
105
+
106
+ async function adChangeSort ( req , res , next ) {
107
+ try {
108
+ if ( req . body . list . length ) {
109
+ for ( let i = 0 , len = req . body . list . length ; i < len ; i ++ ) {
110
+ await mysql . query ( "UPDATE vue_blog_ad SET adSort = ? WHERE adId = ?" ,
111
+ [ req . body . list [ i ] . adSort , req . body . list [ i ] . adId ] )
112
+ }
113
+ }
114
+ return res . json ( {
115
+ isok : true ,
116
+ msg : '更新成功'
117
+ } ) ;
118
+ } catch ( error ) {
119
+ return res . json ( {
120
+ isok : false ,
121
+ msg : error
122
+ } ) ;
123
+ }
124
+ }
125
+
126
+ module . exports = router ;
0 commit comments