前端公共 Js 函数库使用指南

前端公共 Js 函数库使用指南

此插件基于传统项开发方式,将项目开发过程常用函数进行集成,并封装了统一ajax 网络请求函数,对微信官方jssdk也进行二次封装,同时还提供了常用的页面交互组件(无需编写 html 结构,由 js 自动构建)。此插件适用于传统 html+css+js 开发的项目,使用此插件可有效提升开发效率。


起步


1. 接入 common.js

直接script标签引入
<script src='https://****/common3.0.js'></script>



2. 构造函数暴露方式参考

插件会自动根据当前用户模块环境将构造函数暴露出来使用。

  // commonjs模块规范
  if (typeof module === "object" && typeof module.exports === "object") {

    // commonjs模块规范
    module.exports = commonFunction();
  } else if (typeof define === "function" && define.amd) {

    // AMD模块规范
    define(function (require, exports, module) {
      module.exports = commonFunction();
    });
  } else if (typeof define === "function" && define.cmd) {

    // CMD模块规范
    define(function (require, exports, module) {
      module.exports = commonFunction();
    });
  } else {

    // 无模块环境 将commonFunction暴露到全局
    root.common = commonFunction();
  }


3. 初始化构造函数

构造函数参数说明:

参数名用途默认值
baseUrl接口请求基础路径空字符串
env应用环境dev开发环境 prd生产环境 (开发环境下会打开vconsole调试)dev
requestLoading发送网络请求时是否展示 loadingtrue

示例:

  const commom = new commonFunction({
    baseUrl:"",
    env:"",
    requestLoading:""
  })



工具函数


方法列表

函数名用途参数返回值
getEnvironment获取当前应用环境返回当前应用环境 wxapp:微信小程序 wxh5:微信h5 browser:普通浏览器 app:手机app应用
countDown计算倒计时date:传入倒计时结束时间的时间戳或日期字符串object倒计时信息
format将时间戳转换为日期字符串timeStamp:时间戳日期字符串如:2023-09-20 00:00:00
randomInt指定范围计算随机整数min:最小值 max:最大值随机整数
randomFloat指定范围计算随机浮点数min:最小值 max:最大值随机浮点数
shuffle将数组顺序打乱array:原数组乱序后的数组
groupBy根据数组内对象属性进行分类arr:数组对象 attr:用于分类的属性值分类后的数据
parseQueryString获取 url 参数,并组合成对象返回url:需要获取参数的url地址页面参数对象
getFromData将 from 表单中的数据一次性获取并转换为对象id:from表单的idobject:from表单中的数据
getQueryVariable查询指定 url 参数variable:参数名指定的参数值
checkUrl判断当前页面网络协议isReplace:当前页面为http时是否自动跳转到httpsboolean:是否为https协议



网络请求


方法列表:

函数名用途
request (Promise)网络请求
setAuthData设置请求头


1. Request 网络请求

此函数为基于Jquery Ajax方法的基础上进行的二次封装,用于发送请求,与后端服务器进行交互。

示例:

  //初始化构造函数
  const common = new commonFunction()
  //发送请求
  common.request({
    url:"", //接口地址
    type:"", //请求方式
    contentType:"",
    headers:{},
    hsXhrFields:true,
    beforRequest:()=>{},
    data:"" //请求参数
  }).then(res=>{
    //请求成功
  }).catch(err=>{
    //请求失败
  })

参数说明:

参数名说明默认值
url (string)后端接口地址
type (string)请求方式GET
data (object)请求参数
contentType (string)数据类型JSON
headers (object)请求头
hsXhrFields (boolean)是否携带跨域凭证true
beforRequest (function)请求发送前执行的函数Function

(若初始化 common 实例对象时指定了baseUrl 参数且 url 参数地址不以http 或 https开头则会将 baseUrl 与 Url 进行拼接)



2. setAuthData 设置接口调用凭证

在项目开发中可能会遇到接口请求需要在请求头中携带调用凭证(token),setAuthData 方法就是为应对这种情况的,通过调用此方法可往全局接口请求头中添加想要的字段,单个页面调用一次即。

示例:

  const common = new commonFunction()
  //往全局请求头中添加接口调用凭证
  common.setAuthData('base Token','value***********')

