处理异步可能引起的错误:框架BUG
This commit is contained in:
		@@ -100,8 +100,8 @@ const 屏幕宽高重置 = () => {
 | 
			
		||||
 | 
			
		||||
const disabled = ref(false); // 上锁
 | 
			
		||||
const inadvance = ref(400); // 距离
 | 
			
		||||
const page = ref(3); // 页码
 | 
			
		||||
 | 
			
		||||
//const page = ref(3); // 页码
 | 
			
		||||
//const nextPage = () => {
 | 
			
		||||
//  fetch(`/api/text?page=${page.value}`).then((res) => {
 | 
			
		||||
//    page.value = page.value + 1;
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ export default defineEventHandler(async event => {
 | 
			
		||||
    // 处理 GET 请求(读取image中的图片文件列表)
 | 
			
		||||
    if (event.node.req.method === 'GET') {
 | 
			
		||||
        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上传图片)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
import sequelize from 'sequelize'
 | 
			
		||||
 | 
			
		||||
export default defineNitroPlugin(async nitro => {
 | 
			
		||||
export default defineNitroPlugin(nitro => {
 | 
			
		||||
    console.log('database plugin')
 | 
			
		||||
    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 => {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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 => {
 | 
			
		||||
 | 
			
		||||
        // 从 cookie 中获取 session_id
 | 
			
		||||
        if (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 (!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: '必须要登录才能操作' }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 手动解析 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