tpwe兼容微擎小程序前端请求写法

当使用TPWe兼容微擎小程序前端时,可以按照以下方式编写前端请求:

  1. 修改siteinfo.js下面的配置文件。
    var e = {uniacid: "10001",acid: "10001",multiid: "0",version: "1.0",siteroot: "https://域名/index.php",design_method: "3",redirect_module: "",template: ""
    };module.exports = e;

  2. 修改一下../we7/resource/js/util.js。
    function _interopRequireDefault(e) {return e && e.__esModule ? e : {default: e};
    }function _defineProperty(e, t, n) {return t in e ? Object.defineProperty(e, t, {value: n,enumerable: !0,configurable: !0,writable: !0}) : e[t] = n, e;
    }function getQuery(e) {var t = [];if (-1 != e.indexOf("?")) for (var n = e.split("?")[1].split("&"), a = 0; a < n.length; a++) n[a].split("=")[0] && unescape(n[a].split("=")[1]) && (t[a] = {name: n[a].split("=")[0],value: unescape(n[a].split("=")[1])});return t;
    }function getUrlParam(e, t) {var n = new RegExp("(^|&)" + t + "=([^&]*)(&|$)"), a = e.split("?")[1].match(n);return null != a ? unescape(a[2]) : null;
    }function getSign(e, t, n) {var a = require("underscore.js"), r = require("md5.js"), i = "", o = getUrlParam(e, "sign");if (o || t && t.sign) return !1;if (e && (i = getQuery(e)), t) {var s = [];for (var u in t) u && t[u] && (s = s.concat({name: u,value: t[u]}));i = i.concat(s);}i = a.sortBy(i, "name"), i = a.uniq(i, !0, "name");for (var c = "", f = 0; f < i.length; f++) i[f] && i[f].name && i[f].value && (c += i[f].name + "=" + i[f].value, f < i.length - 1 && (c += "&"));return n = n || getApp().siteInfo.token, o = r(c + n);
    }var _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {return typeof e;
    } : function(e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
    }, _base = require("base64"), _md = require("md5"), _md2 = _interopRequireDefault(_md), util = {};util.base64Encode = function(e) {return (0, _base.base64_encode)(e);
    }, util.base64Decode = function(e) {return (0, _base.base64_decode)(e);
    }, util.md5 = function(e) {return (0, _md2.default)(e);
    }, util.url = function(e, t) {var n = getApp(), a = n.siteInfo.siteroot + "?s=/index/index/wxapp/i/" + n.siteInfo.uniacid + "&t=" + n.siteInfo.multiid + "&v=" + n.siteInfo.version + "&from=wxapp&";if (e && ((e = e.split("/"))[0] && (a += "c=" + e[0] + "&"), e[1] && (a += "a=" + e[1] + "&"), e[2] && (a += "do=" + e[2] + "&")), t && "object" === (void 0 === t ? "undefined" : _typeof(t))) for (var r in t) r && t.hasOwnProperty(r) && t[r] && (a += r + "=" + t[r] + "&");return a;
    }, util.getSign = function(e, t, n) {return getSign(e, t, n);
    }, util.request = function(e) {require("underscore.js");var t, n = require("md5.js"), a = getApp();(e = e || {}).cachetime = e.cachetime ? e.cachetime : 0, e.showLoading = void 0 === e.showLoading || e.showLoading;var r = wx.getStorageSync("userInfo").sessionid, i = e.url;if (-1 == i.indexOf("http://") && -1 == i.indexOf("https://") && (i = util.url(i)), getUrlParam(i, "state") || e.data && e.data.state || !r || (i = i + "&state=we7sid-" + r), !e.data || !e.data.m) {var o = getCurrentPages();o.length && (o = o[getCurrentPages().length - 1]) && o.__route__ && (i = i + "&m=" + o.__route__.split("/")[0]);}var s = getSign(i, e.data);if (s && (i = i + "&sign=" + s), !i) return !1;if (wx.showNavigationBarLoading(), e.showLoading && util.showLoading(), e.cachetime) {var u = n(i), c = wx.getStorageSync(u), f = Date.parse(new Date());if (c && c.data) {if (c.expire > f) return e.complete && "function" == typeof e.complete && e.complete(c), e.success && "function" == typeof e.success && e.success(c), console.log("cache:" + i), wx.hideLoading(), wx.hideNavigationBarLoading(), !0;wx.removeStorageSync(u);}}wx.request((t = {url: i,data: e.data ? e.data : {},header: e.header ? e.header : {},method: e.method ? e.method : "GET"}, _defineProperty(t, "header", {"content-type": "application/x-www-form-urlencoded"}), _defineProperty(t, "success", function(t) {if (wx.hideNavigationBarLoading(), wx.hideLoading(), t.data.errno) {if ("41009" == t.data.errno) return wx.setStorageSync("userInfo", ""), void util.getUserInfo(function() {util.request(e);});if (e.fail && "function" == typeof e.fail) e.fail(t); else if (t.data.message) {if (null != t.data.data && t.data.data.redirect) n = t.data.data.redirect; else var n = "";a.util.message(t.data.message, n, "error");}} else if (e.success && "function" == typeof e.success && e.success(t), e.cachetime) {var r = {data: t.data,expire: f + 1e3 * e.cachetime};wx.setStorageSync(u, r);}}), _defineProperty(t, "fail", function(t) {wx.hideNavigationBarLoading(), wx.hideLoading();var n = require("md5.js")(i), a = wx.getStorageSync(n);if (a && a.data) return e.success && "function" == typeof e.success && e.success(a), console.log("failreadcache:" + i), !0;e.fail && "function" == typeof e.fail && e.fail(t);}), _defineProperty(t, "complete", function(t) {e.complete && "function" == typeof e.complete && e.complete(t);}), t));
    }, util.getWe7User = function(e, t) {var n = wx.getStorageSync("userInfo") || {};util.request({url: "auth/session/openid",data: {code: t || "",},cachetime: 0,showLoading: !1,success: function(t) {t.data.errno || (n.sessionid = t.data.data.sessionid, n.memberInfo = t.data.data.userinfo, wx.setStorageSync("userInfo", n)), "function" == typeof e && e(n);}});
    }, util.upadteUser = function(e, t) {var n = wx.getStorageSync("userInfo");if (!e) return "function" == typeof t && t(n);n.wxInfo = e.userInfo, util.request({url: "auth/session/userinfo",data: {signature: e.signature,rawData: e.rawData,iv: e.iv,encryptedData: e.encryptedData},method: "POST",header: {"content-type": "application/x-www-form-urlencoded"},cachetime: 0,success: function(e) {e.data.errno || (n.memberInfo = e.data.data, wx.setStorageSync("userInfo", n)), "function" == typeof t && t(n);}});
    }, util.checkSession = function(e) {util.request({url: "auth/session/check",method: "POST",cachetime: 0,showLoading: !1,success: function(t) {t.data.errno ? "function" == typeof e.fail && e.fail() : "function" == typeof e.success && e.success();},fail: function() {"function" == typeof e.fail && e.fail();}});
    }, util.getUserInfo = function(e, t) {var n = function() {console.log("start login");wx.login({success: function(n) {util.getWe7User(function(n) {t ? util.upadteUser(t, function(t) {"function" == typeof e && e(t);}) : wx.canIUse("getUserInfo") ? wx.getUserInfo({withCredentials: !0,success: function(t) {util.upadteUser(t, function(t) {"function" == typeof e && e(t);});},fail: function() {"function" == typeof e && e(n);}}) : "function" == typeof e && e(n);}, n.code);},fail: function() {wx.showModal({title: "获取信息失败",content: "请允许授权以便为您提供给服务",success: function(e) {e.confirm && util.getUserInfo();}});}});}, a = wx.getStorageSync("userInfo") || {};a.sessionid ? util.checkSession({success: function() {t ? util.upadteUser(t, function(t) {"function" == typeof e && e(t);}) : "function" == typeof e && e(a);},fail: function() {a.sessionid = "", console.log("relogin"), wx.removeStorageSync("userInfo"), n();}}) : n();
    }, util.navigateBack = function(e) {var t = e.delta ? e.delta : 1;if (e.data) {var n = getCurrentPages(), a = n[n.length - (t + 1)];a.pageForResult ? a.pageForResult(e.data) : a.setData(e.data);}wx.navigateBack({delta: t,success: function(t) {"function" == typeof e.success && e.success(t);},fail: function(t) {"function" == typeof e.fail && e.fail(t);},complete: function() {"function" == typeof e.complete && e.complete();}});
    }, util.footer = function(e) {var t = e, n = getApp().tabBar;for (var a in n.list) n.list[a].pageUrl = n.list[a].pagePath.replace(/(\?|#)[^"]*/g, "");t.setData({tabBar: n,"tabBar.thisurl": t.__route__});
    }, util.message = function(e, t, n) {if (!e) return !0;if ("object" == (void 0 === e ? "undefined" : _typeof(e)) && (t = e.redirect, n = e.type, e = e.title), t) {var a = t.substring(0, 9), r = "", i = "";"navigate:" == a ? (i = "navigateTo", r = t.substring(9)) : "redirect:" == a ? (i = "redirectTo", r = t.substring(9)) : (r = t, i = "redirectTo");}console.log(r), n || (n = "success"), "success" == n ? wx.showToast({title: e,icon: "success",duration: 2e3,mask: !!r,complete: function() {r && setTimeout(function() {wx[i]({url: r});}, 1800);}}) : "error" == n && wx.showModal({title: "系统信息",content: e,showCancel: !1,complete: function() {r && wx[i]({url: r});}});
    }, util.user = util.getUserInfo, util.showLoading = function() {wx.getStorageSync("isShowLoading") && (wx.hideLoading(), wx.setStorageSync("isShowLoading", !1)), wx.showLoading({title: "加载中",complete: function() {wx.setStorageSync("isShowLoading", !0);},fail: function() {wx.setStorageSync("isShowLoading", !1);}});
    }, util.showImage = function(e) {var t = e ? e.currentTarget.dataset.preview : "";if (!t) return !1;wx.previewImage({urls: [ t ]});
    }, util.parseContent = function(e) {if (!e) return e;var t = [ "\ud83c[\udf00-\udfff]", "\ud83d[\udc00-\ude4f]", "\ud83d[\ude80-\udeff]" ], n = e.match(new RegExp(t.join("|"), "g"));if (n) for (var a in n) e = e.replace(n[a], "[U+" + n[a].codePointAt(0).toString(16).toUpperCase() + "]");return e;
    }, util.date = function() {this.isLeapYear = function(e) {return 0 == e.getYear() % 4 && (e.getYear() % 100 != 0 || e.getYear() % 400 == 0);}, this.dateToStr = function(e, t) {e = arguments[0] || "yyyy-MM-dd HH:mm:ss", t = arguments[1] || new Date();var n = e, a = [ "日", "一", "二", "三", "四", "五", "六" ];return n = n.replace(/yyyy|YYYY/, t.getFullYear()), n = n.replace(/yy|YY/, t.getYear() % 100 > 9 ? (t.getYear() % 100).toString() : "0" + t.getYear() % 100), n = n.replace(/MM/, t.getMonth() > 9 ? t.getMonth() + 1 : "0" + (t.getMonth() + 1)), n = n.replace(/M/g, t.getMonth()), n = n.replace(/w|W/g, a[t.getDay()]), n = n.replace(/dd|DD/, t.getDate() > 9 ? t.getDate().toString() : "0" + t.getDate()), n = n.replace(/d|D/g, t.getDate()), n = n.replace(/hh|HH/, t.getHours() > 9 ? t.getHours().toString() : "0" + t.getHours()), n = n.replace(/h|H/g, t.getHours()), n = n.replace(/mm/, t.getMinutes() > 9 ? t.getMinutes().toString() : "0" + t.getMinutes()), n = n.replace(/m/g, t.getMinutes()), n = n.replace(/ss|SS/, t.getSeconds() > 9 ? t.getSeconds().toString() : "0" + t.getSeconds()), n = n.replace(/s|S/g, t.getSeconds());}, this.dateAdd = function(e, t, n) {switch (n = arguments[2] || new Date(), e) {case "s":return new Date(n.getTime() + 1e3 * t);case "n":return new Date(n.getTime() + 6e4 * t);case "h":return new Date(n.getTime() + 36e5 * t);case "d":return new Date(n.getTime() + 864e5 * t);case "w":return new Date(n.getTime() + 6048e5 * t);case "m":return new Date(n.getFullYear(), n.getMonth() + t, n.getDate(), n.getHours(), n.getMinutes(), n.getSeconds());case "y":return new Date(n.getFullYear() + t, n.getMonth(), n.getDate(), n.getHours(), n.getMinutes(), n.getSeconds());}}, this.dateDiff = function(e, t, n) {switch (e) {case "s":return parseInt((n - t) / 1e3);case "n":return parseInt((n - t) / 6e4);case "h":return parseInt((n - t) / 36e5);case "d":return parseInt((n - t) / 864e5);case "w":return parseInt((n - t) / 6048e5);case "m":return n.getMonth() + 1 + 12 * (n.getFullYear() - t.getFullYear()) - (t.getMonth() + 1);case "y":return n.getFullYear() - t.getFullYear();}}, this.strToDate = function(dateStr) {var data = dateStr, reCat = /(\d{1,4})/gm, t = data.match(reCat);return t[1] = t[1] - 1, eval("var d = new Date(" + t.join(",") + ");"), d;}, this.strFormatToDate = function(e, t) {var n = 0, a = -1, r = t.length;(a = e.indexOf("yyyy")) > -1 && a < r && (n = t.substr(a, 4));var i = 0;(a = e.indexOf("MM")) > -1 && a < r && (i = parseInt(t.substr(a, 2)) - 1);var o = 0;(a = e.indexOf("dd")) > -1 && a < r && (o = parseInt(t.substr(a, 2)));var s = 0;((a = e.indexOf("HH")) > -1 || (a = e.indexOf("hh")) > 1) && a < r && (s = parseInt(t.substr(a, 2)));var u = 0;(a = e.indexOf("mm")) > -1 && a < r && (u = t.substr(a, 2));var c = 0;return (a = e.indexOf("ss")) > -1 && a < r && (c = t.substr(a, 2)), new Date(n, i, o, s, u, c);}, this.dateToLong = function(e) {return e.getTime();}, this.longToDate = function(e) {return new Date(e);}, this.isDate = function(e, t) {null == t && (t = "yyyyMMdd");var n = t.indexOf("yyyy");if (-1 == n) return !1;var a = e.substring(n, n + 4), r = t.indexOf("MM");if (-1 == r) return !1;var i = e.substring(r, r + 2), o = t.indexOf("dd");if (-1 == o) return !1;var s = e.substring(o, o + 2);return !(!isNumber(a) || a > "2100" || a < "1900") && (!(!isNumber(i) || i > "12" || i < "01") && !(s > getMaxDay(a, i) || s < "01"));}, this.getMaxDay = function(e, t) {return 4 == t || 6 == t || 9 == t || 11 == t ? "30" : 2 == t ? e % 4 == 0 && e % 100 != 0 || e % 400 == 0 ? "29" : "28" : "31";}, this.isNumber = function(e) {return /^\d+$/g.test(e);}, this.toArray = function(e) {e = arguments[0] || new Date();var t = Array();return t[0] = e.getFullYear(), t[1] = e.getMonth(), t[2] = e.getDate(), t[3] = e.getHours(), t[4] = e.getMinutes(), t[5] = e.getSeconds(), t;}, this.datePart = function(e, t) {t = arguments[1] || new Date();var n = "", a = [ "日", "一", "二", "三", "四", "五", "六" ];switch (e) {case "y":n = t.getFullYear();break;case "M":n = t.getMonth() + 1;break;case "d":n = t.getDate();break;case "w":n = a[t.getDay()];break;case "ww":n = t.WeekNumOfYear();break;case "h":n = t.getHours();break;case "m":n = t.getMinutes();break;case "s":n = t.getSeconds();}return n;}, this.maxDayOfDate = function(e) {(e = arguments[0] || new Date()).setDate(1), e.setMonth(e.getMonth() + 1);var t = e.getTime() - 864e5;return new Date(t).getDate();};
    }, module.exports = util;

  3. 使用TPWe的API方法发送请求,并处理返回的数据。以下是一个示例代码,用于发起GET请求:
  4. //微擎的请求模式就行
    this.util.request({url: "wxapp/home/nav",cachetime: "30",success: function(e) {e.data.message.errno || (console.log(e.data.message.message), s.setData({navs: e.data.message.message}));}})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/76553.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于51单片机的称重电子秤proteus仿真设计

一、设计背景 随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。为了改变传统称重工具在使用上存在的问题&#xff0c;在本设计中将智能化、自动化、人性化用在了电子秤重的控制系统中。本系统主要由单片机来控制&#xff0c;测量物体重量部分使用称重传…

springCloud bean的加载流程

Spring Cloud是Spring的一个子项目&#xff0c;用于构建基于Spring Boot的分布式系统。在Spring Cloud中&#xff0c;Bean的加载过程与Spring框架的Bean加载过程相似&#xff0c;主要包括以下几个步骤&#xff1a; 1、读取配置文件&#xff1a;Spring Cloud从配置文件中加载Be…

Activiti7工作流引擎:在线流程编辑器Activiti Modoler5.x

一&#xff1a;简介 有的时候我们的流程图需要业务人员自己绘制&#xff0c;然后使用自己绘制的流程图&#xff0c;此时就需要一个在线流程图编辑器需要集成到我们的web系统中。Activiti Modoler是Activiti官方推出的在线流程编辑器。 二&#xff1a;pom.xml <dependency…

飞书公式总结

文本处理函数 飞书中的表格&#xff0c;需要实现 内容内容1条件1内容2条件2内容3条件3今天是周一;可以出去玩今天是周一能今天天气不错不能可以出去玩能 条件1&#xff0c;2&#xff0c;3为能时&#xff0c;把对应的内容1&#xff0c;内容2&#xff0c;内容3复制到内容 TEX…

Golang项目实战(三)

Golang项目实战&#xff08;三&#xff09; 该项目是使用grpcgin来构建的一个电商微服务项目&#xff0c;使用consul来注册和发现微服务。 项目简介创建项目架构创建货币服务创建货币微服务处理器将货币微服务注册到consul下载安装consul并发布服务创建商品微服务准备商品数据…

HNU小学期工训-STC15单片机模型大作业实验报告

STC15单片机模型大作业实验报告 全称&#xff1a;基于STC15单片机与OLED显示模块&PC端演示的多功能声光温振时钟智能手表模型 计科210X 甘晴void 202108010XXX 【请注意&#xff1a;本作业入选优秀范例&#xff0c;直接照抄源码有很大风险】 【建议理解原理之后作改动】 …

基于SSM框架的德云社票务系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

C#之位运算

符号&#xff1a;<< >> & | ^ ~ 作用&#xff1a;用于二进制数据的操作 表达式&#xff1a; 表达式 运算符 表达式 ~表达式或者是变量 优先级&#xff1a;~高于<< , >> 高于 & 高于 | ^ 结合性&#xff1a;左结合 说明&#xff1…

2024届校招-Java开发笔试题-S4卷

有三种题型&#xff1a;单项选择题&#xff08;10道&#xff09;、不定项选择题&#xff08;10道&#xff09;、编程题&#xff08;3道&#xff09; 下面是一些回忆的题目&#xff1a; 1.哪种设计模式将对象的创建与使用分离&#xff0c;通过工厂类创建对象 答&#xff1a;工…

Linux入门教程||Linux系统目录结构

登录系统后&#xff0c;在当前命令窗口下输入命令&#xff1a; ls / 你会看到如下图所示: 树状目录结构&#xff1a; 以下是对这些目录的解释&#xff1a; /bin&#xff1a; bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot&#xff1a; 这里存放的是启动Linux时…

RP9学习-1

一.基础 1.10个面板位置示意图&#xff1a; 2.常用英文 1.鼠标点击&#xff1a;click or tap 3.工作区 1.恢复默认工作区&#xff1a; view-->reset view 2.自定义工作区&#xff1a; 可以用鼠标左键拖动面板到独立的位置或者吸附到其他面板上 3.自定义工具栏 view-->T…

优漫动游 常见的AI视频生成网站的官方网站:

1、Lumen5 Lumen5是一款在线视频制作工具&#xff0c;利用人工智能技术能够迅速将文本、和音乐转换为视频。它可以帮助你把博客文章、社交媒体内容等转化为吸引人的视频&#xff0c;从而提高你的品牌曝光率和社交媒体的参与度。 2.Animoto Animoto是一个视频制作平台&…

使用element-ui导航,进入对应的三级页面菜单保持点击状态

1.注意事项 01.路由中使用了keepAlive属性&#xff0c;要用keepAlive&#xff1a;true&#xff0c;不能等于false&#xff0c;使用false页面会刷新 2.使用的方法 NavMenu 导航菜单 3.项目实例 <template><div class"policy-home"><div class"…

【Linux】工具Gdb调试轻度使用(C++)

目录 一、Gdb背景 二、Gdb基本命令 【2.1】list | l 【2.2】break | b 【2.5】delete | d 【2.6】disable 【2.7】enable 【2.3】info 【2.4】info locals 【2.6】run | r 【2.7】next | n 【2.8】step | s 【2.9】 continue | c 【2.10】bt 【2.11】finish 三…

docker镜像详解

目录 什么是docker镜像镜像相关命令docker pulldocker imagesdocker searchdocker rmi导出 / 导入镜像 镜像分层镜像摘要镜像摘要的作用分发散列值 什么是docker镜像 Docker镜像是Docker容器的基础组件&#xff0c;它包含了运行一个应用程序所需的一切&#xff0c;包括代码、运…

sqli第一关

1.在下使用火狐访问sqlilabs靶场并使用burpsuite代理火狐。左为sqlilabs第一关&#xff0c;右为burpsuite。 2.输入?id1 and 11 与?id1 and 12试试 可以看出没有变化哈&#xff0c;明显我们输入的语句被过滤了。在?id1后面尝试各种字符&#xff0c;发现单引号 包…

ssh总是很短时间自动断开连接

ssh断开连接 有时候使用ssh连接服务器&#xff0c;只是一会儿没用就自动断开连接了&#xff0c;又得重新连&#xff0c;很烦人&#xff0c;那么有没有办法可以让连接保持很久不断开呢&#xff1f;那肯定是有的 在/etc/ssh目录下的sshd_config就是用来配置ssh的&#xff0c;其对…

SpringAOP的使用总结

B站 【尚硅谷新版SSM框架全套视频教程&#xff0c;Spring6SpringBoot3最新SSM企业级开发】https://www.bilibili.com/video/BV1AP411s7D7?p47&vd_source726decf3eb63273901caae35ad437124 AOP即面向切面编程,通过使用一定的技术将非核心方法抽离出来,放入统一的类中进行…

微服务系统面经之三: 以秒杀系统为例-多级缓存及其更新机制

22 多级缓存&#xff08;百度一面&#xff09; 22.1 你用了什么缓存 答&#xff1a;本地内存redis 22.2 内存标记是如何被使用被更新的 22.3 什么时候修改这个第一层缓存&#xff08;内存标记&#xff09;&#xff0c;把它改为false 答&#xff1a;当redis预减库存为0的时…

vmware设置桥接模式后ip设置

网络连接方式设置 找到虚拟机里机器的网络设置 左边是宿主机&#xff0c;右边是虚拟机&#xff0c;按照这个设置就可以上网了(IP指定一个没有占用的值&#xff0c;子网掩码和网关设置成一样的)就可以联网了。 over~~