参数列表:

参数名说明默认值
key (string)接口调用凭证的 key
value (string)接口调用凭证的值



微信 JSSDK


插件对微信weixin-js-sdk进行了二次封装,旨在提升微信开发效率。

方法列表:

函数名用途
wechatConfig (Promise)微信 jssdk 鉴权
shareConfig (Promise)配置微信分享
getSites (Promise)获取用户位置信息


1. wechatConfig 微信 Jssdk 鉴权方法

此方法用于 jssdk 鉴权操作,调用微信相关 api 如微信分享,获取位置信息等,都需要先调用鉴权方法且鉴权通过后才能调用。

示例:

const common = new commonFunction()
common.wechatConfig({
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  appId: '', // 必填,公众号的唯一标识
  timestamp: , // 必填,生成签名的时间戳
  nonceStr: '', // 必填,生成签名的随机串
  signature: '',// 必填,签名
  jsApiList: [] // 必填,需要使用的JS接口列表
}).then(res=>{
  //鉴权成功
}).catch(err=>{
  //鉴权失败
})

参数列表:

参数名说明默认值
configData (object)微信鉴权参数


2. shareConfig 配置微信分享

调用此方法可以配置微信应用内分享消息卡片的标题,缩略图,描述等信息。(需要先调用微信鉴权方法且鉴权通过后才可配置成功)

示例:

const common = new commonFunction()

const isPass = await common.wechatConfig(configData)

//判断鉴权是否通过
if(!isPass) return;

common.shareConfig({
    title: window.title, //分享标题
    link: location.href, //分享地址
    desc: "", //分享描述
    imgUrl: "", //分享缩略图
    success(res) {}, //分享成功回调函数
    cancel(can) {}, //取消分享回调函数
    fail(fail) {}, //分享失败回调函数
})

参数列表:

参数名说明默认值
options (object)微信分享配置信息{title: window.title,link: location.href,desc: "",imgUrl: "",success(res) {},cancel(can) {},fail(fail) {},}


3. getSites 获取用户位置信息

返回当前用户位置信息(需要先调用微信鉴权方法且鉴权通过后才可配置成功)
示例:

  const common = new commonFunction()

  const isPass = await common.wechatConfig(configData)

  //判断鉴权是否通过
  if(!isPass) return;

  common.getSites('wgs84').then(res=>{
   // 获取成功
   console.log(res)
  }).catch(err=>{
   // 获取失败
   console.log(err)
  })

  //默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'

参数列表:

参数名说明默认值
type (String)默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入gcj02wgs84


页面交互


方法列表
函数名用途参数
showToast显示提示文字text:提示文案 times:持续时间
alert弹出对话框option:配置参数 callback:弹窗按钮点击后回调函数
confirm弹出确认对话框option:配置参数 confirm:点击确认回调函数 cancel:点击取消回调函数
loading显示loading加载层title:加载标题
hideLoading关闭loading弹窗callback:关闭后回调函数
close关闭弹框type:弹窗类型(合法值:alert,confirm,toast,loading)

调用示例:

showToast 提示框
common.showToast("加载中", 1000, () => {
  //提示框关闭回调
  console.log("toast close");
});

alert 对话框
common.alert({
  title:'提示',
  content:'确认框'
},()=>{
  //点击确认后回调函数 默认关闭弹窗
  console.log('close alert')
})

confirm 确认框
common.confirm(
  {
    title: "提示",
    content: "是否确认*****",
    hsCancel: true, // 是否展示取消按钮
    cancelText: "算了", //取消按钮文案
    hsConfirm: true, //是否展示确认按钮
    confirm: "确认",
  },
  () => {
    //点击确认
    console.log("confirm click");
  },
  () => {
    //点击取消
    console.log("cancel click");
  }
);

loading 加载框
common.loading("加载中")

hideLoading 关闭加载框
common.hideLoading()





