前后端api交互

前端使用工具
----webstorm
技术
----vue框架 axios代替ajax获取数据 element-ui编写样式
后端:
----php java nodejs
交互平台
----eolinker 一起写

平台界面

平台界面.png

接口
接口png

请求信息
请求信息.png

响应信息
响应信息.png

前端调取数据
【configUrl.js】

// 测试ip

// const baseul = 'http://10.31.161.99';
// const onbaseul = ' ';

const type = document.location.protocol;
const baseul = type + '//api.star.store';
const onbaseul = type + '//stat.star.store';


export default {
    baseURL: baseul,
    onbaseURL: onbaseul,
    logURL: baseul + '/uploads/',
    uploadURL: baseul + '/upload',
    defaultImg: 'logo.png'
}

【apiRequest.js】

import axios from "axios";
import baseURL from './configUrl.js';

function baseRequest(method, path, params, data, type) {
    method = method.toUpperCase() || 'GET';
    let url = '';
    let paramsobj = { params: params };
    if (type === 'msg') {
        url = baseURL.onbaseURL;
    } else {
        url = baseURL.baseURL;
    }
    axios.defaults.baseURL = url;
    if (method === 'POST') {
        axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
        return axios.post(path, qs.stringify(data));
    } else if (method === 'GET') {
        return axios.get(path, paramsobj);
    } else {
        return axios.delete(path, qs.stringify(data));
    };
}

exports.baseURL = baseURL.baseURL;

exports.influenceContactProduct = function influencecontact(params) {
    return baseRequest('GET', '/operation/distr_influ', params, '');
};
exports.addInfluencer = function addinflu(data) {
    return baseRequest('POST', '/operation/add_influ', '', data);
};

【页面调用】

<template>
        <el-form-item label="关联产品">
          <el-select v-model="form.pid" placeholder="请选择产品" style="width: 100%">
            <el-option
              v-for="prodct in pruductData"
              :key="prodct.product_name"
              :label="prodct.product_name"
              :value="prodct.product_id">
            </el-option>
          </el-select>
        </el-form-item>
</template>

<script>
 import {
    getProductList,
    registerInfluencer, 
    registerInfluencerLink
  } from "../../apiRequest.js";
 export default {
    data() {
      return {
        form: {
          name: '',
          pid: ''
        },
        prepend: 'Http://',
        append: '.star.store',
        pruductData: [],
        rules: {
          name: [
            { required: true, message: '请输入网红名称', trigger: 'blur' },
            { min: 1, max: 40, message: '长度在 1 到 40 个字符', trigger: 'blur' }
          ]
        }
      }
    }
  created(){
      // 获取产品信息
      this.getProductList();
    },
method:{
  if(this.form.pid){
    let linkPrduct = {
      influencer_id: influencer_id,
      product_id: this.form.pid
    }
    registerInfluencerLink(linkPrduct).then((data2)=>{
      // console.log(data2);
      if(data2.status === 200){
        this.$notify({
          title: '成功',
          message: '网红关联产品成功',
          type: 'success'
        });
        this.form.name = '';
        this.form.pid = '';
      }
    }).catch((response)=> {
      this.$notify.error({
        title: '错误',
        message: response.toString()
      });
    });
  }

}
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 平时用的好好的,突然启动jmeter报错,检查jdk的环境变量配置也是好的,怎么就报这个错了呢? 但是我这样做了,...
    慧琴如翌阅读 445评论 0 0
  • 文艺小猿阅读 273评论 0 0
  • 很多人一生最求的终点,最终不过是回到了原点,若是想要让这一生的长度和宽度得到升华,那么就莫寻安稳! 若是当初留在那...
    雨天的那棵树阅读 429评论 0 2
  • 我才二十几岁我好累 二十几岁的我们才刚步入社会的门槛面对着一系列的社会问题同事老板还有一些繁琐的小事 有的时候真的...
    往后Yu生阅读 2,145评论 6 4
  • 我已经,越来越怠于用文字和言语的直接组合来表达内心的想法。古人今人那么多诗词歌赋写得溜溜的人,随随便便说一句话就戳...
    _自迩阅读 176评论 0 0

友情链接更多精彩内容