add user db
This commit is contained in:
@@ -58,7 +58,7 @@ export async function onRequest(context) {
|
||||
const request = context.request;
|
||||
const env = context.env;
|
||||
//跳过登录页面
|
||||
if (request.url.includes('/login') || request.url.includes('/sendcode') || request.url.includes('/login')) {
|
||||
if (request.url.includes('/login') || request.url.includes('/sendcode') || request.url.includes('/login') || request.url.includes('/test-db')) {
|
||||
return await context.next();
|
||||
}
|
||||
const authHeader = request.headers.get('Authorization');
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
interface Env {
|
||||
bgkv: KVNamespace;
|
||||
JWT_SECRET: string;
|
||||
DB: D1Database;
|
||||
bgdb: D1Database;
|
||||
}
|
||||
|
||||
export const onRequestPost: PagesFunction<Env> = async (context) => {
|
||||
@@ -46,7 +46,6 @@ export const onRequestPost: PagesFunction<Env> = async (context) => {
|
||||
|
||||
// 从 KV 中获取存储的验证码
|
||||
const storedCode = await env.bgkv.get(`sms:${phone}`);
|
||||
|
||||
if (!storedCode || storedCode !== code) {
|
||||
return new Response(
|
||||
JSON.stringify({
|
||||
@@ -63,13 +62,13 @@ export const onRequestPost: PagesFunction<Env> = async (context) => {
|
||||
}
|
||||
|
||||
// 验证成功后,处理用户数据
|
||||
const db = env.DB; // 假设你的 D1 数据库实例名为 DB
|
||||
|
||||
const db = env.bgdb; // 假设你的 D1 数据库实例名为 DB
|
||||
// 查询用户是否存在
|
||||
const existingUser = await db.prepare(
|
||||
"SELECT id, phone, nickname FROM users WHERE phone = ?"
|
||||
).bind(phone).first();
|
||||
|
||||
console.log('existingUser', existingUser);
|
||||
let userId;
|
||||
if (!existingUser) {
|
||||
// 用户不存在,创建新用户
|
||||
|
||||
@@ -28,11 +28,10 @@ export const onRequestPost: PagesFunction<Env> = async (context) => {
|
||||
}
|
||||
|
||||
// 开发环境使用固定验证码
|
||||
const verificationCode = env.CF_PAGES_ENVIRONMENT === 'preview'
|
||||
const verificationCode = env.CF_PAGES_ENVIRONMENT !== 'production'
|
||||
? '123456'
|
||||
: Math.random().toString().slice(-6);
|
||||
|
||||
if (env.CF_PAGES_ENVIRONMENT !== 'preview') {
|
||||
if (env.CF_PAGES_ENVIRONMENT === 'production') {
|
||||
try {
|
||||
await sendSMS(phone, verificationCode, {
|
||||
accessKeyId: env.ALIYUN_ACCESS_KEY_ID,
|
||||
|
||||
32
functions/api/test-db.ts
Normal file
32
functions/api/test-db.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
interface Env {
|
||||
bgdb: D1Database;
|
||||
}
|
||||
|
||||
export const onRequestGet: PagesFunction<Env> = async (context) => {
|
||||
try {
|
||||
const { env } = context;
|
||||
const db = env.bgdb;
|
||||
|
||||
// 测试数据库连接
|
||||
const result = await db.prepare(
|
||||
"SELECT * FROM users"
|
||||
).all();
|
||||
|
||||
return new Response(JSON.stringify({
|
||||
success: true,
|
||||
tables: result,
|
||||
env: Object.keys(env)
|
||||
}), {
|
||||
headers: { 'Content-Type': 'application/json' }
|
||||
});
|
||||
} catch (error) {
|
||||
return new Response(JSON.stringify({
|
||||
success: false,
|
||||
error: error.message,
|
||||
stack: error.stack
|
||||
}), {
|
||||
status: 500,
|
||||
headers: { 'Content-Type': 'application/json' }
|
||||
});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user