Skip to content

Commit b1bff4b

Browse files
author
zhongchubing
committed
fix: 审核时间处理
1 parent ff64714 commit b1bff4b

File tree

7 files changed

+29
-58
lines changed

7 files changed

+29
-58
lines changed

geekape-nav-admin/src/pages/nav/Audit/index.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import GeekProTable from "@/components/GeekProTable/GeekProTable";
2-
import {API_NAV, API_NAV_LIST} from "@/services/api";
2+
import {API_NAV_AUDIT, API_NAV_LIST} from "@/services/api";
33
import {ProColumns} from "@ant-design/pro-table";
44
import {Popconfirm} from "antd";
55
import request from "@/utils/request";
@@ -36,16 +36,16 @@ export default function NavAuditListPage() {
3636
search: false,
3737
},
3838
{
39-
title: '提交时间',
40-
dataIndex: 'submitTime',
39+
title: '创建时间',
40+
dataIndex: 'createTime',
4141
search: false,
4242
valueType: 'dateTime'
4343
},
4444
]
4545

4646
async function onActionClick(id: string, action: any, status = 0) {
4747
await request({
48-
url: API_NAV,
48+
url: API_NAV_AUDIT,
4949
method: 'PUT',
5050
data: {
5151
id,

geekape-nav-admin/src/services/api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import request from "@/utils/request";
33
export const API_LOGIN = '/api/login'
44
export const API_NAV_LIST = '/api/nav/list'
55
export const API_NAV = '/api/nav'
6+
export const API_NAV_AUDIT = '/api/nav/audit'
67
export const API_CATEGORY_LIST = '/api/category/list'
78
export const API_CATEGORY = '/api/category'
89

geekape-nav-main/components/AddNavPopup.vue

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<el-form ref="ruleForm" label-width="100px" :model="form" :rules="rules">
1111

1212
<el-form-item label="网站链接" prop="url">
13-
<el-input placeholder="http://www.baidu.com/" v-model="form.url" :disabled="type === 'update'" @blur="getNavInfo" />
13+
<el-input placeholder="http://www.baidu.com/" v-model="form.href" :disabled="type === 'update'" @blur="getNavInfo" />
1414
<span style="color: red">输入链接自动爬取信息</span>
1515
</el-form-item>
1616

@@ -35,7 +35,7 @@
3535
</el-form-item>
3636
<el-form-item label="网站logo" prop="name">
3737
<el-input placeholder="输入网站logo" v-model="form.logo" />
38-
<img :src="form.logo" />
38+
<img style="max-width: 30px;" :src="form.logo" />
3939
</el-form-item>
4040
<el-form-item label="网站描述" prop="desc">
4141
<el-input type="textarea" placeholder="输入网站描述" v-model="form.desc" />
@@ -50,7 +50,6 @@
5050
<el-button type="primary" :loading="loading" @click="addNav('ruleForm')">
5151
提交
5252
</el-button>
53-
<p v-if="type !== 'update'"><el-link @click="isMoreForm=!isMoreForm" type="primary">{{!isMoreForm ? '手动添加' : '爬虫自动添加'}}网站名称和描述</el-link></p>
5453
</el-form-item>
5554
</el-form>
5655
</el-dialog>
@@ -80,7 +79,7 @@ export default {
8079
loading: false,
8180
categorys: [],
8281
form: {
83-
url: '',
82+
href: '',
8483
categoryId: '',
8584
name: '',
8685
logo: '',
@@ -89,7 +88,7 @@ export default {
8988
authorUrl: ''
9089
},
9190
rules: {
92-
url: [
91+
href: [
9392
{ required: true, message: '请输入url', trigger: 'blur' },
9493
{
9594
pattern: /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/,
@@ -138,15 +137,13 @@ export default {
138137
})
139138
} else {
140139
const res = await this.$api.addNav(this.form)
141-
if (res.msg) {
142-
this.$message.error(`${res.msg},请手动输入!`)
143-
this.isMoreForm = true
140+
if (res.code === 0) {
141+
this.$message.error(`${res.msg}`)
144142
} else {
145143
this.$message(`感谢您的提交,请等待后台审核通过!`)
146144
}
147145
}
148146
this.loading = false
149-
this.form.url = ''
150147
this.$emit('update:show', false)
151148
this.$emit('submit')
152149
} else {
@@ -155,30 +152,15 @@ export default {
155152
})
156153
},
157154
async getNavInfo() {
158-
const { url } = this.form
155+
const { href: url } = this.form
159156
if (!url) return
160157
const { data } = await axios.get(API_NAV_REPTILE + `?url=${url}`)
161158
162-
this.form.logo = `${url}/favicon.ico`
159+
this.form.logo = `https://www.google.com/s2/favicons?domain=${url}`
163160
this.form.name = data?.name
164161
this.form.desc = data?.desc
165162
}
166163
},
167-
watch: {
168-
item(ite) {
169-
this.isMoreForm = true
170-
this.form.name = ite.name
171-
this.form.url = ite.href
172-
this.form.desc = ite.desc
173-
this.form.categoryId = ite.categoryId
174-
},
175-
isMoreForm(newVal) {
176-
if (!newVal) {
177-
this.form.name = ''
178-
this.form.desc = ''
179-
}
180-
}
181-
},
182164
created() {
183165
this.getCategorys()
184166
},

geekape-nav-server/app/controller/nav.ts

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ const request = require('request');
33
const cheerio = require('cheerio');
44

55
enum NAV_STATUS {
6-
wait,
76
pass,
7+
wait,
88
refuse,
99
}
1010

1111
export default class NavController extends Controller {
1212
async list() {
1313
const { ctx } = this
14-
const { request, model } = ctx
14+
const { model } = ctx
1515
try {
16-
let { pageSize = 10, pageNumber = 1, status = 0, categoryId, name } = request.query
16+
let { pageSize = 10, pageNumber = 1, status = 0, categoryId, name } = ctx.query
1717
pageSize = Number(pageSize)
1818
pageNumber = Number(pageNumber)
1919
const skipNumber = pageSize * pageNumber - pageSize
@@ -42,19 +42,7 @@ export default class NavController extends Controller {
4242
}
4343

4444
const [resData, total] = await Promise.all([
45-
model.Nav.aggregate([
46-
{
47-
$match: findParam
48-
},
49-
{
50-
$lookup: {
51-
from: 'category',
52-
localField: 'categoryId',
53-
foreignField: '_id',
54-
as: 'category'
55-
}
56-
}
57-
]).skip(skipNumber).limit(pageSize).sort({_id: -1}),
45+
model.Nav.find(findParam).skip(skipNumber).limit(pageSize).sort({_id: -1}),
5846
model.Nav.find(findParam).count(),
5947
])
6048
this.success({
@@ -71,9 +59,9 @@ export default class NavController extends Controller {
7159
const { ctx } = this
7260
const { request: req, model } = ctx
7361
try {
74-
req.body.status = 1
62+
req.body.status = NAV_STATUS.wait
7563
req.body.createTime = new Date()
76-
const res = model.Nav.create(req.body);
64+
const res = await model.Nav.create(req.body);
7765
this.success(res)
7866
} catch (error) {
7967
this.error(error.message)
@@ -113,10 +101,14 @@ export default class NavController extends Controller {
113101

114102
async edit() {
115103
const { body } = this.ctx.request
104+
body.updateTime = new Date()
105+
const res = this.ctx.service.common.update(body, 'Nav')
106+
this.success(res);
107+
}
116108

117-
if (body.status === NAV_STATUS.pass || body.status === NAV_STATUS.refuse) {
118-
body.auditTime = new Date()
119-
}
109+
async audit() {
110+
const { body } = this.ctx.request
111+
body.auditTime = new Date()
120112
const res = this.ctx.service.common.update(body, 'Nav')
121113
this.success(res);
122114
}

geekape-nav-server/app/model/nav.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ module.exports = app => {
55
const NavSchema = new Schema({
66
categoryId: String,
77
name: String,
8+
//网站url
89
href: String,
910
desc: String,
1011
logo: String,
@@ -24,13 +25,6 @@ module.exports = app => {
2425
type: Number,
2526
default: 0,
2627
},
27-
list: {
28-
type: [ Object ],
29-
default: undefined,
30-
},
31-
category: [{
32-
name: String
33-
}]
3428
}, { collection: 'nav' });
3529
return mongoose.model('Nav', NavSchema);
3630
};

geekape-nav-server/app/router.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export default (app: Application) => {
1313
router.get("/api/nav/list", controller.nav.list)
1414
router.post("/api/nav", controller.nav.add)
1515
router.get("/api/nav", controller.nav.get)
16+
router.put("/api/nav/audit", controller.nav.audit)
1617
router.get("/api/nav/reptile", controller.nav.reptile)
1718
router.get("/api/nav/random", controller.nav.random)
1819
router.delete("/api/nav", controller.nav.del)

geekape-nav-server/config/config.default.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export default (appInfo: EggAppInfo) => {
3939
"/api/nav",
4040
"/api/nav/random",
4141
"/api/nav/find",
42+
"/api/nav/list",
4243
"/api/nav/reptile",
4344
"/api/login",
4445
"/api/index",

0 commit comments

Comments
 (0)