Quellcode durchsuchen

'初始化项目'

周杰伦 vor 4 Jahren
Ursprung
Commit
b21e998cd2
11 geänderte Dateien mit 278 neuen und 15 gelöschten Zeilen
  1. 17 0
      src/filters/index.js
  2. 8 2
      src/main.js
  3. 18 12
      src/manifest.json
  4. 3 1
      src/pages.json
  5. 0 0
      src/store/index.js
  6. 12 0
      src/utils/config.js
  7. 33 0
      src/utils/request.js
  8. 146 0
      src/utils/tip.js
  9. 41 0
      src/utils/wxBusiness.js
  10. 0 0
      src/utils/wxConfig.js
  11. 0 0
      src/utils/wxTool.js

+ 17 - 0
src/filters/index.js

@@ -0,0 +1,17 @@
+/*
+    @param {Number} time 时间戳  
+*/
+ const  formatDate = (time) => {
+   let date = new Date(time);
+   var YY = date.getFullYear() + '-';
+   var MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
+   var DD = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate());
+   var hh = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
+   var mm = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
+   var ss = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
+   return YY + MM + DD +hh + mm + ss
+}
+
+export default {
+    formatDate
+}

+ 8 - 2
src/main.js

@@ -1,11 +1,17 @@
 import Vue from 'vue'
 import App from './App'
 
+import store from './store/index.js'
 Vue.config.productionTip = false
+Vue.prototype.$store = store
 
+Object.keys( filters ).forEach(filter => {
+  Vue.filter(filter, filters[filter])
+})
 App.mpType = 'app'
 
 const app = new Vue({
-  ...App
+  ...App,
+  store
 })
-app.$mount()
+app.$mount()

+ 18 - 12
src/manifest.json

@@ -58,18 +58,24 @@
 		"setting": {
 			"urlCheck": false
 		},
+		// 用户获取用户地理位置授权
+		"permission": {
+			"scope.userLocation": {
+				"desc": "你的位置信息将用于小程序位置"
+			}
+		},
 		"usingComponents": true
 	},
-	"mp-alipay" : {
-        "usingComponents" : true
-    },
-    "mp-baidu" : {
-        "usingComponents" : true
-    },
-    "mp-toutiao" : {
-        "usingComponents" : true
-    },
-    "mp-qq" : {
-        "usingComponents" : true
+	"mp-alipay" : {
+        "usingComponents" : true
+    },
+    "mp-baidu" : {
+        "usingComponents" : true
+    },
+    "mp-toutiao" : {
+        "usingComponents" : true
+    },
+    "mp-qq" : {
+        "usingComponents" : true
     }
-}
+}

+ 3 - 1
src/pages.json

@@ -12,5 +12,7 @@
 		"navigationBarTitleText": "uni-app",
 		"navigationBarBackgroundColor": "#F8F8F8",
 		"backgroundColor": "#F8F8F8"
+		// 自定义导航栏
+		// "navigationStyle": "custom" 
 	}
-}
+}

+ 0 - 0
src/store/index.js


+ 12 - 0
src/utils/config.js

@@ -0,0 +1,12 @@
+let BASEURL = ""
+
+if(process.env.NODE_ENV === 'development'){
+    // 开发环境
+
+    // BASEURL = 'http://127.0.0.1:38092'
+}else{
+    // 生产环境
+    // BASEURL = 'http://127.0.0.1:38092'
+}
+
+export default BASEURL

+ 33 - 0
src/utils/request.js

@@ -0,0 +1,33 @@
+import BASEURL from './config'
+import Tip from './tip'
+// import { removeLocalStorage, getLocalStorage } from '@/plug/wxPlug.js'
+
+const request = async(params = {}) => {
+  Tip.loading();
+    let data = params.query || {};
+    let url = BASEURL + params.url;
+    let method = params.method
+    let token = uni.getStorageSync('token');
+    
+    // if (params.method === 'GET') {}
+    const res = await uni.request({
+        url: url,
+        method: method,
+        data: data,
+        header: {
+            'Content-Type': 'application/json',
+            token
+        }
+    })
+    Tip.loaded();
+    console.log(res);
+
+
+  return res[1];
+
+
+}
+
+module.exports = {
+    request
+  }

+ 146 - 0
src/utils/tip.js

