建设一个网站的工作方案,做网站注册什么性质的公司,app store怎么退款,品牌设计包括哪些目录
一、记录
1、CSS穿透
2、输入框是否提示输入
3、插槽 #slot
4、v-deep深入改掉属性值
二、vue-cookie
1、官方文档
2、使用
三、拦截器
1、请求拦截器
2、响应拦截器
四、vuex对信息存取改
五、路由导航守卫
1、登录思路
2、设置白名单
六、Token与Cookie…目录
一、记录
1、CSS穿透
2、输入框是否提示输入
3、插槽 #slot
4、v-deep深入改掉属性值
二、vue-cookie
1、官方文档
2、使用
三、拦截器
1、请求拦截器
2、响应拦截器
四、vuex对信息存取改
五、路由导航守卫
1、登录思路
2、设置白名单
六、Token与Cookie
1、Token
2、Cookie
七、正则校验
八、跨域
1、环境
2、流程举例
九、vue.config.js文件配置
1、productionSourceMap: false,
2、lintOnSave: process.env.NODE_ENV development,
3、devServer.proxy 一、记录
1、CSS穿透
pointer-events: none;
2、输入框是否提示输入
autocomplete: off;
3、插槽 #slot
template引用的插槽 #slot
4、v-deep深入改掉属性值
当有一些ElementUI原生的样式改不动的时候前面加上
::v-deep 选择器{} 二、vue-cookie
1、官方文档
vue-cookies - npmA simple Vue.js plugin for handling browser cookies. Latest version: 1.8.3, last published: 7 months ago. Start using vue-cookies in your project by running npm i vue-cookies. There are 230 other projects in the npm registry using vue-cookies.https://www.npmjs.com/package/vue-cookies?activeTabreadme
2、使用
1安装
npm i vue-cookies
2引入
在main.js文件中配置
import VueCookies from vue-cookies
Vue.use(VueCookies, { expires: 7d})
3使用
this.$cookie.set(token,res.data.data)
this.$cookie.get()
4代码实例【代码在下面拦截器一起】
获取用户信息token需要在很多页面判断及使用因此建议放在request.js文件中 三、拦截器
1、请求拦截器
在request.js文件发送请求前中先判断是否有token
import axios from axios;
// cookies要单独引入
import VueCookies from vue-cookies;export function request(config) {const instance axios.create({baseURL: http://120.78.172.212:7789,//请求地址前缀});// 添加请求拦截器instance.interceptors.request.use(function (config) {// 在发送请求之前做些什么// 判断是否有tokenif (VueCookies.get(token)) {config.headers.Authorization Bearer VueCookies.get(token);}return config;},function (error) {// 对请求错误做些什么return Promise.reject(error);});return instance(config);
}
2、响应拦截器
ins.interceptors.response.use(function(response) {return response.data
}, function(error) {return Promise.reject(error)
})
①response返回请求结果 ②404-没找到not find【路径写错了】 ③500-服务器错误找后端 ④401-没权限一般是没token【没登录】 ⑤200-成功 四、vuex对信息存取改
export default new Vuex.Store({state: {userInfo:{},},getters: {},mutations: {setUser(state,payload){state.userInfo payload}},actions: {getUserApi(context){getUserInfoApi().then((res){console.log(res.data);context.commit(setUser,res.data.data)})}},modules: {}
}) 五、路由导航守卫
1、登录思路
1重定向先进入首页index这时候要判断是否有token有则正常跳转否则跳回login页面
2登录前不允许用户通过改地址跳到其他界面【index页面】只能停留在login页面
3登录后不允许用户通过改地址跳回登录界面
2、设置白名单
1实现登录前不允许用户通过改地址跳到其他界面
在src文件夹下》router文件夹》index.js文件
const whiteList [Login,Register] //在白名单中着不会被拦截router.beforeEach((to, from, next) {//全局守卫//如果在白名单内不做任何判断直接return next()跳出整个循环if(whiteList.includes(to.name)){return next()}if(VueCookies.get(token)){store.dispatch(getUserApi)next()}else{next(login)}
})
2组件路由守卫
实现登录后不允许用户通过改地址跳回登录界面
const routes [{path: /login,name: Login,component: () import(/* webpackChunkName: login */ /views/login.vue),// 组件路由守卫beforeEnter(to, from, next) {if (VueCookies.get(token)) {next(/manage);} else {next();}},},
]; 六、Token与Cookie
1、Token
当前用户的标识由服务端生成。以后客户端只需带上Token请求数据即可
2、Cookie
①客户端保存用户信息的一种机制用来记录用户的一些信息也是实现Session的一种方式。 ②Cookie存储的数据量有限且都是保存在客户端浏览器中。 ③不同的浏览器有不同的存储大小但一般不超过4KB。 ④因此使用Cookie实际上只能存储一小段的文本信息。跟着请求发送 七、正则校验
登录/注册信息校验
data() {//字母开头长度5-16允许字母数字下划线const regUsername /^[a-zA-Z]{1}\w{4,15}$/;const regPassword /^[a-zA-Z]{1}\w{5,17}$/;// 登录规则var validateUser (rule, value, callback) {if (value ) {callback(new Error(请输入用户名));} else {if (!regUsername.test(value)) {// this.$refs.ruleForm.validateField(checkPass);callback(new Error(字母开头长度5-16允许字母数字下划线));} else {callback();}}};var validatePass (rule, value, callback) {if (value ) {callback(new Error(请输入密码));} else {if (!regPassword.test(value)) {callback(new Error(字母开头长度6-18允许字母数字下划线));} else {callback();}}};var validatePassAgain (rule, value, callback) {if (value ) {callback(new Error(请再次输入密码));} else if (value ! this.registerForm.password) {callback(new Error(两次输入密码不一致!));} else {callback();}};return {// 弹窗显示与否dialogLoginVisible: false,dialogRegisterVisible: false,// 注册框内容registerForm: {username: ,password: ,passwordAgain: ,},// 输入框规则rules: {username: [{ validator: validateUser, trigger: blur }],password: [{ validator: validatePass, trigger: blur }],passwordAgain: [{ validator: validatePassAgain, trigger: blur }],},// 登录/用户名 按钮loginUser: ,// 注册/退出 按钮registerExit: 注册,};
}, 八、跨域
1、环境
1开发环境
# 页面标题
VUE_APP_TITLE 小米商城开发环境# 开发环境配置
ENV development# 小米商城/开发环境
# 区别会体现在路径上
VUE_APP_BASE_API /dev-api
2生产环境【不会出现跨域问题】
# 页面标题
VUE_APP_TITLE 小米商城生产环境# 生产环境配置
ENV production
2、流程举例
本地项目http://localhost:8080/dev-api/xiaomi/v2/product/hot devServertargethttp://www.codeedu.com.cn/dev-api/xiaomi/v2/product/hot pathRewrite改写》后端服务器需要的http://www.codeedu.com.cn/xiaomi/v2/product/hot 九、vue.config.js文件配置
1、productionSourceMap: false,
①加速生产环境构建【项目启动】 ②在开发的时候不需要精确到某一行报错只需要告知有报错即可
2、lintOnSave: process.env.NODE_ENV development,
①eslint代码规范 ②该规范设置为只针对开发环境下 ③生产环境下不能一有格式错误整个项目就不能运行
3、devServer.proxy
当前后端API服务器没有运行在同一个主机上需要开发环境将API请求代理到API服务器
// webpack-dev-server 服务器 //网络请求的转发 // /dev-api/xiaomi/v2/carouseldevServer: {proxy: {// http://localhost:8080/dev-api/xiaomi/v2/carousel// 接口带了process.env.VUE_APP_BASE_API这个字段,会被拦截下来 /dev-api[process.env.VUE_APP_BASE_API]: {target: process.env.TARGET, //转发TARGET http://www.codeedu.com.cn// http://www.codeedu.com.cn/dev-api/xiaomi/v2/carousel//设置是否跨域changeOrigin: true,//改写,正则,局限devServerpathRewrite: {[^ process.env.VUE_APP_BASE_API]: , // http://www.codeedu.com.cn/xiaomi/v2/carousel},},},}, 文章转载自: http://www.morning.mcwgn.cn.gov.cn.mcwgn.cn http://www.morning.mhfbp.cn.gov.cn.mhfbp.cn http://www.morning.kpyyf.cn.gov.cn.kpyyf.cn http://www.morning.tsrg.cn.gov.cn.tsrg.cn http://www.morning.yfstt.cn.gov.cn.yfstt.cn http://www.morning.rlqml.cn.gov.cn.rlqml.cn http://www.morning.rmryl.cn.gov.cn.rmryl.cn http://www.morning.hgcz.cn.gov.cn.hgcz.cn http://www.morning.yunease.com.gov.cn.yunease.com http://www.morning.bkqdg.cn.gov.cn.bkqdg.cn http://www.morning.qxrct.cn.gov.cn.qxrct.cn http://www.morning.nktxr.cn.gov.cn.nktxr.cn http://www.morning.mmtbn.cn.gov.cn.mmtbn.cn http://www.morning.cprls.cn.gov.cn.cprls.cn http://www.morning.nqlx.cn.gov.cn.nqlx.cn http://www.morning.nfmtl.cn.gov.cn.nfmtl.cn http://www.morning.dzzjq.cn.gov.cn.dzzjq.cn http://www.morning.dywgl.cn.gov.cn.dywgl.cn http://www.morning.skbbt.cn.gov.cn.skbbt.cn http://www.morning.rgmls.cn.gov.cn.rgmls.cn http://www.morning.pgmbl.cn.gov.cn.pgmbl.cn http://www.morning.yfmlj.cn.gov.cn.yfmlj.cn http://www.morning.nbnq.cn.gov.cn.nbnq.cn http://www.morning.zsrdp.cn.gov.cn.zsrdp.cn http://www.morning.gdljq.cn.gov.cn.gdljq.cn http://www.morning.kqrql.cn.gov.cn.kqrql.cn http://www.morning.tqhpt.cn.gov.cn.tqhpt.cn http://www.morning.zdqsc.cn.gov.cn.zdqsc.cn http://www.morning.jbxfm.cn.gov.cn.jbxfm.cn http://www.morning.mzhhr.cn.gov.cn.mzhhr.cn http://www.morning.drgmr.cn.gov.cn.drgmr.cn http://www.morning.smfbw.cn.gov.cn.smfbw.cn http://www.morning.nqmkr.cn.gov.cn.nqmkr.cn http://www.morning.lgtzd.cn.gov.cn.lgtzd.cn http://www.morning.zshuhd015.cn.gov.cn.zshuhd015.cn http://www.morning.tnjkg.cn.gov.cn.tnjkg.cn http://www.morning.gagapp.cn.gov.cn.gagapp.cn http://www.morning.lqffg.cn.gov.cn.lqffg.cn http://www.morning.pzcjq.cn.gov.cn.pzcjq.cn http://www.morning.grjh.cn.gov.cn.grjh.cn http://www.morning.dztp.cn.gov.cn.dztp.cn http://www.morning.xqgh.cn.gov.cn.xqgh.cn http://www.morning.ccphj.cn.gov.cn.ccphj.cn http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn http://www.morning.hdlhh.cn.gov.cn.hdlhh.cn http://www.morning.kqzrt.cn.gov.cn.kqzrt.cn http://www.morning.wmcng.cn.gov.cn.wmcng.cn http://www.morning.myxps.cn.gov.cn.myxps.cn http://www.morning.hnk25076he.cn.gov.cn.hnk25076he.cn http://www.morning.dfojgo.cn.gov.cn.dfojgo.cn http://www.morning.lhxrn.cn.gov.cn.lhxrn.cn http://www.morning.bppml.cn.gov.cn.bppml.cn http://www.morning.mwcqz.cn.gov.cn.mwcqz.cn http://www.morning.pnmnl.cn.gov.cn.pnmnl.cn http://www.morning.zwndt.cn.gov.cn.zwndt.cn http://www.morning.gqwpl.cn.gov.cn.gqwpl.cn http://www.morning.nrydm.cn.gov.cn.nrydm.cn http://www.morning.yqkxr.cn.gov.cn.yqkxr.cn http://www.morning.cmrfl.cn.gov.cn.cmrfl.cn http://www.morning.lxmks.cn.gov.cn.lxmks.cn http://www.morning.rrms.cn.gov.cn.rrms.cn http://www.morning.xkbdx.cn.gov.cn.xkbdx.cn http://www.morning.djpgc.cn.gov.cn.djpgc.cn http://www.morning.gjlml.cn.gov.cn.gjlml.cn http://www.morning.fxxmj.cn.gov.cn.fxxmj.cn http://www.morning.nwczt.cn.gov.cn.nwczt.cn http://www.morning.fhsgw.cn.gov.cn.fhsgw.cn http://www.morning.mzhhr.cn.gov.cn.mzhhr.cn http://www.morning.lkjzz.cn.gov.cn.lkjzz.cn http://www.morning.bpptt.cn.gov.cn.bpptt.cn http://www.morning.cxtbh.cn.gov.cn.cxtbh.cn http://www.morning.xcxj.cn.gov.cn.xcxj.cn http://www.morning.bmgdl.cn.gov.cn.bmgdl.cn http://www.morning.080203.cn.gov.cn.080203.cn http://www.morning.hwtb.cn.gov.cn.hwtb.cn http://www.morning.dhnqt.cn.gov.cn.dhnqt.cn http://www.morning.lbrrn.cn.gov.cn.lbrrn.cn http://www.morning.rxlk.cn.gov.cn.rxlk.cn http://www.morning.lsxabc.com.gov.cn.lsxabc.com http://www.morning.rnlx.cn.gov.cn.rnlx.cn