Created Date: 2023.09.28
Developer: Weesion.Zhang(张文璇)
Email: weesionzhang@gmail.com
Version: 3.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一本少有的、颇具特色的、能为初学者提供捷径的JavaScript实践指南,它由资深Web前端工程师撰,以渐进增强的开发方式系统讲解了JavaScript的各项最新技术、开发技巧、最佳实践,以及编码风格,通过大量清晰易懂的范例和精心设计的练习题,让读者能迅速掌握JavaScript实践开发技能。 全书共分12章。第1章介绍了渐进增强模型的定义,剖析了模型的架构(结构层、表现层和行为层)和优势,并对比了“渐进增强”与“平稳退化”。第2章介绍了如何在浏览器中运用JavaScript语言,初步提到适时运用CSS规则、提升用户体验的原则。第3章解析与DOM、数据存储、创建交互层等有关的术语。第4章介绍DOM的基本构成和操作。第5章讲解了JavaScript数据存储的形式和多种操作方法,其中涵盖流行的JSON格式,以及HTML5标准的网络数据存储方式。第6章介绍编程所需变量、函数及循环知识。第7章介绍以事件处理实现用户交互的方法。第8章介绍如何通过Ajax与服务器通信。第9章介绍代码组织方式和风格,提升代码的高效率、可读性和可复用性。第10章介绍通过程序库更便捷地编JavaScript代码,涵盖jQuery、插件、微型程序库等。第11章介绍实用、前沿的HTML5 JavaScript API,其中不乏新增API。第12章对关键知识点进行了梳理,并针对网站设计师和网站开发者给出相应的深入研究方向。
### 回答1: 《深入浅出vue.js前端开发实战》是一本非常不错的前端开发实战书籍,书中详细介绍了Vue.js的设计原理和基础知识,包括组件、实例、指令、模板、数据绑定、事件、生命周期等方面的知识。读者可以通过实践来深入了解和掌握Vue.js的使用。此外,书中还介绍了Vue.js的高级特性,如混入、自定义指令、插件等,这对于提升前端开发的水平非常有帮助。 此外,书籍还提供了源码设计分析,可以帮助读者更深入地了解Vue.js的内部实现和优化思路。对于想要成为前端架构师的人来说,这是非常有价值的学习资料。 针对初学者,《JavaScript编程入门PDF》是一本非常不错的入门书籍。书中从基础知识入手,循序渐进地介绍了JavaScript的语法、数据类型、运算符、表达式、函数、作用域、闭包等基础知识,并提供了大量实例和练习,帮助读者逐步掌握JavaScript编程。 总之,《出版社旗舰店》中推荐的这些前端开发书籍,涵盖了Vue.js、计算机工程、web开发JavaScript编程等多个方面的知识,非常适合前端开发人员和初学者学习和提高自己的专业技能。 ### 回答2: 《Vue.js 技术内幕》是一本深入浅出的前端开发实战书籍,主要介绍了 Vue.js 的原理及其应用。本书内容包括 Vue.js 的生命周期、响应式原理、虚拟 DOM、组件化开发等内容,适合想要深入了解 Vue.js 技术的开发者阅读。 此外,本书还提供了大量实例代码,方便读者进行实践操作。对于想要成为前端框架架构师的读者,本书也是一本必备的参考资料。 《深入浅出 Vue.js 前端开发实战》同样是一本非常实用的前端开发实战书籍,该书从实战角度出发,深入到 Vue.js 的各个使用场景,通过实例代码进行讲解,加深对 Vue.js 技术的理解。 此外,本书还介绍了许多前端开发常用的工具库和插件,帮助读者高效完成开发任务,对于即将开始前端开发的新手,可以作为一个非常好的入门教材。 《源码设计分析:前端框架架构师 Web 开发》是一本更加深入的前端开发实战指南,不仅讲述了 Vue.js、React 等前端框架的技术应用原理,还介绍了前端工程化开发方式,从项目组织、模块化、自动化构建等多个方面进行实例操作。 《JavaScript 编程入门 PDF》是一本非常适合新手学习的编程入门书籍,该书详细介绍了 JavaScript 的语法、基本概念和常见应用场景。 综上所述,以上四本书籍都是非常实用的前端开发指南,适合不同程度的读者学习。无论作为前端开发新手、想要深入了解 Vue.js 技术的开发者,还是想成为前端框架架构师的读者,这些书籍都是非常好的参考资料。同时,这些书籍可以在出版社旗舰店中找到。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值