@@ -0,0 +1,146 @@
+/**
+ * 提示与加载工具类
+ */
+export default class Tips {
+    constructor() {
+      this.isLoading = false;
+    }
+    /**
+     * 弹出提示框
+     */
+  
+    static success(title, duration = 500) {
+      setTimeout(() => {
+        wx.showToast({
+          title: title,
+          icon: "success",
+          mask: true,
+          duration: duration
+        });
+      }, 300);
+      if (duration > 0) {
+        return new Promise((resolve, reject) => {
+          setTimeout(() => {
+            resolve();
+          }, duration);
+        });
+      }
+    }
+  
+    /**
+     * 弹出确认窗口
+     */
+    static confirm(text, payload = {}, title = "提示") {
+      return new Promise((resolve, reject) => {
+        wx.showModal({
+          title: title,
+          content: text,
+          showCancel: true,
+          success: res => {
+            if (res.confirm) {
+              console.log(res.confirm);
+              
+              resolve(res.confirm);
+            } else if (res.cancel) {
+              reject(res.confirm);
+            }
+          },
+          fail: res => {
+            reject(res.confirm);
+            console.log(res);
+          }
+        });
+      });
+    }
+  
+    static toast(title, onHide, icon = "success") {
+      setTimeout(() => {
+        wx.showToast({
+          title: title,
+          icon: icon,
+          mask: true,
+          duration: 500
+        });
+      }, 300);
+  
+      // 隐藏结束回调
+      if (onHide) {
+        setTimeout(() => {
+          onHide();
+        }, 500);
+      }
+    }
+  
+    /**
+     * 警告框
+     */
+    static alert(title) {
+      wx.showToast({
+        title: title,
+        image: "../images/alert.png",
+        mask: true,
+        duration: 1500
+      });
+    }
+  
+    /**
+     * 错误框
+     */
+  
+    static error(title, onHide) {
+      wx.showToast({
+        title: title,
+        icon: 'none',
+       
+        mask: true,
+        duration: 1500
+      });
+      // 隐藏结束回调
+      if (onHide) {
+        setTimeout(() => {
+          onHide();
+        }, 500);
+      }
+    }
+  
+    /**
+     * 弹出加载提示
+     */
+    static loading(title = "加载中") {
+      if (Tips.isLoading) {
+        return;
+      }
+      Tips.isLoading = true;
+      wx.showLoading({
+        title: title,
+        mask: true
+      });
+    }
+  
+    /**
+     * 加载完毕
+     */
+    static loaded() {
+      if (Tips.isLoading) {
+        Tips.isLoading = false;
+        wx.hideLoading();
+      }
+    }
+  
+    static share(title, url, desc) {
+      return {
+        title: title,
+        path: url,
+        desc: desc,
+        success: function(res) {
+          Tips.toast("分享成功");
+        }
+      };
+    }
+  }
+  
+  /**
+   * 静态变量,是否加载中
+   */
+  Tips.isLoading = false;
+  

+ 41 - 0
src/utils/wxBusiness.js

@@ -0,0 +1,41 @@
+// 请求微信支付
+// import { payOrder } from '@/api/order.js'
+export  function requestWxPay (params)  {
+
+    
+    return new Promise( async (resolve, reject) => {
+        const { data } = await payOrder(params)
+        if (data.code === '200') {
+           let res  = await wxPay(params.orderId, data.result.appId,data.result.nonceStr, data.result.prepayId, data.result.timeStamp, data.result.sign)
+    
+            if (res.code === '200') {
+                resolve({result: res.result.errMsg, code: '200'})
+            } else {
+                reject({result: res.result.errMsg, code: '777'})
+            }
+        } else {
+            reject({result: '向后端请求参数失败', code: '777'})
+        }
+    }).catch( e => e)
+}
+
+// 微信支付
+export  const  wxPay =  ( appId, nonceStr, prepayId, timeStamp, sign) =>  {
+    return new Promise(  (resolve, reject) => {
+        wx.requestPayment({
+            appId: appId,
+            timeStamp: timeStamp,
+            nonceStr: nonceStr,
+            package: prepayId,
+            signType: 'MD5',
+            paySign: sign,
+            success: async (res) => { 
+                resolve( {result: res, code: '200'} )
+            },
+            fail (res) { 
+                reject({result: res, code: '777'})
+            }
+        })
+    }).catch( e => e)
+}
+

+ 0 - 0
src/utils/wxConfig.js


+ 0 - 0
src/utils/wxTool.js