对vue-cli有新认知
一、重新认识vue-cli
1、安装最新版本脚手架
vue-cli官网:https://cli.vuejs.org/zh/
目前版本:v4.5.x
安装:npm install -g @vue/cli
2.使用vue脚手架创建项目
第一种命令行
vue create 项目名(字母开头,不要大写) 回车
default (自动安装)
manually (建议:手动安装)
第二种:以图形界面方式创建
vue ui
3.vue-cli4.5目录结构
public
index.html ---入口html页面
静态资源--json文件
src
assets:资源文件(字体,图标,图片)'
components:存放公共组件
router:路由文件
store:存放vuex状态管理
views:存放页面
filters:存放过滤器文件
directives:存放自定义指令文件夹
mixins:存放混入方法
utils:存放一些封装的公共方法(js文件)
http:存放封装的http接口请求
App.vue 根组件
main.js 项目执行的入口js
.gitignore:git提交时忽略文件
.babel.config.js babel配置文件
.eslintrc.js EsLint配置文件(代码质量检查配置)
package.json node配置依赖文件
README.MD 项目的说明文档
vue.config.js 配置webpack环境
禁用Eslint代码检查:
4.项目开发前的环境准备
初始样式
reset.css
适配环境:rem,vw,vh,flex
xxxrem=xxxpx/html根字号
例如:0.44rem=44px/100
px转vw,rem的插件:
@moohng/postcss-px2vw
npm地址:https://www.npmjs.com/package/@moohng/postcss-px2vw
安装:
npm install @moohng/postcss-px2vw --save-dev
svg图标:放大不失真,可以通过css来调整样式
1.直接复制svg代码,缺点:代码量比较大 <svg><path></path></svg>
2.直接当作img图片来处理
3.svg sprites: svg 雪碧图
每时每课移动官网参考:https://wap.365msmk.com/
拼接规则:Bearer Token值 【Bearer 和token 中间有个空格】
最终token:
token="Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vd3d3LjM2NW1zbWsuY29tL2FwaS9hcHAvbG9naW4iLCJpYXQiOjE1OTc3MzU5MDgsImV4cCI6MTU5ODAzODMwOCwibmJmIjoxNTk3NzM1OTA4LCJqdGkiOiJ5cHprUEZoR2tPNG12dUJtIiwic3ViIjoxMDM1LCJwcnYiOiI5ZjFmZTllMGRmZmJlNDQ0MmRjNzgzMTA3NTFmNTkxY2Y0ZDE0MDIwIn0.83iYh0sl_2nLYtuS2sYrdG-KqxT8RUFCY6GXuYNLcuE"
用户登录返回的信息如下:
其中:remember_token是登录后返回的token
{
"code": 200,
"msg": "操作成功",
"data": {
"id": 1035,
"login_name": "ZYWX_cZTZaG",
"nickname": "187****7036",
"password": "$2y$10$0fevJTLyNT509V2ZQvQfk.Z2usUlwJeG5.c76MjeQzBVuvWc8IOt6",
"email": "",
"avatar": "https://msmk2019.oss-cn-shanghai.aliyuncs.com/uploads/avatar.jpg",
"remember_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vd3d3LjM2NW1zbWsuY29tL2FwaS9hcHAvbG9naW4iLCJpYXQiOjE1OTc3MzU5MDgsImV4cCI6MTU5ODAzODMwOCwibmJmIjoxNTk3NzM1OTA4LCJqdGkiOiJ5cHprUEZoR2tPNG12dUJtIiwic3ViIjoxMDM1LCJwcnYiOiI5ZjFmZTllMGRmZmJlNDQ0MmRjNzgzMTA3NTFmNTkxY2Y0ZDE0MDIwIn0.83iYh0sl_2nLYtuS2sYrdG-KqxT8RUFCY6GXuYNLcuE",
"id_card": "0",
"mobile": "18738767036",
"sex": 3,
"birthday": "0",
"is_new": 1,
"is_buy": 2,
"wx_openid": "",
"qq_openid": "",
"integral": 0,
"user_from": "PC",
"province_id": 0,
"city_id": 0,
"district_id": 0,
"last_login_ip": "100.120.136.93",
"last_login_time": 1597735908,
"status": 1,
"created_at": "1597735908",
"updated_at": "1597735908",
"deleted_at": 0,
"inviter_id": 0,
"is_fill_information": 0,
"meaage_openid": "0",
"tube_teacher": "",
"tube_teacher_id": 0,
"is_remove_error_ques": 0,
"source": "自行注册",
"join_status": 0,
"public_ocean": 0,
"last_talk_at": 0,
"uid": ""
}
}
登录接口:
1.获取验证码:
接口地址:https://www.365msmk.com/api/app/smsCode
请求方式:POST
请求参数:
mobile: 手机号
sms_type: 验证码类型 "login" 用于登录
2.登录:
接口地址:https://www.365msmk.com/api/app/login
请求方式:POST
请求参数:
mobile: 手机号
sms_code: 获取到的验证码
type: 2 1:账号密码登录 2:短信验证码登录
3.获取用户信息:
接口地址:https://www.365msmk.com/api/app/userInfo
请求方式:POST
请求参数:
mobile: 手机号
sms_code: 获取到的验证码
type: 2 1:账号密码登录 2:短信验证码登录
id int 用户ID
nickname string 用户昵称
sex int 0 男 1女 3保密
birthday string 生日
avatar string 用户头像
mobile int 手机号
province_id int 省
city_id int 市
district_id int 区
is_vip int 是否会员1是0否
vip array 会员信息
vip_end_at string 会员结束时间
province_name string 省名称
city_name string 市名称
district_name string 区名称
attr_id int 属性ID
attr_val_id int 属性值ID
attr string 属性名称
attr_value string 属性值名称
4.课程分类
请求地址:https://www.365msmk.com/api/app/courseClassify?
请求方式:GET
5.课程列表接口
请求地址:https://www.365msmk.com/api/app/courseBasis
请求方式:GET
请求参数:
course_type 是 int 课程类型 10图文, 2大班课, 3小班课, 5视频课,8音频课, 9系统课
is_vip 否 int 1 会员课
classify_id 否 int 课程分类ID
limit 是 int 当页数量
page 是 int 页码
attr_val_id 否 string 属性ID,多个之间用逗号连接
keywords 否 string 课程名称搜索
order_by 否 int 1:最新 2:最热 3:价格升序 4:价格降序
6.课程详情
接口地址:https://www.365msmk.com/api/app/courseInfo/basis_id=课程id
请求方式:GET
返回的参数说明:
参数名 类型 说明
id int 课程ID
title string 课程标题
course_type int 课程类型
course_classify_id int 课程分类ID
price int 价格
underlined_price int 划线价格
sale_type int 1:收费0:免费
status int 状态
browse_base int 浏览基数
sales_base int 销售基数
browse_num int 浏览数
created_at int 创建时间
start_play_date int 开始时间
end_play_date int 结束时间
store_num int 原始库存 (卖出数量+剩余库存 )
sales_num int 卖出数量
classify_title string 分类名称
course_details string 课程详情
total_periods int 课时
is_free int 是否免费 1是
is_vip_course int 1:会员课 0:非会员课
stock int 剩余库存信息
is_playback int 是否可以回放
is_collect int 是否收藏 1:收藏
collect_id int 收藏ID
is_vip_user int 是否是会员 1:是
vip_user_end string 会员到期日 如果是会员的话会有到期日
is_vip_course int 是否是会员课程 1:是
is_join_study int 是否加入学习 1:是
7.收藏
请求地址:https://www.365msmk.com/api/app/collect
请求方式:POST
请求参数:
page 是 int’ 当前页码数
limit 否 int 每页显示数量
type 否 int 类型 1.课程 2.文库 3.图书 4.资讯 5.话题 6.面授 (不传则查询全部,目前只有课程收藏)
8.首页下面的课程列表
接口地址:https://www.365msmk.com/api/app/recommend/appIndex
请求方式:GET
axios官方:https://github.com/axios/axios
axios.get(url).then()
axios.post()
axios.put()
axois.delete()
axios({
url:'',
headers:{},
data:{}, //post,PUT,DELETE,PATCH
params:{} //get
})
axios.get('',{headers:{}})