【原生】sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)

简介: 【原生】sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)

原生sd.js----------------------------------------------------------------

const API_ROOT_URL = "http://www.api.com";
const $d= {
    __getData(type, url, data, doing) {
        /**调用舒工AJAX-lite 1.0*/
        //别名转义 ----------------------------------------------------------------
        doing.s && (doing.success = doing.s); //精简别名
        doing.f && (doing.fail = doing.f); //精简别名
        doing.e && (doing.error = doing.e); //精简别名 
        $g.$utils.ajax({
            post: {type, url, data},
            get: {
                success(d) {
                    if (d.code == 0) {
                        doing.success && doing.success(d.data || d);
                    } else {
                        doing.fail && doing.fail(d);
                    }
                }, error(d) {
                    doing.error && doing.error(d);
                    console.log("【报错】" + JSON.stringify(d, null, 4));
                }
            }
        });
    },
    get(doing) {
        this.__getData("get", `${API_ROOT_URL}/apiPath/getName`, null, doing);
    },
    post(data, doing) {
        this.__getData("post", `${API_ROOT_URL}/apiPath/postName`, data, doing);
    }
};
<!--引入sd文件-->
<script src="js/sd.js"></script>
//调用sd
$d.get(
    {
        s: d => {
            /* loading.close();//停止加载*/
            console.log("拿到数据了", d);
        },
        f: d => {
            console.log("失败了", d);
        }
        /*,e:d=> {
            console.log("报错了", d);
        }*/
    }
);
$d.post(
    {param1: "参数值1"},
    {
        s: d => {
            /* loading.close();//停止加载*/
            console.log("拿到数据了", d);
        },
        f: d => {
            console.log("失败了", d);
        }
        /*,e:d=> {
            console.log("报错了", d);
        }*/
    }
);

vue axios的sd.js----------------------------------------------------------------

import axios from 'axios';
// const API_ROOT_URL = "http://xxxxxxxxxxxxx"; //公司测试服务器
const API_ROOT_URL = "https://xxxxxxxxxxxxx"; //学校正式服务器
axios.defaults.timeout = 10 * 60 * 1000; //设置默认超时时间10分钟
export default {
    _login_jwt: API_ROOT_URL + "/xxxxxxxxxxxxx", //首次登陆
    _gate_record_new: API_ROOT_URL + "/xxxxxxxxxxxxx", //入校登记记录
    _system_currentTime: API_ROOT_URL + "/xxxxxxxxxxxxx", //获取当前服务器系统时间
    _weixin_mp_config: API_ROOT_URL + "/xxxxxxxxxxxxx", //获取微信配置
    _turnoverSchool_getCode: API_ROOT_URL + "/xxxxxxxxxxxxx", //判断用户是不是被绿了
    __getData(type, url, data, doing, otherConfig = {}) {
        var headers = data ? data.headers : null;
        data && data.headers && delete data.headers
        JSON.stringify(data) === '{}' && (data = null)
        var axiosData = {
            method: type || "post",
            url,
            data
        }
        headers || (headers = {});
        headers['Content-type'] || (headers['Content-type'] = 'application/json');
        headers && (axiosData.headers = headers);
        axios(axiosData).then(d => {
            d = d.data;
            if (d.code == 0) {
                doing.success && doing.success(otherConfig.isGetAllData ? d : (d.data || d));
            } else {
                doing.fail && doing.fail(d);
            }
        }).catch(d => {
            doing.error && doing.error(d);
            console.log("【报错】" + JSON.stringify(d, null, 4));
        })
    },
    // 用户登录接口
    login_jwt(data, doing) {
        var url = this._login_jwt;
        this.__getData("post", url, data, doing);
    },
    // 存储扫码用户记录
    gate_record_new(data, doing) {
        var url = this._gate_record_new;
        this.__getData("post", url, data, doing);
    },
    // 获取服务器系统时间
    system_currentTime(data, doing) {
        var url = this._system_currentTime;
        this.__getData("get", url, data, doing);
    },
    // 获取微信配置(获取用户坐标之前需要)
    weixin_mp_config(data, doing) {
        var url = this._weixin_mp_config + '?url=' + data.url;
        this.__getData("get", url, null, doing);
    },
    // 判断绿码
    turnoverSchool_getCode(data, doing) {
        var url = this._turnoverSchool_getCode;
        this.__getData("get", url, data, doing);
    },
}

main.js引入

 import sdfrom './sd';
 Vue.prototype.$d= sd;

. vue调用

methods: {
    firstLogin() {
      this.showLoading = true;
      var data = { username: this.ucode, password: this.psw };
      this.$d.login_jwt(data, {
        success: d => {
          this.showLoading = false;
          this.success = true;
          this.$common.cookie.set("token", d.token); //存储余老师酷爱的token,他特别讨厌每次都重新登陆!
          this.playSuccessSound();
          // console.log("拿到数据了", d);
        },
        fail: d => {
          console.log("失败了", d.msg);
        }/*,error:d=> {
            console.log("报错了", d);
        }*/
      });
    },
    autoLogin() {
      this.showLoading = true;
      var data = {};
      data.headers = {
        "X-Authorization": this.$common.cookie.get("token")
      };
      this.$d.login_jwt(data, {
        success: d => {
          this.showLoading = false;
          this.success = true;
          this.playSuccessSound();
          console.log("拿到数据了", d);
        },
        fail: d => {
          console.log("失败了", d.msg);
        }/*,error:d=> {
            console.log("报错了", d);
        }*/
      });
    }
相关文章
|
4月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
495 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
4月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
451 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
4月前
|
安全 5G 语音技术
Cisco ASR 9000 Router IOS XR Release 7.11.2 MD - ASR 9000 系列聚合服务路由器系统软件
Cisco ASR 9000 Router IOS XR Release 7.11.2 MD - ASR 9000 系列聚合服务路由器系统软件
252 4
Cisco ASR 9000 Router IOS XR Release 7.11.2 MD - ASR 9000 系列聚合服务路由器系统软件
|
4月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
884 4
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
4月前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
245 0
|
8月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法详解
本指南详细介绍在Linux系统中安装和管理Node.js的步骤。首先检查现有环境,包括查看当前版本和清除旧版本;接着通过NodeSource仓库安装最新版Node.js并验证安装结果。推荐使用nvm(Node Version Manager)进行多版本管理,便于切换和设置默认版本。同时,提供常见问题解决方法,如权限错误处理和全局模块迁移方案,以及版本回滚操作,确保用户能够灵活应对不同需求。
748 0
|
8月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法
Debian 11更新Node.js主要就是这三种方式,无论你是初涉其中的新手还是找寻挑战的专家,总有一种方式能满足你的需求。现在,你已经是这个
885 80
|
云安全 安全 Cloud Native
Cisco Catalyst 8000 Series IOS XE 17.18.1a ED 发布 - 思科边缘平台系列系统软件
Cisco Catalyst 8000 Series IOS XE 17.18.1a ED - 思科边缘平台系列系统软件
164 0
|
运维 监控 安全
Cisco ISR 4000 Series IOS XE 17.18.1a ED 发布 - 思科 4000 系列集成服务路由器 IOS XE 系统软件
Cisco ISR 4000 Series IOS XE 17.18.1a ED - 思科 4000 系列集成服务路由器 IOS XE 系统软件
195 0
|
人工智能 监控 安全
思科 Catalyst 9000 交换产品系列 IOS XE 系统软件 17.18.1 ED
Cisco Catalyst 9000 Series Switches, IOS XE Release 17.18.1 ED
212 0

热门文章

最新文章