|
@@ -1,35 +1,101 @@
|
|
|
/**
|
|
|
- * 本文件主要是工具类函数
|
|
|
- */
|
|
|
-
|
|
|
-
|
|
|
- /*
|
|
|
- 自己基于wx.request封装的一个请求函数(粗陋封装各位不要笑话)
|
|
|
- 因为在小程序开发中request是最常用的api所以会造成很多的代码重复
|
|
|
- 因此将其在封装之后可以大大的减少代码的复用
|
|
|
-*/
|
|
|
-let myRequest = function(args = {url:'',methods:'GET', data:{}, success:function(){},fail:function(){}}){
|
|
|
- wx.request({
|
|
|
- url: args.url,
|
|
|
- data: args.data,
|
|
|
- header: {'content-type':'application/json'},
|
|
|
- method: args.methods,
|
|
|
- dataType: 'json',
|
|
|
- responseType: 'text',
|
|
|
- success: (res)=>{
|
|
|
- console.log(res);
|
|
|
- if(res.statusCode == 200){
|
|
|
- // 请求成功执行回调函数
|
|
|
- args.success(res)
|
|
|
- }else{
|
|
|
- // 请求失败执行回调函数
|
|
|
- args.fail()
|
|
|
- }
|
|
|
- },
|
|
|
- })
|
|
|
+ * Created by PanJiaChen on 16/11/18.
|
|
|
+ * 避免重复造轮子,这里照搬花裤衩大佬的代码使用
|
|
|
+ */
|
|
|
+
|
|
|
+/**
|
|
|
+ * @param {string} path
|
|
|
+ * @returns {Boolean}
|
|
|
+ */
|
|
|
+function isExternal(path) {
|
|
|
+ return /^(https?:|mailto:|tel:)/.test(path)
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @param {string} str
|
|
|
+ * @returns {Boolean}
|
|
|
+ */
|
|
|
+function validUsername(str) {
|
|
|
+ const valid_map = ['admin', 'editor']
|
|
|
+ return valid_map.indexOf(str.trim()) >= 0
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @param {string} url
|
|
|
+ * @returns {Boolean}
|
|
|
+ */
|
|
|
+function validURL(url) {
|
|
|
+ const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
|
|
|
+ return reg.test(url)
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @param {string} str
|
|
|
+ * @returns {Boolean}
|
|
|
+ */
|
|
|
+function validLowerCase(str) {
|
|
|
+ const reg = /^[a-z]+$/
|
|
|
+ return reg.test(str)
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @param {string} str
|
|
|
+ * @returns {Boolean}
|
|
|
+ */
|
|
|
+function validUpperCase(str) {
|
|
|
+ const reg = /^[A-Z]+$/
|
|
|
+ return reg.test(str)
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @param {string} str
|
|
|
+ * @returns {Boolean}
|
|
|
+ */
|
|
|
+function validAlphabets(str) {
|
|
|
+ const reg = /^[A-Za-z]+$/
|
|
|
+ return reg.test(str)
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @param {string} email
|
|
|
+ * @returns {Boolean}
|
|
|
+ */
|
|
|
+function validEmail(email) {
|
|
|
+ const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
|
|
|
+ return reg.test(email)
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @param {string} str
|
|
|
+ * @returns {Boolean}
|
|
|
+ */
|
|
|
+function isString(str) {
|
|
|
+ if (typeof str === 'string' || str instanceof String) {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @param {Array} arg
|
|
|
+ * @returns {Boolean}
|
|
|
+ */
|
|
|
+function isArray(arg) {
|
|
|
+ if (typeof Array.isArray === 'undefined') {
|
|
|
+ return Object.prototype.toString.call(arg) === '[object Array]'
|
|
|
+ }
|
|
|
+ return Array.isArray(arg)
|
|
|
}
|
|
|
|
|
|
// 向外暴露接口
|
|
|
module.exports = {
|
|
|
- myRequest : myRequest
|
|
|
+ isExternal,
|
|
|
+ validUsername,
|
|
|
+ validURL,
|
|
|
+ validLowerCase,
|
|
|
+ validUpperCase,
|
|
|
+ validAlphabets,
|
|
|
+ validEmail,
|
|
|
+ isString,
|
|
|
+ isArray
|
|
|
}
|