傅豪杰 пре 1 недеља
родитељ
комит
0c8416621b
13 измењених фајлова са 49451 додато и 28747 уклоњено
  1. 2 2
      config/index.js
  2. 38493 17612
      package-lock.json
  3. 1 0
      package.json
  4. 6 6
      src/App.vue
  5. 29 10
      src/main.js
  6. 1 0
      src/pages/goodsChange/storeAdressBook.vue
  7. 22 2
      src/pages/goodsChange/transferGoods.vue
  8. 0 2
      src/pages/index.vue
  9. 1 1
      src/pages/login.vue
  10. 10 13
      src/script/common.js
  11. 33 21
      src/script/wxGetOpenId.js
  12. 33 0
      src/utils/utils.js
  13. 10820 11078
      yarn.lock

+ 2 - 2
config/index.js

@@ -11,8 +11,8 @@ module.exports = {
     assetsPublicPath: '/',
     proxyTable: {
       '/tianzong': {
-        target: `https://www.kzmailservice.com`,
-        // target: `https://tianzong.info666.com`,
+        // target: `https://www.kzmailservice.com`,
+        target: `https://tianzong.info666.com`,
         // target: `http://192.168.31.47/`,
         changeOrigin: true, //开启代理  
         pathRewrite: { '/api': '/' } //这里重写路径/run就代理到对应地址

Разлика између датотеке није приказан због своје велике величине
+ 38493 - 17612
package-lock.json


+ 1 - 0
package.json

@@ -16,6 +16,7 @@
   "dependencies": {
     "axios": "^1.5.0",
     "clipboard": "^2.0.8",
+    "crypto-js": "^4.2.0",
     "jquery": "^3.6.0",
     "jsbarcode": "^3.11.5",
     "qrcode": "^1.4.4",

+ 6 - 6
src/App.vue

@@ -22,12 +22,12 @@ export default {
     },
 
     async created() {
-        if (this.$route.path !== "/Login") {
-            const res = await checkIsLogin();
-            if (res.msg !== "success") {
-                this.$router.push({ path: '/Login' })
-            }
-        }
+        // if (this.$route.path !== "/Login") {
+        //     const res = await checkIsLogin();
+        //     if (res.msg !== "success") {
+        //         this.$router.push({ path: '/Login' })
+        //     }
+        // }
         window.localStorage.setItem('scanUrl', location.href.split('#')[0])
         const res = await getWxConfig({
             url: window.location.href

+ 29 - 10
src/main.js

@@ -20,6 +20,9 @@ import request from "@/utils/request"
 import { getWxOpenId } from './script/wxGetOpenId.js'
 import common from './script/common.js'
 import '@/assets/iconfont/iconfont.css'
+
+import { getUrlParam } from './utils/utils.js'
+
 Vue.use(VueJsonp)
 // new VConsole()
 Vue.prototype.$axios = request
@@ -53,32 +56,48 @@ Vue.filter('dateFormat', (dataStr) => {
     return y + '-' + timeAdd0(m) + '-' + timeAdd0(d) + ' ' + timeAdd0(h) + ':' + timeAdd0(mm) + ':' + timeAdd0(s)
 })
 
+import { checkIsLogin } from './api/login'
 
 // import { getWxOpenId } from './script/wxGetOpenId.js'
 
+        //     const res = await checkIsLogin();
+        //     if (res.msg !== "success") {
+        //         this.$router.push({ path: '/Login' })
+        //     }
 const whiteList = ['/Login']
-router.beforeEach((to, from, next) => {
+router.beforeEach(async (to, from, next) => {
     // if (to.matched.some(record => record.meta.needLogin)) { // 判断该路由是否需要登录权限
     if (!whiteList.includes(to.path)) {
         console.log('有登录权限')
+        
+        // else
+        if (!localStorage.getItem('openid') ) {
+            console.log('无openId')
+            getWxOpenId().then(() => {
+                next()
+            })
+            console.log('overallExample.getOpenid()走完了')
+            return;
+        }
         if (!localStorage.getItem('userId')) { // 判断当前用户的登录信息userId是否存在
             console.log('无userId')
             next('/Login')
+            return;
         }
-        else if (!localStorage.getItem('openid')) {
-            console.log('无openId')
-            // overallExample.getOpenid()
+
+        // 登录过期 重新登录
+        const res = await checkIsLogin();
+        if (res.msg!== "success") {
+            localStorage.clear();
             getWxOpenId().then(() => {
                 next()
             })
-            console.log('overallExample.getOpenid()走完了')
-        }
-        else {
-            console.log('什么都有')
-            next()
+            return
         }
+
+
+        next()
     } else {
-        console.log('无登录权限')
         next();
     }
 })

+ 1 - 0
src/pages/goodsChange/storeAdressBook.vue

@@ -121,6 +121,7 @@ export default {
 		//   },
 		transmitMessage(item) {
 			let transmitMessageVlaue = {};
+			transmitMessageVlaue.storeName = item.storeName;
 			transmitMessageVlaue.addresseeName = item.storeName;
 			transmitMessageVlaue.addresseeAddress = item.storeAddress;
 			// transmitMessageVlaue.addresseePhone = item.addresseePhone;

+ 22 - 2
src/pages/goodsChange/transferGoods.vue

@@ -34,7 +34,9 @@
                         <p style="background: #fa9c22; flex:none;">收</p>
                         <div>
                             <van-field class="font-heigth" @click="changeAdderInfo"
-                                v-model="transmitMessageVlaue.addresseeName" name="" label="门店名" placeholder="自动填充" />
+                                v-model="transmitMessageVlaue.storeName" name="" label="门店名" placeholder="自动填充" />
+                            <van-field class="font-heigth" 
+                                v-model="transmitMessageVlaue.addresseeName" name="" label="收件人姓名" placeholder="自动填充" />
                             <van-field class="font-heigth"
                                 v-model="transmitMessageVlaue.addresseePhone" label="手机/固话" name="pattern"
                                 placeholder="请输入收件人手机/固话" />
@@ -240,6 +242,8 @@ import {
     getListOfPrinters
 } from "@/api/index";
 import { spiltAddress } from "@/api/addressBoook";
+import { Decrypt, getUrlParam } from '../../utils/utils.js'
+
 export default {
     data() {
         return {
@@ -664,7 +668,7 @@ export default {
             if (getPrinters.code == 0) {
                 if (getPrinters.data.length == []) {
                     this.shipServe();
-                    Toast("没有打印机");
+                    // Toast("没有打印机");
                 } else {
                     this.getPrintersList = getPrinters.data.map(item => {
                         return { printerName: item.printerName, id: item.id };
@@ -730,6 +734,22 @@ export default {
                 type: 1,// 快件类型 1-门店内部件 2-外部件
                 expressRemark: this.bz,// 快递备注
             }
+
+            if(getUrlParam('posParams')){
+                try{
+                    console.log('posParams')
+                    let posParams = getUrlParam('posParams')
+                    console.log(posParams)
+                    posParams = Decrypt(posParams)
+                    console.log(posParams)
+                    posParams = JSON.parse(posParams)
+                    console.log(posParams)
+                    parmas.orderNo = posParams.orderId;
+                    parmas.posParams = posParams.posParams;
+                }catch(err){
+                    console.log(err)
+                }
+            }
             const res = await storeMail({ ...parmas });
             if (res.code.toString() == "200") {
                 Toast("寄件成功");

+ 0 - 2
src/pages/index.vue

@@ -52,7 +52,6 @@
 <script>
 import { Toast } from 'vant'
 import { getRole } from '../api/index'
-import { getWxOpenId } from '../script/wxGetOpenId'
 
 const authMap = {
 	'211': 'express', // web外部寄件
@@ -73,7 +72,6 @@ export default {
 	created: async function () {
 		// this.getOpenid();
 		console.log('开始走了')
-		// getWxOpenId()
 
 		getRole({}).then(res => {
 			if (res.code.toString() === '200') {

+ 1 - 1
src/pages/login.vue

@@ -75,7 +75,7 @@ export default {
 
       // this.$http.post(this.$store.state.host + "/appSysUser/employee_login", { account: this.name, password: this.password }, { emulateJSON: true })
       const res = await employee_login(
-        { account: this.name, password: this.password },
+        { account: this.name, password: this.password,openId:localStorage.openid },
         { emulateJSON: true }
       );
       console.log("=====", res);

+ 10 - 13
src/script/common.js

@@ -1,5 +1,5 @@
 import { getWxUserInfo, getWxConfig } from '../api/login'
-
+import { getUrlParam } from '../utils/utils.js'
 export default {
 	install(Vue) {
 		Vue.prototype.getOpenid = async function () {
@@ -14,8 +14,15 @@ export default {
 				return;
 			}
 
-			const res = await getWxUserInfo({ code: code, userId: localStorage.getItem("userId") })
+			const res = await getWxUserInfo({ code: code })
 			console.log(res, '================================getWxUserInfo')
+
+			// 未绑定账号 获取openId后去登录页
+			if(res.code == '501'){
+				localStorage.setItem("openid", res.openId);
+				this.$router.push({ path: '/Login' })
+				return
+			}
 			if (res.code == '0') {
 				console.log('直接走+======', res)
 				localStorage.setItem("openid", res.openId);
@@ -32,17 +39,7 @@ export default {
 				`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${res.wxConfig.appId}&redirect_uri=${encodeURIComponent(href)}` + `&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect`;
 		}
 
-		Vue.prototype.getUrlParam = function (name) {
-			var vars = [],
-				hash;
-			var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
-			for (var i = 0; i < hashes.length; i++) {
-				hash = hashes[i].split('=');
-				vars.push(hash[0]);
-				vars[hash[0]] = hash[1];
-			}
-			return decodeURIComponent(vars[name]);
-		}
+		Vue.prototype.getUrlParam = getUrlParam
 
 
 		Vue.prototype.getUser = function () {

+ 33 - 21
src/script/wxGetOpenId.js

@@ -1,27 +1,39 @@
 import { getWxUserInfo, getWxConfig } from '../api/login'
+import router from '../router'
 
 export async function getWxOpenId() {
-    if (localStorage.getItem("openid") != 'undefined' && localStorage.getItem("openid") != null && localStorage.getItem("openid") != '') {
-        return;
-    }
-
-    var code = getUrlParam("code");
-    console.log(code, 'code====++++')
-    if (code == 'undefined' || code == null || code == "") {
-        // alert("参数异常,请返回首页重试");
-        urlredirect();
-        return;
-    }
-
-    const res = await getWxUserInfo({ code: code, userId: localStorage.getItem("userId") })
-    console.log(res, '================================getWxUserInfo')
-    if (res.code == '0') {
-        console.log('直接走+======', res)
-        localStorage.setItem("openid", res.openId);
-        localStorage.setItem("headimgurl", res.headimgurl);
-    } else {
-        urlredirect();
-    }
+    return new Promise(async (resolve, reject) => {
+        if (localStorage.getItem("openid") != 'undefined' && localStorage.getItem("openid") != null && localStorage.getItem("openid") != '') {
+            return;
+        }
+    
+        var code = getUrlParam("code");
+        console.log(code, 'code====++++')
+        if (code == 'undefined' || code == null || code == "") {
+            // alert("参数异常,请返回首页重试");
+            urlredirect();
+            return;
+        }
+    
+        const res = await getWxUserInfo({ code: code, userId: localStorage.getItem("userId") })
+        console.log(res, '================================getWxUserInfo')
+        // 未绑定账号 获取openId后去登录页
+        if(res.code == '501'){
+            localStorage.setItem("openid", res.openId);
+            router.push({ path: '/Login' })
+            return
+        }
+        if (res.code == '0') {
+            console.log('直接走+======', res)
+            localStorage.setItem('userId', res.userId)
+            localStorage.setItem("openid", res.openId);
+            localStorage.setItem("headimgurl", res.headimgurl);
+            resolve()
+        } else {
+            urlredirect();
+        }
+    })
+    
 }
 
 

+ 33 - 0
src/utils/utils.js

@@ -0,0 +1,33 @@
+import CryptoJS from 'crypto-js'
+
+
+export function getUrlParam(name) {
+    let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
+    let r = window.location.search.substr(1).match(reg);
+    if (r != null) return decodeURIComponent(unescape(r[2]))
+    return null;
+}
+
+
+export function Encrypt(word) {
+    let key = CryptoJS.enc.Base64.parse('HwAjAv7trJl0AP/+5yAVCg==');  //十六位十六进制数作为密钥
+    let iv = CryptoJS.enc.Base64.parse('/xgA0AqJ7g0wmdyr/wgA3Q==');   //十六位十
+    let srcs = CryptoJS.enc.Utf8.parse(word);
+    let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
+    return encrypted.ciphertext.toString().toUpperCase();
+}
+export function Decrypt(word) {
+    // console.log(word, "Decrypt")
+    if (!word) {
+        return word;
+    }
+    word = (word + '').replace(/\n*$/g, '').replace(/\n/g, ''); //增加这一行,将换行符替换为空
+    let key = CryptoJS.enc.Base64.parse('HwAjAv7trJl0AP/+5yAVCg==');  //十六位十六进制数作为密钥
+    let iv = CryptoJS.enc.Base64.parse('/xgA0AqJ7g0wmdyr/wgA3Q==');   //十六位十
+    let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
+    let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
+    let decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
+    let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
+    return decryptedStr.toString();
+
+}

Разлика између датотеке није приказан због своје велике величине
+ 10820 - 11078
yarn.lock