微信小程序----api

wx_Api

判断小程序的API,回调,参数,组件等是否在当前版本可用,返回一个Bool值

wx.canIUse('button.open-type.getUserInfo')

触发用户授权窗口

<button open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
//bindgetuserinfo 按钮api方法固定写法

用户点击确认回调

button api方法

点击存入globalData

初始化存入globalData

<button open-type="getUserInfo"> 获取头像昵称 </button>
getUserInfo: function(e) {
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
        userInfo: e.detail.userInfo,
        hasUserInfo: true
    })
}

判断是否存入用户信息,没有存在存入;

注意跟首页没有关系,

跟按钮上面是事件有关

初始化获取,点击获取用户信息逻辑

wx.getSetting({success:()=>{"返回用户所有用户授权"}})

照相机接口

因为,调用照相机获取临时图片格式,直接上传三方服务器,是不支持的,需要微信做解析,转发

wx.uploadFile 上传微信需要做转发看不到传输的参数

wx.chooseImage({
    count: 1, //图片张数
    sizeType: ['original', 'compressed'],//原图,压缩图,
    sourceType: ['album', 'camera'],  //本地相册,拍照
    success :res=> {
        const tempFilePaths = res.tempFilePaths//微信小程序图片临时路径
        this.setData({tempFilePaths}); 
    }
})
// 预览接口
viewImgs(index) {
    wx.previewImage({
        current: this.data.tempFilePaths[index], // 当前显示图片的http链接
        urls:this.data.tempFilePaths // 需要预览的图片http链接列表
    });
},
    
//微信小程序图片上传    
fileUplaod() {
    wx.uploadFile({
      url: "http://wxs.ixinangou.net/index/index/dofiles",
      filePath: this.data.tempFilePaths[0],
      name: "file", //上传图片key
      formData: {
        user: "MSea" //需要额外携带参数
      },
      header: {
        "content-type": "multipart/form-data"
      },
      success: res => {
        console.log("data");
      }
    });
  }

请求

微信原生请求接口

注意设置,不效验合法域名,回忆怎么添加合法域名

 
//new FormData();
axios({
     method:"POST",
     data:qs.stringify({
         name:"Msea"
     }),
     url:"http://www.xxx.com"
 })
    // $_GET['name']
    // $_POST['name']

//GET 会自动拼接参数
//queryStringParams
wx.request({
    method: "GET",
    url: "https://cnodejs.org/api/v1/topics",
    data: { 
        uname: "Msea"
    },
    success: (res) => {
        console.log(res)
    }
})
//POST 默认参数为payLoad,为json
wx.request({
    method: "POST",
    url: "https://cnodejs.org/api/v1/topics",
    data: { 
        uname: "Msea" 
    },
    success: (res) => {
        console.log(res)
    }
})
//POST form-data 数据 
// 'content-type': 'multipart/form-data'  用于文件上传  
wx.request({
   url: 'https://cnodejs.org/api/v1/topic/5433d5e4e737cbe96dcef312',
    data:{fileId:'123'},
    method:'POST',
    header: {
        'content-type': 'application/x-www-form-urlencoded'
    },
    success:function(res){}
})

使用第三方npm

工具 npm支持

从小程序基础库版本 [2.2.1] 或以上小程序支持使用 npm 安装第三方包

使用第三方flyio

  1. npm install flyio
  2. 详情>本地设置>使用npm
  3. 操作>工具>构建npm

注意:不是所有npm 模块都可以用,不要过度依赖npm,只有纯js可以用不涉及dom,window,

utils>http

var Fly=require("flyio");
var fly=new Fly

fly.config.baseURL="http://m.maoyan.com";
//添加请求拦截器
fly.interceptors.request.use((request)=>{

    //给所有请求添加自定义header
    request.headers["X-Tag"]="flyio";
      //打印出请求体
      console.log(request.body)
      //终止请求
      //var err=new Error("xxx")
      //err.request=request
      //return Promise.reject(new Error(""))

    //可以显式返回request, 也可以不返回,没有返回值时拦截器中默认返回request
    return request;
})
//添加响应拦截器,响应拦截器会在then/catch处理之前执行
fly.interceptors.response.use(
    (response) => {
        //只将请求结果的data字段返回
        return response.data
    },
    (err) => {
        //发生网络错误后会走到这里
        //return Promise.resolve("ssss")
    }
)
export default fly;

apis.js

import fly from "./http";
// 首页 
export const loadgetIndexData = () => {
    return fly.get('/ajax/movieOnInfoList', {
        "optimus_uuid": "22921900AEE311E9858E611270825995E021A61EA257440EAC983979617E0E0F",
        "optimus_risk_level": "71",
        "optimus_code": "10",
        "token": ""
    })
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hyduan200

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值