提交 25548783 编写于 作者: G gongfuxiang

移除老版本小程序源代码

上级 0f98fe4b

要显示的变更太多。

To preserve performance only 1000 of 1000+ files are displayed.
...@@ -8,12 +8,10 @@ ...@@ -8,12 +8,10 @@
<div class="content"> <div class="content">
<!-- 新版本小程序主题提示 --> <!-- 新版本小程序主题提示 -->
<div class="am-alert am-alert-warning am-radius"> <div class="am-alert am-alert-warning am-radius">
<p class="am-text-lg">已发布新版本小程序主题(支持6端小程序+H5)建议使用新版本主题,老版本主题已停止维护开发、将在后续版本中剔除。</p> <a class="am-fr" href="{{$store_theme_url}}" target="_blank">更多主题下载 <i class="am-icon-external-link"></i></a>
<p class="am-text-sm">已发布新版本小程序主题、采用uniapp开发(支持多端小程序+H5),APP也在紧急适配中。</p>
<p class="am-margin-top-xs"> <p class="am-margin-top-xs">
<a href="https://gitee.com/zongzhige/shopxo-uniapp" target="_blank">查看新版本小程序主题 <i class="am-icon-external-link"></i></a> <a href="https://uniapp.shopxo.net/" target="_blank">查看小程序打包教程 <i class="am-icon-external-link"></i></a>
</p>
<p class="am-margin-top-xs">
<a href="https://doc.shopxo.net/article/1/293727233598554112.html" target="_blank">uniapp版本打包教程 <i class="am-icon-external-link"></i></a>
</p> </p>
</div> </div>
......
...@@ -48,7 +48,13 @@ ...@@ -48,7 +48,13 @@
{{/foreach}} {{/foreach}}
<ul> <ul>
{{else /}} {{else /}}
{{include file="public/not_data" /}} <div class="table-no">
<i class="am-icon-warning"></i>
<span>没有相关主题包</span>
<p class="am-margin-top-lg">
<a href="https://uniapp.shopxo.net/" target="_blank">查看新版本小程序打包教程 <i class="am-icon-external-link"></i></a>
</p>
</div>
{{/if}} {{/if}}
<!-- lis end --> <!-- lis end -->
</div> </div>
......
...@@ -11,18 +11,15 @@ ...@@ -11,18 +11,15 @@
{{include file="appmini/base_nav" /}} {{include file="appmini/base_nav" /}}
<!-- 新版本小程序主题提示 --> <!-- 新版本小程序主题提示 -->
<div class="am-alert am-alert-warning am-radius"> <div class="am-alert am-alert-warning am-radius">
<p class="am-text-lg">已发布新版本小程序主题(支持6端小程序+H5)建议使用新版本主题,老版本主题已停止维护开发、将在后续版本中剔除</p> <p class="am-text-sm">已发布新版本小程序主题、采用uniapp开发(支持多端小程序+H5),APP也在紧急适配中</p>
<p class="am-margin-top-xs"> <p class="am-margin-top-xs">
<a href="https://gitee.com/zongzhige/shopxo-uniapp" target="_blank">查看新版本小程序主题源码 <i class="am-icon-external-link"></i></a> <a href="https://uniapp.shopxo.net/" target="_blank">查看小程序打包教程 <i class="am-icon-external-link"></i></a>
</p>
<p class="am-margin-top-xs">
<a href="https://doc.shopxo.net/article/1/293727233598554112.html" target="_blank">uniapp版本打包教程 <i class="am-icon-external-link"></i></a>
</p> </p>
</div> </div>
<!-- tips --> <!-- tips -->
<div class="am-alert am-alert-warning am-radius"> <div class="am-alert am-radius">
<p class="am-text-danger am-margin-bottom-xs am-text-lg">生成源码包采用当前设置的默认主题进行生成zip压缩包</p> <p class="am-text-danger am-margin-bottom-xs am-text-sm">生成源码包采用当前设置的默认主题进行生成zip压缩包</p>
{{if MyConfig('shopxo.is_develop') eq true}} {{if MyConfig('shopxo.is_develop') eq true}}
<p>当前为开发模式</p> <p>当前为开发模式</p>
<p class="am-margin-left-lg">1. 发布小程序必须采用 https 协议,上线需确认 app.js 中 request_url 参数值是否正确。</p> <p class="am-margin-left-lg">1. 发布小程序必须采用 https 协议,上线需确认 app.js 中 request_url 参数值是否正确。</p>
......
...@@ -566,12 +566,20 @@ class AppMiniService ...@@ -566,12 +566,20 @@ class AppMiniService
return DataReturn('源码目标目录没有权限['.self::$new_root.']', -1); return DataReturn('源码目标目录没有权限['.self::$new_root.']', -1);
} }
// 包目录
$old_dir = self::$old_path.DS.self::$default_theme;
$new_dir = self::$new_path.DS.date('YmdHis');
// 源码包是否存在
if(!is_dir($old_dir))
{
return DataReturn('源码包不存在['.self::$default_theme.']', -1);
}
// 目录不存在则创建 // 目录不存在则创建
\base\FileUtil::CreateDir(self::$new_path); \base\FileUtil::CreateDir(self::$new_path);
// 复制包目录 // 复制包目录
$old_dir = self::$old_path.DS.self::$default_theme;
$new_dir = self::$new_path.DS.date('YmdHis');
if(\base\FileUtil::CopyDir($old_dir, $new_dir) != true) if(\base\FileUtil::CopyDir($old_dir, $new_dir) != true)
{ {
return DataReturn('项目包复制失败', -2); return DataReturn('项目包复制失败', -2);
......
/* 框架样式覆盖 */
.a-textarea-control textarea { font-size: 12px; }
/* 公共样式 */
page {
background: #f5f5f5;
color: #4a4a4a;
}
page, textarea {
font-size: 28rpx;
}
input,
textarea {
-webkit-appearance: none;
border-radius: 5px;
}
/* 导航分割 */
.spacing-nav-title {
position: relative;
color: #d2364c;
text-align: center;
background-color: #ffffff;
height: 80rpx;
line-height: 80rpx;
}
.spacing-nav-title .line {
display: inline-block;
width: 80%;
height: 1px;
background: #d2364c;
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}
.spacing-nav-title .text-wrapper {
position: relative;
display: inline-block;
padding: 0 8px;
background-color: #ffffff;
font-size: 36rpx;
font-weight: bold;
}
/* 模块分割间距 */
.spacing { padding-top: 20rpx; }
.spacing-10 { padding-top: 10rpx; }
.spacing-mb { margin-bottom: 20rpx; }
.spacing-mt { margin-top: 20rpx; }
.drift { position: fixed; left: -1000px; }
.nav-submit-fixed { background: #eee; height: 46px; position: fixed; bottom: 0; z-index: 10; }
.tips { background: #ffffeb url('/images/tips.png') no-repeat 5rpx 12rpx; background-size: 35rpx 35rpx; color: #f7b240; border: 1px solid #faebd2; line-height: 38rpx; padding: 10rpx 10rpx 10rpx 45rpx; font-size: 26rpx; border-radius: 2px; display: block; }
.data-loding image { width: 60px; height: 60px; background-size: 80% 80% !important; }
/* 边框 */
.br { border: solid 1px #efefef; }
.br-b { border-bottom: solid 1px #efefef; }
.br-t { border-top: solid 1px #efefef; }
.br-l { border-left: solid 1px #efefef; }
.br-r { border-right: solid 1px #efefef; }
/* 虚线边框 */
.br-dashed { border: dashed 1px #efefef; }
.br-b-dashed { border-bottom: dashed 1px #efefef; }
.br-t-dashed { border-top: dashed 1px #efefef; }
.br-l-dashed { border-left: dashed 1px #efefef; }
.br-r-dashed { border-right: dashed 1px #efefef; }
/* 箭头符号 */
.arrow-right { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA+klEQVRYR+3WsWrDMBAG4P/eotCQLlk73UGfq6O3BgLNEsg7JQQPZ7ADfos8gAeBijYTAsnpREJBXmX0f/7RCRNe/NCL81EBtYH/1YCq/gK4iMiu1PSYGlDVloi+AOyZ+bsEwgQYx/FtmqYDgFUphAmQvniOiDFuRaTxNGEGlEZkAWaIFsCHp4lsQEIMw7AIIRw9CBfgGgFgzcw/ljPhBtxoohGR7aOIIoC+799DCCciWsYYnwvwhKeWXA14w12AEuHZgFLhWYCS4WbAPDxn5m+NpukQquqZiD49V+81wgToum6TfkiYef/oRXPvPRPg3mY56xVQG6gN/AEiuagh/yEjYQAAAABJRU5ErkJggg=='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; }
.arrow-bottom { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABRklEQVRYR+2UsUrFMBSGT9LBN3AQR4vQNO0gPoA6Cy5XZ1ddfZbr6nwdXFwVH8AlJacg2cTFN7BLjkQQwtW2STvcJRlL8/8fX3LCYMOLbbgfEkAykAwkA4MGEHEhhLif81gZY3bzPP/oy+gFQMSCiJCIjqSUL1MgjDFbXdd9AcB1WZbL/zIGDWitVwCwmAKhlNrOsuyTMYYAcC6EaKMB3IZfCMbYiRDiOcQEIu4RkRkrd1lBU+CZOJVSPg5BNE1zwDl/DSkPBvBNENGFlNIdzZ+FiMdE9BRaHgXgQ1hrL6uquvMJ2rY9s9Y+xJRHA/gQnPOroihu3Tc3rkS0ii2fBLB2MW8A4H1q+WQAH+InZGTUhi5t0BT0BWitDQDsMMYO++Z8bGxnAbhwpdR+XddvY0XRT/HUwNh9sw3EFq7/nwCSgWQgGfgGWR6PIRYTYskAAAAASUVORK5CYII='); background-size: 18px 18px; background-repeat: no-repeat; background-position: center right; }
/* 常用样式 */
.fl { float: left; }
.fr { float: right; }
.bg-white { background-color: #fff; }
.wh-auto { width: 100%; }
.ht-auto { height: 100%; }
.tc { text-align: center; }
.tl { text-align: left; }
.tr { text-align: right; }
.oh { overflow: hidden; }
.dis-none { display: none; }
.dis-block { display: block; }
.dis-inline { display: inline; }
.va-m { vertical-align: middle; }
.cr-main { color: #d2364c; }
.cr-666 { color: #666; }
.cr-888 { color: #888; }
.cr-ccc { color: #ccc; }
.cr-fff { color: #fff; }
.my-btn-default{
font-size: 38rpx;
color: #fff;
border: none;
background-color:#d2364c;
border-radius: 2px;
}
.my-btn-default.btn-disabled{
background-color: #a6a6a6;
color: #fff;
}
.my-btn-gray{
font-size: 30rpx;
color: #fff;
border: none;
background-color:#a6a6a6;
border-radius: 2px;
}
/* 文字超出部分使用省略号 */
.single-text {
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
max-width: 100%;
}
.multi-text {
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
min-height: 104rpx;
line-height: 52rpx;
font-size: 32rpx;
white-space: initial;
}
/* 没有数据状态/处理错误/加载中 */
.no-data-box {
padding: 80rpx 0;
}
.no-data-box image {
width: 160rpx;
margin-bottom: 30rpx;
}
.no-data-box .no-data-tips {
font-size: 28rpx;
color: #a6a6a6;
}
.no-data-loding {
padding-top: 15%;
padding-bottom: 10px;
}
/* 底线 */
.data-bottom-line{
padding: 40rpx;
overflow: hidden;
}
.data-bottom-line view {
width: 33.3%;
}
.data-bottom-line .left, .data-bottom-line .right{
margin-top: 8px;
border-bottom: 1px solid #e1e1e1;
}
.data-bottom-line .msg{
color: #999;
text-align: center;
font-size: 24rpx;
}
/* 业务公共 */
.copyright {
color: #a5a5a5;
text-align: center;
padding: 20rpx 0;
}
.copyright .text {
font-size: 26rpx;
font-weight: 400;
}
.sales-price {
color: #f40;
font-weight: bold;
font-size: 32rpx;
}
.original-price {
color: #888;
font-size: 26rpx;
text-decoration: line-through;
margin-left: 10rpx;
}
.submit-fixed {
position: fixed;
left: 0;
bottom: 0;
background: #d2364c;
color: #fff;
border: none;
width: 100%;
}
.bg-main, .bg-primary, .bg-warning {
color: #fff;
border: 0;
font-size: 34rpx;
}
.bg-main {
background: #d2364c;
}
.bg-primary {
background: #ed6977;
}
.bg-warning {
background: #F37B1D;
}
.bg-active-main {
background: #d2364c !important;
color: #fff !important;
}
.submit-bottom {
height: 85rpx;
line-height: 85rpx;
font-size: 32rpx;
border-radius: 0;
}
.bg-main.a-button-disabled {
background: #fbe0e5;
color: #f7b6c2;
}
.bg-warning.a-button-disabled {
background: #ffcda6;
color: #fdae70;
}
.bg-primary.a-button-disabled {
background: #ffd2d7;
color: #ffa0ab;
}
.nav-back {
position: fixed;
left: 0;
bottom: 10%;
}
/*
滚动标签高度
*/
.scroll-box {
height: 100vh;
}
/**
* 表单
*/
.form-container .form-gorup {
padding: 20rpx 10rpx;
margin-bottom: 20rpx;
}
.form-container .form-gorup-title {
margin-bottom: 5rpx;
font-weight: 500;
}
.form-container .form-group-tips,
.form-container .form-group-tips-must {
margin-left: 20rpx;
font-size: 24rpx;
color: #ccc;
}
.form-container .form-group-tips-must {
color: #f00;
}
.form-container .form-gorup input,
.form-container .form-gorup textarea,
.form-container .form-gorup .picker {
border-radius: 0;
width: 100%;
box-sizing: border-box;
padding: 0 10rpx;
font-size: 28rpx;
}
.form-container .form-gorup input,
.form-container .form-gorup .picker {
height: 70rpx;
line-height: 70rpx;
}
.form-container .form-gorup textarea {
padding: 10rpx;
min-height: 70rpx;
}
.form-container .form-gorup-text {
padding: 20rpx 10rpx;
}
.form-container .form-gorup .switch {
margin: 30rpx 0 20rpx 0;
}
/**
* 表单图片上传
*/
.form-container-upload .form-upload-data .item {
padding: 10rpx;
position: relative;
}
.form-container-upload .form-upload-data .delete-icon {
position: absolute;
top: 12rpx;
right: 12rpx;
color: #e5e5e5;
background-color: #d9534f;
padding: 5rpx 18rpx;
font-size: 30rpx;
border-style: solid;
border-width: 0 0 1px 1px;
border-color: #eee;
}
.form-container-upload .form-upload-data image {
width: 200rpx;
height: 200rpx;
padding: 5rpx;
border: 1px solid #eee;
display: block;
}
.form-container-upload .upload-icon {
margin: 10rpx 0 0 10rpx;
width: 210rpx;
height: 210rpx;
border: 1px dashed #e9e9e9;
}
/*
* 优惠劵 - 插件
*/
.coupon-container {
padding: 0 10rpx;
}
.coupon-container .item {
overflow: hidden;
height: 180rpx;
border: 1px solid #D2364C;
}
.coupon-container .v-left {
width: calc(100% - 140rpx);
padding: 30rpx 0 30rpx 20rpx;
box-sizing:border-box;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
}
.coupon-container .v-left .base {
color: #D2364C;
}
.coupon-container .v-left .base .symbol {
font-family: Verdana, Tahoma;
font-weight: 700;
}
.coupon-container .v-left .base .price {
font-weight: 700;
font-family: arial;
font-size: 76rpx;
}
.coupon-container .v-left .base .desc {
margin-left: 20rpx;
}
.coupon-container .v-left base-tips, .coupon-container .v-left .base-time {
margin-top: 10rpx;
}
.coupon-container .v-right {
background: #d2364c;
width: 140rpx;
height: 180rpx;
color: #fff;
font-weight: 500;
position: relative;
text-align: center;
}
.coupon-container .v-right:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
}
.coupon-container .v-right .circle {
display: block;
position: absolute;
left: -1px;
top: -3px;
width: 3px;
height: 180rpx;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAACpCAYAAADur4c3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3MjUzYzIwOS04ZWNlLTRlNTctODQ4OC01ZDExOTkwOGNkYmMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTM1QzgxREZGRDI5MTFFNTg3QjhGRUQ1MDY5OURERUQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTM1QzgxREVGRDI5MTFFNTg3QjhGRUQ1MDY5OURERUQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTJiNzVkOGUtZDc2Yi00MzEzLWFmNmYtYTJkNTRlYTI4YTY1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjcyNTNjMjA5LThlY2UtNGU1Ny04NDg4LTVkMTE5OTA4Y2RiYyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pvy+vnQAAAEqSURBVHjaYvz//z8DDDAxIAFyOVeBOAHEYfyPMDsLmXMfmfMT2YADDP8h4CEQq4A4aUDMA1LNSKZDXwJxGcg1yJaWIXOeInO+IxuwA+acK0AsA+IEADEbic7hhPOAer4DcQcQMyNb2oLMeYVsADcyZwPMObuBWBTEsQFpI9E54sjO+QvEc0F+YoHKJgHxJ2TnvEM2gBmZswrmnA1AzAXiaJPhHC1k58BNQ3bBTGTOR2QD/iJzFsH8Mw/kHxBHggzn2KA7BxzWyC5Yisz5imwACmc2LLY7QbEN4nCS4ZwAIGZFds5lUEpEdsF6nKn3PTJnAsiAV0BcBsSM5GamFCDmQXYOOJ8iu2Anzrz9HKU8ABlwDYgTKcnbo0XNaFEzWtQgipqOYVLUAAQYAKPWa4c8cIHnAAAAAElFTkSuQmCC) no-repeat;
}
.coupon-container .item-disabled .v-right {
background: #dfdfdf !important;
color: #c0c0c0 !important;
cursor: no-drop !important;
}
.coupon-container .item-disabled {
border: 1px solid #dfdfdf !important;
}
/**
* 快捷导航
*/
.common-quick-nav {
border: 0;
padding: 15rpx;
background: rgba(0, 0, 0, 0.6);
position: fixed;
right: 10rpx;
border-radius: 50%;
width: 60rpx;
height: 60rpx;
z-index: 1;
}
.common-quick-nav image {
width: 60rpx;
height: 60rpx;
}
/**
* 在线客服
*/
.common-online-service {
bottom: 35%;
}
/**
* 公共样式
*/
.margin-xs {
margin: 5rpx;
}
.margin-sm {
margin: 10rpx;
}
.margin, .margin-default {
margin: 15rpx;
}
.margin-lg {
margin: 20rpx;
}
.margin-xl {
margin: 25rpx;
}
.margin-xxl {
margin: 30rpx;
}
.margin-top-xs {
margin-top: 5rpx;
}
.margin-top-sm {
margin-top: 10rpx;
}
.margin-top, .margin-top-default {
margin-top: 15rpx;
}
.margin-top-lg {
margin-top: 20rpx;
}
.margin-top-xl {
margin-top: 25rpx;
}
.margin-top-xxl {
margin-top: 30rpx;
}
.margin-right-xs {
margin-right: 5rpx;
}
.margin-right-sm {
margin-right: 10rpx;
}
.margin-right, .margin-right-default {
margin-right: 15rpx;
}
.margin-right-lg {
margin-right: 20rpx;
}
.margin-right-xl {
margin-right: 25rpx;
}
.margin-right-xxl {
margin-right: 30rpx;
}
.margin-left-xs {
margin-left: 5rpx;
}
.margin-left-sm {
margin-left: 10rpx;
}
.margin-left, .margin-left-default {
margin-left: 15rpx;
}
.margin-left-lg {
margin-left: 20rpx;
}
.margin-left-xl {
margin-left: 25rpx;
}
.margin-left-xxl {
margin-left: 30rpx;
}
.margin-bottom-xs {
margin-bottom: 5rpx;
}
.margin-bottom-sm {
margin-bottom: 10rpx;
}
.margin-bottom, .margin-bottom-default {
margin-bottom: 15rpx;
}
.margin-bottom-lg {
margin-bottom: 20rpx;
}
.margin-bottom-xl {
margin-bottom: 25rpx;
}
.margin-bottom-xxl {
margin-bottom: 30rpx;
}
.padding-xs {
padding: 5rpx;
}
.padding-sm {
padding: 10rpx;
}
.padding, .padding-default {
padding: 15rpx;
}
.padding-lg {
padding: 20rpx;
}
.padding-xl {
padding: 25rpx;
}
.padding-xxl {
padding: 30rpx;
}
.padding-top-xs {
padding-top: 5rpx;
}
.padding-top-sm {
padding-top: 10rpx;
}
.padding-top, .padding-top-default {
padding-top: 15rpx;
}
.padding-top-lg {
padding-top: 20rpx;
}
.padding-top-xl {
padding-top: 25rpx;
}
.padding-top-xxl {
padding-top: 30rpx;
}
.padding-right-xs {
padding-right: 5rpx;
}
.padding-right-sm {
padding-right: 10rpx;
}
.padding-right, .padding-right-default {
padding-right: 15rpx;
}
.padding-right-lg {
padding-right: 20rpx;
}
.padding-right-xl {
padding-right: 25rpx;
}
.padding-right-xxl {
padding-right: 30rpx;
}
.padding-left-xs {
padding-left: 5rpx;
}
.padding-left-sm {
padding-left: 10rpx;
}
.padding-left, .padding-left-default {
padding-left: 15rpx;
}
.padding-left-lg {
padding-left: 20rpx;
}
.padding-left-xl {
padding-left: 25rpx;
}
.padding-left-xxl {
padding-left: 30rpx;
}
.padding-bottom-xs {
padding-bottom: 5rpx;
}
.padding-bottom-sm {
padding-bottom: 10rpx;
}
.padding-bottom, .padding-bottom-default {
padding-bottom: 15rpx;
}
.padding-bottom-lg {
padding-bottom: 20rpx;
}
.padding-bottom-xl {
padding-bottom: 25rpx;
}
.padding-bottom-xxl {
padding-bottom: 30rpx;
}
\ No newline at end of file
此差异已折叠。
{
"pages": [
"pages/index/index",
"pages/goods-category/goods-category",
"pages/cart/cart",
"pages/user/user",
"pages/web-view/web-view",
"pages/login/login",
"pages/paytips/paytips",
"pages/goods-search/goods-search",
"pages/goods-detail/goods-detail",
"pages/goods-comment/goods-comment",
"pages/buy/buy",
"pages/user-address/user-address",
"pages/user-address-save/user-address-save",
"pages/user-order/user-order",
"pages/user-order-detail/user-order-detail",
"pages/user-order-comments/user-order-comments",
"pages/user-favor/user-favor",
"pages/user-answer-list/user-answer-list",
"pages/answer-list/answer-list",
"pages/answer-form/answer-form",
"pages/message/message",
"pages/user-integral/user-integral",
"pages/user-goods-browse/user-goods-browse",
"pages/user-orderaftersale/user-orderaftersale",
"pages/user-orderaftersale-detail/user-orderaftersale-detail",
"pages/extraction-address/extraction-address",
"pages/common/open-setting-location/open-setting-location",
"pages/design/design",
"pages/plugins/coupon/index/index",
"pages/plugins/coupon/user/user",
"pages/plugins/membershiplevelvip/index/index",
"pages/plugins/membershiplevelvip/buy/buy",
"pages/plugins/membershiplevelvip/user/user",
"pages/plugins/membershiplevelvip/order/order",
"pages/plugins/membershiplevelvip/order-detail/order-detail",
"pages/plugins/membershiplevelvip/profit-detail/profit-detail",
"pages/plugins/membershiplevelvip/profit/profit",
"pages/plugins/membershiplevelvip/statistics/statistics",
"pages/plugins/membershiplevelvip/poster/poster",
"pages/plugins/membershiplevelvip/team/team",
"pages/plugins/distribution/user/user",
"pages/plugins/distribution/order/order",
"pages/plugins/distribution/order-detail/order-detail",
"pages/plugins/distribution/profit/profit",
"pages/plugins/distribution/profit-detail/profit-detail",
"pages/plugins/distribution/statistics/statistics",
"pages/plugins/distribution/poster/poster",
"pages/plugins/distribution/team/team",
"pages/plugins/distribution/extraction/extraction",
"pages/plugins/distribution/extraction-apply/extraction-apply",
"pages/plugins/distribution/extraction-order/extraction-order",
"pages/plugins/distribution/extraction-switch/extraction-switch",
"pages/plugins/distribution/introduce/introduce",
"pages/plugins/wallet/user/user",
"pages/plugins/wallet/recharge/recharge",
"pages/plugins/wallet/cash-auth/cash-auth",
"pages/plugins/wallet/cash-create/cash-create",
"pages/plugins/wallet/wallet-log/wallet-log",
"pages/plugins/wallet/wallet-log-detail/wallet-log-detail",
"pages/plugins/wallet/user-recharge/user-recharge",
"pages/plugins/wallet/user-recharge-detail/user-recharge-detail",
"pages/plugins/wallet/user-cash/user-cash",
"pages/plugins/wallet/user-cash-detail/user-cash-detail",
"pages/plugins/excellentbuyreturntocash/profit/profit",
"pages/plugins/excellentbuyreturntocash/profit-detail/profit-detail",
"pages/plugins/exchangerate/currency/currency",
"pages/plugins/invoice/user/user",
"pages/plugins/invoice/invoice/invoice",
"pages/plugins/invoice/invoice-detail/invoice-detail",
"pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo",
"pages/plugins/invoice/order/order",
"pages/plugins/signin/user/user",
"pages/plugins/signin/index-detail/index-detail",
"pages/plugins/signin/user-signin/user-signin",
"pages/plugins/signin/user-qrcode/user-qrcode",
"pages/plugins/signin/user-qrcode-detail/user-qrcode-detail",
"pages/plugins/signin/user-qrcode-saveinfo/user-qrcode-saveinfo",
"pages/plugins/signin/user-coming-list/user-coming-list",
"pages/plugins/points/index/index",
"pages/plugins/brand/index/index",
"pages/plugins/shop/index/index",
"pages/plugins/shop/detail/detail",
"pages/plugins/shop/search/search",
"pages/plugins/shop/design/design",
"pages/plugins/shop/favor/favor"
],
"window": {
"defaultTitle": "{{application_title}}",
"titleBarColor": "#d2364c",
"backgroundColor": "#f5f5f5"
},
"tabBar": {
"textColor": "#8a8a8a",
"selectedColor": "#d2364c",
"backgroundColor": "#fff",
"items": [
{
"pagePath": "pages/index/index",
"icon": "/images/nav-icon-home.png",
"activeIcon": "/images/nav-icon-home-active.png",
"name": "首页"
},
{
"pagePath": "pages/goods-category/goods-category",
"icon": "/images/nav-icon-category.png",
"activeIcon": "/images/nav-icon-category-active.png",
"name": "分类"
},
{
"pagePath": "pages/cart/cart",
"icon": "/images/nav-icon-cart.png",
"activeIcon": "/images/nav-icon-cart-active.png",
"name": "购物车"
},
{
"pagePath": "pages/user/user",
"icon": "/images/nav-icon-user.png",
"activeIcon": "/images/nav-icon-user-active.png",
"name": "我的"
}
]
}
}
.am-badge {
display: inline-block;
position: relative;
vertical-align: middle;
}
.am-badge-text {
display: inline-block;
position: absolute;
right: 0;
transform: translate(50%, -50%);
top: 0px;
min-width: 16px;
padding: 0;
height: 16px;
line-height: 16px;
text-align: center;
background-color: #FF3B30;
border-radius: 16px;
color: #fff;
font-size: 10px;
padding: 1px 1px;
}
.am-badge-text-max {
padding: 1px 2px;
}
\ No newline at end of file
<view a:if="{{propNumber > 0}}" class="am-badge">
<view class="am-badge-text {{(propNumber > 99) ? 'am-badge-text-max' : ''}}">
<text>{{(propNumber > 99) ? '99+' : propNumber}}</text>
</view>
</view>
\ No newline at end of file
// components/badge.js
Component({
/**
* 组件的属性列表
*/
properties: {
propNumber: Number,
},
/**
* 组件的初始数据
*/
data: {
},
/**
* 组件的方法列表
*/
methods: {
}
})
\ No newline at end of file
{
"component": true,
"usingComponents": {}
}
\ No newline at end of file
.data-list {
overflow: hidden;
}
.data-list .items {
width: calc(25% - 60rpx);
float: left;
padding: 30rpx;
}
.items-content {
border-radius: 50%;
padding: 20rpx;
text-align: center;
width: 70rpx;
height: 70rpx;
margin: 0 auto;
}
.data-list .items image {
width: 60rpx !important;
height: 60rpx !important;
margin-top: 5rpx;
}
.data-list .items .title {
margin-top: 10rpx;
font-size: 30rpx;
text-align:center;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
max-width: 100%;
}
\ No newline at end of file
<view a:if="{{data.length > 0}}">
<view class="data-list bg-white spacing-mb">
<view class="items" a:for="{{data}}">
<view class="items-content tc" style="background-color:{{item.bg_color}}" data-value="{{item.event_value}}" data-type="{{item.event_type}}" onTap="nav_event">
<image class="wh-auto" src="{{item.images_url}}" mode="aspectFit" />
</view>
<view class="title tc single-text">{{item.name}}</view>
</view>
</view>
</view>
const app = getApp();
Component({
mixins: [],
data: {},
props: {
data: []
},
didMount() {},
didUpdate(){},
didUnmount(){},
methods: {
// 操作事件
nav_event(e) {
app.operation_event(e);
},
}
});
<block a:if="{{(data || null) != null && data.length > 0}}">
<block a:for="{{data}}" a:key="key" a:for-item="v">
<view a:if="{{(v.value || null) != null && (v.children || null) != null && v.children.length > 0 && (v.value_arr || null) != null && v.value_arr.length > 0 && v.children.length == v.value_arr.length && (v.status || 0) == 1}}" class="layout-view">
<view class="layout-content-children {{((v.config || null) != null && (v.config.frontend_config || null) != null && (v.config.frontend_config.ent || null) != null) ? v.config.frontend_config.ent : ''}}" style="{{((v.config || null) != null && (v.config.frontend_config || null) != null && (v.config.frontend_config.style || null) != null) ? v.config.frontend_config.style : ''}}">
<block a:for="{{v.children}}" a:key="keys" a:for-item="vs">
<view class="layout-content-container {{((vs.config || null) != null && (vs.config.frontend_config || null) != null && (vs.config.frontend_config.ent || null) != null) ? vs.config.frontend_config.ent : ''}}" style="{{((vs.config || null) != null && (vs.config.frontend_config || null) != null && (vs.config.frontend_config.style || null) != null) ? vs.config.frontend_config.style : ''}}">
<block a:if="{{(vs.children || null) != null && vs.children.length > 0}}">
<view a:for="{{vs.children}}" a:key="keyss" a:for-item="vss" class="layout-content">
<view a:if="{{(vss.config || null) != null}}" class="module-content">
<view class="module-{{vss.value}}-container" style="{{((vss.config.frontend_config || null) != null && (vss.config.frontend_config.style || null) != null) ? vss.config.frontend_config.style : ''}}">
<!-- 单图 -->
<block a:if="{{vss.value == 'images'}}">
<view class="module-images-content {{vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{vss.config.frontend_config.media_fixed.media_container_style}}">
<image onTap="layout_url_event" data-value="{{vss.config.url || ''}}" src="{{vss.config.images}}" mode="widthFix" class="{{vss.config.frontend_config.media_fixed.media_ent}}"></image>
</view>
</block>
<!-- 多图 -->
<block a:elif="{{vss.value == 'many-images'}}">
<block a:if="{{vss.config.view_list_show_style == 'rolling'}}">
<!-- 滚动 -->
<view class="module-list-rolling">
<scroll-view scroll-x>
<view a:for="{{vss.config.data_list}}" a:key="ik" class="item">
<view class="module-item {{vss.config.frontend_config.media_fixed.media_container_ent}}" style="width:{{((vss.config.view_list_show_style_value_arr || null) == null || (vss.config.view_list_show_style_value_arr.item_width || null) == null) ? 200 : vss.config.view_list_show_style_value_arr.item_width}}px;margin-left:{{((vss.config.view_list_show_style_value_arr || null) == null || (vss.config.view_list_show_style_value_arr.item_margin || null) == null || index == 0) ? 0 : vss.config.view_list_show_style_value_arr.item_margin}}px;{{vss.config.frontend_config.item_style}}{{vss.config.frontend_config.media_fixed.media_container_style}}" onTap="layout_url_event" data-value="{{item.url || ''}}">
<image src="{{item.images}}" mode="widthFix" class="{{vss.config.frontend_config.media_fixed.media_ent}}"></image>
</view>
</view>
</scroll-view>
</view>
</block>
<block a:elif="{{vss.config.view_list_show_style == 'list'}}">
<!-- 列表 -->
<view class="module-list-content {{vss.config.frontend_config.list_ent}}">
<view a:for="{{vss.config.data_list}}" a:key="ik" class="item">
<view class="module-item" style="{{vss.config.frontend_config.item_style}}">
<view class="{{vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{vss.config.frontend_config.media_fixed.media_container_style}}" onTap="layout_url_event" data-value="{{item.url || ''}}">
<image src="{{item.images}}" mode="widthFix" class="{{vss.config.frontend_config.media_fixed.media_ent}}"></image>
</view>
</view>
</view>
</view>
</block>
<block a:else>
<!-- 默认轮播 -->
<swiper
indicator-dots="{{vss.config.data_list.length > 0}}"
indicator-color="{{indicator_color}}"
indicator-active-color="{{indicator_active_color}}"
autoplay="{{vss.config.data_list.length > 0}}"
circular="{{circular}}" style="{{vss.config.frontend_config.media_fixed.media_container_style}}">
<block a:for="{{vss.config.data_list}}" a:key="ik">
<swiper-item class="{{vss.config.frontend_config.media_fixed.media_container_ent}}">
<image src="{{item.images}}" mode="aspectFill" class="{{vss.config.frontend_config.media_fixed.media_ent}}" onTap="layout_url_event" data-value="{{item.url || ''}}"></image>
</swiper-item>
</block>
</swiper>
</block>
</block>
<!-- 视频 -->
<block a:elif="{{vss.value == 'video'}}">
<view class="module-video-content {{vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{vss.config.frontend_config.media_fixed.media_container_style}}">
<video src="{{vss.config.video}}" autoplay="{{true}}" show-center-play-btn="{{true}}" controls="{{false}}" show-play-btn="{{false}}" enable-progress-gesture="{{false}}" show-fullscreen-btn="{{false}}" controls poster="{{(vss.config.content_images || null) != null ? vss.config.content_images : ''}}" class="{{vss.config.frontend_config.media_fixed.media_ent}}"></video>
</view>
</block>
<!-- 商品 -->
<block a:elif="{{vss.value == 'goods'}}">
<block a:if="{{(vss.config.data_list || null) != null && vss.config.data_list.length > 0}}">
<block a:if="{{vss.config.view_list_show_style == 'rolling'}}">
<!-- 滚动 -->
<view class="module-goods-content module-list-rolling">
<scroll-view scroll-x>
<view a:for="{{vss.config.data_list}}" a:key="ik" class="item">
<view class="module-item {{vss.config.frontend_config.media_fixed.media_container_ent}}" style="width:{{((vss.config.view_list_show_style_value_arr || null) == null || (vss.config.view_list_show_style_value_arr.item_width || null) == null) ? 200 : vss.config.view_list_show_style_value_arr.item_width}}px;margin-left:{{((vss.config.view_list_show_style_value_arr || null) == null || (vss.config.view_list_show_style_value_arr.item_margin || null) == null || index == 0) ? 0 : vss.config.view_list_show_style_value_arr.item_margin}}px;{{vss.config.frontend_config.item_style}}{{vss.config.frontend_config.media_fixed.media_container_style}}" onTap="layout_url_event" data-value="{{item.goods_url || ''}}">
<image src="{{item.images}}" mode="widthFix" class="{{vss.config.frontend_config.media_fixed.media_ent}}"></image>
<view class="item-bottom">
<view class="module-title">{{item.title}}</view>
<view class="module-price">{{currency_symbol}}{{item.price}}</view>
</view>
</view>
</view>
</scroll-view>
</view>
</block>
<block a:else>
<!-- 默认列表 -->
<view class="module-goods-content module-list-content {{vss.config.frontend_config.list_ent}}">
<view a:for="{{vss.config.data_list}}" a:key="ik" class="item">
<view class="module-item" style="{{vss.config.frontend_config.item_style}}">
<view class="{{vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{vss.config.frontend_config.media_fixed.media_container_style}}" onTap="layout_url_event" data-value="{{item.goods_url || ''}}">
<image src="{{item.images}}" mode="widthFix" class="{{vss.config.frontend_config.media_fixed.media_ent}}"></image>
<view class="item-bottom">
<view class="module-title">{{item.title}}</view>
<view class="module-price">{{currency_symbol}}{{item.price}}</view>
</view>
</view>
</view>
</view>
</view>
</block>
</block>
</block>
<!-- 标题 -->
<block a:elif="{{vss.value == 'title'}}">
<view class="module-title-content">
<text class="title-main" style="{{vss.config.frontend_config.style_title_main}}">{{vss.config.title}}</text>
<text a:if="{{(vss.config.title_vice || null) != null}}" class="title-vice" style="{{vss.config.frontend_config.style_title_vice}}">{{vss.config.title_vice}}</text>
<view a:if="{{(vss.config.title_more || null) != null}}" class="more-content">
<view style="{{vss.config.frontend_config.style_title_more}}" onTap="layout_url_event" data-value="{{vss.config.title_more_url || ''}}">{{vss.config.title_more}} ></view>
</view>
</view>
</block>
</view>
</view>
</view>
</block>
</view>
</block>
</view>
</view>
</block>
</block>
const app = getApp();
Component({
data: {
// 基础配置
currency_symbol: app.data.currency_symbol,
// 轮播基础配置
indicator_color: 'rgba(0, 0, 0, .3)',
indicator_active_color: '#e31c55',
circular: true,
},
props: {
data: []
},
// 页面被展示
didMount() {
// 配置初始化
this.init_config(true);
},
methods: {
// 初始化配置
init_config(status) {
if((status || false) == true) {
this.setData({
currency_symbol: app.get_config('currency_symbol') || app.data.currency_symbol
});
} else {
app.is_config(this, 'init_config');
}
},
// 链接地址事件
layout_url_event(e) {
app.url_event(e);
},
},
});
\ No newline at end of file
{
"component": true
}
\ No newline at end of file
.am-popup-content {
position: fixed;
background:#fff;
z-index: 101;
}
.am-popup-mask {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.75);
opacity: 0;
pointer-events: none;
z-index: 100;
}
.am-popup-left {
transform: translateX(-100%);
left: 0;
top: 0;
bottom: 0;
}
.am-popup-right {
transform: translateX(100%);
right: 0;
top: 0;
bottom: 0;
}
.am-popup-top {
top: 0;
width: 100vw;
transform: translateY(-100%);
}
.am-popup-bottom {
bottom: 0;
width: 100vw;
transform: translateY(100%);
}
.am-popup-show .am-popup-content {
transform: none;
}
.am-popup-show .am-popup-mask {
opacity: 1;
pointer-events: auto;
}
.am-popup.animation .am-popup-content {
transition: all 0.15s linear;
}
.am-popup.animation .am-popup-mask {
transition: all 0.15s linear;
}
\ No newline at end of file
<view class="am-popup {{propClassname || ''}} {{(propShow || false) ? 'am-popup-show' : ''}} {{ (propAnimation || true) ? 'animation': '' }}" disable-scroll="{{propDisablescroll}}">
<view class="am-popup-mask" a:if="{{propMask || true}}" onTap="onMaskTap"></view>
<view class="am-popup-content am-popup-{{propPosition || 'bottom'}}">
<slot></slot>
</view>
</view>
\ No newline at end of file
// components/popup.js
Component({
/**
* 组件的属性列表
*/
props: {
propClassname: String,
propShow: Boolean,
propPosition: String,
propMask: Boolean,
propAnimation: Boolean,
propDisablescroll: Boolean
},
/**
* 组件的初始数据
*/
data: {
},
/**
* 组件的方法列表
*/
methods: {
onMaskTap: function onMaskTap() {
var onClose = this.props.onClose;
if (onClose) {
onClose();
}
}
}
})
{
"component": true,
"usingComponents": {}
}
\ No newline at end of file
/**
* 按钮
*/
.quick-nav-movable-container {
position: fixed;
width: 100%;
height: 100%;
top: 150rpx;
left: 0;
background:transparent;
pointer-events: none;
z-index: 2;
}
.quick-nav-event-submit {
pointer-events: auto;
position: fixed;
bottom: 150rpx;
width: 100rpx;
height: 100rpx;
border-radius: 50%;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
background-color: rgb(210 54 76 / 80%);
}
.quick-nav-event-submit image {
width: 50rpx;
height: 50rpx;
margin: 25rpx auto 25rpx auto;
display: block;
}
/**
* 弹窗
*/
.quick-nav-popup-container {
padding: 20rpx 10rpx 0 10rpx;
background: #fff;
}
.quick-nav-popup-container .close {
overflow: hidden;
}
.quick-nav-popup-container .close .icon-right {
float: right;
}
.quick-nav-popup-content {
max-height: 80vh;
overflow-y: scroll;
overflow-x: hidden;
padding-bottom: 20rpx;
}
/**
* 内容
*/
.quick-nav-data-list {
overflow: hidden;
background: #fff;
}
.quick-nav-data-list .items {
width: calc(25% - 60rpx);
float: left;
padding: 30rpx;
}
.quick-nav-data-list .items-content {
border-radius: 50%;
padding: 20rpx;
text-align: center;
width: 70rpx;
height: 70rpx;
margin: 0 auto;
}
.quick-nav-data-list .items image {
width: 60rpx !important;
height: 60rpx !important;
margin-top: 5rpx;
}
.quick-nav-data-list .items .title {
margin-top: 10rpx;
font-size: 28rpx !important;
text-align:center;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
max-width: 100%;
}
/*
* 没有数据
*/
.quick-nav-popup-container .no-data-box {
padding: 80rpx 0;
text-align: center;
}
.quick-nav-popup-container .no-data-box image {
width: 160rpx;
margin-bottom: 30rpx;
}
.quick-nav-popup-container .no-data-box .no-data-tips {
font-size: 28rpx;
color: #a6a6a6;
}
\ No newline at end of file
<!-- 开启事件 -->
<movable-area a:if="{{quick_status == 1}}" class="quick-nav-movable-container">
<movable-view direction="all" x="{{x}}" y="{{y}}" animation="{{false}}" class="quick-nav-event-submit" onTap="quick_open_event">
<image src="/images/quick-submit-icon.png" mode="widthFix"></image>
</movable-view>
</movable-area>
<!-- 弹窗 -->
<component-popup prop-show="{{popup_status}}" prop-position="bottom" onClose="quick_close_event">
<view class="quick-nav-popup-container">
<view class="close oh">
<view class="icon-right" catchTap="quick_close_event">
<icon type="clear" size="20" />
</view>
</view>
<view class="quick-nav-popup-content">
<view a:if="{{data_list.length > 0}}" class="quick-nav-data-list">
<view class="items" a:for="{{data_list}}">
<view class="items-content" data-value="{{item.event_value}}" data-type="{{item.event_type}}" onTap="navigation_event" style="background-color:{{item.bg_color}}">
<image src="{{item.images_url}}" mode="aspectFit" />
</view>
<view class="title">{{item.name}}</view>
</view>
</view>
<view a:else>
<import src="/pages/common/nodata.axml" />
<template is="nodata" data="{{status: 0}}"></template>
</view>
</view>
</view>
</component-popup>
\ No newline at end of file
const app = getApp();
Component({
data: {
popup_status: false,
quick_status: 0,
data_list: [],
system: null,
x: 0,
y: 0,
},
// 页面被展示
didMount() {
// 配置初始化
this.init_config();
// 数据设置
var system = app.get_system_info();
this.setData({
system: system,
x: 5,
y: (system.windowHeight || 450)-160,
});
},
methods: {
// 初始化配置
init_config(status) {
if((status || false) == true) {
this.setData({
data_list: app.get_config('quick_nav') || [],
quick_status: app.get_config('config.home_navigation_main_quick_status') || 0
});
} else {
app.is_config(this, 'init_config');
}
},
// 弹层开启
quick_open_event(e) {
this.setData({popup_status: true, data_list: app.get_config('quick_nav') || []});
},
// 弹层关闭
quick_close_event(e) {
this.setData({ popup_status: false });
},
// 操作事件
navigation_event(e) {
app.operation_event(e);
},
},
});
{
"component": true,
"usingComponents": {
"component-popup": "/components/popup/popup"
}
}
\ No newline at end of file
.banner {
background: #fff;
margin-bottom: 20rpx;
}
.banner image {
min-width: 100%;
}
.banner, .banner image {
height: 320rpx !important;
}
\ No newline at end of file
<swiper
indicator-dots="{{data.length > 1}}"
indicator-color="{{indicator_color}}"
indicator-active-color="{{indicator_active_color}}"
autoplay="{{data.length > 1}}"
circular="{{circular}}"
class="banner bg-white spacing-mb"
a:if="{{data.length > 0}}">
<block a:for="{{data}}">
<swiper-item>
<image class="wh-auto" src="{{item.images_url}}" mode="widthFix" data-value="{{item.event_value}}" data-type="{{item.event_type}}" onTap="banner_event" />
</swiper-item>
</block>
</swiper>
\ No newline at end of file
const app = getApp();
Component({
mixins: [],
data: {
indicator_color: 'rgba(0, 0, 0, .3)',
indicator_active_color: '#e31c55',
circular: true,
},
props: {
data: []
},
didMount() {},
didUpdate() {},
didUnmount() {},
methods: {
// 操作事件
banner_event(e) {
app.operation_event(e);
},
}
});
{
"component": true
}
\ No newline at end of file
{
"name":"默认主题",
"ver":"2.2.0",
"author":"Devil",
"home":"https://shopxo.net/"
}
\ No newline at end of file
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册