Commit 4af8a81c authored by xd's avatar xd

应用拆分

parent 0399b05a
# 页面 title 前缀
NODE_ENV = development
VUE_APP_TITLE = 亿百分-dev
VUE_APP_OY_API = /api/
VUE_APP_API_A = http://139.155.48.151:8085
VUE_APP_API_B = http://111.26.165.55:8010/crminterface.ashx
# 页面 title 前缀
NODE_ENV = development
VUE_APP_TITLE = 亿百分-dev
VUE_APP_OY_API = http://111.26.165.55:8010/crminterface.ashx
VUE_APP_API_A = http://139.155.48.151:8085
VUE_APP_API_B = http://111.26.165.55:8010/crminterface.ashx
# 页面 title 前缀
NODE_ENV = production
VUE_APP_TITLE = 亿百分-prod
VUE_APP_OY_API = http://111.26.165.55:8010/crminterface.ashx
VUE_APP_API_A = http://139.155.48.151:8085
VUE_APP_API_B = http://111.26.165.55:8010/crminterface.ashx
module.exports = {
root: true,
env: {
node: true
},
'extends': [
'plugin:vue/essential',
'eslint:recommended'
],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-unused-vars': 'off',
'no-undef': 'off'
},
parserOptions: {
parser: 'babel-eslint'
}
}
module.exports = {
plugins: [
require('postcss-pxtorem')({
rootValue: 32,
minPixelValue: 2,
propWhiteList: []
})
]
};
# ybf_wx
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Run your tests
```
npm run test
```
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
NdQI4DAtoC9jyfXm
\ No newline at end of file
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}
{
"name": "ybf_wx",
"version": "0.1.0",
"private": true,
"scripts": {
"start": "vue-cli-service serve",
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"build:dev": "vue-cli-service build --mode dev",
"build:prod": "vue-cli-service build --mode prod"
},
"dependencies": {
"axios": "^0.19.1",
"core-js": "^3.4.4",
"js-md5": "^0.7.3",
"jssdk": "^0.0.1",
"qrcode": "^1.4.4",
"vant": "^2.3.3",
"vue": "^2.6.10",
"vue-router": "^3.1.3",
"vuex": "^3.1.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.1.0",
"@vue/cli-plugin-eslint": "^4.1.0",
"@vue/cli-service": "^4.1.0",
"babel-eslint": "^10.0.3",
"eslint": "^5.16.0",
"eslint-plugin-vue": "^5.0.0",
"node-sass": "^4.13.0",
"postcss-loader": "^3.0.0",
"postcss-pxtorem": "^4.0.1",
"sass-loader": "^8.0.0",
"vue-template-compiler": "^2.6.10"
}
}
ovlGwUtiSAgGUQLs
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>亿百分</title>
<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
</head>
<body>
<noscript>
<strong>We're sorry but ybf_wx doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
</body>
</html>
This diff is collapsed.
<!DOCTYPE html>
<html>
<head>
<meta lang="zh-cn">
<title>QRCode</title>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script src='https://code.jquery.com/jquery-3.2.1.min.js'></script>
<style>
.qr-code {
text-align: center;
padding-top: 50px;
}
.qr-code>#image {
display: inline-block;
width: 60%;
}
</style>
</head>
<body>
<!-- <div id="uri">Uri:</div> -->
<div class="qr-code">
<img id="image" src="" alt />
</div>
<!--<h1>Hola qrCode.</h1>-->
<!-- <img src="./3.png"> -->
<script>
const cleanUrlAndPostQRInfo = () => {
// alert(`--->qrCode: cleanUrlAndPostQRInfo: IN.`)
let nowUrl = ''
let id = ''
let actionid = ''
let activeId = ''
let voucherId = ''
let unionId = ''
nowUrl = document.location.toString().slice(42);
// alert(`--->nowUrl =${nowUrl}`)
id = String(nowUrl.split("?")[1].slice(3).split("&")[0]);
actionid = String(nowUrl.split("?")[1].slice(3).split("&")[1].split("=")[1]);
activeId = String(nowUrl.split("?")[1].slice(3).split("&")[2].split("=")[1]);
voucherId = String(nowUrl.split("?")[1].slice(3).split("&")[3].split("=")[1]);
unionId = String(nowUrl.split("?")[1].slice(3).split("&")[4].split("=")[1]);
// let pageUri = `${nowUrl}&detailid=${voucherId}&actionid=${activeId}&unionid=${unionId}`;
let pageUri = `${nowUrl}`;
pageUri = pageUri.split('&').slice(0, 5).join('&')
let pageUrl = `http://139.155.48.151:8085/workWx/auth/oauth2/wxMiniQrCode?pageUri=${pageUri}`;
// document.getElementById('uri').innerHTML = 'Uri=' + String(pageUri)
// alert(`--->qrCode: Ajax: POST: pageUrl = ${pageUrl}`)
// document.location = pageUri
$.ajax({
type: "POST",
url: pageUrl,
// data: JSON.stringify({ path: "pages/signIn/signIn" }),
data: {},
success: function (res) {
// alert(`--->qrCode: ajax: res.`)
// alert(`--->qrCode: ajax: res: res =${JSON.stringify(res)}`)
console.log(res)
$('#image').attr('src', res.data)
// $('#image').attr('src', 'http://qywx2.100smartdata.com/qrCode/1584512690487.jpeg')
},
error: function (data) {
alert(`--->qrCode: ajax: err.`)
alert(`--->qrCode: ajax: err: err =${JSON.stringify(err)}`)
alert('error' + JSON.stringify(data))
console.log(data);
}
});
}
const __main = () => {
cleanUrlAndPostQRInfo()
}
__main()
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta lang="zh-cn">
<title>优惠券详情</title>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script src='https://code.jquery.com/jquery-3.2.1.min.js'></script>
<style>
body {
background-color: rgba(15, 106, 184, 0.99);
font-size: 10px;
margin: 0;
padding: 0;
}
.main {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
overflow: hidden;
}
.main>.titles {
/*border: 2px solid cyan;*/
width: 100%;
height: 8rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.main>.titles>.title {
font-size: 3rem;
color: white;
text-align: center;
}
.main>.cards {
/*border: 2px solid red;*/
/*background-color: whitesmoke;*/
width: 76%;
height: auto;
/*padding: 0 2rem;*/
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.main>.cards>.card {
/*border: 2px solid orange;*/
/*background-color: white;*/
width: 100%;
/*padding: 4rem 2rem;*/
}
.main>.cards>.card01 {
/*border-radius: 1rem 1rem 0 0;*/
border-top-left-radius: 1rem;
border-top-right-radius: 1rem;
background: white;
background:
linear-gradient(135deg, transparent 0, white 0) top left,
linear-gradient(-135deg, transparent 0, white 0) top right,
radial-gradient(circle at bottom right, transparent 2rem, white 0) bottom right,
radial-gradient(circle at bottom left, transparent 2rem, white 0) bottom left;
background-size: 50% 50%;
background-repeat: no-repeat;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.main>.cards>.card01>.titles {
margin: 4rem 2rem 0 2rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.main>.cards>.card01>.titles>.title {
font-size: 3rem;
margin-bottom: 2rem;
}
.main>.cards>.card01>.titles>.discount {
font-size: 3rem;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.main>.cards>.card01>.titles>.discount>.number {
margin-right: 1rem;
color: orangered;
font-size: 4rem;
}
.main>.cards>.card01>.titles>.description {
/*font-size: 2rem;*/
font-size: 1rem;
color: grey;
}
.main>.cards>.card01>.rules {
margin: 2rem 2rem 4rem 2rem;
}
.main>.cards>.card01>.rules>.rule {
font-size: 2rem;
}
.main>.cards>.line {
background-color: white;
width: 90%;
border-bottom: 4px dotted rgba(15, 106, 184, 0.99);
}
.main>.cards>.card02 {
/*border-radius: 0 0 1rem 1rem;*/
border-bottom-left-radius: 1rem;
border-bottom-right-radius: 1rem;
background: white;
background:
radial-gradient(circle at top left, transparent 2rem, white 0) top left,
radial-gradient(circle at top right, transparent 2rem, white 0) top right,
linear-gradient(45deg, transparent 1px, white 0) bottom right,
linear-gradient(-45deg, transparent 1px, white 0) bottom left;
background-size: 50% 50%;
background-repeat: no-repeat;
}
.main>.cards>.card02>.tips {
margin: 4rem 2rem;
}
.main>.cards>.card02>.tips>.tip {
font-size: 2rem;
font-weight: bold;
}
.main>.cards>.card02>.tips>.rules {}
.main>.cards>.card02>.tips>.rules>.rule {
font-size: 2rem;
}
.main>.cards>.card02>.tips>.qrcodes {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.main>.cards>.card02>.tips>.qrcodes>.qrcode {
width: 50%;
}
.main>.cards>.card02>.tips>.qrcodes>.qrcodeTip {
font-size: 1rem;
color: grey;
}
</style>
</head>
<body>
<div class="main">
<div class="titles">
<!--<div class="title">优惠券详情</div>-->
</div>
<div class="cards">
<div class="card card01" id="card01">
<div class="titles">
<div class="title">惊喜满减券</div>
<div class="discount"><div class="number"> 20 </div></div>
<div class="description">满 50 元可用</div>
</div>
<ul class="rules">
<li class="rule">满 50 元可用</li>
<li class="rule">有效期 2019-10-15 04:00:00 至 2019-10-15 04:01:00</li>
</ul>
</div>
<div class="line"></div>
<div class="card card02" id="card02">
<div class="tips">
<div class="tip">使用说明</div>
<ul class="rules">
<li class="rule">单次结算时候仅能使用一张优惠券折扣</li>
<li class="rule">单张优惠券不可叠加、找零、续用、残缺</li>
<li class="rule">该优惠券有效时间为 2019-10-15 04:00:00 至 2019-10-15 04:01:00 ,过期/提前均不可使用</li>
</ul>
<div class="qrcodes">
<!--<img class="qrcode" src="qrcodeBuy.png" alt />-->
<!--<img class="qrcode" id="image" src="QRCodeOY.png" alt />-->
<img class="qrcode" id="image" src="" alt />
<div class="qrcodeTip">长按识别二维码</div>
</div>
</div>
</div>
</div>
</div>
<script>
const cleanUrlAndPostQRInfo = () => {
// alert(`--->qrCode: cleanUrlAndPostQRInfo: IN.`)
let nowUrl = ''
let id = ''
let actionid = ''
let activeId = ''
let voucherId = ''
let unionId = ''
nowUrl = document.location.toString().slice(42);
// alert(`--->nowUrl =${nowUrl}`)
id = String(nowUrl.split("?")[1].slice(3).split("&")[0]);
actionid = String(nowUrl.split("?")[1].slice(3).split("&")[1].split("=")[1]);
activeId = String(nowUrl.split("?")[1].slice(3).split("&")[2].split("=")[1]);
voucherId = String(nowUrl.split("?")[1].slice(3).split("&")[3].split("=")[1]);
unionId = String(nowUrl.split("?")[1].slice(3).split("&")[4].split("=")[1]);
// let pageUri = `${nowUrl}&detailid=${voucherId}&actionid=${activeId}&unionid=${unionId}`;
let pageUri = `${nowUrl}`;
pageUri = pageUri.split('&').slice(0, 5).join('&')
let pageUrl = `http://139.155.48.151:8085/workWx/auth/oauth2/wxMiniQrCode?pageUri=${pageUri}`;
// document.getElementById('uri').innerHTML = 'Uri=' + String(pageUri)
// alert(`--->qrCode: Ajax: POST: pageUrl = ${pageUrl}`)
// document.location = pageUri
$.ajax({
type: "POST",
url: pageUrl,
// data: JSON.stringify({ path: "pages/signIn/signIn" }),
data: {},
success: function (res) {
// alert(`--->qrCode: ajax: res.`)
// alert(`--->qrCode: ajax: res: res =${JSON.stringify(res)}`)
console.log(res)
$('#image').attr('src', res.data)
// $('#image').attr('src', 'http://qywx2.100smartdata.com/qrCode/1584512690487.jpeg')
},
error: function (data) {
alert(`--->qrCode: ajax: err.`)
alert(`--->qrCode: ajax: err: err =${JSON.stringify(err)}`)
alert('error' + JSON.stringify(data))
console.log(data);
}
});
}
const __main = () => {
cleanUrlAndPostQRInfo()
}
__main()
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>会员拉新</title>
<script src="../js/jquery-3.4.1.min.js"></script>
<style>
html,body{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
font-size: 16px;
color: #ffffff;
}
.register_container{
height: 100%;
background-color: rgba(15, 106, 184, 0.99);
margin: 0;
padding: 2.5rem 2rem;
box-sizing: border-box;
text-align: center;
}
.register_titles .title{
font-size: 3rem;
line-height: 5rem;
}
.register_qrcode #image{
display: inline-block;
width: 60%;
height: auto;
margin: 3rem 0;
}
.register_qrcode .qrcodeTip{
font-size: 2rem;
}
</style>
</head>
<body>
<div class="register_container">
<div class="register_titles">
<div class="title">扫码注册成为会员</div>
</div>
<div class="register_qrcode">
<img class="qrcode" id="image" src="" alt />
<div class="qrcodeTip">长按识别二维码</div>
</div>
</div>
<script>
$(function () {
showQRInfo()
});
const showQRInfo = () => {
// let pageUri = `${nowUrl}&detailid=${voucherId}&actionid=${activeId}&unionid=${unionId}`;
let storecode = "181"
let pageUri = `pages/user/register/register?storeCode=
${storecode}`;
let pageUrl = `http://139.155.48.151:8085/workWx/auth/oauth2/wxMiniQrCode?pageUri=${pageUri}`;
$.ajax({
type: "POST",
url: pageUrl,
data: {},
success: function (res) {
$('#image').attr('src', res.data)
},
error: function (data) {
}
});
}
</script>
</body>
</html>
<template>
<div id="app">
<router-view/>
</div>
</template>
<script>
import { getXToken } from './utils/aCommon'
getXToken()
export default {
name: 'App'
}
</script>
<style lang="scss">
/*@import '~@/assets/style/public.scss';*/
</style>
import request from '@/utils/bRequestEa'
export function getVoucherList(inData) {
// alert('--->PostToEA: ea.js: IN.')
let postData = {
args: inData
}
// alert(`--->PostToEA: ea.js: postData =${JSON.stringify(postData)}`)
return request({
url: '',
method: 'post',
data: postData
})
}
export function getVoucherWxUrl(inData) {
let postData = {
args: inData
}
return request({
url: '',
method: 'post',
data: postData
})
}
import wxRequest from '@/utils/aWxRequest'
import qs from 'qs'
export function getUserInfo(inData) {
return request({
url: '/workWx/auth/oauth2/getUserInfo',
method: 'post',
data: inData
})
}
import requestCF from '@/utils/aRequestCF'
import qs from 'qs'
export function getUserInfoByUserId(params) {
return requestCF({
url: '/admin/auth/addressbook/clerk/getByUserIdOrUserName',
method: 'get',
params
})
}
// export function ApiLoginSubmit(inData) {
// return requestCF({
// url: '/admin/common/login',
// method: 'post',
// data: qs.stringify(inData)
// })
// }
import request from '@/utils/bRequestEa'
// 案例
export function getCaseList(data) {
return request({
url: '/admin/common/findLoginType',
method: 'post',
data: data
})
}
export function getCaseDetail(data) {
return request({
url: '',
method: 'post',
data: data
})
}
// 收益列表
// 优惠券核销列表
export function getProfitList(data) {
return request({
url: '',
method: 'post',
data: data
})
}
// 商品购买列表
export function getGoodsList(data) {
return request({
url: '',
method: 'post',
data: data
})
}
// 拉新会员
export function getNewMemberList(data) {
return request({
url: '',
method: 'post',
data: data
})
}
\ No newline at end of file
import request from '@/utils/bRequestEa'
export function ApiTestGet() {
return request({
url: '/admin/common/findLoginType',
method: 'get'
})
}
export function ApiTestCfPost(inData) {
let postData = {
args: inData
}
return request({
url: '',
method: 'post',
data: postData
})
}
export function ApiTestEaPost(inData) {
let postData = {
args: inData
}
return request({
url: '/admin/common/findLoginType',
method: 'post',
data: postData
})
}
import request from '@/utils/bRequestEa'
export function ApiEaPost(inData) {
let postData = {
args: inData
}
return request({
url: '',
method: 'post',
data: postData
})
}
export function ApiEaActiveList(inData) {
let postData = {
args: inData
}
return request({
url: '',
method: 'post',
data: postData
})
}
* {
margin: 0;
padding: 0;
font-family: "PingFangSC-Regular","Microsoft YaHei", "lucida grande", "lucida sans unicode", lucida, helvetica, "Hiragino Sans GB", "WenQuanYi Micro Hei", sans-serif;
box-sizing: border-box;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
//-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
//tap-highlight-color: rgba(0, 0, 0, 0);
//-webkit-transform: translateZ(0);
//transform: translateZ(0);
//-webkit-perspective: 1000;
//perspective: 1000;
//-webkit-backface-visibility: hidden;
//backface-visibility: hidden;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-webkit-font-smoothing:antialiased;
//touch-action: auto!important;
}
input, select, textarea{
font-family: "PingFangSC-Regular","Microsoft YaHei", "lucida grande", "lucida sans unicode", lucida, helvetica, "Hiragino Sans GB", "WenQuanYi Micro Hei", sans-serif;
}
html, body {
width: 100%;
height: 100%;
}
ul, li {
list-style: none;
}
a {
text-decoration: none;
}
::-webkit-input-placeholder { /* WebKit browsers */
color:#fff;
font-family: "PingFangSC-Regular","Microsoft YaHei", "lucida grande", "lucida sans unicode", lucida, helvetica, "Hiragino Sans GB", "WenQuanYi Micro Hei", sans-serif;
font-weight: normal;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
color: #bbb;
}
.searchText::-webkit-input-placeholder{
font-family: 'iconfont';
}
h1, h2, h3, h4, h5, h6 { line-height:1.2;}
p { margin: 0;padding: 0 }
.fr{ float: right;}
.fl{ float: left }
.alignc{ text-align: center}
.alignr{ text-align: right}
input:focus{ outline: none;}
#app{
width: 100%;
height: 100%;
}
const envConfig = {
appOyAPI: process.env.VUE_APP_OY_API,
appBaseUrlA: process.env.VUE_APP_API_A,
appBaseUrlB: process.env.VUE_APP_API_B,
}
export default envConfig
/**
* Created by supervisor on 2019/12/29
*/
// 基准大小
const baseSize = 32
// 设置 rem 函数
function setRem () {
// 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
var scale = document.documentElement.clientWidth / 375
// 设置页面根节点字体大小
document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
}
// 初始化
setRem()
// 改变窗口大小时重新设置 rem
window.onresize = function () {
setRem()
}
import Vue from 'vue'
import App from './App.vue'
import Router from 'vue-router'
import router from './router'
import store from './store'
import './lib/rem';
import Vant from 'vant';
import 'vant/lib/index.css';
Vue.config.productionTip = false
Vue.use(Vant);
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
return originalPush.call(this, location).catch(err => err)
}
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/home.vue'
import { getXToken, configWx } from '@/utils/aCommon'
Vue.use(VueRouter)
const routes = [
{
path: '/',
name: 'MainSale',
component: () => import('@/views/mainSale/active/main/index')
},
{
path: '/turntableDetail',
name: 'turntableDetail',
component: () => import('../views/active/turntableDetail.vue')
},
{
path: '/couponDetail',
name: 'couponDetail',
component: () => import('../views/active/couponDetail.vue')
},
{
path: '/createActive',
name: 'createActive',
component: () => import('../views/active/createActive.vue')
},
{
path: '/activeList',
name: 'activeList',
component: () => import('../views/active/activeList.vue')
},
{
path: '/createBigWheelActive',
name: 'createBigWheelActive',
component: () => import('../views/active/createBigWheelActive.vue')
},
{
path: '/mainSale',
name: 'MainSale',
component: () => import('@/views/mainSale/active/main/index')
},
{
path: '/changeCounter',
name: 'changeCounter',
component: () => import('@/views/counter/changeCounter')
},
{
path: '/counterInfo',
name: 'counterInfo',
component: () => import('@/views/counter/counterInfo')
},
{
path: '/counterMaintain',
name: 'counterMaintain',
component: () => import('@/views/counter/counterMaintain')
},
{
path: '/goodManage',
name: 'goodManage',
component: () => import('@/views/goods/goodManage')
},
{
path: '/goodGrounding',
name: 'goodGrounding',
component: () => import('@/views/goods/goodGrounding')
},
{
path: '/profitList',
name: 'profitList',
component: () => import('@/views/profit/index')
},
{
path: '/actTemplate',
name: 'ActTemplate',
component: () => import('@/views/mainSale/active/template/index')
},
{
path: '/me',
name: 'Me',
component: () => import('@/views/mainSale/me/main/index')
},
{
path: '/task',
name: 'Task',
component: () => import('@/views/mainSale/me/task/index')
},
{
path: '/taskList',
name: 'taskList',
component: () => import('@/views/task/taskList')
},
{
path: '/newMemberTask',
name: 'newMemberTask',
component: () => import('@/views/task/newMemberTask')
},
{
path: '/case',
name: 'case',
component: () => import('@/views/case/index')
},
{
path: '/caseDetail',
name: 'caseDetail',
component: () => import('@/views/case/caseDetail')
},
{
path: '/newInfo',
name: 'newInfo',
component: () => import('@/views/message/newInfo')
},
{
path: '/voucherInfo',
name: 'VoucherInfo',
component: () => import('@/views/voucherInfo/index')
},
{
path: '/qrCode',
name: 'qrCode',
component: () => import('@/views/qrCode/index')
},
{
path: '/manInfo',
name: 'ManInfo',
component: () => import('@/views/sideNav/manInfo/index')
},
{
path: '/goodPost',
name: 'GoodPost',
component: () => import('@/views/sideNav/goodPost/index')
},
// {
// path: '/about',
// name: 'about',
// // route level code-splitting
// // this generates a separate chunk (about.[hash].js) for this route
// // which is lazy-loaded when the route is visited.
// component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
// }
]
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes
})
const whiteList = ['/discount', 'discount']
router.beforeEach((to, from ,next) => {
// alert(`--->route: beforeEach: to =${JSON.stringify(to)}. from =${from}. next =${JSON.stringify(next)}`)
if(whiteList.indexOf(to.path) != -1) {
// alert(`--->route: beforeEach: If: UnIn whiteList.`)
if(sessionStorage.getItem('zConfigWx') === 'Pass'){
next()
} else {
configWx(to)
}
} else {
// alert(`--->route: beforeEach: If: In whiteList.`)
next()
}
// if (whiteList.indexOf(to.path) !== -1) {
// next()
// } else {
// if(sessionStorage.getItem('unionid')) {
// next()
// } else {
// getUnionId(to)
// // next()
// }
// }
})
// async function getUnionId (to) {
// await getXToken()
// configWx(to)
// }
export default router
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
},
mutations: {
},
actions: {
},
modules: {
}
})
This diff is collapsed.
import axios from 'axios'
import { Message, MessageBox } from 'element-ui'
import Router from '../router'
import envConfig from '@/config/env-config'
// import store from '../store'
// import { getToken } from '@/utils/auth'
// const testEnv = require('../../config/dev.env')
// Z-BasicInfo
let INFO = {
// corpId: 'wwd1cdbca7b8b2b6c4',
// agentId: '1000015',
corpId: 'ww4df265003b43fa0d',
agentId: '1000032',
// url: 'http://139.155.48.151:8085',
url: envConfig.appBaseUrlA,
}
// 创建axios实例
const service = axios.create({
baseURL: INFO.url, // api 的 base_url
timeout: 50000 // 请求超时时间
})
// request拦截器
service.interceptors.request.use(
(config) => {
if (sessionStorage['token']) {
config.headers['token'] = sessionStorage['token']
config.headers['businessId'] = sessionStorage['businessId']
} else {
config.headers['businessId'] = '10'
}
return config;
},
(error) => {
Promise.reject(error)
}
)
// response 拦截器
service.interceptors.response.use(
response => {
console.log(response)
if(response.status == 200) {
return response.data
} else {
Message({
message: response.data.msg,
type: 'error',
duration: 5 * 1000
})
}
// let loadingSetting = Loading.service({
// fullscreen: true,
// lock: true,
// background: 'rgba(0,0,0,0.4)',
// text: '正在加载',
// spinner: 'el-icon-loading'
// })
// endLoading(loadingSetting)
// if (response.errorCode == '1001') {
// Router.push({ path: "/login" });
// }
},
error => {
console.log(error)
// console.log('err' + error) // for debug
// Message({
// message: error.message,
// type: 'error',
// duration: 50 * 1000
// })
// return Promise.reject(error)
}
)
// function endLoading (loading) {
// store.commit('LOADING', false)
// loading.close()
// }
// function startLoding () {
// store.commit('LOADING', true)
// }
export default service
import axios from 'axios'
import md5 from "js-md5"
let BASE_API = "http://139.155.48.151:8084"
const zlog = console.log.bind(console)
// ztest
// 创建 axios 实例
const service = axios.create({
baseURL: BASE_API,
timeout: 20000
})
// request 拦截器
service.interceptors.request.use(
request => {
// zlog('--->request: request:', request)
return request
},
error => {
Promise.reject(error)
}
)
// response 拦截器
service.interceptors.response.use(
response => {
const res = response.data
return res
},
error => {
return Promise.reject(error)
}
)
export default service
\ No newline at end of file
import axios from 'axios'
import envConfig from '@/config/env-config'
export function wxRequest(inUrl, data = {}, header = {}, method = 'post') {
// let URL = `http://172.16.0.111:8081${url}`
// let URL = `http://139.155.48.151:8081${url}`
// Z-BasicInfo
let INFO = {
// corpId: 'wwd1cdbca7b8b2b6c4',
// agentId: '1000015',
corpId: 'ww4df265003b43fa0d',
agentId: '1000032',
// url: 'http://139.155.48.151:8085' + inUrl,
url: envConfig.appBaseUrlA + inUrl,
}
if (method == 'post') {
return new Promise(function (resolve, reject) {
axios({
url: INFO.url,
method: method,
headers: header,
data: data
}).then(res => {
resolve(res.data)
}).catch(res => {
reject(res)
})
})
}
if (method == 'get') {
return new Promise(function (resolve, reject) {
axios({
url: INFO.url,
method: method,
headers: header,
params: data
}).then(res => {
resolve(res.data)
}).catch(res => {
reject(res)
})
})
}
}
import axios from 'axios'
import md5 from "js-md5"
// import envConfig from '@/config/env-config'
import envConfig from '../config/env-config'
// let BASE_API = "https://gd.chfatech.com/guangdian"
// let BASE_API = "/api/"
// let BASE_API = envConfig.appOyAPI
// let BASE_API = "http://111.26.165.55:8010/crminterface.ashx"
let BASE_API = "/api"
const zlog = console.log.bind(console)
// URL 编码与拼接
const createSign = (inPostData, inAppSecret) => {
let appUser = inPostData.appUser
let appCode = inPostData.appCode
let ts = inPostData.ts
let args = JSON.parse(JSON.stringify(inPostData.args));
let appSecret = inAppSecret
let res = "";
// URL 编码
for (let key in args) {
res += encodeURIComponent(key) + "%3D" + encodeURIComponent(args[key]) + "%26";
}
res = res.slice(0, -3);
// URL 拼接
res += `&appUser=${appUser}&appCode=${appCode}&${ts}${appSecret}`
return res;
};
// Basic Info
// 欧亚认证信息_V1
// appUser: "YBF001",
// appSecret: "t04yYm6gjsuHeehxOxojtmiwlYfXY8Zkdowf"
// 欧亚认证信息_V2
// appUser: "WZ001",
// appSecret: "mfdmTGAYU2M3F=JeC0mImYzU5Yjg1E2ZjZmO"
let basicInfo = {
appUser: "WZ001",
ver: "v2.17",
appSecret: "mfdmTGAYU2M3F=JeC0mImYzU5Yjg1E2ZjZmO"
}
// 创建 axios 实例
debugger
const service = axios.create({
baseURL: BASE_API,
timeout: 20000
})
// request 拦截器
service.interceptors.request.use(
req => {
// zlog('--->axios: req.params: start:', req.params)
let apiMethod = req.method
if (apiMethod === 'post') {
// alert('--->PostToEA: bRequestEa.js: if: post: IN.')
// zlog('--->axios: req.data:', req.data)
let oldPostData = JSON.parse(JSON.stringify(req.data))
let newPostData = {
appUser: basicInfo.appUser,
appCode: oldPostData.args.appCode,
// ts: String(Date.parse(new Date())),
// ts: '1563355520',
ts: String(parseInt(new Date().getTime()/1000)),
ver: basicInfo.ver,
args: oldPostData.args
}
delete newPostData.args.appCode
let postData = {
appUser: newPostData.appUser,
appCode: newPostData.appCode,
ts: newPostData.ts,
sign: md5(createSign(newPostData, basicInfo.appSecret)),
ver: newPostData.ver,
args: newPostData.args
}
// alert(`--->PostToEA: bRequestEa.js: if: end: req.data = ${JSON.stringify(postData)}`)
req.data = postData
}
if (apiMethod === 'get') {
// log('--->axios: req.data:', req.data)
let oldPostData = JSON.parse(JSON.stringify(req.params))
let newPostData = {
appUser: basicInfo.appUser,
appCode: oldPostData.args.appCode,
ts: String(Date.parse(new Date())),
ver: basicInfo.ver,
args: oldPostData.args
}
delete newPostData.args.appCode
let postData = {
appUser: newPostData.appUser,
appCode: newPostData.appCode,
ts: newPostData.ts,
sign: md5(createSign(newPostData, basicInfo.appSecret)),
ver: newPostData.ver,
args: newPostData.args
}
req.params = postData
}
// zlog('--->axios: req.params: end:', req.params)
return req
},
error => {
// alert(`--->PostToEA: bRequestEa.js: err = ${JSON.stringify(error)}`)
Promise.reject(error)
}
)
// response 拦截器
service.interceptors.response.use(
response => {
const res = response.data
return res
},
error => {
return Promise.reject(error)
}
)
export default service
import axios from 'axios'
import md5 from "js-md5"
import envConfig from '@/config/env-config'
// let BASE_API = "https://gd.chfatech.com/guangdian"
let BASE_API = envConfig.appOyAPI
const zlog = console.log.bind(console)
// URL 编码与拼接
const createSign = (inPostData, inAppSecret) => {
let appUser = inPostData.appUser
let appCode = inPostData.appCode
let ts = inPostData.ts
let args = JSON.parse(JSON.stringify(inPostData.args));
let appSecret = inAppSecret
let res = "";
// URL 编码
for (let key in args) {
res += encodeURIComponent(key) + "%3d" + encodeURIComponent(args[key]).toLowerCase() + "%26";
}
res = res.slice(0, -3);
// URL 拼接
res += `&appUser=${appUser}&appCode=${appCode}&${ts} ${appSecret}`
return res;
};
// Basic Info
let basicInfo = {
appUser: "user001",
ver: "v2.17",
appSecret: "JeC0mmE2ZjZmOfdmTGImYzU5Yjg1AYU2M3F="
}
// 创建 axios 实例
const service = axios.create({
baseURL: BASE_API,
timeout: 20000
})
// request 拦截器
service.interceptors.request.use(
res => {
// log('--->axios: res.data:', res.data)
let oldPostData = JSON.parse(JSON.stringify(res.data))
let newPostData = {
appUser: basicInfo.appUser,
appCode: oldPostData.args.appCode,
ts: String(Date.parse(new Date())),
ver: basicInfo.ver,
args: oldPostData.args
}
let postData = {
appUser: newPostData.appUser,
appCode: newPostData.appCode,
ts: newPostData.ts,
sign: md5(createSign(newPostData, basicInfo.appSecret)),
ver: newPostData.ver,
args: newPostData.args
}
delete postData.args.appCode
zlog()
res.data = postData
return res
},
error => {
Promise.reject(error)
}
)
// response 拦截器
service.interceptors.response.use(
response => {
const res = response.data
return res
},
error => {
return Promise.reject(error)
}
)
export default service
...@@ -91,12 +91,12 @@ export default { ...@@ -91,12 +91,12 @@ export default {
}, },
methods: { methods: {
getList() { getList() {
let data = { /* let data = {
} }
getCaseList(data).then( res => { getCaseList(data).then( res => {
console.log(res,"案例列表") console.log(res,"案例列表")
}) }) */
}, },
handleDetail() { handleDetail() {
this.$router.push({ this.$router.push({
......
<template>
<div></div>
</template>
<script>
export default {
}
</script>
<style>
</style>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment