【原生】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);
        }*/
      });
    }
目录
打赏
0
0
0
0
73
分享
相关文章
|
2月前
|
Cisco Catalyst 9800 Wireless Controller, IOS XE Release 17.17.1 ED - 思科无线控制器系统软件
Cisco Catalyst 9800 Wireless Controller, IOS XE Release 17.17.1 ED - 思科无线控制器系统软件
78 9
Cisco Catalyst 9800 Wireless Controller, IOS XE Release 17.17.1 ED - 思科无线控制器系统软件
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
40 11
Android 文件数据储存之内部储存 + 外部储存
简介:本文详细介绍了Android内部存储与外部存储的使用方法及核心原理。内部存储位于手机内存中,默认私有,适合存储SharedPreferences、SQLite数据库等重要数据,应用卸载后数据会被清除。外部存储包括公共文件和私有文件,支持SD卡或内部不可移除存储,需申请权限访问。文章通过代码示例展示了如何保存、读取、追加、删除文件以及将图片保存到系统相册的操作,帮助开发者理解存储机制并实现相关功能。
551 2
Android系统SELinux安全机制详解
如此看来,SELinux对于大家来说,就像那位不眠不休,严阵以待的港口管理员,守护我们安卓系统的平安,维护这片海港的和谐生态。SELinux就这样,默默无闻,却卫士如山,给予Android系统一份厚重的安全保障。
152 18
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
318 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
算法系统协同优化,vivo与港中文推出BlueLM-V-3B,手机秒变多模态AI专家
BlueLM-V-3B是由vivo与香港中文大学共同研发的多模态大型语言模型,专为移动设备优化。它通过算法和系统协同优化,实现了高效部署和快速生成速度(24.4 token/s),并在OpenCompass基准测试中取得优异成绩(66.1分)。模型小巧,语言部分含27亿参数,视觉编码器含4000万参数,适合移动设备使用。尽管如此,低端设备可能仍面临资源压力,实际应用效果需进一步验证。论文链接:https://arxiv.org/abs/2411.10640。
168 9
深入探索Android与iOS系统安全性的对比分析
在当今数字化时代,移动操作系统的安全已成为用户和开发者共同关注的重点。本文旨在通过比较Android与iOS两大主流操作系统在安全性方面的差异,揭示两者在设计理念、权限管理、应用审核机制等方面的不同之处。我们将探讨这些差异如何影响用户的安全体验以及可能带来的风险。
342 21
深入探索Android系统的内存管理机制
本文旨在全面解析Android系统的内存管理机制,包括其工作原理、常见问题及其解决方案。通过对Android内存模型的深入分析,本文将帮助开发者更好地理解内存分配、回收以及优化策略,从而提高应用性能和用户体验。
探索Android系统的最新安全特性
在数字时代,智能手机已成为我们生活中不可或缺的一部分。随着技术的不断进步,手机操作系统的安全性也越来越受到重视。本文将深入探讨Android系统最新的安全特性,包括其设计理念、实施方式以及对用户的影响。通过分析这些安全措施如何保护用户免受恶意软件和网络攻击的威胁,我们希望为读者提供对Android安全性的全面了解。
深入探讨Android与iOS系统的差异及未来发展趋势
本文旨在深入分析Android和iOS两大移动操作系统的核心技术差异、用户体验以及各自的市场表现,进一步探讨它们在未来技术革新中可能的发展方向。通过对比两者的开放性、安全性、生态系统等方面,本文揭示了两大系统在移动设备市场中的竞争态势和潜在变革。
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问