基于网易云API的音乐网站的登录注册(持续更新)

一、需求文档(登陆注册)

1、用户名登录 (数据库+egg)
用户采用用户名登录
2、注册(数据库+egg)
用户进行注册,对账户的密码进行二次确认,对手机号进行校验,对两次密码进行校验
3、二维码登录 (网易云API)
采用网易云的接口文档,用户使用手机app进行二维码扫码登录
4、短信登录 (网易云API)
采用网易云的接口文档,用户采用手机发送短信进行,采用验证码登录
5、用户个人信息页 (网易云API)
登录之后获取到用户的昵称,头像,性别,个性签名,生日,地址
6、修改用户个人信息(网易云API)
修改昵称,头像,性别,个性签名,生日,地址,

二、开发文档

三、接口文档 数据库设计

网易云的API文档
https://neteasecloudmusicapi.vercel.app/#/?id=neteasecloudmusicapi

user

user_iduser_namepasswordphoneuser_imggender

四、进度安排

day1

1、路由注册100%
2、登录总页面100%
3、账号登录页面100%(egg后端+数据库+前端)
4、用户注册页面实现(egg后端+数据库+前端)100%

day2

1、实现二维码登录(网易云API)100%
2、实现短信登录(网易云API)100%

day3

1、路由守卫拦截
2、登录成功后返回状态和信息
3、登录退出

day4

1、个人信息页面100%
2、个人信息页面修改昵称,修改头像,性别,生日,地址

day5

bug修护以及优化

六、项目录频

五、遇到的问题

1、路由接口的配置

alt

2、跨域处理

前端: vue.config.js
前端跨域处理
后端跨域处理

前端: vue.config.js

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  
  transpileDependencies: true,
    
    devServer: {
        port: 8080,
        host: 'localhost',
        // 可设置多个代理
        proxy: { //目的是解决跨域,若测试环境不需要跨域,则不需要进行该配置
            '/api': {
                target: 'http://127.0.0.1:7001/', // 目标 API 地址
                changeOrigin: true, //开启跨域
                pathRewrite: {
                    '^/api': ''
                }
            }
        }
    },
    lintOnSave: true

		  
	  
})


main.js

const http = axios.create({
  timeout: 1000 * 1000000,
  withCredentials: true,
  BASE_URL: '/api',
  headers: {
     'Content-Type': 'application/json; charset=utf-8'
   }
})

后端:cconfig.default.js

 //配置允许post请求
  config.security = {
    csrf: {
      enable: false,
      ignoreJSON: true,
    }
  }

        //配置跨域
        config.cors = {
          // origin: '*',
          origin:'http://localhost:8080',//cookie自带允许跨域
          allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH',
          credentials: true
        };
  


3、路由拦截

在这里插入图片描述

4、二维码传值的时候,key值传递过来后,能打印出来,但是就是用不了,用的时候就是undefined

因为我在写axios.get方法时,没写params,导致这个问题,采用打印语句,一步一步找到答案

5 通过短信发送验证码的时候,最好采用form表单,便于后面检验验证码的状态,就是需要检验按钮的状态,按钮能否被选择,还有就是要做防抖和节流

6 今天上午网易云的api突然访问不了,不知道是什么原因,后期在解决

7 采用短信登录的时候,应该是验证码输入之后,点击登录才跳转,而不是验证码一输入成功就登录成功。

8 用axios的时候最好是res返回值写在.then里面,这样更好拿后端的值

9 封装axios最好是封装起来再用

10 组长更换了服务器,采用部署的服务器,启动项目的时候,先将vue.config.js里面的devserver注释,启动之后在注释回来

alt

11 template中有两个及以上的跟标签就会导致编译不通过卡死

alt

12 background-image的用法

在这里插入图片描述

13 测试号

之后的开发中若需要测试,一定要用测试账号进行测试,今天干掉了两个网易云账号,不过也发现了官网网易云的小bug
在这里插入图片描述
在这里插入图片描述

14 session用法

在这里插入图片描述

15 获取用户id

在这里插入图片描述

16 组件之间session传值

在这里插入图片描述

17 router的跳转

在这里插入图片描述

18 接口有风控,注意接口调用次数

在这里插入图片描述

19 npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock

npm版本需要升级
在这里插入图片描述
解决:

npm install -g npm

之后查看npm版本 重新npm i
在运行

基于Node.js,提供网易云所有API接口数据,包括:登录,获取用户信息 , 歌单,收藏,mv, dj 数量 获取用户歌单 获取用户电台 获取用户关注列表 获取用户粉丝列表 获取用户动态 获取用户播放记录 获取精品歌单 获取歌单详情 搜索 搜索建议 获取歌词 歌曲评论 收藏单曲到歌单 专辑评论 歌单评论 mv 评论 电台节目评论 banner 获取歌曲详情 获取专辑内容 获取歌手单曲 获取歌手 mv 获取歌手专辑 获取歌手描述 获取相似歌手 获取相似歌单 相似 mv 获取相似音乐 获取最近 5 个听了这首歌的用户 获取每日推荐歌单 获取每日推荐歌曲 私人 FM 签到 喜欢音乐 垃圾桶 歌单 ( 网友精选碟 ) 新碟上架 热门歌手 最新 mv 推荐 mv 推荐歌单 推荐新音乐 推荐电台 推荐节目 独家放送 mv 排行 获取 mv 数据 播放 mv/视频 排行榜 歌手榜 云盘 电台 - 推荐 电台 - 分类 电台 - 分类推荐 电台 - 订阅 电台 - 详情 电台 - 节目 给评论点赞 获取动态 热搜列表(简略) 发送私信 发送私信歌单 新建歌单 收藏/取消收藏歌单 歌单分类 收藏的歌手列表 订阅的电台列表 相关歌单推荐 付费精选接口 音乐是否可用检查接口 登录状态 获取视频播放地址 发送/删除评论 热门评论 视频评论 退出登录 所有榜单 所有榜单内容摘要 收藏视频 收藏 MV 视频详情 相关视频 关注用户 新歌速递 喜欢音乐列表(无序) 收藏的 MV 列表 获取最新专辑 听歌打卡 获取视频标签下的视频 已收藏专辑列表 获取动态评论 歌单收藏者列表 云盘歌曲删除 热门话题 电台 - 推荐类型 电台 - 非热门类型 电台 - 今日优选 心动模式/智能播放 转发动态 删除动态 分享歌曲、歌单、mv、电台、电台节目到动态 通知-私信 通知-评论 通知-@我 通知-通知 设置 云盘数据详情 私信内容 我的数字专辑 batch批量请求接口 获取视频标签列表 全部mv 网易出品mv 收藏/取消收藏专辑 专辑动态信息 热搜列表(详细) 更换绑定手机 检测手机号码是否已注册 初始化昵称 更新歌单描述 更新歌单名 更新歌单标签 默认搜索关键词 删除歌单 电台banner 用户电台 热门电台 电台 - 节目详情 电台 - 节目榜 电台 - 新晋电台榜/热门电台榜 类别热门电台 云村热评 电台24小时节目榜 电台24小时主播榜 电台最热主播榜 电台主播新人榜 电台付费精品榜 歌手热门50首歌曲
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值