截止29/1/9笔记

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方法,以滑动的方式显示隐藏被选元素

你可能感兴趣的:(截止29/1/9笔记)