处理异步可能引起的错误:框架BUG
This commit is contained in:
@@ -100,8 +100,8 @@ const 屏幕宽高重置 = () => {
|
|||||||
|
|
||||||
const disabled = ref(false); // 上锁
|
const disabled = ref(false); // 上锁
|
||||||
const inadvance = ref(400); // 距离
|
const inadvance = ref(400); // 距离
|
||||||
const page = ref(3); // 页码
|
|
||||||
|
|
||||||
|
//const page = ref(3); // 页码
|
||||||
//const nextPage = () => {
|
//const nextPage = () => {
|
||||||
// fetch(`/api/text?page=${page.value}`).then((res) => {
|
// fetch(`/api/text?page=${page.value}`).then((res) => {
|
||||||
// page.value = page.value + 1;
|
// page.value = page.value + 1;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ export default defineEventHandler(async event => {
|
|||||||
// 处理 GET 请求(读取image中的图片文件列表)
|
// 处理 GET 请求(读取image中的图片文件列表)
|
||||||
if (event.node.req.method === 'GET') {
|
if (event.node.req.method === 'GET') {
|
||||||
const { page = 1, pagesize = 10, ...query } = event.context.query
|
const { page = 1, pagesize = 10, ...query } = event.context.query
|
||||||
return event.context.db.Gallery.findAll({ where: query, offset: (page - 1) * pagesize, limit: pagesize })
|
return event.context.db.Gallery.findAll({ where: query, offset: (parseInt(page) - 1) * parseInt(pagesize), limit: parseInt(pagesize) })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 处理 POST 请求(FromData上传图片)
|
// 处理 POST 请求(FromData上传图片)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import sequelize from 'sequelize'
|
import sequelize from 'sequelize'
|
||||||
|
|
||||||
export default defineNitroPlugin(async nitro => {
|
export default defineNitroPlugin(nitro => {
|
||||||
console.log('database plugin')
|
console.log('database plugin')
|
||||||
const { INTEGER, STRING, BOOLEAN, DATE } = sequelize.DataTypes
|
const { INTEGER, STRING, BOOLEAN, DATE } = sequelize.DataTypes
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ export default defineNitroPlugin(async nitro => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// 同步数据模型
|
// 同步数据模型
|
||||||
await db.sync({ alter: true, logging: false })
|
//await db.sync({ alter: true, logging: false })
|
||||||
|
|
||||||
//// 转移数据
|
//// 转移数据
|
||||||
//useStorage('blog').getKeys().then(keys => keys.forEach(item => {
|
//useStorage('blog').getKeys().then(keys => keys.forEach(item => {
|
||||||
|
|||||||
12
server/plugins/query.js
Normal file
12
server/plugins/query.js
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
export default defineNitroPlugin(nitro => {
|
||||||
|
console.log('query plugin')
|
||||||
|
|
||||||
|
nitro.hooks.hook('request', event => {
|
||||||
|
if (event.node.req.method === 'GET') {
|
||||||
|
event.context.query = Object.fromEntries(
|
||||||
|
new URLSearchParams(event.node.req.url.split('?')[1] || '')
|
||||||
|
)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
@@ -3,7 +3,6 @@ export default defineNitroPlugin(async nitro => {
|
|||||||
|
|
||||||
// 挂载到上下文
|
// 挂载到上下文
|
||||||
nitro.hooks.hook('request', async event => {
|
nitro.hooks.hook('request', async event => {
|
||||||
|
|
||||||
// 从 cookie 中获取 session_id
|
// 从 cookie 中获取 session_id
|
||||||
if (event.node.req.headers.cookie) {
|
if (event.node.req.headers.cookie) {
|
||||||
const cookie = event.node.req.headers.cookie
|
const cookie = event.node.req.headers.cookie
|
||||||
@@ -18,7 +17,6 @@ export default defineNitroPlugin(async nitro => {
|
|||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 必须要身份验证的请求类型(创建账户和登录除外)
|
// 必须要身份验证的请求类型(创建账户和登录除外)
|
||||||
if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(event.node.req.method)) {
|
if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(event.node.req.method)) {
|
||||||
if (!event.context.session && event.node.req.url !== '/api/session' && event.node.req.url !== "/api/user") {
|
if (!event.context.session && event.node.req.url !== '/api/session' && event.node.req.url !== "/api/user") {
|
||||||
@@ -26,16 +24,6 @@ export default defineNitroPlugin(async nitro => {
|
|||||||
return { message: '必须要登录才能操作' }
|
return { message: '必须要登录才能操作' }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 手动解析 URL 参数
|
|
||||||
if (event.node.req.method === 'GET') {
|
|
||||||
event.context.query = {}
|
|
||||||
event.node.req.url.split('?')[1]?.split('&').forEach(item => {
|
|
||||||
const [key, value] = item.split('=')
|
|
||||||
event.context.query[key] = value
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
Reference in New Issue
Block a user