Commit 1dfd230f authored by leiqingsong's avatar leiqingsong

Merge branch 'master' of http://114.67.93.201/xulili/ybf

parents e50970da fbeb2c85
...@@ -11,29 +11,31 @@ ...@@ -11,29 +11,31 @@
"build:prod": "vue-cli-service build --mode prod" "build:prod": "vue-cli-service build --mode prod"
}, },
"dependencies": { "dependencies": {
"axios": "^0.19.1", "axios": "^0.19.2",
"core-js": "^3.4.4", "core-js": "^3.4.4",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
"jssdk": "^0.0.1", "jssdk": "^0.0.1",
"vant": "^2.5.9", "vant": "^2.5.9",
"vconsole": "^3.3.4",
"vee-validate": "^3.2.5",
"vue": "^2.6.10", "vue": "^2.6.10",
"vue-quill-editor": "^3.0.6", "vue-quill-editor": "^3.0.6",
"vue-router": "^3.1.3", "vue-router": "^3.1.6",
"vuex": "^3.1.2", "vuex": "^3.1.3",
"wangeditor": "^3.1.1" "wangeditor": "^3.1.1"
}, },
"devDependencies": { "devDependencies": {
"@vue/cli-plugin-babel": "^4.1.0", "@vue/cli-plugin-babel": "^4.2.3",
"@vue/cli-plugin-eslint": "^4.1.0", "@vue/cli-plugin-eslint": "^4.2.3",
"@vue/cli-service": "^4.1.0", "@vue/cli-service": "^4.2.3",
"babel-eslint": "^10.0.3", "babel-eslint": "^10.1.0",
"eslint": "^5.16.0", "eslint": "^5.16.0",
"eslint-plugin-vue": "^5.0.0", "eslint-plugin-vue": "^5.0.0",
"node-sass": "^4.13.0", "node-sass": "^4.13.1",
"postcss-loader": "^3.0.0", "postcss-loader": "^3.0.0",
"postcss-pxtorem": "^4.0.1", "postcss-pxtorem": "^4.0.1",
"quill-image-extend-module": "^1.1.2", "quill-image-extend-module": "^1.1.2",
"sass-loader": "^8.0.0", "sass-loader": "^8.0.2",
"vue-template-compiler": "^2.6.10" "vue-template-compiler": "^2.6.10"
} }
} }
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>专柜首页</title>
<link rel="stylesheet" href="../css/swiper.css" />
<link rel="stylesheet" href="../css/iconfont.css">
<script src="../js/jquery-3.4.1.min.js"></script>
<script src="../js/swiper.min.js" type="text/javascript" charset="utf-8"></script>
<style>
body {
padding: 0;
margin: 0;
}
/* .swiper-container {
height: 400px;
} */
.list {
height: auto;
width: 100%;
background-color: #fff;
display: flex;
justify-content: flex-start;
border-bottom: 1px solid rgba(238, 238, 238, 1);
box-shadow: 0px 2px 4px 0px rgba(221, 221, 221, 1);
border-radius: 4px;
z-index: 100;
}
.left {
width: 30%;
}
.left img {
width: 160px;
}
.right {
width: 76%;
padding: 20px;
background-color: #fff;
height: auto;
}
.flex {
display: flex;
align-items: center;
justify-content: center;
}
.title {
font-size: 28px;
font-weight: bold;
color: rgba(45, 71, 106, 1);
}
.txt {
margin-top: 20px;
font-size: 24px;
color: rgba(45, 71, 106, 0.8);
}
</style>
</head>
<body>
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<img src="http://files.cailiao.com/vue/cailiao/pc_21/images/ba1.jpg" alt="">
</div>
<div class="swiper-slide">
<img src="http://files.cailiao.com/vue/cailiao/pc_21/images/ba2.png" alt="">
</div>
<div class="swiper-slide">
<img src="http://files.cailiao.com/vue/cailiao/pc_21/images/ba3.png" alt="">
</div>
</div>
<div class="swiper-pagination"></div>
</div>
<div class="list">
<div class="left flex">
<img src="../img/counter.png" alt="" />
</div>
<div class="right">
<div class="title">欧亚一号专柜</div>
<div class="txt">
<i class="iconfont icon-dianhua" style="font-size: 16px;"></i>
<span>18888888888</span>
</div>
<div class="txt">
<i class="iconfont icon-dizhi" style="font-size: 16px;"></i>
<span>欧亚商场一楼181号</span>
</div>
</div>
</div>
<script>
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg)
var context = ""
if (r != null)
context = r[2]
reg = null
r = null
return context == null || context == "" || context == "undefined" ? "" : context;
}
// alert(GetQueryString("storeCode"))
const storecode = GetQueryString("storeCode")
$(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) {
}
});
}
// 轮播图
/* swiper轮播组件 */
var swiper = new Swiper('.swiper-container', {
autoplay: true,
pagination: {
el: '.swiper-pagination',
},
});
/*鼠标移入停止轮播,鼠标离开 继续轮播*/
$('.swiper-container').mouseenter(function () {
swiper.stopAutoplay();
}).mouseleave(function () {
swiper.startAutoplay();
})
// $(function () {
// $.ajax({
// type: 'GET',
// url: 'a.json',
// success: function (data) {
// var str = "";
// for (i = 0; i < data.list.length; i++) {
// var _data = data.list[i];
// str += '<div class="swiper-slide"><a href="'+_data.URL+'">' +
// '<img src="'+_data.Pic+'" alt=""></a></div>';
// };
// $("#slider").append(str);
// if(data.data.list.length > 1){
// var mySwiper = new Swiper('.swiper-container', {
// loop: true,
// autoplay: 2000,
// pagination: '.swiper-pagination',
// })
// }
// }
// })
// })
</script>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>IconFont Demo</title>
<link rel="shortcut icon" href="https://gtms04.alicdn.com/tps/i4/TB1_oz6GVXXXXaFXpXXJDFnIXXX-64-64.ico" type="image/x-icon"/>
<link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
<link rel="stylesheet" href="demo.css">
<link rel="stylesheet" href="iconfont.css">
<script src="iconfont.js"></script>
<!-- jQuery -->
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
<!-- 代码高亮 -->
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
</head>
<body>
<div class="main">
<h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">&#xe86b;</a></h1>
<div class="nav-tabs">
<ul id="tabs" class="dib-box">
<li class="dib active"><span>Unicode</span></li>
<li class="dib"><span>Font class</span></li>
<li class="dib"><span>Symbol</span></li>
</ul>
</div>
<div class="tab-container">
<div class="content unicode" style="display: block;">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe681;</span>
<div class="name">地址</div>
<div class="code-name">&amp;#xe681;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe630;</span>
<div class="name">电话</div>
<div class="code-name">&amp;#xe630;</div>
</li>
</ul>
<div class="article markdown">
<h2 id="unicode-">Unicode 引用</h2>
<hr>
<p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
<ul>
<li>兼容性最好,支持 IE6+,及所有现代浏览器。</li>
<li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
<li>但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。</li>
</ul>
<blockquote>
<p>注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式</p>
</blockquote>
<p>Unicode 使用步骤如下:</p>
<h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
<pre><code class="language-css"
>@font-face {
font-family: 'iconfont';
src: url('iconfont.eot');
src: url('iconfont.eot?#iefix') format('embedded-opentype'),
url('iconfont.woff2') format('woff2'),
url('iconfont.woff') format('woff'),
url('iconfont.ttf') format('truetype'),
url('iconfont.svg#iconfont') format('svg');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
<pre><code class="language-css"
>.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
</code></pre>
<h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
<pre>
<code class="language-html"
>&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
</blockquote>
</div>
</div>
<div class="content font-class">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-dizhi"></span>
<div class="name">
地址
</div>
<div class="code-name">.icon-dizhi
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-dianhua"></span>
<div class="name">
电话
</div>
<div class="code-name">.icon-dianhua
</div>
</li>
</ul>
<div class="article markdown">
<h2 id="font-class-">font-class 引用</h2>
<hr>
<p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
<p>与 Unicode 使用方式相比,具有如下特点:</p>
<ul>
<li>兼容性良好,支持 IE8+,及所有现代浏览器。</li>
<li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
<li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
<li>不过因为本质上还是使用的字体,所以多色图标还是不支持的。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
</code></pre>
<h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"
iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
</blockquote>
</div>
</div>
<div class="content symbol">
<ul class="icon_lists dib-box">
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-dizhi"></use>
</svg>
<div class="name">地址</div>
<div class="code-name">#icon-dizhi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-dianhua"></use>
</svg>
<div class="name">电话</div>
<div class="code-name">#icon-dianhua</div>
</li>
</ul>
<div class="article markdown">
<h2 id="symbol-">Symbol 引用</h2>
<hr>
<p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
<ul>
<li>支持多色图标了,不再受单色限制。</li>
<li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
<li>兼容性较差,支持 IE9+,及现代浏览器。</li>
<li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
</code></pre>
<h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
<pre><code class="language-html">&lt;style&gt;
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
&lt;/style&gt;
</code></pre>
<h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
&lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
&lt;/svg&gt;
</code></pre>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function () {
$('.tab-container .content:first').show()
$('#tabs li').click(function (e) {
var tabContent = $('.tab-container .content')
var index = $(this).index()
if ($(this).hasClass('active')) {
return
} else {
$('#tabs li').removeClass('active')
$(this).addClass('active')
tabContent.hide().eq(index).fadeIn()
}
})
})
</script>
</body>
</html>
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1585738608197'); /* IE9 */
src: url('iconfont.eot?t=1585738608197#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAQQAAsAAAAACCQAAAPDAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqECINRATYCJAMMCwgABCAFhG0HORsaB8gOJQXpwADgAaNgPHy/3//WPufc+0UkqXafbopKCa+SoBIhFEKkVIbpXsIbalMvoWJCZ4JUXEg2j0DiMHI1masDycxffe5X+ePe8V/nYTYfUC5jLpuT2hhg3HkX0NiLsoBLGFMBzxHpQP/rCbSbNonsqLiyEbgp0C0Q7w06FXDLaZWW1NAq1DVjS4pPoNKaPshf4GP4+/hvK9xIqgwbHb8s0oLcX8TfuUjfcJ/7vAg05jNDmkTGCqAQD2ut15DYvwLRbkid2mNrRUhzuYaHCbmmuKY/PJIgakjuBAtcIPGLcLmpbC7Lv2vey3Wu0YovgH+qbhDuWZQ+rwivSZMR+bvlT2+e7Ttz48myZ7fOzT1/+3mCIDSKYpPdrpAkarnILAI+C4TQeEeYdErKl6hzUuRcewOnB/nP+OP/PO3LxkgUPezvx7Gh5+1NF7M2ngw+GX02akfmOFFMO57xvOypKKI7Jh25EbThSccGYWL2jIs9Dw3dfHuiHTslJV8Sxm04ELJJqn5l19kWOvF05H7q2K0xVRPb585tkQ0vnECaiGSiCUkOI083yFhW1kBqlvXy0n068yChUJIwTx5cOTxZWcO2lE4/c6Z0GlPLyfMPBVfJ80ioUEIiN2cf4viBfA09V3PFZnNZIYv/IIcDbDRafcBZqzqhNXdZb1RkcHY7uNemLXM9pB7cc8ohBLy8HC1LMxyY/+jb3CNqUlmQqTi06OPqpwXUcXx9cYJXUWhv+/NVi9a0vV87x10b6Oe3cDpR+HFBReouY9mImcrEDWjJ2JSX79NyY4q51ysvrPyeXDajX/w1tQpfPwKA1lsAHgNoNjJlDA80l+RhZNE/vJ2Bb9GvZ/lm/m/tKODnsQ1cyO5H6isgkVaJ3rz/s1pxbQ5QZAF0uehSrWmB7KGJvQnt5KIJzn5fx9uHgNQcWmUeC0mLKchazSCFWIFKhx2otdqFdstKJncYwENEacOShQyEXqch6fYdsl4vkUJ8gcqwfqj1BgLtLiNwzg5zYfAo4GkVpLWouh01aFgr4xigR5RaT+uazSo+KwgpFM3bDC6UxIhiqIS20vwcA2wtungIGZThWQtazGxGm80syvGskdZATA8hl47jTN2LMA1rAR4O8WgqEE0LpdYOZaDBsmL88pBH6fv1aDrNzFT4lqIGM4XGszHUjiJhiB5IidTaq+heLrFpoRMPghgoBo9lgSpmzDQz+Vkorr6VEU0DwuhHeDnpcK4U01eKrS+3fN8KaId+OVLkKKrnhg69wdWPVVn1zSoAAAA=') format('woff2'),
url('iconfont.woff?t=1585738608197') format('woff'),
url('iconfont.ttf?t=1585738608197') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1585738608197#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-dizhi:before {
content: "\e681";
}
.icon-dianhua:before {
content: "\e630";
}
!function(s){var e,d='<svg><symbol id="icon-dizhi" viewBox="0 0 1024 1024"><path d="M512 249.8c35.8 0 69.5 13.9 94.8 39.3 25.3 25.3 39.3 59 39.3 94.8s-13.9 69.5-39.3 94.8C581.5 504 547.8 518 512 518s-69.5-13.9-94.8-39.3c-25.3-25.3-39.3-59-39.3-94.8s13.9-69.5 39.3-94.8c25.3-25.4 59-39.3 94.8-39.3m0-64c-109.4 0-198.1 88.7-198.1 198.1s88.7 198 198.1 198 198.1-88.7 198.1-198.1-88.7-198-198.1-198z" fill="" ></path><path d="M512 64c43.2 0 85.1 8.4 124.5 25.1 38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5 0 26.1-9.1 75-52.7 159.7-30.3 59-72.9 126.8-126.6 201.6-51.9 72.3-104.3 137.2-140.6 180.6-36.1-43.2-88.2-107.6-139.9-179.7-53.9-75-96.6-143-127-202-43.7-85-52.9-134-52.9-160.2 0-43.2 8.4-85.1 25.1-124.5 16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 72.4 468.8 64 512 64m0-64C300 0 128.2 171.9 128.2 383.8S512 1024 512 1024s383.8-428.2 383.8-640.2S724 0 512 0z" fill="" ></path></symbol><symbol id="icon-dianhua" viewBox="0 0 1031 1024"><path d="M775.908525 1015.269821c-9.545802 0-19.685698-0.483332-30.429759-1.55069-55.71405-5.538176-117.298567-26.099913-183.041751-61.101185-80.16258-42.684233-167.34354-107.370128-259.106081-192.275401-406.320868-375.911247-288.659802-603.590697-283.453917-613.09622 0.231596-0.432985 0.483332-0.8559 0.735067-1.278816C58.382444 84.584381 148.181451-14.840982 245.220363 1.86417c28.999903 4.994428 55.643565 18.698896 81.451465 41.898819 21.417637 19.252714 39.1398 42.321734 54.072736 62.430347 20.602015 27.741227 34.930786 53.075865 43.801938 77.44384 12.465931 34.215858 14.157592 66.931374 5.024636 97.210092-8.337472 27.660672-22.968326 54.978983-46.037347 85.992769-1.268746 1.7118-2.698602 3.322906-7.964904 9.213511-2.003813 2.235409-5.185747 5.81005-8.317333 9.374622 70.153586 140.357518 214.740257 230.871453 267.816121 260.525868 19.695768-21.256526 44.043603-38.525566 70.475807-49.722751 38.888065-16.473556 78.551474-18.557924 114.680521-6.051716 67.575816 23.401311 131.858936 72.167468 171.975468 130.449218 20.007919 29.080459 26.301301 62.057779 18.688827 98.015645-5.558315 26.281162-18.708965 53.881418-39.089453 82.025421-30.993647 42.805066-69.267477 73.879268-75.258777 78.63203-7.783655 6.716297-46.097763 35.967936-120.631543 35.967936zM71.009486 175.52123c-2.587839 5.538176-23.330825 53.810932-4.581582 138.222804 18.849937 84.895203 82.136185 223.853073 276.55637 403.733029C536.075297 896.118482 667.581803 945.126305 743.907938 954.7728c76.144885 9.626357 111.065602-16.906541 114.438854-19.64542 0.664581-0.644442 0.795483-0.704859 1.631245-1.349302 0.34236-0.271874 37.115849-29.161014 65.159158-68.220258 32.504058-45.262002 38.888065-82.881321 18.97077-111.820808-32.806141-47.668591-87.593805-89.194842-142.975565-108.37707-50.07518-17.339526-106.816311 15.134325-134.789134 54.495652-8.236778 11.589892-23.622838 15.55724-36.441198 9.414899-2.38645-1.147913-59.087303-28.587058-127.17666-80.83723-40.066186-30.741911-75.842803-63.809857-106.353118-98.267381-38.555774-43.550202-68.794215-89.517063-89.869492-136.621767-4.79304-10.723923-3.061101-21.69958 5.145469-32.624891 1.54062-2.04409 3.59478-4.581582 6.303451-7.763516 4.44061-5.226024 9.777398-11.207254 14.066967-16.010363 1.88298-2.104507 4.178806-4.672207 5.064914-5.709356 18.678757-25.173527 30.308927-46.621372 36.58217-67.444915 10.008994-33.208917-3.010754-73.436214-39.804382-122.987784-28.989834-39.049175-58.352236-74.674751-98.549324-81.592437-61.201879-10.532604-131.466229 63.266109-164.302577 116.110377z m787.166126 759.777329c-0.010069 0-0.010069 0 0 0-0.010069 0-0.010069 0 0 0z m-521.394095-603.439655l-0.080556 0.110763c0.030208-0.040278 0.050347-0.080555 0.080556-0.110763z" ></path></symbol></svg>',t=(e=document.getElementsByTagName("script"))[e.length-1].getAttribute("data-injectcss");if(t&&!s.__iconfont__svg__cssinject__){s.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(e){console&&console.log(e)}}!function(e){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(e,0);else{var t=function(){document.removeEventListener("DOMContentLoaded",t,!1),e()};document.addEventListener("DOMContentLoaded",t,!1)}else document.attachEvent&&(i=e,o=s.document,c=!1,(d=function(){try{o.documentElement.doScroll("left")}catch(e){return void setTimeout(d,50)}n()})(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,n())});function n(){c||(c=!0,i())}var i,o,c,d}(function(){var e,t,n,i,o,c;(e=document.createElement("div")).innerHTML=d,d=null,(t=e.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",n=t,(i=document.body).firstChild?(o=n,(c=i.firstChild).parentNode.insertBefore(o,c)):i.appendChild(n))})}(window);
\ No newline at end of file
{
"id": "",
"name": "",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "5809159",
"name": "地址",
"font_class": "dizhi",
"unicode": "e681",
"unicode_decimal": 59009
},
{
"icon_id": "13604087",
"name": "电话",
"font_class": "dianhua",
"unicode": "e630",
"unicode_decimal": 58928
}
]
}
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="iconfont" horiz-adv-x="1024" >
<font-face
font-family="iconfont"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="dizhi" unicode="&#59009;" d="M512 646.2c35.8 0 69.5-13.9 94.8-39.3 25.3-25.3 39.3-59 39.3-94.8s-13.9-69.5-39.3-94.8C581.5 392 547.8 378 512 378s-69.5 13.9-94.8 39.3c-25.3 25.3-39.3 59-39.3 94.8s13.9 69.5 39.3 94.8c25.3 25.4 59 39.3 94.8 39.3m0 64c-109.4 0-198.1-88.7-198.1-198.1s88.7-198 198.1-198 198.1 88.7 198.1 198.1-88.7 198-198.1 198zM512 832c43.2 0 85.1-8.4 124.5-25.1 38.1-16.1 72.3-39.2 101.7-68.6 29.4-29.4 52.5-63.6 68.6-101.7 16.7-39.4 25.1-81.3 25.1-124.5 0-26.1-9.1-75-52.7-159.7-30.3-59-72.9-126.8-126.6-201.6-51.9-72.3-104.3-137.2-140.6-180.6-36.1 43.2-88.2 107.6-139.9 179.7-53.9 75-96.6 143-127 202-43.7 85-52.9 134-52.9 160.2 0 43.2 8.4 85.1 25.1 124.5 16.1 38.1 39.2 72.3 68.6 101.7 29.4 29.4 63.6 52.5 101.7 68.6C426.9 823.6 468.8 832 512 832m0 64C300 896 128.2 724.1 128.2 512.2S512-128 512-128s383.8 428.2 383.8 640.2S724 896 512 896z" horiz-adv-x="1024" />
<glyph glyph-name="dianhua" unicode="&#58928;" d="M775.908525-119.269821c-9.545802 0-19.685698 0.483332-30.429759 1.55069-55.71405 5.538176-117.298567 26.099913-183.041751 61.101185-80.16258 42.684233-167.34354 107.370128-259.106081 192.275401-406.320868 375.911247-288.659802 603.590697-283.453917 613.09622 0.231596 0.432985 0.483332 0.8559 0.735067 1.278816C58.382444 811.415619 148.181451 910.840982 245.220363 894.13583c28.999903-4.994428 55.643565-18.698896 81.451465-41.898819 21.417637-19.252714 39.1398-42.321734 54.072736-62.430347 20.602015-27.741227 34.930786-53.075865 43.801938-77.44384 12.465931-34.215858 14.157592-66.931374 5.024636-97.210092-8.337472-27.660672-22.968326-54.978983-46.037347-85.992769-1.268746-1.7118-2.698602-3.322906-7.964904-9.213511-2.003813-2.235409-5.185747-5.81005-8.317333-9.374622 70.153586-140.357518 214.740257-230.871453 267.816121-260.525868 19.695768 21.256526 44.043603 38.525566 70.475807 49.722751 38.888065 16.473556 78.551474 18.557924 114.680521 6.051716 67.575816-23.401311 131.858936-72.167468 171.975468-130.449218 20.007919-29.080459 26.301301-62.057779 18.688827-98.015645-5.558315-26.281162-18.708965-53.881418-39.089453-82.025421-30.993647-42.805066-69.267477-73.879268-75.258777-78.63203-7.783655-6.716297-46.097763-35.967936-120.631543-35.967936zM71.009486 720.47877c-2.587839-5.538176-23.330825-53.810932-4.581582-138.222804 18.849937-84.895203 82.136185-223.853073 276.55637-403.733029C536.075297-0.118482 667.581803-49.126305 743.907938-58.7728c76.144885-9.626357 111.065602 16.906541 114.438854 19.64542 0.664581 0.644442 0.795483 0.704859 1.631245 1.349302 0.34236 0.271874 37.115849 29.161014 65.159158 68.220258 32.504058 45.262002 38.888065 82.881321 18.97077 111.820808-32.806141 47.668591-87.593805 89.194842-142.975565 108.37707-50.07518 17.339526-106.816311-15.134325-134.789134-54.495652-8.236778-11.589892-23.622838-15.55724-36.441198-9.414899-2.38645 1.147913-59.087303 28.587058-127.17666 80.83723-40.066186 30.741911-75.842803 63.809857-106.353118 98.267381-38.555774 43.550202-68.794215 89.517063-89.869492 136.621767-4.79304 10.723923-3.061101 21.69958 5.145469 32.624891 1.54062 2.04409 3.59478 4.581582 6.303451 7.763516 4.44061 5.226024 9.777398 11.207254 14.066967 16.010363 1.88298 2.104507 4.178806 4.672207 5.064914 5.709356 18.678757 25.173527 30.308927 46.621372 36.58217 67.444915 10.008994 33.208917-3.010754 73.436214-39.804382 122.987784-28.989834 39.049175-58.352236 74.674751-98.549324 81.592437-61.201879 10.532604-131.466229-63.266109-164.302577-116.110377z m787.166126-759.777329c-0.010069 0-0.010069 0 0 0-0.010069 0-0.010069 0 0 0z m-521.394095 603.439655l-0.080556-0.110763c0.030208 0.040278 0.050347 0.080555 0.080556 0.110763z" horiz-adv-x="1031" />
</font>
</defs></svg>
This diff is collapsed.
...@@ -15,6 +15,6 @@ ...@@ -15,6 +15,6 @@
</noscript> </noscript>
<div id="app"></div> <div id="app"></div>
<!-- built files will be auto injected --> <!-- built files will be auto injected -->
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> <!-- <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> -->
</body> </body>
</html> </html>
//本插件由www.swiper.com.cn提供
//版本1.03
function swiperAnimateCache(a){for(j=0;j<a.slides.length;j++)for(allBoxes=a.slides[j].querySelectorAll(".ani"),i=0;i<allBoxes.length;i++)allBoxes[i].attributes["style"]?allBoxes[i].setAttribute("swiper-animate-style-cache",allBoxes[i].attributes["style"].value):allBoxes[i].setAttribute("swiper-animate-style-cache"," "),allBoxes[i].style.visibility="hidden"}function swiperAnimate(a){clearSwiperAnimate(a);var b=a.slides[a.activeIndex].querySelectorAll(".ani");for(i=0;i<b.length;i++)b[i].style.visibility="visible",effect=b[i].attributes["swiper-animate-effect"]?b[i].attributes["swiper-animate-effect"].value:"",b[i].className=b[i].className+" "+effect+" "+"animated",style=b[i].attributes["style"].value,duration=b[i].attributes["swiper-animate-duration"]?b[i].attributes["swiper-animate-duration"].value:"",duration&&(style=style+"animation-duration:"+duration+";-webkit-animation-duration:"+duration+";"),delay=b[i].attributes["swiper-animate-delay"]?b[i].attributes["swiper-animate-delay"].value:"",delay&&(style=style+"animation-delay:"+delay+";-webkit-animation-delay:"+delay+";"),b[i].setAttribute("style",style)}function clearSwiperAnimate(a){for(j=0;j<a.slides.length;j++)for(allBoxes=a.slides[j].querySelectorAll(".ani"),i=0;i<allBoxes.length;i++)allBoxes[i].attributes["swiper-animate-style-cache"]&&allBoxes[i].setAttribute("style",allBoxes[i].attributes["swiper-animate-style-cache"].value),allBoxes[i].style.visibility="hidden",allBoxes[i].className=allBoxes[i].className.replace("animated"," "),allBoxes[i].attributes["swiper-animate-effect"]&&(effect=allBoxes[i].attributes["swiper-animate-effect"].value,allBoxes[i].className=allBoxes[i].className.replace(effect," "))}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -3,15 +3,24 @@ import qs from 'qs' ...@@ -3,15 +3,24 @@ import qs from 'qs'
export function getUserInfoByUserId(params) { export function getUserInfoByUserId(params) {
return requestCF({ return requestCF({
url: '/admin/auth/addressbook/clerk/getByUserIdOrUserName', url: '/admin/auth/addressbook/clerk/getStallCodeByClerkId',
method: 'get', method: 'get',
params params
}) })
} }
// export function ApiLoginSubmit(inData) { // 门店维护
// return requestCF({ export function editStore(data) {
// url: '/admin/common/login', return requestCF({
// method: 'post', url: '/admin/auth/stall/settingOrUpdateStall',
// data: qs.stringify(inData) method: 'post',
// }) data: qs.stringify(data)
// } })
}
// 获取门店详情
export function getStoreDetail(params) {
return requestCF({
url: '/admin/auth/stall/getByOyStallCode',
method: 'get',
params
})
}
\ No newline at end of file
...@@ -66,4 +66,9 @@ input:focus{ outline: none;} ...@@ -66,4 +66,9 @@ input:focus{ outline: none;}
flex-direction: column; flex-direction: column;
width: 100%; width: 100%;
background-color: #fff; background-color: #fff;
}
.flex {
display: flex;
align-items: center;
justify-content: center;
} }
\ No newline at end of file
...@@ -7,7 +7,10 @@ import './lib/rem'; ...@@ -7,7 +7,10 @@ import './lib/rem';
import Vant from 'vant'; import Vant from 'vant';
import { Toast } from 'vant'; import { Toast } from 'vant';
import 'vant/lib/index.css'; import 'vant/lib/index.css';
import vConsole from 'vconsole'
Vue.prototype.$vConsole= new vConsole()
Vue.config.productionTip = false Vue.config.productionTip = false
Vue.use(Vant); Vue.use(Vant);
......
...@@ -67,6 +67,11 @@ const routes = [ ...@@ -67,6 +67,11 @@ const routes = [
name: 'counterMaintain', name: 'counterMaintain',
component: () => import('@/views/counter/counterMaintain') component: () => import('@/views/counter/counterMaintain')
}, },
{
path: '/counterHome',
name: 'counterHome',
component: () => import('@/views/counter/counterHomePage')
},
{ {
path: '/counterEdit', path: '/counterEdit',
name: 'counterEdit', name: 'counterEdit',
...@@ -157,7 +162,7 @@ const routes = [ ...@@ -157,7 +162,7 @@ const routes = [
name: 'qrCode', name: 'qrCode',
component: () => import('@/views/qrCode/index') component: () => import('@/views/qrCode/index')
}, },
...mineRoute ...mineRoute
// { // {
// path: '/about', // path: '/about',
// name: 'about', // name: 'about',
......
This diff is collapsed.
...@@ -18,26 +18,22 @@ async function getXToken() { ...@@ -18,26 +18,22 @@ async function getXToken() {
corpId: INFO.corpId, corpId: INFO.corpId,
agentId: INFO.agentId, agentId: INFO.agentId,
} }
await wxRequest('/workWx/auth/oauth2/getAccessToken', qs.stringify(postData)).then(res => {
console.log('%c--->getXToken: PD =', 'background: orange;', postData)
await wxRequest('/workWx/auth/oauth2/getAccessToken', qs.stringify(postData),'get').then(res => {
if (res.result === 'success') { if (res.result === 'success') {
sessionStorage.setItem('XToken', res.data) sessionStorage.setItem('XToken', res.data)
console.log('%c--->getXToken: RD =', 'background: limegreen;', res)
} else { } else {
console.log('%c--->getXToken: N/A. ', 'background: red;')
// this.$message({ // this.$message({
// message: res.errorMsg, // message: res.errorMsg,
// type: 'error' // type: 'error'
// }) // })
} }
}).catch(err => { }).catch(err => {
console.log('!==>getXToken: err:', err) console.log(err,'err');
}) })
} }
function isIosOrAndroid() { function isIosOrAndroid() {
// alert('isIosOrAndroid')
let u = navigator.userAgent; let u = navigator.userAgent;
let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1 // android终端 let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1 // android终端
let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios终端 let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios终端
...@@ -52,9 +48,7 @@ function isIosOrAndroid() { ...@@ -52,9 +48,7 @@ function isIosOrAndroid() {
} }
Vue.prototype.getAgentAuth = function () { Vue.prototype.getAgentAuth = function () {
zlog('%c--->IN: getAgentAuth: location.href =', 'color: orange;', location.href) // alert(location.href)
// alert(`--->zCommon.js: IN.`)
let postData = { let postData = {
// businessId: sessionStorage.getItem('businessId'), // businessId: sessionStorage.getItem('businessId'),
// pageUrl: encodeURIComponent(this.isIosOrAndroid() === 'android' ? location.href.split('#')[0] : window.initUrl) // pageUrl: encodeURIComponent(this.isIosOrAndroid() === 'android' ? location.href.split('#')[0] : window.initUrl)
...@@ -69,17 +63,9 @@ Vue.prototype.getAgentAuth = function () { ...@@ -69,17 +63,9 @@ Vue.prototype.getAgentAuth = function () {
} }
// alert(`--->zCommon.js: header =${JSON.stringify(header)}`) // alert(`--->zCommon.js: header =${JSON.stringify(header)}`)
console.log('%c--->getAgentAuth: getJsSdkSignature: PD =', 'background: orange;', header)
wxRequest('/workWx/auth/base/getJsSdkSignature', qs.stringify(postData), header) wxRequest('/workWx/auth/base/getJsSdkSignature', qs.stringify(postData), header)
.then(res => { .then(res => {
// alert(`--->zCommon.js: getJsSdkSignature: then.`)
// alert(`--->zCommon.js: getJsSdkSignature: then: res =${JSON.stringify(res)}`)
if (res.result === 'success') { if (res.result === 'success') {
console.log('%c--->getAgentAuth: getJsSdkSignature: RD =', 'background: limegreen;', res.data)
// alert(`--->zCommon.js: getJsSdkSignature: then: res.result === "success".`)
let config = res.data let config = res.data
wx.config({ wx.config({
beta: true, beta: true,
...@@ -89,23 +75,27 @@ Vue.prototype.getAgentAuth = function () { ...@@ -89,23 +75,27 @@ Vue.prototype.getAgentAuth = function () {
nonceStr: config.jsApiSignature.nonceStr, // 必填,生成签名的随机串 nonceStr: config.jsApiSignature.nonceStr, // 必填,生成签名的随机串
signature: config.jsApiSignature.signature, // 必填,签名 signature: config.jsApiSignature.signature, // 必填,签名
// 根据自己的需求,填写 jsapilist 内容 // 根据自己的需求,填写 jsapilist 内容
jsApiList: ['agentConfig'] jsApiList: ['agentConfig', 'sendChatMessage','selectExternalContact','shareToExternalContact'],
success: function(res) {
},
fail: function(err) {
}
}) })
// alert(`--->zCommon.js: getJsSdkSignature: then: wx.config: end.`) // alert(`--->zCommon.js: getJsSdkSignature: then: wx.config: end.`)
wx.ready(function () { wx.ready(function () {
zlog('%c--->getAgentAuth: getJsSdkSignature: Ready.', 'color: red;') zlog('%c--->getAgentAuth: getJsSdkSignature: Ready.', 'color: red;')
// alert(`--->zCommon.js: getJsSdkSignature: then: wx.ready: IN.`) // alert(`--->zCommon.js: getJsSdkSignature: then: wx.ready: IN.`)
// JS-SDK配置信息验证失败时会进入此方法 // JS-SDK配置信息验证失败时会进入此方法
wx.error(function (res) { wx.error(function (res) {
// alert("JS-SDK配置信息验证失败 \r\n" + JSON.stringify(res)); // alert('sdk配置失败')
}) })
// 配置成功后验证API接口在当前客户端是否支持:判断当前客户端版本是否支持指定JS接口 // 配置成功后验证API接口在当前客户端是否支持:判断当前客户端版本是否支持指定JS接口
wx.checkJsApi( wx.checkJsApi(
{ {
jsApiList: ['agentConfig', 'sendChatMessage'], jsApiList: ['config', 'agentConfig', 'sendChatMessage','selectExternalContact','shareToExternalContact'],
success: function (res) { success: function (res) {
if (res.errMsg != "checkJsApi:ok") { if (res.errMsg != "checkJsApi:ok") {
// alert("JS-SDK接口检测失败:" + JSON.stringify(res)); // alert("JS-SDK接口检测失败:" + JSON.stringify(res));
...@@ -125,8 +115,9 @@ Vue.prototype.getAgentAuth = function () { ...@@ -125,8 +115,9 @@ Vue.prototype.getAgentAuth = function () {
timestamp: agentConfig.agentJsApiSignature.timestamp, // 必填,生成签名的时间戳 timestamp: agentConfig.agentJsApiSignature.timestamp, // 必填,生成签名的时间戳
nonceStr: agentConfig.agentJsApiSignature.nonceStr, // 必填,生成签名的随机串 nonceStr: agentConfig.agentJsApiSignature.nonceStr, // 必填,生成签名的随机串
signature: agentConfig.agentJsApiSignature.signature,// 必填,签名,agentConfig所以为应用签名 signature: agentConfig.agentJsApiSignature.signature,// 必填,签名,agentConfig所以为应用签名
jsApiList: ['sendChatMessage'], //必填 jsApiList: ['sendChatMessage','selectExternalContact','shareToExternalContact'], //必填
success: function (res) { success: function (res) {
// alert('agentConfigSuccess')
// alert(`!-->zCommon.js: getJsSdkSignature: then: wx.ready: wx.checkJsApi: getAgentJsSdkSignature: wx.agentConfig: res.`) // alert(`!-->zCommon.js: getJsSdkSignature: then: wx.ready: wx.checkJsApi: getAgentJsSdkSignature: wx.agentConfig: res.`)
// alert(`!-->zCommon.js: getJsSdkSignature: then: wx.ready: wx.checkJsApi: getAgentJsSdkSignature: wx.agentConfig: res =${JSON.stringify(res)}`) // alert(`!-->zCommon.js: getJsSdkSignature: then: wx.ready: wx.checkJsApi: getAgentJsSdkSignature: wx.agentConfig: res =${JSON.stringify(res)}`)
// alert('agentConfig:ok') // alert('agentConfig:ok')
...@@ -137,6 +128,7 @@ Vue.prototype.getAgentAuth = function () { ...@@ -137,6 +128,7 @@ Vue.prototype.getAgentAuth = function () {
// alert('wx.agentConfig 回调'+res.errMsg); // alert('wx.agentConfig 回调'+res.errMsg);
}, },
fail: function (res) { fail: function (res) {
// alert('agentConfigFailed')
// alert('回调失败:'+res.errMsg) // alert('回调失败:'+res.errMsg)
if (res.errMsg.indexOf('is not a function') > -1) { if (res.errMsg.indexOf('is not a function') > -1) {
alert('<i class="weui-icon-warn">版本过低请升级</i>') alert('<i class="weui-icon-warn">版本过低请升级</i>')
...@@ -196,7 +188,6 @@ function configWx(to) { ...@@ -196,7 +188,6 @@ function configWx(to) {
wx.ready(function () { wx.ready(function () {
// JS-SDK配置信息验证失败时会进入此方法 // JS-SDK配置信息验证失败时会进入此方法
wx.error(function (res) { wx.error(function (res) {
// alert("JS-SDK配置信息验证失败 \r\n" + JSON.stringify(res))
}) })
// 配置成功后验证API接口在当前客户端是否支持:判断当前客户端版本是否支持指定JS接口 // 配置成功后验证API接口在当前客户端是否支持:判断当前客户端版本是否支持指定JS接口
wx.checkJsApi({ wx.checkJsApi({
...@@ -206,7 +197,7 @@ function configWx(to) { ...@@ -206,7 +197,7 @@ function configWx(to) {
// router.push(to) // router.push(to)
if (res.errMsg != "checkJsApi:ok") { if (res.errMsg != "checkJsApi:ok") {
// alert("JS-SDK接口检测失败:" + JSON.stringify(res)); alert("JS-SDK接口检测失败:" + JSON.stringify(res));
return false; return false;
} }
} }
...@@ -230,9 +221,9 @@ function configWx(to) { ...@@ -230,9 +221,9 @@ function configWx(to) {
timestamp: agentConfig.agentJsApiSignature.timestamp, // 必填,生成签名的时间戳 timestamp: agentConfig.agentJsApiSignature.timestamp, // 必填,生成签名的时间戳
nonceStr: agentConfig.agentJsApiSignature.nonceStr, // 必填,生成签名的随机串 nonceStr: agentConfig.agentJsApiSignature.nonceStr, // 必填,生成签名的随机串
signature: agentConfig.agentJsApiSignature.signature,// 必填,签名,agentConfig所以为应用签名 signature: agentConfig.agentJsApiSignature.signature,// 必填,签名,agentConfig所以为应用签名
jsApiList: ['getCurExternalContact'], //必填 jsApiList: ['getCurExternalContact','selectExternalContact','shareToExternalContact'], //必填
success: function (res) { success: function (res) {
// alert('agentConfig:ok') // alert('agentConfig:ok')
// alert(`--->configWx/getJsSdkSignature/getAgentJsSdkSignature: then: agentConfig: res =${res}`) // alert(`--->configWx/getJsSdkSignature/getAgentJsSdkSignature: then: agentConfig: res =${res}`)
// alert(`--->configWx/getJsSdkSignature/getAgentJsSdkSignature: then: agentConfig: to =${JSON.stringify(to)}`) // alert(`--->configWx/getJsSdkSignature/getAgentJsSdkSignature: then: agentConfig: to =${JSON.stringify(to)}`)
sessionStorage.setItem('zConfigWx', 'Pass') sessionStorage.setItem('zConfigWx', 'Pass')
...@@ -245,11 +236,8 @@ function configWx(to) { ...@@ -245,11 +236,8 @@ function configWx(to) {
// alert('wx.agentConfig 回调'+res.errMsg); // alert('wx.agentConfig 回调'+res.errMsg);
}, },
fail: function (res) { fail: function (res) {
// alert(`--->A: err =${res}`)
// alert(`--->A: err =${JSON.stringify(res)}`)
if (res.errMsg.indexOf('is not a function') > -1) { if (res.errMsg.indexOf('is not a function') > -1) {
// alert('<i class="weui-icon-warn">版本过低请升级</i>') alert('<i class="weui-icon-warn">版本过低请升级</i>')
} }
} }
}) })
...@@ -285,13 +273,12 @@ function getUnionid(to) { ...@@ -285,13 +273,12 @@ function getUnionid(to) {
wxRequest('/workWx/auth/contact/getExternalContact', postData, header, 'get').then(res => { wxRequest('/workWx/auth/contact/getExternalContact', postData, header, 'get').then(res => {
if (res.result == 'success') { if (res.result == 'success') {
sessionStorage.setItem('unionid', res.data.externalContact.unionId) sessionStorage.setItem('unionid', res.data.externalContact.unionId)
console.log('%c--->UnionId: RES: ', 'background: limegreen;', res.data.externalContact.unionId)
router.push(to) router.push(to)
} }
}) })
} else { } else {
console.log('%c--->UnionId: N/A', 'background: red;') console.log()
console.log(res, 'res')
} }
}); });
} }
......
<template> <template>
<div> <div class="bg">
<div></div> <div class="bd">
<div>收款码</div> <div class="title">收款码</div>
<div class="img"><img src="../../../public/img/code.jpg" alt=""></div>
</div>
<!-- <div>收款码</div> -->
</div> </div>
</template> </template>
...@@ -11,6 +14,33 @@ export default { ...@@ -11,6 +14,33 @@ export default {
} }
</script> </script>
<style> <style scoped>
.bg {
background-color: #a7cfff;
display: flex;
justify-content: center;
height: 100%;
}
.bd {
margin-top: 25px;
width: 90%;
height: 50%;
background-color: #fff;
box-shadow: 0px 2px 4px 0px rgba(221, 221, 221, 1);
}
.title {
background-color: #f1f1f1;
height: 18%;
justify-content: center;
display: flex;
align-items: center;
font-size: 22px;
}
.img {
justify-content: center;
display: flex;
align-items: center;
height: 82%;
}
</style>
</style>
\ No newline at end of file
<template>
<div class="container">
<div class="flex-start">
<van-uploader v-model="bannerList" :max-count="4" />
<div>
<quill-editors @ChangeText="(text)=>{content=text}" :title="title" />
<!-- <van-uploader class="avatar-uploader" />D -->
<quill-editor v-model="content" ref="myQuillEditor" :options="editorOption" @change="onEditorChange($event)"></quill-editor>
</div>
</div>
<div class="creat">保存信息</div>
</div>
</template>
<script>
import QuillEditors from "@/components/quill"
// import { quillEditor } from "vue-quill-editor"
// import "quill/dist/quill.core.css"
// import "quill/dist/quill.snow.css"
// import "quill/dist/quill.bubble.css"
const toolbarOptions = [
[{ size: ["small", false, "large", "huge"] }], // 字体大小
[ "image" ] // 链接、图片、视频
]
export default {
components: {
// quillEditor
QuillEditors
},
data() {
return {
bannerList: [],
content: '',
isClear: false,
detail:"",
editorOption: {
placeholder: "",
theme: "snow", // or 'bubble'
modules: {
toolbar: {
container: toolbarOptions,
handlers: {
// image: function(value) {
// if (value) {
// // 触发input框选择图片文件
// document.querySelector(".avatar-uploader input").click();
// } else {
// this.quill.format("image", false);
// }
// }
}
}
}
},
header: {
}, // 有的图片服务器要求请求头需要有token
serverUrl: "https://139.219.7.104:8021/file/upload",
// title:
}
},
methods: {
change(val) {
console.log(val)
},
onEditorChange({ editor, html, text }) {
console.log(this.content,'内容')
console.log(html,'html')
console.log(editor,'editor')
console.log(text,'text')
this.$emit("input", this.content);
},
}
}
</script>
<style >
</style>
<style scoped>
.container {
min-height: 100%;
height: auto;
background: #F8F8F8;
display: flex;
justify-content: space-between;
flex-direction: column;
align-items: center;
}
.content {
background: #fff;
height: auto;
}
.creat {
margin: 20px 0;
width: 343px;
height: 40px;
line-height: 40px;
background: rgba(117, 178, 253, 1);
border-radius: 10px;
font-size: 16px;
font-weight: bold;
color: rgba(255, 255, 255, 1);
text-align: center;
bottom: 0;
}
</style>
...@@ -3,12 +3,11 @@ ...@@ -3,12 +3,11 @@
<div class="flex-start top" > <div class="flex-start top" >
<div class="flex-start"> <div class="flex-start">
<van-cell-group class="gn"> <van-cell-group class="gn">
<van-cell title="专柜LOGO" center class="logo"> <van-cell title="专柜LOGO" >
<template slot="default"> <template slot="default">
<van-uploader v-model="addForm.logo" :max-count="1" class="input"> <van-uploader v-model="logoList" :max-count="1" class="input" :after-read="afterRead" :before-read="beforeRead" @delete="deleteLogo" >
<div class="cube" style="width:54px;height:50px;"> <div>
<van-icon name="photo" size="40" /> <van-icon name="photo" size="20" />
<div class="mb">点击替换</div>
</div> </div>
</van-uploader> </van-uploader>
</template> </template>
...@@ -18,20 +17,15 @@ ...@@ -18,20 +17,15 @@
<van-field v-model="addForm.name" placeholder="输入名称" class="input" /> <van-field v-model="addForm.name" placeholder="输入名称" class="input" />
</template> </template>
</van-cell> </van-cell>
<van-cell title="门店">
<template slot="default">
<van-field v-model="addForm.store" placeholder="输入名称" class="input" />
</template>
</van-cell>
<van-cell title="专柜地址"> <van-cell title="专柜地址">
<template slot="default"> <template slot="default">
<van-field v-model="addForm.address" placeholder="输入名称" class="input" /> <van-field v-model="addForm.location" placeholder="输入名称" class="input" />
</template> </template>
</van-cell> </van-cell>
<div class="border"> <div class="border">
<div class="des">摘要信息</div> <div class="des">摘要信息</div>
<van-field <van-field
v-model="addForm.abstract" v-model="addForm.summaryTitle"
rows="4" rows="4"
autosize autosize
type="textarea" type="textarea"
...@@ -44,24 +38,25 @@ ...@@ -44,24 +38,25 @@
</div> </div>
<div class="flex-start fwb" > <div class="flex-start fwb" >
<div class="txt">轮播图</div> <div class="txt">轮播图</div>
<van-uploader v-model="bannerList" :max-count="4" class="pic" /> <van-uploader v-model="bannerList" :max-count="4" class="pic" :before-read="beforeRead" :after-read="afterAddBanner" @delete="deleteBanner" />
<van-field v-model="addForm.title" placeholder="标题(不超过30个字)" maxlength="30"></van-field> <quill-editor v-model="addForm.summary" ref="myQuillEditor" :options="editorOption" @change="onEditorChange($event)" ></quill-editor>
<quill-editor v-model="content" ref="myQuillEditor" :options="editorOption" @change="onEditorChange($event)"></quill-editor>
</div> </div>
</div> </div>
<div class="creat">保存信息</div> <div class="creat" @click="handleSave">保存信息</div>
</div> </div>
</template> </template>
<script> <script>
import { quillEditor, Quill } from "vue-quill-editor"; import { quillEditor, Quill } from "vue-quill-editor"
import { container, ImageExtend, QuillWatch } from "quill-image-extend-module"; import { container, ImageExtend, QuillWatch } from "quill-image-extend-module"
import "quill/dist/quill.core.css"; import { editStore, getStoreDetail } from "@/api/sidebar/voucher"
import "quill/dist/quill.snow.css"; import "quill/dist/quill.core.css"
import "quill/dist/quill.bubble.css"; import "quill/dist/quill.snow.css"
Quill.register("modules/ImageExtend", ImageExtend); import "quill/dist/quill.bubble.css"
Quill.register("modules/ImageExtend", ImageExtend)
import axios from 'axios'
import { log } from 'util'
const toolbarOptions = [ const toolbarOptions = [
[{ size: ["small", false, "large", "huge"] }], // 字体大小 [{ size: ["small", false, "large", "huge"] }], // 字体大小
["image"] // 图片 ["image"] // 图片
...@@ -75,16 +70,17 @@ export default { ...@@ -75,16 +70,17 @@ export default {
data() { data() {
return { return {
addForm: { addForm: {
logo: [], logo: '',
abstract: '', summaryTitle: '',
store: '',
name: '', name: '',
address: '', location: '',
title: '' summary: ''
}, },
oyStallCode: '',
list: [],
bannerList: [], bannerList: [],
title: "", title: "",
content: "", logoList: [],
// 富文本框参数设置 // 富文本框参数设置
editorOption: { editorOption: {
modules: { modules: {
...@@ -92,11 +88,8 @@ export default { ...@@ -92,11 +88,8 @@ export default {
name: "file", // 图片参数名 name: "file", // 图片参数名
// size: 3, // size: 3,
action: "http://139.155.48.151:8084/admin/auth/util/saveImg", action: "http://139.155.48.151:8084/admin/auth/util/saveImg",
// response 为一个函数用来获取服务器返回的具体图片地址
// 例如服务器返回{code: 200; data:{ url: 'baidu.com'}}
// 则 return res.data.url
response: res => { response: res => {
return res.data.imgPath; return res.data.imgPath
}, },
headers: xhr => { headers: xhr => {
// xhr.setRequestHeader('Content-Type','multipart/form-data') // xhr.setRequestHeader('Content-Type','multipart/form-data')
...@@ -117,16 +110,82 @@ export default { ...@@ -117,16 +110,82 @@ export default {
} }
}; };
}, },
mounted() {
this.addForm.oyStallCode = sessionStorage.getItem('oyStallCode')
console.log(this.addForm.oyStallCode,'编辑专柜信息oyStallCode');
this.getDetail()
},
methods: { methods: {
getDetail() {
let params = {
oyStallCode: this.addForm.oyStallCode
}
getStoreDetail(params).then(res => {
if(res.data.stallInfo != null) {
console.log(res,'详情')
this.list = res.data.carousel
let obj = {}
obj.url = res.data.stallInfo.logo
this.logoList.push(obj)
res.data.carousel.forEach(item => {
let obj2 = {}
obj2.url = item
this.bannerList.push(obj2)
})
this.addForm = res.data.stallInfo
}
})
},
change(val) { change(val) {
console.log(val); console.log(val)
}, },
onEditorChange({ editor, html, text }) { onEditorChange({ editor, html, text }) {
console.log(this.content, "内容") this.$emit("input", this.addForm.summary)
this.$emit("input", this.content) },
beforeRead (file) { //上传之前校验
if (file.type !== 'image/jpeg' && file.type !== 'image/png') {
Toast('只允许上传jpg/png格式的图片!')
return false
}
return true
},
async afterRead (file) {
// this.addForm.logo = await this.getImgUrl(file.file)//使用上传的方法。file.file
this.addForm.logo = await this.getImgUrl(file.file)
console.log(this.addForm.logo,'this.addForm.logo');
},
async getImgUrl(file) {
let params = new FormData()
params.append('file', file)
let url = 'http://139.155.48.151:8084/admin/auth/util/saveImg'
const img = await axios.post(url, params)
let urls = img.data.data.imgPath
console.log(urls,'urls')
return urls
},
async afterAddBanner(file) {
let img = await this.getImgUrl(file.file)
this.list.push(img)
console.log(this.list,'list');
},
deleteBanner(file,index) {
this.list.splice(index.index,1)
},
deleteLogo(file) {
this.addForm.logo = ''
},
handleSave() {
const carousel = this.list.join(';')
delete this.addForm.id
editStore(Object.assign(this.addForm,{ carousel })).then( res => {
if(res.result == 'success') {
this.$router.go(-1)
}
})
} }
} }
}; }
</script> </script>
<style > <style >
</style> </style>
......
<template>
<div class="container">
<div class="flex-start">
<div class="img">
<van-swipe :autoplay="3000">
<van-swipe-item>
<img src="../../../public/img/cswiper.png" />
</van-swipe-item>
<van-swipe-item>
<img src="../../../public/img/cswiper.png" />
</van-swipe-item>
<van-swipe-item>
<img src="../../../public/img/cswiper.png" />
</van-swipe-item>
<van-swipe-item>
<img src="../../../public/img/cswiper.png" />
</van-swipe-item>
</van-swipe>
</div>
<div class="list">
<div class="left flex">
<img src="../../../public/img/counter.png" alt="" />
</div>
<div class="right">
<h3>欧亚一号专柜</h3>
<div class="txt">
<van-icon name="phone-o" size="16" style="vertical-align: middle;" />
<span>18888888888</span>
</div>
<div class="txt">
<van-icon name="location-o" size="16" style="vertical-align: middle;" />
<span>欧亚商场一楼181号</span>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
}
}
}
</script>
<style scoped>
.container {
background: #f8f8f8;
height: auto;
display: flex;
justify-content: flex-start;
align-items: center;
flex-direction: column;
min-height: 100%;
}
.img {
width: 100%;
height: 200px;
/* background-color: pink; */
}
.img img {
width: 100%;
}
.list {
height: auto;
width: 100%;
background-color: #fff;
display: flex;
justify-content: flex-start;
border-bottom: 1px solid rgba(238, 238, 238, 1);
box-shadow: 0px 2px 4px 0px rgba(221, 221, 221, 1);
border-radius: 2px;
z-index: 100;
}
.left {
width: 30%;
}
.left img {
width: 80px;
}
.right {
width: 76%;
padding: 10px;
background-color: #fff;
height: auto;
}
h3 {
font-size: 14px;
font-weight: bold;
color: rgba(45, 71, 106, 1);
}
.txt {
margin-top: 10px;
font-size: 12px;
color: rgba(45, 71, 106, 0.8);
}
</style>
<template> <template>
<div class="container"> <div class="container">
<div class="img"> <div class="img">
<van-swipe :autoplay="3000"> <van-swipe :autoplay="3000" >
<van-swipe-item> <van-swipe-item v-for="(item,index) in carousel" :key="index">
<img src="../../../public/img/cswiper.png" /> <img :src="item" />
</van-swipe-item>
<van-swipe-item>
<img src="../../../public/img/cswiper.png" />
</van-swipe-item>
<van-swipe-item>
<img src="../../../public/img/cswiper.png" />
</van-swipe-item> </van-swipe-item>
</van-swipe> </van-swipe>
</div> </div>
<div class="list"> <div class="list">
<div class="left"> <div class="left">
<img src="../../../public/img/counter.png" alt="" /> <img :src="storeInfo.logo" alt="" />
</div> </div>
<div class="right"> <div class="right">
<h3>欧亚一号专柜</h3> <h3>{{storeInfo.name}}</h3>
<p>由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状。</p> <p>{{storeInfo.summaryTitle}}</p>
</div> </div>
</div> </div>
<van-cell-group class="gn"> <van-cell-group class="gn">
<van-cell title="专柜信息" is-link value="详细信息" @click="handleEdit" /> <van-cell title="专柜信息" is-link value="详细信息" @click="handleEdit" />
<van-cell title="访问专柜首页" is-link value="详细信息" /> <van-cell title="访问专柜首页" is-link value="详细信息" @click="handleCounterHome" />
<van-cell title="专柜收款码" is-link value="详细信息" @click="getChargeCode" /> <van-cell title="专柜收款码" is-link value="详细信息" @click="getChargeCode" />
<van-cell title="推送门店信息" is-link value="详细信息" @click="handlePushInfo" /> <van-cell title="推送门店信息" is-link value="详细信息" @click="handlePushInfo" />
</van-cell-group> </van-cell-group>
...@@ -32,26 +26,70 @@ ...@@ -32,26 +26,70 @@
</template> </template>
<script> <script>
import { quillEditor } from "vue-quill-editor"; import { getStoreDetail } from "@/api/sidebar/voucher";
import "quill/dist/quill.core.css"; import { quillEditor } from "vue-quill-editor"
import "quill/dist/quill.snow.css"; import "quill/dist/quill.core.css"
import "quill/dist/quill.bubble.css"; import "quill/dist/quill.snow.css"
import "quill/dist/quill.bubble.css"
export default { export default {
data() { data() {
return {}; return {
oyStallCode: '',
storeInfo: {
logo: './img/counter.png',
name: 'only专柜',
summaryTitle: 'ONLY是丹麦著名的国际时装公司BESTSELLER拥有的众多著名品牌之一',
},
carousel:['./img/cswiper.png','./img/cswiper.png','./img/cswiper.png','./img/cswiper.png']
}
},
mounted() {
this.oyStallCode = sessionStorage.getItem('oyStallCode')
console.log(this.oyStallCode,'专柜信息oyStallCode');
this.getAgentAuth()
this.getDetail()
}, },
methods: { methods: {
getDetail() {
let params = {
oyStallCode: this.oyStallCode
}
getStoreDetail(params).then(res => {
if(res.data.stallInfo != null) {
console.log(res,'res');
this.carousel = res.data.carousel
this.storeInfo = res.data.stallInfo
}
})
},
handleEdit() { handleEdit() {
this.$router.push("counterEdit") this.$router.push("counterEdit")
}, },
getChargeCode() { getChargeCode() {
this.$router.push("chargeCode") this.$router.push("chargeCode")
}, },
handleCounterHome() {
this.$router.push("counterHome")
},
handlePushInfo() { handlePushInfo() {
this.$router.push("pushStoreInfo") let url = `http://oysales.oywanhao.com:8087/counterPageHome?oyStallCode=${this.oyStallCode}`
wx.invoke("shareToExternalContact", {
title: '专柜首页', // 消息的标题
desc: '专柜首页详情', // 消息的描述
link: url, // 消息链接
imgUrl: '' // 消息封面
},function(res) {
if (res.err_msg == "shareToExternalContact:ok") {
this.$router.push({ path: "counterInfo" })
}else {
console.log(res.err_msg,'错误信息')
}
})
}
} }
} }
};
</script> </script>
<style scoped> <style scoped>
...@@ -76,7 +114,7 @@ export default { ...@@ -76,7 +114,7 @@ export default {
.img { .img {
width: 100%; width: 100%;
height: 200px; height: 200px;
background-color: pink; background-color: #fff;
} }
.img img { .img img {
width: 100%; width: 100%;
......
<template> <template>
<div class="container"> <div class="container">
<div> <div>推送</div>
<!-- 搜索框 --> <!-- <div>
<van-search v-model="inputValue" placeholder="请输入搜索关键词" /> <van-search v-model="inputValue" placeholder="请输入搜索关键词" />
</div> </div>
<van-checkbox-group v-model="list" @change="onChange"> <van-checkbox-group v-model="list" @change="onChange">
...@@ -14,12 +14,16 @@ ...@@ -14,12 +14,16 @@
<van-checkbox slot="right-icon" catch:tap="noop" :name="item.id" /> <van-checkbox slot="right-icon" catch:tap="noop" :name="item.id" />
</van-cell> </van-cell>
</van-cell-group> </van-cell-group>
</van-checkbox-group> </van-checkbox-group> -->
<div>外部联系人{{ info }}</div>
</div> </div>
</template> </template>
<script> <script>
import axios from "axios";
import { wxRequest } from '@/utils/aWxRequest'
// import VConsole from 'vconsole/dist/vconsole.min.js' //import vconsole
// let vConsole = new VConsole()
export default { export default {
data() { data() {
return { return {
...@@ -37,26 +41,45 @@ export default { ...@@ -37,26 +41,45 @@ export default {
} }
], ],
list: [], list: [],
info: '' info: '',
userId: ''
} }
}, },
mounted() { mounted() {
this.getAgentAuth() this.getAgentAuth()
this.getList()
}, },
methods: { methods: {
getList() { getList() {
wx.invoke('selectExternalContact', { let url = 'http://oysales.oywanhao.com:8087/counterPageHome'
"filterType": 0, wx.invoke("shareToExternalContact", {
}, title: '专柜首页', // 消息的标题
function(res){ desc: '专柜首页详情', // 消息的描述
if(res.err_msg == "selectExternalContact:ok"){ link: url, // 消息链接
alert(`${JSON.stringify(res)}`) imgUrl: '' // 消息封面
this.info = `${JSON.stringify(res)}` },function(res) {
}else { if (res.err_msg == "shareToExternalContact:ok") {
//错误处理 this.$router.push({ path: "counterInfo" })
alert('获取失败') }else {
} console.log(res.err_msg,'错误信息')
}) }
})
// this.userId = sessionStorage.getItem('userId')
// let postData = {
// userId: this.userId
// }
// let header = {
// token: sessionStorage.getItem('XToken'),
// corpId: 'ww4df265003b43fa0d',
// agentId: '1000033'
// }
// wx.invoke('selectExternalContact', { "filterType": 0}, function(res){
// if(res.err_msg == "selectExternalContact:ok"){
// console.log(res,'联系人列表')
// }else {
// console.log('获取失败')
// }
// })
}, },
onChange(val) { }, onChange(val) { },
toggle(event) { toggle(event) {
......
...@@ -48,11 +48,7 @@ ...@@ -48,11 +48,7 @@
</div> </div>
<div class="main-actives"> <div class="main-actives">
<div class="actives-banners"> <div class="actives-banners">
<!--<img class="actives-banner-small" :src="test.activeInfo.icon['0']">-->
<div class="actives-banner-title">现有开展活动</div> <div class="actives-banner-title">现有开展活动</div>
<!-- <img class="actives-banner-small" :src="test.cache.imgUrl">-->
</div> </div>
<div class="actives-main"> <div class="actives-main">
<div class="active-logos"> <div class="active-logos">
......
...@@ -69,8 +69,11 @@ ...@@ -69,8 +69,11 @@
</template> </template>
<script> <script>
import {configWx, getUserInfo} from "@/utils/aCommon"; import {configWx, getUserInfo} from "@/utils/aCommon"
import axios from "axios"; import axios from "axios"
// import VConsole from 'vconsole/dist/vconsole.min.js' //import vconsole
import { editStore } from "@/api/sidebar/voucher";
// let vConsole = new VConsole()
export default { export default {
name: "me", name: "me",
...@@ -129,10 +132,8 @@ ...@@ -129,10 +132,8 @@
}; };
}, },
mounted() { mounted() {
this.checkNowMenuBar(); this.checkNowMenuBar()
/* alert('测试测试') // this.zReadyUserId()
alert(this.$route.query.code) */
this.zReadyUserId()
this.zTestGetNowUrlInfo() this.zTestGetNowUrlInfo()
}, },
...@@ -159,12 +160,6 @@ ...@@ -159,12 +160,6 @@
}, },
// 获取code // 获取code
zReadyUserId() { zReadyUserId() {
/* zlog(
"%c--->this.zcache.code =",
"color: orange;",
this.$route.query.code
) */
if (this.$route.query.code === undefined){ if (this.$route.query.code === undefined){
// alert('没code') // alert('没code')
this.zTestPreAuthCode() this.zTestPreAuthCode()
...@@ -174,69 +169,76 @@ ...@@ -174,69 +169,76 @@
this.zTestGetUserInfoByOldToken(); this.zTestGetUserInfoByOldToken();
} }
}, },
// 测试-获取当前Url信息 // 测试-获取当前Url信息
zTestGetNowUrlInfo() { zTestGetNowUrlInfo() {
// alert('获取url') this.zcache.nowUrl = JSON.stringify(this.$route.query);
this.zcache.nowUrl = JSON.stringify(this.$route.query); this.zcache.code = String(this.$route.query.code);
this.zcache.code = String(this.$route.query.code); this.url = this.zcache.nowUrl
this.url = this.zcache.nowUrl },
}, zTestPreAuthCode() {
zTestPreAuthCode() { // alert('获取code')
// alert('获取code') const basicInfo = {
const basicInfo = { head: "https://open.weixin.qq.com/connect/oauth2/authorize?",
head: "https://open.weixin.qq.com/connect/oauth2/authorize?", // appId: "wwd1cdbca7b8b2b6c4",
// appId: "wwd1cdbca7b8b2b6c4", appId: "ww4df265003b43fa0d",
appId: "ww4df265003b43fa0d", redirectUrI: encodeURIComponent("oysales.oywanhao.com:8087"),
redirectUrI: encodeURIComponent("oysales.oywanhao.com:8087"), responseType: "code",
responseType: "code", scope: "snsapi_base",
scope: "snsapi_base", state: "ztest",
state: "ztest", tail: "#wechat_redirect"
tail: "#wechat_redirect" };
};
let url = let url =
basicInfo.head + basicInfo.head +
"appid=" + "appid=" +
basicInfo.appId + basicInfo.appId +
"&redirect_uri=" + "&redirect_uri=" +
basicInfo.redirectUrI + basicInfo.redirectUrI +
"&response_type=" + "&response_type=" +
basicInfo.responseType + basicInfo.responseType +
"&scope=" + "&scope=" +
basicInfo.scope + basicInfo.scope +
"&state=" + "&state=" +
basicInfo.state + basicInfo.state +
basicInfo.tail; basicInfo.tail;
this.zcache.preAuthCodeUrl = url; this.zcache.preAuthCodeUrl = url;
window.location.href = url; window.location.href = url;
}, },
// 测试-获取用户信息 // 测试-获取用户信息
zTestGetUserInfoByOldToken() { zTestGetUserInfoByOldToken() {
// alert('获取用户信息')
let postData = { let postData = {
code: this.zcache.code, code: this.zcache.code,
}; };
let headerData = { let headerData = {
agentId: "1000032", agentId: "1000033",
corpId: "ww4df265003b43fa0d" corpId: "ww4df265003b43fa0d"
}; };
this.zcache.userInfoResOld = "PostData:" + JSON.stringify(postData); this.zcache.userInfoResOld = "PostData:" + JSON.stringify(postData)
axios({ axios({
url: "http://139.155.48.151:8085/workWx/auth/oauth2/getUserInfo?code=" + this.zcache.code, url: "http://139.155.48.151:8085/workWx/auth/oauth2/getUserInfo?code=" + this.zcache.code,
method: "post", method: "post",
headers: headerData, headers: headerData,
}) })
.then(res => { .then(res => {
// alert('获取用户信息接口成功') // alert('获取用户信息接口成功')
this.userInfo = JSON.stringify(res); sessionStorage.setItem("userId", String(res.data.data.userId))
this.zcache.userInfoResNew = "RESOK:" + res.data.data.userId; this.zcache.userId = String(res.data.data.userId)
sessionStorage.setItem("userId", String(res.data.data.userId)); this.getUserFromId(this.zcache.userId)
this.zcache.userId = String(res.data.data.userId);
}) })
.catch(err => { .catch(err => {
this.zcache.userInfoResNew = "RESERR."; console.log(err)
}); });
}, },
getUserFromId(id) {
let userName = id
getUserInfoByUserId({ userName }).then(res => {
// alert('获取成功')
sessionStorage.setItem("oyStallCode",res.data[0].oyStallCode)
this.storeCode = res.data[0].oyStallCode
})
.catch(err => {
})
},
handleDetail(type){ handleDetail(type){
if(type === 'message'){ if(type === 'message'){
this.$router.push('/message') this.$router.push('/message')
......
...@@ -56,16 +56,15 @@ ...@@ -56,16 +56,15 @@
</div> </div>
<script> <script>
function GetQueryString(name) { function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg) var r = window.location.search.substr(1).match(reg)
var context = "" var context = ""
if (r != null) if (r != null)
context = r[2] context = r[2]
reg = null reg = null
r = null r = null
return context == null || context == "" || context == "undefined" ? "" : context; return context == null || context == "" || context == "undefined" ? "" : context;
} }
// alert(GetQueryString("storeCode"))
const storecode = GetQueryString("storeCode") const storecode = GetQueryString("storeCode")
$(function () { $(function () {
showQRInfo() showQRInfo()
......
...@@ -9,7 +9,7 @@ export function wxRequest(inUrl, data = {}, header = {}, method = 'post') { ...@@ -9,7 +9,7 @@ export function wxRequest(inUrl, data = {}, header = {}, method = 'post') {
// corpId: 'wwd1cdbca7b8b2b6c4', // corpId: 'wwd1cdbca7b8b2b6c4',
// agentId: '1000015', // agentId: '1000015',
corpId: 'ww4df265003b43fa0d', corpId: 'ww4df265003b43fa0d',
agentId: '1000032', agentId: '100003',
// url: 'http://139.155.48.151:8085' + inUrl, // url: 'http://139.155.48.151:8085' + inUrl,
url: envConfig.appBaseUrlA + inUrl, url: envConfig.appBaseUrlA + inUrl,
} }
......
...@@ -21,7 +21,7 @@ export default { ...@@ -21,7 +21,7 @@ export default {
// alert('--->arCode: mounted: IN.') // alert('--->arCode: mounted: IN.')
this.cleanUrl() this.cleanUrl()
// this.getAcessToken(); // this.getAcessToken();
this.createCode(); this.createCode()
}, },
methods: { methods: {
cleanUrl() { cleanUrl() {
......
...@@ -29,7 +29,8 @@ import { getUserInfoByUserId } from "@/api/sidebar/voucher"; ...@@ -29,7 +29,8 @@ import { getUserInfoByUserId } from "@/api/sidebar/voucher";
logoUrl: "/mainSale/4.png" logoUrl: "/mainSale/4.png"
} }
], ],
storeCode: '' storeCode: '',
oyStallCode: ''
} }
}, },
created() { created() {
......
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