# studywork **Repository Path**: xyxfh/studywork ## Basic Information - **Project Name**: studywork - **Description**: 幻境旅拍 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: studywork - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-20 - **Last Updated**: 2026-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MagicPhoto 微信小程序登录功能实现说明 ## 功能说明 本项目实现了微信小程序的一键登录功能,主要包括以下特性: - 微信用户一键登录 - 登录状态管理 - 请求封装与token验证 - 页面权限保护 ## 实现文件 ### 1. 登录页面 - `pages/VirtualSelfie/login/login.wxml` - 登录页面UI - `pages/VirtualSelfie/login/login.wxss` - 登录页面样式 - `pages/VirtualSelfie/login/login.js` - 登录功能逻辑 - `pages/VirtualSelfie/login/login.json` - 登录页面配置 ### 2. 工具类 - `utils/request.js` - 网络请求封装,自动处理token ### 3. 应用配置 - `app.js` - 应用初始化,登录状态检查 - `app.json` - 页面注册,设置登录页为入口页面 - `project.config.json` - 项目配置,关闭域名校验 ## 登录流程 1. **用户进入小程序**:自动跳转到登录页面 2. **点击登录按钮**: - 调用 `wx.login()` 获取临时 code - 调用 `wx.getUserProfile()` 获取用户头像昵称 - 将 code 发送至后端登录接口 - 保存返回的 token 和用户信息到本地存储 - 跳转到首页 3. **访问其他页面**:自动检查登录状态,未登录则跳转登录页 ## 后端接口 - **微信登录**:`POST http://localhost:8080/api/auth/wx-login` - 参数:`{ code: string }` - 返回:`{ code: 200, message: "success", data: { token: "xxx", user: { ... } } }` - **获取用户信息**:`GET http://localhost:8080/api/user/info` - 请求头:`Authorization: Bearer ` - 返回:`{ code: 200, message: "success", data: { ... } }` ## 开发与调试 ### 前提条件 - 已安装微信开发者工具 - 后端服务已启动,运行在 `http://localhost:8080` - 微信小程序已注册,appid 已配置 ### 调试步骤 1. 在微信开发者工具中导入项目 2. 确保 `project.config.json` 中 `urlCheck` 为 `false` 3. 点击「编译」按钮,进入登录页面 4. 点击「微信用户一键登录」按钮,授权登录 5. 登录成功后,自动跳转到首页 ### 注意事项 - 本项目使用的是微信小程序的测试号,实际部署时需要使用正式的小程序账号 - 后端服务需要正确配置微信小程序的 appid 和 secret - 本地调试时,需要确保网络环境能够访问微信官方接口 ## 代码优化建议 1. **token 管理**:可以考虑添加 token 刷新机制,避免用户频繁登录 2. **错误处理**:可以进一步完善错误处理逻辑,提高应用的稳定性 3. **用户体验**:可以添加更多的加载状态和错误提示,提升用户体验 4. **安全性**:可以考虑添加更多的安全措施,如请求签名验证等 ## 技术栈 - 微信小程序原生框架 - JavaScript - 后端:Spring Boot 3.x - 数据库:MySQL 8.0