Promise返回结果。重点是resolve(response)
return new Promise((resolve, reject) => {
login(userInfo).then(
response => {
if(response.success){
setToken(response.data.token);
setUserId(response.data.id);
setUserName(response.data.name);
commit('SET_TOKEN', response.data.token);
commit('SET_ID', response.data.id);
commit('SET_NAME', response.data.name);
//commit('SET_INFO', response.data);
}
resolve(response)
}
)
})
eslint规则限制处理方法:
这一行最后加 //eslint-disable-line
JAVA IDE自动关闭报错 【Address localhost:1099 is already in use】
依次执行以下命令解决:
netstat -ano | find "1099"
tasklist | find "9280"
taskkill /f /t /im java.exe
或【任务管理器】关掉java.exe进程
VUE
vue项目config/index.js中proxyTable用法
项目中proxyTable
下定义的target
地址,被全局使用'/api'
替代了。例:
http://localhost:8080/api/v1/pageshelf/home/web
,其实是proxyTable
下定义的target:http://112.124.124.84:8500
替代,真实的是:
http://112.124.124.84:8500/v1/pageshelf/home/web
- 项目上线前修改
config -- prod.env.js -- API_HOST
为线上地址
VUE 项目部署时
-
- 修改config–prod.env.js–中API_host改为正式域名 https://www.lemonyd.com
-
- 修改 config-index.js – 64行
-
- config-index.js – 73行 true->false
- gzip压缩
打开APPStore
打开这个链接就行https://itunes.apple.com/cn/app/id477927812
判断iphoneX 系列
function isIphoneX(){
// X XS, XS Max, XR
const xSeriesConfig = [
{
devicePixelRatio: 3,
width: 375,
height: 812
},
{
devicePixelRatio: 3,
width: 414,
height: 896
},
{
devicePixelRatio: 2,
width: 414,
height: 896
}
];
// h5
if (typeof window !== 'undefined' && window) {
const isIOS = /iphone/gi.test(window.navigator.userAgent);
if (!isIOS) return false;
const { devicePixelRatio, screen } = window;
const { width, height } = screen;
console.log(devicePixelRatio)
console.log(screen)
return xSeriesConfig.some(item => item.devicePixelRatio === devicePixelRatio && item.width === width && item.height === height);
}
return false;
}
超出省略:css
*{
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
/*word-break: break-all;*/
}
/* 超出2行省略 */
*{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: -o-ellipsis-lastline;
text-overflow: ellipsis;
line-clamp: 2;
-webkit-box-orient: vertical;
}
JS 取整、取固定小数位
res.data.words = parseFloat(res.data.words / 10000).toFixed(1) + '万';
VUE报错
vue keys detected: '1111'. This may cause an update error.
是:key=
造成的
将<div v-for="item in bannerList" :key="item.id"/>
改成
<div v-for="(item,index) in bannerList" :key="index"/>
就行
VUE项目修改html关键字–便于用户浏览器搜索
import VueWechatTitle from 'vue-wechat-title'
Vue.use(VueWechatTitle)
js 判断当前浏览器
pxwser:function(){
var browser = {
versions: function () {
var u = navigator.userAgent, app = navigator.appVersion;
return { //移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器
iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
};
if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面
var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
console.log(ua)
if (ua.match(/MicroMessenger/i) == "micromessenger") {
//在微信中打开
this.showshare = false;
this.showFriend = true;
console.log('在微信中打开')
}
}
},
VUE组件传值 Bus传值注意事项
h5_audio音乐播放器使用
- loop=“loop” 自动循环播放 ~~~
html:
<audio src="./audio/choujiang_success.mp3" loop="loop" id="music" controls="controls"></audio>
js:
var audio = document.getElementById("music");
// 播放
audio.play();
// 暂停
audio.pause();
// 重新加载
audio.load();
VUE 生命周期
// 我分别在页面A和页面B中去添加以下代码:
beforeCreate () {
console.group('%c%s', 'color:red', 'beforeCreate 创建前状态===============组件2》')
},
created () {
console.group('%c%s', 'color:red', 'created 创建完毕状态===============组件2》')
},
beforeMount () {
console.group('%c%s', 'color:red', 'beforeMount 挂载前状态===============组件2》')
},
mounted () {
console.group('%c%s', 'color:red', 'mounted 挂载状态===============组件2》')
},
beforeUpdate () {
console.group('%c%s', 'color:red', 'beforeUpdate 更新前状态===============组件2》')
},
updated () {
console.group('%c%s', 'color:red', 'updated 更新状态===============组件2》')
},
beforeDestroy () {
console.group('%c%s', 'color:red', 'beforeDestroy 破前状态===============组件2》')
},
destroyed () {
console.group('%c%s', 'color:red', 'destroyed 破坏状态===============组件2》')
}
// 另外一个组件的我就不放出来了
前后端混合项目启动
【样式优化:】
1.nginx改为 nginx - 127-8888 作家专区.conf这个的
2. 【本地开发时】
修改_env.jsp 改成 true false false 版本也要改,要在gulp之后改
3. 注释: src -- main -- resources -- applicationContext-jedis.xml
4. host 改为本地: 127.0.0.1 m.lemonyd.com
5. 浏览器可直接用。或127.0.0.1:8888 端口号为8888
- JAVA IDE自动关闭报错:【Address localhost:1099 is already in use】
一次执行以下命令解决:
netstat -ano | find "1099"
tasklist | find "9280"
taskkill /f /t /im java.exe
或【任务管理器】关掉java.exe进程
- 配置环境:
1. 引入java JDK: file ---project structure -- project -- new javaJDK
2. 引入tomcat 7.0 setting--- build ---application server
3. 右上角添加启动配置
1.git pull 代码
2.启动IDE
3.启动nginx
4.桌面下方两个 memcached server 和 redis-server 启动
webroot中是开发的
root是编译的
解决idea启动项目报错:
https://blog.csdn.net/baidu_39355821/article/details/79971657
解决:waiting for VCS background tasks to finish
https://blog.csdn.net/assassinsshadow/article/details/78708658