限制

1.只能请求 HTTPS 类型的接口

2.必须将接口的域名添加到信任列表中

调试

可以跳过合法域名校验

GET请求

   wx.request({url: 'https://www.escook.cn/categories',method: 'GET',success: (res) => {this.setData({gridList: res.data})}})

POST请求

  wx.request({url: 'https://www.escook.cn/api/post',method: "POST",data: {name: 'ls',age: 33},success: (res) => {console.log(res.data)}})

封装

1.新建api.js

//域名地址
//var prefix = 'http://192.168.8.230:8888/xai';
var prefix = '';
//小程序账号编码(自己定义,后端项目中对应weixin_account表中的account_code)
var account_code = "";
/** 接口地址 */
//轮播图片地址
const rotary_url = prefix +'/rest/lite/config/index/slide'
//刷新内容地址
const copywrite_url = prefix + '/rest/lite/config/v1/random_text'
//授权数据解密
const userinfo_url = prefix + '/rest/wxlite/v1/decrypt'
//微信login
const wxlogin_url = prefix + '/rest/wxlite/v1/wx_login'
//面相(五官)分析
const faceorgans_url = prefix + '/rest/face_organs/detect'
//用户首次访问累计天数
const userdays_url = prefix + '/rest/wxlite/v1/days'
//垃圾分类
const garbage_url = prefix + '/rest/garbage/search'
//图像识别
const icr_url = prefix + '/rest/icr/detect'
//图像处理
const icrhandle_url = prefix + '/rest/icr/handle'
//人脸融合
const facemerge_url = prefix + '/rest/face_merge/merge';
//虚拟换妆
const facetransfer_url = prefix + '/rest/face_merge/transfer';
//皱纹检测
const facewrinkle_url = prefix + '/rest/face/wrinkle';
//黑眼圈眼袋检测
const eyesattr_url = prefix + '/rest/face/eyes_attr';
//肤色分析接口
const faceSkinColor_url = prefix + '/rest/face/skin_color';
//皮肤光滑度检测接口
const faceSkinsmooth_url = prefix + '/rest/face/skin_smooth';
//痘斑痣检测接口
const faceAcnespotmole_url = prefix + '/rest/face/detect_acnespotmole';
//中草药识别接口
const chinese_herbal_medicine_url = prefix + '/rest/easydl/chinese_herbal_medicine';
//背景色修改接口
const idphoto_url = prefix + '/rest/idphoto/replace';
//图片转字符画接口
const ascii_url = prefix + '/rest/ias/image2ascii';
//人脸检测接口
const facedetect_url = prefix + '/rest/face/detect';
//小表帝识别接口
const watch_url = prefix + '/rest/easydl/little_watchemperor';
//手相分析接口
const palm_url = prefix + '/rest/palm/detect_palm';
//穿衣搭配接口
const clothing_url = prefix + '/rest/jdai/clothing_match';
//颜色识别接口
const color_url = prefix + '/rest/jdai/detect_color';
//闲聊接口
const chat_url = prefix + '/rest/text_chat/dialog';
//小红花接口
const faceflower_url = prefix + '/rest/face/flower';
//发际线编辑接口
const hairlineedit_url = prefix + '/rest/face/hair_line_edit';//人脸驱动接口
const drive_url = prefix + '/rest/face/drive';
//虚拟主播接口
const virtual_human_url = prefix + '/rest/face/virtual_human';
//数据列表接口
const face_dynamic_url = prefix + '/rest/face_dynamic/list';//校徽识别接口
const schoolbadge_url = prefix + '/rest/easydl/school_badge';/*** 人脸驱动接口* @param file 图片* @param userId 用户ID* @param subtitle_text 模式*/
let driveRequest = (file,userId, callback) => {//发送接口请求wx.uploadFile({url: drive_url,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'version':'2','userId': userId},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}/*** 虚拟主播接口* @param file 图片* @param userId 用户ID* @param subtitle_text 模式*/
let virtualHumanRequest = (file,userId,subtitle_text, callback) => {//发送接口请求wx.uploadFile({url: virtual_human_url,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'version':'2','userId': userId,'account_code': account_code,'subtitle_text':subtitle_text},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}/*** 数据列表接口* @param userId 用户ID*/
let faceDynamicListRequest = (userId,logType,callback) => {var param = '';if(null==logType){param = '?userId='+userId+'&pageNo=1&pageSize=20'}else{param = '?userId='+userId+'&apiType='+logType+'&pageNo=1&pageSize=20'}//发送接口请求wx.request({url: face_dynamic_url+param,method:'GET',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}/*** 发际线编辑接口* @param file 图片* @param userId 用户ID* @param mode 模式*/
let hairLineEditRequest = (file,userId,mode, callback) => {//发送接口请求wx.uploadFile({url: hairlineedit_url,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'version':'2','userId': userId,'account_code': account_code,'mode':mode,'degree':1},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}/*** 小红花接口* @param file 图片* @param userId 用户ID* @param direction 左右方向*/
let faceFlowerRequest = (file, userId,direction, callback) => {//发送接口请求wx.uploadFile({url: faceflower_url,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'version':'2','userId': userId,'account_code': account_code,'direction':direction},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}/*** 聊天方法* @param text 文本内容* @param userId 用户ID* @param language 对话语言模型*/
let chatRequest = (text,userId,callback) => {//发送接口请求wx.request({url: chat_url,method:'POST',header: {'content-type': 'application/x-www-form-urlencoded'},data: {'version': '2','userId': userId,'account_code': account_code,'text': text},success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}
/*** 图片背景色修改* @param file 图片* @param userId 用户ID* @param color 颜色*/
let idphotoRequest = (file, userId, color, callback) => {//发送接口请求wx.uploadFile({url: idphoto_url,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'version': '2','userId': userId,'account_code': account_code,'color': color},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}
/*** 虚拟换妆* @param file 图片* @param userId 用户ID* @param templateId 模板ID* @param style 风格*/
let transferRequest = (file, userId, templateId,style,callback) => {//发送接口请求wx.uploadFile({url: facetransfer_url,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'version': '2','userId': userId,'account_code': account_code,'templateId': templateId,'style': style},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}
/*** 人脸融合* @param file 图片* @param userId 用户ID* @param templateId 模板ID*/
let mergeRequest = (file, userId, templateId, callback) => {//发送接口请求wx.uploadFile({url: facemerge_url,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'version': '2','userId': userId,'account_code': account_code,'templateId': templateId},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}
/*** 通用识别* @param file 图片* @param userId 用户ID* @param apiurl 接口地址*/
let generalRequest = (file, userId, apiurl, callback) => {//发送接口请求wx.uploadFile({url: apiurl,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'version': '2','userId': userId,'account_code': account_code},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}
/*** 图像识别* @param file 图片* @param userId 用户ID* @param apiType 接口类型*/
let icrRequest = (file, userId, apiType, callback) => {//发送接口请求wx.uploadFile({url: icr_url,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'version': '2','userId': userId,'account_code': account_code,'apiType': apiType},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}
/*** 图像处理* @param file 图片* @param userId 用户ID* @param apiType 接口类型*/
let icrHandleRequest = (file, userId, apiType, callback) => {//发送接口请求wx.uploadFile({url: icrhandle_url,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'version': '2','userId': userId,'account_code': account_code,'apiType': apiType},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}
/*** 垃圾分类* @param file 图片* @param userId 用户ID*/
let garbageRequest = (file, userId,cityId, callback) => {//发送接口请求wx.uploadFile({url: garbage_url,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'version':'2','userId': userId,'account_code': account_code,'cityId': cityId},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}/*** 用户首次访问累计天数* @param userId 用户ID* @param openid 微信用户openid*/
let userDaysRequest = (userId,openid,callback) => {//发送接口请求wx.request({url: userdays_url,method: 'GET',data: {'userId': userId,'openid': openid},success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}/*** 面相(五官)分析* @param file 图片* @param userId 用户ID*/
let faceOrgansRequest = (file, userId, callback) => {//发送接口请求wx.uploadFile({url: faceorgans_url,filePath: file,header: {'content-type': 'multipart/form-data'},name: 'file',formData: {'userId': userId,'account_code': account_code},method: 'POST',success: function (res) {callback.success(res.data)},fail: function (res) {if (callback.fail)callback.fail()}})
}
/** 暴露出去 */
module.exports={rotary_url: rotary_url,copywrite_url: copywrite_url,userinfo_url: userinfo_url,wxlogin_url: wxlogin_url,account_code: account_code,facemerge_url: facemerge_url,facetransfer_url: facetransfer_url,facewrinkle_url: facewrinkle_url,eyesattr_url: eyesattr_url,faceSkinColor_url: faceSkinColor_url,faceSkinsmooth_url: faceSkinsmooth_url,faceAcnespotmole_url: faceAcnespotmole_url,ascii_url: ascii_url,facedetect_url: facedetect_url,watch_url: watch_url,palm_url:palm_url,clothing_url: clothing_url,color_url: color_url,faceflower_url:faceflower_url,schoolbadge_url:schoolbadge_url,/** 暴露出去方法 */faceOrgansRequest: faceOrgansRequest,userDaysRequest: userDaysRequest,garbageRequest: garbageRequest,icrRequest: icrRequest,generalRequest: generalRequest,icrHandleRequest: icrHandleRequest,transferRequest: transferRequest,mergeRequest: mergeRequest,idphotoRequest: idphotoRequest,chatRequest: chatRequest,faceFlowerRequest:faceFlowerRequest,hairLineEditRequest:hairLineEditRequest,driveRequest:driveRequest,virtualHumanRequest:virtualHumanRequest,faceDynamicListRequest:faceDynamicListRequest
}

引入

var api = require('../../../utils/api.js');

使用

   api.generalRequest(file, app.globalData.userId, api.faceAcnespotmole_url, {success(result) {var resultJ = JSON.parse(result)wx.hideLoading();if (resultJ.code == 200) {that.setData({img: 'data:image/jpg;base64,' + resultJ.data.image_base64,acne_count: resultJ.data.acne_count,speckle_count: resultJ.data.speckle_count,mole_count: resultJ.data.mole_count})} else {if (resultJ.code == 87014) {wx.hideLoading();wx.showModal({content: '存在敏感内容,请更换图片',showCancel: false,confirmText: '明白了'})that.setData({img: null})} else {wx.hideLoading();wx.showModal({content: resultJ.msg_zh,showCancel: false,confirmText: '明白了'})}}}})

微信小程序-网络请求封装相关推荐

  1. 微信小程序网址请求封装

    由于懒得改header,所以method的请求要求必须大写 封装代码引入全局里面,其他页面引入调用即可 //封装微信小程序网络i请求的全局方法// url 请求地址// method get还是pos ...

  2. 微信小程序request请求封装;微信小程序封装request请求;uni-app小程序封装request请求;

    本片封装了微信小程序request请求:为别是post get put请求,重点在request.js文件 1.新增四个文件 2.根目录下的utils下的request.js封装uni.request ...

  3. 5、微信小程序-网络请求和本地存储

    文章目录 前言 一.准备 二.网络请求 1.微信小程序请求网络的方法 2.发送网络请求 3.网络请求的封装 4.网络返回请求数据的处理 三.本地存储 前言 这节我们来看下在微信小程序中如何进行网络请求 ...

  4. 微信小程序网络请求异常怎么办_监控微信小程序wx.request请求失败

    在微信小程序里,与后台服务器交互的主要接口函数是wx.request(),用于发起 HTTPS 网络请求.其重要性不言而喻.然而,却经常遇到请求失败的问题,笔者特意谷歌"wx.request ...

  5. 微信小程序网络请求异常怎么办_解决·微信小程序开发-网络请求报Invalid request 400错误...

    今天学习了一下微信小程序的入门开发,在使用网络请求时,发现根据微信官方的API的方法进行操作出现Invalid request 400错误,到底怎么回事呢? 首先我们来看微信API网络请求 示例代码: ...

  6. 微信小程序网络请求配置问题及本地网络请求测试解决方案

    本文只针对服务器网站没有备案或只需要做本地网络接口请求 一.问题引入 在小程序demo.wxml中声明button控件,并设置点击事件,如下: <button bindtap='testSend ...

  7. 微信小程序 网络请求接口 及 生命周期

    前言:前期我们对微信小程序有些基本了解,像标签,样式,组件....等. 今天我们继前期进行继续的了解 一. 网络请求 HTTP(HyperText Transfer Protocol)是一套计算机通过 ...

  8. 微信小程序网络请求 - 设置合法域名

    微信小程序设置网络请求 官方文档 为什么要设置合法域名呢 ? 每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信.包括普通 HTTPS 请求(wx.request).上传文件(w ...

  9. 微信小程序 网络请求之设置合法域名

    设置域名 登录微信公众号后台小程序中 设置→开发设置→服务器设置 必须设置域名,微信小程序才能进行网络通讯,不然会报错 如果设置好了合法域名,开发工具还提示不在合法域名列表中,因为在微信会有一段时间的 ...

最新文章

  1. 个人管理 - 目标管理之前,你会时间管理吗
  2. Sidebar Enhancements使用说明
  3. java程序中date类型比较大小总结
  4. 没有终结点在侦听可以接受消息的_IoT Hub入门(3)使用消息路由将原始设备数据记录存档...
  5. 如何屏蔽LOGD\LOGI等打印输出
  6. python极客项目编程 豆瓣_《Python极客项目编程》
  7. 使用Vue cli 来快速开发并打包封装项目教程
  8. ps3 安装linux,PlayStation 3上安装Ubuntu Linux[图文]
  9. Java版扫雷小游戏
  10. ppt中插入html格式图表
  11. 2019美联社写作指南为区块链相关术语提供指导
  12. 继承关系下怎样使用Builder 模式
  13. jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=0x800401F3L
  14. 【Android】关于WIFI局域网的手机摄像头当视频监控用实现方案详解
  15. 北大青鸟消防控制器组网_北大青鸟JBF-11SF-AC801显示控制盘
  16. 大疆飞行模拟器 下载、安装及使用教程
  17. [深度分析]我对区块链的认识--概述(一)
  18. 什么是分布式,分布式和集群的区别又是什么?
  19. ffmpeg mp4和yuv互转
  20. 基于JAVA疫情社区健康评估系统设计与实现 开题报告

热门文章

  1. pve (群辉、软路由、win/linux)折腾日记
  2. 3.Moveit 配置助手生成的配置文件解读
  3. 苏州动漫借“外包”壮大
  4. Java常用的List、Map、Set集合整理
  5. 王者荣耀s19服务器维修了进不去,王者荣耀:S19单排若不改掉这6个毛病,想上王者就是痴人说梦!...
  6. 我的微语录周记2014-12-01---2014-12-07_轩逸云_新浪博客
  7. java控制指令和stomp_Stomp与Jackson
  8. 当MES遇上PLC——SOAP篇(下)
  9. 电赛风力摆制作过程中遇到的问题
  10. UE4 录制及重播功能(类似死亡回放) 基于Wiki教程修改