18/5/3
接口报415问题:
参数类型有问题,
一、当使用jQuery 的ajax发送请求时
1、请求路劲没有出错并且不存在跨域,出现415错误
解决方法:在ajax请求中加上contentType: 'application/json',
$.ajax({
type: "POST",
contentType: 'application/json;charset=UTF-8',
url: getLoginVerifyCodeUrl,
dataType: "json",
data: loginPostData,
async: false
});
2、加上之后报400错,首先确定后端需要的数据格式、数据字段等等与你发送的数据格式、数据字段等是否相同,
如果发送的是json格式的,在判定上述都没有问题时,将发送的数据使用loginPostData = JSON.stringify(loginPostData);转换之后再试。
————end———————————————————————————————————————————————————
eg: otc移动端进入的时候写在watch里的userinfo触发不了
解决方法:未直接解决,曲线在该页面重新再请求了一次userInfo
————end—————————————————————————————————————————————————————
axios
import 引入以后不能使用Vue.use使用,而是应该直接把axios写在vue的原型上
vue.prototype.axios = axios
————end———————————————
用数据渲染的方式加点击事件,点击事件无效
未找到解决办法
————end———————————————————————
render函数写再data里在子组件拿来用的时候
————end———————————
iview swatch组件的注册写法特殊
————end———————————
vue文件在vscod无法高亮显示:安装vetur插件
————end———————————
微信扫码
1,引入wxSDK
2,获取js-sdk签名
向后端请求
getSignature () {
const url = '/getSignature.json'
const data = {
url: window.location.href.split('#')[0],
vendorId: this.vendorId
}
return this.post(url, data)
.then((res) => {
this.wxConfig(res.data)
})
.catch((err) => {
console.log(err)
})
}
3,wx.config配置
wxConfig (data) {
this.wx.config({
debug: false,
appId: data.appId,
timestamp: data.timestamp,
nonceStr: data.noncestr,
signature: data.signature,
jsApiList: ['getLocation', 'scanQRCode', 'onMenuShareTimeline', 'onMenuShareAppMessage']
})
this.wx.ready(
() => {
this.getLocation()
}
)
}
4,wx.scanQRCode({
needResult:1,
scanType: ['qrcode'],
success: function (res) {
console.log(res) //扫码所得数据
}
})
注:如果是vue 需要再公共js里把wx挂在vue的原型,即:vue.prototype.wx = window.wx
————end———————————
2018/5/18
云尚生活,多商户,于当前差别项
1.商品展示位
2.店铺访问
3.支付对象
4.
————end———————————
今日毕
进销存静态,基本完成
黄金竹乡启动
未来毕
云尚生活,多商户商城,优先移动端,pc端
湖南药监,微信公众号,待定
2018/5/18
————end———————————
axios get的传参方式
axios.get(url, {
params: { 'key': 'value' }
}).then(function (response) {
alert(''.concat(response.data, '\r\n', response.status, '\r\n', response.statusText, '\r\n', response.headers, '\r\n', response.config));
}).catch(function (error) {
alert(error);
});
————————————end————————————————
vuex
state 变量申明 整个应用的状态数据, 使用的时候注入store根节点
getters 有些状态需要做二次处理,就可以使用getters。通过this.$store.getters.valueName对派生出来的状态进行访问。或者直接使用辅助函数mapGetters将其映射到本地计算属性中去。
actions 触发:this.$store.dispatch(‘方法名’);触发2 辅助函数mapActions: (['方法名']),这个需要再调用
mutations 利用它可以更改状态,本质就是用来处理数据的函数
———————————end—————————
vue的生命周期,很多问题往往出在执行问题上,合理运用 异步,比如await等操作
————————————end——————————————————————
query传递的参数url看得到,params则url看不到参数
path--对应query name--对应params
——————————end————————————————————————
用$emit 调用父组件方法的时候,方法里面请求的数据,然后数据通过父组件传给子组件,子组件拿父组件来用。问题出在,调用父级方法后立刻执行了后续代码,没有等待该方法里面的数据,从父组件传过来。
目前的解决方法是用了两个setTimeout 虽然暂时解决了,但解决方案并不合理,期待后续完善。
————————end————————————————
otcFont 两个服务器代理demo
————————end————————————
demo酒正宝领取红包的时候没有做防止连点,可以领多个红包
解决方法,用off解除事件绑定 eg: $('.btnTxt').off('tap')
或者使用css pointer-events: none;
———————————end———————————————————
/**
* 消除alert自带域名title
*/
(function () {
window.alert = function (name) {
var iframe = document.createElement("IFRAME");
iframe.style.display = "none";
iframe.setAttribute("src", 'data:text/plain');
document
.documentElement
.appendChild(iframe);
window
.frames[0]
.window
.alert(name);
iframe
.parentNode
.removeChild(iframe);
}
})();
————————————————————
# install vue-cli
$ npm install -g vue-cli
# create a new project using the "webpack" boilerplate
$ vue init webpack my-project
# install dependencies and go!
$ cd my-project
$ npm install
$ npm run dev
————————————————————————————
vue项目链接后面带#
mode: 'history', 加在Router 配置里面
————————————————————————-
@click.native.prevent
1、otc-m查询管理员身份进入时调的接口调试,需要管理员身份账号
2、云尚生活登录获取的数据全都是null
3、云尚生活支付
4、——
——)——————————————————
git 回退到指定版本
git --no-pager log 不分屏不分页查出全部日志
git reset --hard e377f60e28c8b84158 回滚到指定id的版本
git push -f origin master 强制提交
————————————————————
new set 去重
Array.from将类数组对象转为数组
优点简洁,缺点,不兼容IE
————————————————————
在用到async await 的时候如果一个方法里需要用到多个,那么最好是吧要await执行的方法封装成方法,然后存到一个数组中,然后遍历数组去执行。。。。原因,貌似是数组被创建时候所有的特性导致
————————————————————
在外部js 例如api下面的js里拿vue实例,在main.js里申明一个常量接一下new vue
eg:
const myVue = new Vue({
router,
store
})
然后把这个常量暴露出去
export defalut myVue
然后在api的js里去直接引入就可以了
import _this from '@/main.js'
这样就可以直接使用_this也就是vue实例了
————————————————————————————————————————
在子组件里拿父组件数据的时候,没能异步,导致在数据还没拿到的情况下,先使用了该数据,
解决办法,$watch('数据名称', () => {在这里写后续代码})
$watch监听数据,得到数据以后执行回调
——————————————————
事件修饰符
可以防止事件冒泡.prevent,阻止默认行为.preventDefault
slideDown()jquery方法,以滑动的方式显示隐藏被选元素