当前位置: 首页 > news >正文

js封装SDK 在VUE、小程序、公众号直接调用js调用后端接口(本文以vue项目为例)

1.封装一个js文件msgSdk.js

注意:需要修改这个请求地址  apiServiceAddress

;(function () {if (window.msgSdk) {return}var msgSdk = (function () {var m_msgSdk = thisvar apiServiceAddress="http://172.12.14.5:8000"this.I_SendHTTPRequest = function (msgApiUrl, methodType,option) {let oPromise = new Promise(async function (resolve, reject) {let url=apiServiceAddress+msgApiUrl$.ajax({url: url, // 请求的URLmethod: methodType, // 请求方法,可以是GET、POST、PUT、DELETE等data: {...option}, // 发送到服务器的数据success: function(data) {// 请求成功时的回调函数resolve(data)},error: function(jqXHR, textStatus, errorThrown) {// 请求失败时的回调函数reject(errorThrown)}});})return oPromise}// 站内this.M_inStation = function (options) {let oPromise = new Promise((resolve, reject) => {this.m_ISAPIProtocol.station(options).then(() => {resolve()},oError => {reject(oError)})})return oPromise}// 小程序this.M_miniProject = function (options) {let oPromise = new Promise((resolve, reject) => {this.m_ISAPIProtocol.miniProject(options).then(() => {resolve()},oError => {reject(oError)})})return oPromise}// 公众号this.M_officialAccount = function (options) {let oPromise = new Promise((resolve, reject) => {this.m_ISAPIProtocol.officialAccount(options).then(() => {resolve()},oError => {reject(oError)})})return oPromise}// appthis.M_App = function (options) {let oPromise = new Promise((resolve, reject) => {this.m_ISAPIProtocol.App(options).then(() => {resolve()},oError => {reject(oError)})})return oPromise}// 短信this.M_textMessage = function (options) {let oPromise = new Promise((resolve, reject) => {this.m_ISAPIProtocol.textMessage(options).then(() => {resolve()},oError => {reject(oError)})})return oPromise}// 企业微信this.M_weCom = function (options) {let oPromise = new Promise((resolve, reject) => {this.m_ISAPIProtocol.weCom(options).then(() => {resolve()},oError => {reject(oError)})})return oPromise}var ISAPIProtocol = function () {}// 站内消息ISAPIProtocol.prototype.station = function (options) {return m_msgSdk.I_SendHTTPRequest("/ISAPI/Security/userCheck?format=json","get",options )}// 小程序ISAPIProtocol.prototype.miniProject = function (options) {return m_msgSdk.I_SendHTTPRequest("/ISAPI/Security/userCheck?format=json","get",options )}// 公众号ISAPIProtocol.prototype.officialAccount = function (options) {return m_msgSdk.I_SendHTTPRequest("/ISAPI/Security/userCheck?format=json","get",options )}// appISAPIProtocol.prototype.App = function (options) {return m_msgSdk.I_SendHTTPRequest("/ISAPI/Security/userCheck?format=json","get",options )}// 短信ISAPIProtocol.prototype.textMessage = function (options) {return m_msgSdk.I_SendHTTPRequest("/ISAPI/Security/userCheck?format=json","get",options )}// 企业微信ISAPIProtocol.prototype.weCom = function (options) {return m_msgSdk.I_SendHTTPRequest("/ISAPI/Security/weCom?weCom","get",options )}m_ISAPIProtocol = new ISAPIProtocol()return this})()var NS = (window.msgSdk = msgSdk)NS.version = '1.0.0'
})(this)
if ('object' === typeof exports && typeof module !== 'undefined') {
} else if ('function' === typeof define && define.amd) {define(function () {return msgSdk})
} else if ('function' === typeof define && define.cmd) {define(function (require, exports, module) {module.exports = msgSdk})
} else {
}

2.在index.html中引入msgSdk.js文件jquery文件

<script src="./static/js/jquery-1.7.1.min.js"></script>
<script src="./static/js/msgSdk.js"></script>

3.在页面中调用

 mounted() {let oDeviceInfo = {IP: "http://666",Port: "8000",Auth: "95484",}msgSdk.M_weCom(oDeviceInfo).then((data) => {console.log(data,"data");},(error) => {console.log(error,"error");});}

http://www.lryc.cn/news/321671.html

相关文章:

  • ideaSSM社区二手交易平台C2C模式开发mysql数据库web结构java编程计算机网页源码maven项目
  • 利用子类化技术拦截win32窗口各种消息(包括但不限于鼠标键盘消息)
  • HCIP—OSPF课后练习一
  • Android 13.0 kenel和frameworks中修改ram运行内存的功能实现
  • 如何将应用程序发布到 App Store
  • Python进程与线程开发
  • 【3DsMax】UVW展开——以制作牙膏盒为例
  • Mysql数据库概念与安装
  • 【Java - 框架 - SpringMVC】(01) SpringMVC框架的简单创建与使用,快速上手
  • 框架篇常见面试题
  • 【刷题】滑动窗口入门
  • 【Python 48小时速成 3】输入与输出
  • API开发小红书接口获得小红书笔记详情API接口请求接入演示
  • Python条件语句深度解析:从基础到应用的全面指南
  • 【leetcode热题】 地下城游戏
  • Centos7安装ffmpeg
  • 安卓面试题多线程 81-85
  • Java基础知识总结(8)
  • C++基础入门(命名空间,函数,引用)
  • 【译】矢量数据库 101 - 什么是矢量数据库?
  • Python Web开发记录 Day12:Django part6 用户登录
  • SpringTask实现的任务调度与XXL-job实现的分布式任务调度【XXL-Job工作原理】
  • 【java】图书管理系统
  • C#实现约瑟夫环算法
  • 游戏服务端配置“热更”及“秒启动”终极方案(golang/ygluu/卢益贵)
  • 鸿蒙开发的入门
  • 为什么要减少Http的请求以及如何减少Http请求
  • Linux性能测试工具整理
  • 前端路由history路由和hash路由的区别?原理?
  • AcWing 727. 菱形——像拼图一样做题