dev/1.0 #1

Merged
admin merged 16 commits from dev/1.0 into main 2026-01-24 09:24:06 +00:00
116 changed files with 2263 additions and 1424 deletions
Showing only changes of commit 2223636184 - Show all commits

View File

@@ -314,7 +314,7 @@
@import './common/css/iconfont.css';
@import './common/css/icondiy.css'; // 自定义图标库
@import './common/css/icon/extend.css'; // 扩展图标库
page{
page {
background: #f4f6fa;
}
</style>

View File

@@ -123,7 +123,7 @@ image {
}
.choose-store {
/deep/ .uni-popup__wrapper{
::v-deep .uni-popup__wrapper{
background: none!important;
}
}

View File

@@ -870,13 +870,13 @@
// 海报
// .uni-popup__wrapper-box
.poster-layer {
/deep/ .uni-popup__wrapper.center {
::v-deep .uni-popup__wrapper.center {
width: 100vw!important;
height: 100vh!important;
background: none!important;
}
/deep/ .uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
max-width: 100vw!important;
max-height: 100vh!important;
background: none!important;

View File

@@ -559,7 +559,7 @@ scroll-view ::-webkit-scrollbar {
background-color: transparent;
}
/deep/::-webkit-scrollbar {
::v-deep ::-webkit-scrollbar {
width: 0;
height: 0;
background-color: transparent;
@@ -609,7 +609,7 @@ scroll-view ::-webkit-scrollbar {
font-weight: 500!important;
}
/deep/ .reward-popup .uni-popup__wrapper-box {
::v-deep .reward-popup .uni-popup__wrapper-box {
background: none !important;
max-width: unset !important;
max-height: unset !important;
@@ -618,7 +618,7 @@ scroll-view ::-webkit-scrollbar {
// #ifdef H5
// 下拉加载动画【页面】
/deep/ body uni-page-refresh div{
::v-deep body uni-page-refresh div{
width: 14rpx !important;
height: 14rpx !important;
background-color: #ccc;
@@ -626,7 +626,7 @@ scroll-view ::-webkit-scrollbar {
clip: rect(-152rpx, 90rpx, 90rpx, -30rpx) !important;
animation:.6s backgroundChange linear infinite;
}
/deep/ body uni-page-refresh div::after{
::v-deep body uni-page-refresh div::after{
content: "";
position: absolute;
left: -22rpx;
@@ -636,7 +636,7 @@ scroll-view ::-webkit-scrollbar {
background-color: #ccc;
animation:.5s backgroundChange linear infinite;
}
/deep/ body uni-page-refresh div::before{
::v-deep body uni-page-refresh div::before{
content: "";
position: absolute;
right: -22rpx;
@@ -646,15 +646,15 @@ scroll-view ::-webkit-scrollbar {
background-color: #ccc;
animation:.7s backgroundChange linear infinite;
}
/deep/ body uni-page-refresh > div > div{
::v-deep body uni-page-refresh > div > div{
display: none !important;
}
// 下拉加载动画【scroll-view】
/deep/ body .uni-scroll-view-refresher{
::v-deep body .uni-scroll-view-refresher{
background-color: transparent !important;
}
/deep/ body .uni-scroll-view-refresher div{
::v-deep body .uni-scroll-view-refresher div{
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
@@ -666,7 +666,7 @@ scroll-view ::-webkit-scrollbar {
clip: rect(-152rpx, 90rpx, 90rpx, -30rpx) !important;
animation:.6s backgroundChange linear infinite;
}
/deep/ body .uni-scroll-view-refresher div::after{
::v-deep body .uni-scroll-view-refresher div::after{
content: "";
position: absolute;
left: -22rpx;
@@ -676,7 +676,7 @@ scroll-view ::-webkit-scrollbar {
background-color: #ccc;
animation:.5s backgroundChange linear infinite;
}
/deep/ body .uni-scroll-view-refresher div::before{
::v-deep body .uni-scroll-view-refresher div::before{
content: "";
position: absolute;
right: -22rpx;
@@ -686,7 +686,7 @@ scroll-view ::-webkit-scrollbar {
background-color: #ccc;
animation:.7s backgroundChange linear infinite;
}
/deep/ body .uni-scroll-view-refresher > div > div{
::v-deep body .uni-scroll-view-refresher > div > div{
display: none !important;
}
@keyframes backgroundChange {

View File

@@ -1,4 +1,4 @@
// 修复图片垂直对齐问题,解决两张图片上下有空白缝隙问题
/deep/ ._img {
::v-deep ._img {
vertical-align: top;
}

View File

@@ -377,7 +377,7 @@ view {
}
}
/deep/ .goods-form {
::v-deep .goods-form {
display: flex;
align-items: center;
position: relative;
@@ -1354,7 +1354,7 @@ view {
border-bottom: 2rpx solid #F4F4F6;
}
/deep/ .form-wrap {
::v-deep .form-wrap {
margin: 0 24rpx;
.icon-right {

View File

@@ -116,7 +116,7 @@ class ConfigExternal {
try {
// 动态加载主题配置
const themeData = require(`@/common/js/style_color.js`)['default'][theme];
console.log('async themeData => ', themeData);
// console.log('async themeData => ', themeData);
this.loadedConfigs[`theme_${theme}`] = themeData;
resolve(themeData);
} catch (error) {

89
common/js/uniapp.utils.js Normal file
View File

@@ -0,0 +1,89 @@
/**
* 将常用的Uniapp提供的函数存放到这里按需引用
*/
/**
* 显示错误信息
* @param {Exception} err
*/
const showError = (err) => {
uni.showToast({
title: err?.message || err?.errMsg || err?.toString(),
icon: 'none',
duration: 2000
});
}
/**
* 打电话
* @param {string} mobile 电话号码
*/
export const makePhoneCall = (mobile) => {
try {
uni.makePhoneCall({
phoneNumber: `${mobile}`,
success(e) {
console.log(e);
}
});
} catch (err) {
showError(err);
}
}
/**
* 拷贝文本
* @param {*} text
* @param {*} options
*/
export const copyText = (text, { copySuccess = '', copyFailed = '' } = {}) => {
try {
console.log('copyText');
uni.setClipboardData({
data: `${text}`,
success: () => {
console.error('复制成功');
try {
uni.showToast({
title: copySuccess,
icon: 'success',
duration: 2000
});
} catch (e) {
showError(e);
}
},
fail: (err) => {
console.error('复制失败:', err);
try {
uni.showToast({
title: err.message || err.errMsg || copyFailed,
icon: 'none',
duration: 2000
});
} catch (e) {
showError(e);
}
}
});
} catch (err) {
showError(err);
}
}
/**
* 打开定位
* @param {Object} options
*/
export const openLocation = ({ latitude, longitude, name } = {}) => {
try {
uni.openLocation({
latitude,
longitude,
name,
});
} catch (err) {
showError(err);
}
}

View File

@@ -1202,7 +1202,7 @@ export default {
let _isQuickApp = false;
try {
const ua = navigator?.userAgent?.toLowerCase();
console.log('ua = ', ua);
// console.log('ua = ', ua);
_isQuickApp = ua.indexOf('quickapp') !== -1;
if (!_isQuickApp) {

View File

@@ -365,7 +365,7 @@ export default {
</script>
<style lang="scss">
/deep/.uni-scroll-view ::-webkit-scrollbar {
::v-deep .uni-scroll-view ::-webkit-scrollbar {
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
display: none;
width: 0;
@@ -374,7 +374,7 @@ export default {
background: transparent;
}
/deep/::-webkit-scrollbar {
::v-deep ::-webkit-scrollbar {
display: none;
width: 0;
height: 0;

View File

@@ -1160,7 +1160,7 @@ export default {
.right-wrap {
display: flex;
align-items: center;
justify-content: end;
justify-content: flex-end;
.num {
width: auto;
@@ -1314,7 +1314,7 @@ export default {
}
}
/deep/ .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper-box {
border-radius: 0;
}
@@ -1348,7 +1348,7 @@ export default {
justify-content: center;
}
/deep/ .loading-layer {
::v-deep .loading-layer {
background: #fff !important;
}

View File

@@ -548,7 +548,7 @@ export default {
};
</script>
<style lang="scss">
<style lang="scss" scoped>
.category-page-wrap {
width: 100vw;
// height: calc(100vh - var(--tab-bar-height, 0));
@@ -818,7 +818,7 @@ export default {
z-index: 2;
}
/deep/ .template-four {
::v-deep .template-four {
position: relative;
z-index: 1;

View File

@@ -617,13 +617,13 @@ export default {
// // 3:4 比例的视频卡片样式
// .channel-video.ratio-3-4 {
// // 调整视频卡片的整体高度
// /deep/ .video-cover-wrap {
// ::v-deep .video-cover-wrap {
// padding-top: 133.33%; // 3:4 比例
// }
// // 列表模式下的3:4比例调整
// &.list-mode {
// /deep/ .video-cover-wrap {
// ::v-deep .video-cover-wrap {
// padding-top: 133.33%; // 3:4 比例
// }
// }
@@ -632,13 +632,13 @@ export default {
// // 16:9 比例的视频卡片样式(默认)
// .channel-video.ratio-16-9 {
// // 保持默认的16:9比例
// /deep/ .video-cover-wrap {
// ::v-deep .video-cover-wrap {
// padding-top: 56.25%; // 16:9 比例
// }
// // 列表模式下的16:9比例保持默认
// &.list-mode {
// /deep/ .video-cover-wrap {
// ::v-deep .video-cover-wrap {
// padding-top: 56.25%; // 16:9 比例
// }
// }

View File

@@ -488,7 +488,7 @@ export default {
}
// 风格一
/deep/.coupon-style-one {
::v-deep .coupon-style-one {
height: 110rpx;
.coupon-item-box {
@@ -534,7 +534,7 @@ export default {
}
// 风格二
/deep/.coupon-style-two {
::v-deep .coupon-style-two {
height: 96rpx;
.coupon-item-box {
@@ -591,7 +591,7 @@ export default {
background-size: 100% 100%;
}
/deep/.coupon-style-three {
::v-deep .coupon-style-three {
height: 284rpx;
padding: 20rpx;
box-sizing: border-box;
@@ -638,7 +638,7 @@ export default {
}
// 风格四
/deep/.coupon-style-four {
::v-deep .coupon-style-four {
height: 108rpx;
.coupon-item-box {
@@ -997,7 +997,7 @@ export default {
}
//风格七
/deep/ .coupon-style-seven {
::v-deep .coupon-style-seven {
.wrap {
display: flex;
}
@@ -1075,7 +1075,7 @@ export default {
}
}
/deep/.uni-scroll-view ::-webkit-scrollbar {
::v-deep .uni-scroll-view ::-webkit-scrollbar {
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
display: none;
width: 0;
@@ -1084,7 +1084,7 @@ export default {
background: transparent;
}
/deep/::-webkit-scrollbar {
::v-deep ::-webkit-scrollbar {
display: none;
width: 0;
height: 0;

View File

@@ -274,7 +274,7 @@ export default {
</script>
<style lang="scss">
/deep/.uni-scroll-view ::-webkit-scrollbar {
::v-deep .uni-scroll-view ::-webkit-scrollbar {
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
display: none;
width: 0;
@@ -283,7 +283,7 @@ export default {
background: transparent;
}
/deep/::-webkit-scrollbar {
::v-deep ::-webkit-scrollbar {
display: none;
width: 0;
height: 0;

View File

@@ -280,39 +280,39 @@ export default {
}
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
/deep/.uni-scroll-view::-webkit-scrollbar {
::v-deep .uni-scroll-view::-webkit-scrollbar {
display: none;
}
.swiper /deep/ .uni-swiper-dots-horizontal {
.swiper ::v-deep .uni-swiper-dots-horizontal {
bottom: 25rpx;
}
.swiper-left /deep/ .uni-swiper-dots-horizontal {
.swiper-left ::v-deep .uni-swiper-dots-horizontal {
left: 40rpx;
transform: translate(0);
}
.swiper-right /deep/ .uni-swiper-dots-horizontal {
.swiper-right ::v-deep .uni-swiper-dots-horizontal {
right: 40rpx;
display: flex;
justify-content: flex-end;
transform: translate(0);
}
.carousel-angle /deep/ .uni-swiper-dots-horizontal .uni-swiper-dot {
.carousel-angle ::v-deep .uni-swiper-dots-horizontal .uni-swiper-dot {
width: 24rpx;
border-radius: 0;
height: 8rpx;
}
.swiper.ns-indicator-dots /deep/ .uni-swiper-dot {
.swiper.ns-indicator-dots ::v-deep .uni-swiper-dot {
width: 18rpx;
height: 6rpx;
border-radius: 4rpx;
}
.swiper.ns-indicator-dots /deep/ .uni-swiper-dot-active {
.swiper.ns-indicator-dots ::v-deep .uni-swiper-dot-active {
width: 36rpx;
}
</style>

View File

@@ -732,7 +732,7 @@ export default {
margin-top: 100rpx;
}
/deep/.uni-scroll-view::-webkit-scrollbar {
::v-deep .uni-scroll-view::-webkit-scrollbar {
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
display: none;
}

View File

@@ -1,6 +1,6 @@
<template>
<view data-component-name="diy-kefu" class="diy-kefu" :style="style">
<view class="fui-list-group merchgroup" v-for="(item, index) in value.list">
<view class="fui-list-group merchgroup" v-for="(item, index) in value.list" :key="index">
<view class="fui-list jump" v-if="index == 0">
<view class="fui-list-media">
<image class="round" :src="$util.img(item.imageUrl)" style="border-radius:6rpx"></image>

View File

@@ -1380,11 +1380,11 @@ export default {
}
}
/deep/ .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
background: none !important;
}
/deep/ .member-info-style4 .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .member-info-style4 .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
background: #fff !important;
}
@@ -1484,8 +1484,8 @@ export default {
}
</style>
<style scoped>
.member-complete-info-popup /deep/ .uni-popup__wrapper.bottom,
.member-complete-info-popup /deep/ .uni-popup__wrapper.bottom .uni-popup__wrapper-box {
.member-complete-info-popup ::v-deep .uni-popup__wrapper.bottom,
.member-complete-info-popup ::v-deep .uni-popup__wrapper.bottom .uni-popup__wrapper-box {
border-top-left-radius: 30rpx !important;
border-top-right-radius: 30rpx !important;
}

View File

@@ -319,7 +319,7 @@ export default {
</script>
<style lang="scss">
/deep/.uni-scroll-view ::-webkit-scrollbar {
::v-deep .uni-scroll-view ::-webkit-scrollbar {
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
display: none;
width: 0;
@@ -328,7 +328,7 @@ export default {
background: transparent;
}
/deep/::-webkit-scrollbar {
::v-deep ::-webkit-scrollbar {
display: none;
width: 0;
height: 0;

View File

@@ -391,7 +391,7 @@ export default {
</script>
<style lang="scss">
/deep/.uni-scroll-view ::-webkit-scrollbar {
::v-deep .uni-scroll-view ::-webkit-scrollbar {
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
display: none;
width: 0;
@@ -400,7 +400,7 @@ export default {
background: transparent;
}
/deep/::-webkit-scrollbar {
::v-deep ::-webkit-scrollbar {
display: none;
width: 0;
height: 0;

View File

@@ -276,7 +276,7 @@ export default {
</script>
<style lang="scss">
/deep/.uni-scroll-view ::-webkit-scrollbar {
::v-deep .uni-scroll-view ::-webkit-scrollbar {
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
display: none;
width: 0;
@@ -285,7 +285,7 @@ export default {
background: transparent;
}
/deep/::-webkit-scrollbar {
::v-deep ::-webkit-scrollbar {
display: none;
width: 0;
height: 0;

View File

@@ -257,7 +257,7 @@ export default {
</script>
<style lang="scss">
/deep/ .uni-input-placeholder {
::v-deep .uni-input-placeholder {
overflow: initial;
}

View File

@@ -536,7 +536,7 @@ scroll-view ::-webkit-scrollbar {
touch-action: none;
}
/deep/.uni-scroll-view ::-webkit-scrollbar {
::v-deep .uni-scroll-view ::-webkit-scrollbar {
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
display: none;
width: 0;
@@ -545,7 +545,7 @@ scroll-view ::-webkit-scrollbar {
background: transparent;
}
/deep/::-webkit-scrollbar {
::v-deep ::-webkit-scrollbar {
display: none;
width: 0;
height: 0;

View File

@@ -140,7 +140,7 @@ export default {
display: flex;
align-items: baseline;
/deep/ .uni-scroll-view-content {
::v-deep .uni-scroll-view-content {
display: flex;
align-items: center;
}
@@ -148,7 +148,7 @@ export default {
&.between {
justify-content: space-between;
/deep/.uni-scroll-view-content {
::v-deep .uni-scroll-view-content {
justify-content: space-between;
}
}

View File

@@ -156,11 +156,11 @@
</script>
<style lang="scss">
/deep/.uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
background-color: #000;
}
/deep/.uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
max-width: 100%;
width: 100%;
}

View File

@@ -843,15 +843,15 @@ export default {
z-index: 5;
}
/deep/ .uni-popup__wrapper {
::v-deep .uni-popup__wrapper {
background: transparent !important;
}
/deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
background: transparent !important;
}
/deep/ .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
background: transparent !important;
}
</style>

View File

@@ -17,7 +17,7 @@
<style lang="scss">
.mp-html{
/deep/ img{
::v-deep img{
width:100% !important;
display:block;
}

View File

@@ -146,7 +146,7 @@
};
</script>
<style scoped>
.register-box /deep/ .uni-scroll-view {
.register-box ::v-deep .uni-scroll-view {
background: unset !important;
}
@@ -155,11 +155,11 @@
overflow-y: scroll;
}
.register-box /deep/.uni-popup__wrapper-box {
.register-box ::v-deep .uni-popup__wrapper-box {
overflow: unset !important;
}
.reward-popup /deep/.uni-popup__wrapper {
.reward-popup ::v-deep .uni-popup__wrapper {
background: none;
}
</style>

View File

@@ -27,7 +27,7 @@ export default {
<style>
/* 回到顶部的按钮 */
.mescroll-totop {
z-index: 99;
z-index: 2147483647;
position: fixed !important; /* 加上important避免编译到H5,在多mescroll中定位失效 */
right: 46rpx !important;
bottom: 272rpx !important;

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,834 @@
# 组件使用情况文档
提示词:请重新帮我分析 components 及 uni_modules 目录下的组件,被哪些页面/组件使用按照Vue组件精确引用次数由多到少来排序并更新到该文档中。
## 1. 组件目录结构
### 1.1 components 目录包含以下组件:
- chat-message
- hover-nav
- l-time
- loading-cover
- mescroll
- ns-adv
- ns-chat
- ns-contact
- ns-copyright
- ns-empty
- ns-form
- ns-goods-action
- ns-goods-action-button
- ns-goods-action-icon
- ns-goods-recommend
- ns-goods-sku
- ns-loading
- ns-login
- ns-mp-html
- ns-navbar
- ns-payment
- ns-progress
- ns-select-time
- ns-switch
- ns-video-player-popup
- payment
- pick-regions
- privacy-popup
- register-reward
- sx-rate
- to-top
- uv-count-to
- wxwork-contact
- xiao-star-component
- yuyue-date
### 1.2 uni_modules 目录包含以下组件:
- mp-html
- uni-badge
- uni-calendar
- uni-count-down
- uni-datetime-picker
- uni-drawer
- uni-grid
- uni-grid-item
- uni-icons
- uni-nav-bar
- uni-number-box
- uni-popup
- uni-popup-sku
- uni-popup-sku-category
- uni-scss
- uni-status-bar
- uni-tag
- x-skeleton
## 2. 组件使用情况详细列表(按引用次数排序)
### 2.1 loading-cover 组件78次引用
**文件路径**components/loading-cover/loading-cover.vue
**引用情况**
- pages_tool/form/formdata.vue
- pages_goods/detail.vue
- pages_order/_components/common-payment/common-payment.vue
- pages_tool/recharge/order_list.vue
- pages_tool/recharge/list.vue
- pages_tool/pay/index.vue
- pages_tool/pay/result.vue
- pages_tool/order/refund_type_select.vue
- pages_tool/order/refund_goods_select.vue
- pages_tool/order/refund_detail.vue
- pages_tool/order/detail_virtual.vue
- pages_tool/order/evaluate.vue
- pages_tool/order/logistics.vue
- pages_tool/order/refund.vue
- pages_tool/order/refund_batch.vue
- pages_tool/member/withdrawal.vue
- pages_tool/member/withdrawal_detail.vue
- pages_tool/notice/detail.vue
- pages_tool/notice/list.vue
- pages_tool/member/point.vue
- pages_tool/member/point_detail.vue
- pages_tool/member/invite_friends.vue
- pages_tool/member/level.vue
- pages_tool/member/level_growth_rules.vue
- pages_tool/member/coupon.vue
- pages_tool/member/footprint.vue
- pages_tool/member/card_buy.vue
- pages_tool/member/collection.vue
- pages_tool/member/balance.vue
- pages_tool/member/balance_detail.vue
- pages_tool/member/account.vue
- pages_tool/member/account_edit.vue
- pages_tool/member/address.vue
- pages_tool/member/address_edit.vue
- pages_tool/member/apply_withdrawal.vue
- pages_tool/login/login.vue
- pages_tool/help/detail.vue
- pages_tool/help/list.vue
- pages_tool/goods/coupon.vue
- pages_tool/goods/coupon_receive.vue
- pages_tool/goods/evaluate.vue
- pages_tool/files/list.vue
- pages_tool/form/form.vue
- pages_tool/goods/brand.vue
- pages_tool/article/detail.vue
- pages_tool/article/list.vue
- pages_promotion/point/list.vue
- pages_promotion/point/order_list.vue
- pages_promotion/point/payment.vue
- pages_promotion/point/detail.vue
- pages_promotion/merch/merchcategory.vue
- pages_promotion/merch/detail.vue
- pages_promotion/fenxiao/withdrawal_detail.vue
- pages_promotion/fenxiao/withdraw_list.vue
- pages_promotion/fenxiao/withdraw_apply.vue
- pages_promotion/fenxiao/ranking_list.vue
- pages_promotion/fenxiao/relation.vue
- pages_promotion/fenxiao/team.vue
- pages_promotion/fenxiao/order.vue
- pages_promotion/fenxiao/order_detail.vue
- pages_promotion/fenxiao/promote.vue
- pages_promotion/fenxiao/promote_code.vue
- pages_promotion/fenxiao/index.vue
- pages_promotion/fenxiao/level.vue
- pages_promotion/fenxiao/goods_list.vue
- pages_promotion/fenxiao/apply.vue
- pages_promotion/fenxiao/bill.vue
- pages_promotion/fenxiao/child_fenxiao.vue
- pages_order/detail_point.vue
- pages_order/list.vue
- pages_order/detail.vue
- pages_order/detail_local_delivery.vue
- pages_order/detail_pickup.vue
- pages_goods/list.vue
- pages_goods/cart.vue
- pages_goods/category.vue
- components-diy/diy-category-item.vue
### 2.2 uni-popup 组件66次引用
**文件路径**uni_modules/uni-popup/components/uni-popup/uni-popup.vue
**引用情况**
- pages_goods/_components/goods-detail-view/goods-detail-view.vue
- pages_tool/member/index.vue
- pages_goods/detail.vue
- pages_order/payment.vue
- pages_order/_components/common-payment/common-payment.vue
- pages_tool/contact/contact.vue
- components/ns-contact/ns-contact.vue
- pages/index/index.vue
- components/ns-video-player-popup/ns-video-player-popup.vue
- pages/contact/contact.vue
- uni_modules/uni-popup-sku/components/uni-popup-sku/uni-popup-sku.vue
- uni_modules/uni-popup-sku-category/components/uni-popup-sku-category/uni-popup-sku-category.vue
- pages_tool/recharge/list.vue
- pages_tool/pay/result.vue
- pages_tool/order/refund_type_select.vue
- pages_tool/order/refund.vue
- pages_tool/order/refund_batch.vue
- pages_tool/member/invite_friends.vue
- pages_tool/member/level.vue
- pages_tool/member/card_buy.vue
- pages_tool/member/collection.vue
- pages_tool/member/card.vue
- pages_tool/login/login.vue
- pages_tool/index/diy.vue
- pages_tool/cases/index.vue
- pages_promotion/point/list.vue
- pages_promotion/point/payment.vue
- pages_promotion/merch/public/category.scss
- pages_promotion/point/detail.vue
- pages_promotion/merch/merchcategory.vue
- pages_promotion/merch/detail.vue
- pages_promotion/fenxiao/promote_code.vue
- pages_promotion/fenxiao/index.vue
- pages_promotion/fenxiao/level.vue
- pages_promotion/fenxiao/goods_list.vue
- pages_promotion/fenxiao/apply.vue
- pages_order/detail_point.vue
- pages_order/detail.vue
- pages_goods/list.vue
- pages_goods/public/css/cart.scss
- pages_goods/cart.vue
- pages_goods/category.vue
- components/yuyue-date/yuyue-date.vue
- components/register-reward/register-reward.vue
- components/pick-regions/pick-regions.vue
- components/ns-select-time/ns-select-time.vue
- components/payment/payment.vue
- components/ns-payment/ns-payment.vue
- components/ns-goods-sku/ns-goods-sku.vue
- components/ns-login/ns-login.vue
- pages_tool/_components/ns-new-gift/ns-new-gift.vue
- components/ns-goods-sku/ns-goods-sku-category.vue
- pages_tool/_components/ns-birthday-gift/ns-birthday-gift.vue
- components/chat-message/chat-message.vue
- components-diy/diy-video-list.vue
- components-diy/diy-payment-qrcode.vue
- components-diy/diy-notice.vue
- components-diy/diy-member-info.vue
- components-diy/diy-index-page.vue
- components-diy/diy-category.vue
- components-diy/diy-category-item.vue
### 2.3 mescroll 组件63次引用
**文件路径**components/mescroll/
**引用情况**
- pages_order/_components/common-payment/common-payment.vue
- pages_tool/contact/contact.vue
- lang/zh-cn/common.js
- lang/en-us/common.js
- pages.json
- pages/index/index.vue
- pages_tool/recharge/order_list.vue
- pages_tool/recharge/list.vue
- pages_tool/order/logistics.vue
- pages_tool/member/withdrawal.vue
- pages_tool/notice/list.vue
- pages_tool/order/activist.vue
- pages_tool/member/public/js/collection.js
- pages_tool/member/point_detail.vue
- pages_tool/member/coupon.vue
- pages_tool/member/footprint.vue
- pages_tool/member/collection.vue
- pages_tool/member/balance.vue
- pages_tool/member/balance_detail.vue
- pages_tool/member/account.vue
- pages_tool/member/address.vue
- pages_tool/goods/coupon.vue
- pages_tool/goods/evaluate.vue
- pages_tool/files/list.vue
- pages_tool/goods/brand.vue
- pages_tool/article/list.vue
- pages_promotion/point/goods_list.vue
- pages_promotion/point/list.vue
- pages_promotion/point/order_list.vue
- pages_promotion/merch/public/js/list.js
- pages_promotion/merch/detail.vue
- pages_promotion/fenxiao/withdraw_list.vue
- pages_promotion/fenxiao/ranking_list.vue
- pages_promotion/fenxiao/relation.vue
- pages_promotion/fenxiao/team.vue
- pages_promotion/fenxiao/public/js/goods_list.js
- pages_promotion/fenxiao/order.vue
- pages_promotion/fenxiao/goods_list.vue
- pages_promotion/fenxiao/bill.vue
- pages_promotion/fenxiao/child_fenxiao.vue
- pages_order/list.vue
- pages_goods/public/js/list.js
- pages_goods/list.vue
- components/to-top/to-top.vue
- components-diy/diy-index-page.vue
- components/ns-loading/ns-loading.vue
### 2.4 ns-login 组件53次引用
**文件路径**components/ns-login/ns-login.vue
**引用情况**
- pages_tool/form/formdata.vue
- pages_goods/detail.vue
- pages_order/_components/common-payment/common-payment.vue
- pages/index/index.vue
- pages_tool/recharge/order_list.vue
- pages_tool/pay/cashier.vue
- pages_tool/member/point.vue
- pages_tool/member/invite_friends.vue
- pages_tool/member/level.vue
- pages_tool/member/coupon.vue
- pages_tool/member/footprint.vue
- pages_tool/member/info.vue
- pages_tool/member/info_edit.vue
- pages_tool/member/card_buy.vue
- pages_tool/member/collection.vue
- pages_tool/member/card.vue
- pages_tool/member/balance.vue
- pages_tool/member/balance_detail.vue
- pages_tool/member/account.vue
- pages_tool/member/address.vue
- pages_tool/goods/coupon.vue
- pages_tool/goods/coupon_receive.vue
- pages_tool/form/form.vue
- pages_promotion/point/list.vue
- pages_promotion/point/order_list.vue
- pages_promotion/point/detail.vue
- pages_promotion/merch/merchcategory.vue
- pages_promotion/fenxiao/withdraw_list.vue
- pages_promotion/fenxiao/relation.vue
- pages_promotion/fenxiao/team.vue
- pages_promotion/fenxiao/order.vue
- pages_promotion/fenxiao/order_detail.vue
- pages_promotion/fenxiao/promote.vue
- pages_promotion/fenxiao/promote_code.vue
- pages_promotion/fenxiao/index.vue
- pages_promotion/fenxiao/child_fenxiao.vue
- pages_order/list.vue
- pages_goods/cart.vue
- pages_goods/category.vue
- components/ns-goods-sku/ns-goods-sku.vue
- components/ns-goods-sku/ns-goods-sku-index.vue
- components/ns-goods-sku/ns-goods-sku-category.vue
- pages_goods/_components/goods-detail-view/goods-detail-view.vue
- components-diy/diy-search.vue
- components-diy/diy-quick-nav.vue
- components-diy/diy-notes.vue
- components-diy/diy-member-info.vue
- components-diy/diy-member-my-order.vue
- components-diy/diy-image-nav.vue
- components-diy/diy-graphic-nav.vue
- components-diy/diy-digit.vue
- components-diy/diy-coupon.vue
### 2.5 ns-empty 组件37次引用
**文件路径**components/ns-empty/ns-empty.vue
**引用情况**
- pages_tool/form/formdata.vue
- pages_order/_components/common-payment/common-payment.vue
- pages_tool/seal/medium/search.vue
- pages_tool/recharge/order_list.vue
- pages_tool/pay/cashier.vue
- pages_tool/member/withdrawal.vue
- pages_tool/notice/list.vue
- pages_tool/order/activist.vue
- pages_tool/member/point_detail.vue
- pages_tool/member/invite_friends.vue
- pages_tool/member/coupon.vue
- pages_tool/member/footprint.vue
- pages_tool/member/card_buy.vue
- pages_tool/member/collection.vue
- pages_tool/member/balance_detail.vue
- pages_tool/help/list.vue
- pages_tool/goods/coupon.vue
- pages_tool/goods/evaluate.vue
- pages_tool/files/list.vue
- pages_tool/form/form.vue
- pages_tool/goods/brand.vue
- pages_tool/article/list.vue
- pages_promotion/point/goods_list.vue
- pages_promotion/point/order_list.vue
- pages_promotion/merch/detail.vue
- pages_promotion/fenxiao/withdraw_list.vue
- pages_promotion/fenxiao/ranking_list.vue
- pages_promotion/fenxiao/relation.vue
- pages_promotion/fenxiao/team.vue
- pages_promotion/fenxiao/order.vue
- pages_promotion/fenxiao/goods_list.vue
- pages_promotion/fenxiao/bill.vue
- pages_promotion/fenxiao/child_fenxiao.vue
- pages_order/list.vue
- pages_goods/list.vue
- pages_goods/cart.vue
- components-diy/diy-index-page.vue
### 2.6 privacy-popup 组件26次引用
**文件路径**components/privacy-popup/privacy-popup.vue
**引用情况**
- pages_tool/member/index.vue
- pages_goods/detail.vue
- pages/index/index.vue
- pages_tool/webview/webview.vue
- pages_tool/notice/detail.vue
- pages_tool/notice/list.vue
- pages_tool/help/detail.vue
- pages_tool/help/list.vue
- pages_tool/index/diy.vue
- pages_tool/goods/coupon.vue
- pages_tool/goods/coupon_receive.vue
- pages_tool/files/list.vue
- pages_tool/goods/brand.vue
- pages_tool/article/detail.vue
- pages_tool/article/list.vue
- pages_promotion/point/goods_list.vue
- pages_promotion/point/list.vue
- pages_promotion/point/detail.vue
- pages_promotion/merch/detail.vue
- pages_promotion/fenxiao/promote.vue
- pages_promotion/fenxiao/promote_code.vue
- pages_promotion/fenxiao/goods_list.vue
- pages_goods/list.vue
- pages_goods/cart.vue
- pages_goods/category.vue
- components/ns-login/ns-login.vue
### 2.7 x-skeleton 组件19次引用
**文件路径**uni_modules/x-skeleton/components/x-skeleton/x-skeleton.vue
**引用情况**
- pages.json
- components-diy/diy-article.vue
- components-diy/diy-seckill.vue
- components-diy/diy-store-label.vue
- components-diy/diy-presale.vue
- components-diy/diy-pinfan.vue
- components-diy/diy-pintuan.vue
- components-diy/diy-notes.vue
- components-diy/diy-merch-list.vue
- components-diy/diy-live.vue
- components-diy/diy-groupbuy.vue
- components-diy/diy-goods-recommend.vue
- components-diy/diy-goods-brand.vue
- components-diy/diy-goods-list.vue
- components-diy/diy-coupon.vue
- components-diy/diy-bargain.vue
### 2.8 ns-goods-sku 组件13次引用
**文件路径**components/ns-goods-sku/
**引用情况**
- pages_goods/detail.vue
- pages.json
- store/index.js
- pages_promotion/point/detail.vue
- pages_promotion/merch/detail.vue
- pages_goods/list.vue
- pages_goods/cart.vue
- components-diy/diy-goods-list.vue
- components-diy/diy-category.vue
### 2.9 to-top 组件11次引用
**文件路径**components/to-top/to-top.vue
**引用情况**
- pages_goods/detail.vue
- pages_tool/contact/contact.vue
- pages/index/index.vue
- pages_tool/member/level.vue
- pages_tool/member/level_growth_rules.vue
- pages_promotion/point/detail.vue
- pages_goods/cart.vue
- components/mescroll/mescroll-uni.vue
- pages_goods/_components/goods-detail-view/goods-detail-view.vue
- common/css/goods_detail.scss
### 2.10 ns-goods-recommend 组件10次引用
**文件路径**components/ns-goods-recommend/ns-goods-recommend.vue
**引用情况**
- pages_tool/pay/result.vue
- pages_tool/member/collection.vue
- pages_tool/member/card.vue
- pages_promotion/fenxiao/level.vue
- pages_order/detail_point.vue
- pages_order/detail.vue
- pages_goods/cart.vue
- pages_goods/_components/goods-detail-view/goods-detail-view.vue
### 2.11 ns-payment 组件9次引用
**文件路径**components/ns-payment/ns-payment.vue
**引用情况**
- pages_tool/recharge/list.vue
- pages_tool/member/card_buy.vue
- pages_promotion/point/order_list.vue
- pages_promotion/point/payment.vue
- pages_order/detail_point.vue
- pages_order/list.vue
- pages_order/detail.vue
### 2.12 ns-adv 组件8次引用
**文件路径**components/ns-adv/ns-adv.vue
**引用情况**
- pages_tool/files/list.vue
- pages_tool/goods/brand.vue
- pages_tool/article/list.vue
- pages_promotion/point/list.vue
- pages_promotion/point/public/css/list.scss
- pages_promotion/fenxiao/public/css/follow.scss
### 2.13 ns-form 组件8次引用
**文件路径**components/ns-form/ns-form.vue
**引用情况**
- pages_goods/detail.vue
- pages_order/_components/common-payment/common-payment.vue
- pages_tool/form/form.vue
- pages_tool/_components/ns-newform/ns-newform.vue
- components/ns-goods-sku/ns-goods-sku.vue
- common/css/order_parment.scss
### 2.14 uni-icons 组件8次引用
**文件路径**uni_modules/uni-icons/components/uni-icons/uni-icons.vue
**引用情况**
- uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue
- uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue
- uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue
### 2.15 ns-contact 组件7次引用
**文件路径**components/ns-contact/ns-contact.vue
**引用情况**
- pages_tool/order/refund_detail.vue
- pages_tool/member/contact.vue
- pages_order/detail_point.vue
- pages_order/detail.vue
- components/ns-goods-action-icon/ns-goods-action-icon.vue
### 2.16 ns-copyright 组件7次引用
**文件路径**components/ns-copyright/ns-copyright.vue
**引用情况**
- pages_tool/member/index.vue
- pages/index/index.vue
- pages_tool/index/diy.vue
- pages_promotion/fenxiao/promote.vue
- pages_promotion/fenxiao/index.vue
- pages_goods/_components/goods-detail-view/goods-detail-view.vue
### 2.17 hover-nav 组件6次引用
**文件路径**components/hover-nav/hover-nav.vue
**引用情况**
- pages_tool/member/index.vue
- pages_tool/contact/contact.vue
- pages/index/index.vue
- pages/contact/contact.vue
### 2.18 pick-regions 组件6次引用
**文件路径**components/pick-regions/pick-regions.vue
**引用情况**
- pages_tool/member/info_edit.vue
- pages_tool/member/address_edit.vue
- pages_tool/_components/ns-newform/ns-newform.vue
- components/ns-form/ns-form.vue
### 2.19 ns-navbar 组件6次引用
**文件路径**components/ns-navbar/ns-navbar.vue
**引用情况**
- pages_tool/member/index.vue
- pages_goods/detail.vue
- pages/index/index.vue
- pages_tool/index/diy.vue
### 2.20 uni-drawer 组件4次引用
**文件路径**uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue
**引用情况**
- pages_promotion/point/goods_list.vue
- pages_promotion/merch/detail.vue
- pages_goods/list.vue
### 2.21 uni-calendar 组件4次引用
**文件路径**uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue
**引用情况**
- uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue
- uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue
### 2.22 chat-message 组件4次引用
**文件路径**components/chat-message/chat-message.vue
**引用情况**
- pages_tool/ai-chat/index.vue
- pages_tool/ai-chat/ai-chat-message.vue
### 2.23 ns-switch 组件4次引用
**文件路径**components/ns-switch/ns-switch.vue
**引用情况**
- pages_order/_components/common-payment/common-payment.vue
- components/payment/payment.vue
- components/ns-payment/ns-payment.vue
### 2.24 register-reward 组件4次引用
**文件路径**components/register-reward/register-reward.vue
**引用情况**
- pages_tool/login/login.vue
- components/ns-login/ns-login.vue
### 2.25 sx-rate 组件4次引用
**文件路径**components/sx-rate/sx-rate.vue
**引用情况**
- pages_tool/order/evaluate.vue
### 2.26 uni-count-down 组件3次引用
**文件路径**uni_modules/uni-count-down/components/uni-count-down/uni-count-down.vue
**引用情况**
- pages_goods/detail.vue
- pages_order/list.vue
- pages_order/detail.vue
### 2.27 uni-badge 组件3次引用
**文件路径**uni_modules/uni-badge/components/uni-badge/uni-badge.vue
**引用情况**
- uni_modules/uni-grid-item/components/uni-grid-item/uni-grid-item.vue
### 2.28 uni-grid 组件3次引用
**文件路径**uni_modules/uni-grid/components/uni-grid/uni-grid.vue
**引用情况**
- pages_tool/goods/brand.vue
### 2.29 ns-loading 组件5次引用
**文件路径**components/ns-loading/ns-loading.vue
**引用情况**
- pages_tool/ai-chat/ai-chat-message.vue
- components/mescroll/mescroll-uni.vue
- components-diy/diy-index-page.vue
### 2.30 ns-goods-action 组件5次引用
**文件路径**components/ns-goods-action/ns-goods-action.vue
**引用情况**
- pages_goods/detail.vue
- components/ns-goods-action-icon/ns-goods-action-icon.vue
- components/ns-goods-action-button/ns-goods-action-button.vue
### 2.31 ns-chat 组件5次引用
**文件路径**components/ns-chat/
**引用情况**
- components/chat-message/chat-message.vue
### 2.32 ns-select-time 组件3次引用
**文件路径**components/ns-select-time/ns-select-time.vue
**引用情况**
- pages_order/_components/common-payment/common-payment.vue
- pages_promotion/point/payment.vue
### 2.33 uv-count-to 组件3次引用
**文件路径**components/uv-count-to/uv-count-to.vue
**引用情况**
- components-diy/diy-digit.vue
### 2.34 ns-video-player-popup 组件3次引用
**文件路径**components/ns-video-player-popup/ns-video-player-popup.vue
**引用情况**
- pages_tool/contact/contact.vue
### 2.35 l-time 组件3次引用
**文件路径**components/l-time/l-time.vue
**引用情况**
- common/css/icondiy.css
### 2.36 pengpai-fadein-out 组件3次引用
**文件路径**components/pengpai-fadein-out/pengpai-fadein-out.vue
**引用情况**
- pages_goods/_components/goods-detail-view/goods-detail-view.vue
### 2.37 ns-progress 组件2次引用
**文件路径**components/ns-progress/ns-progress.vue
**引用情况**
- pages_tool/member/level.vue
### 2.38 payment 组件2次引用
**文件路径**components/payment/payment.vue
**引用情况**:无直接引用
### 2.39 uni-popup-sku 组件2次引用
**文件路径**uni_modules/uni-popup-sku/components/uni-popup-sku/uni-popup-sku.vue
**引用情况**:无直接引用
### 2.40 uni-popup-sku-category 组件2次引用
**文件路径**uni_modules/uni-popup-sku-category/components/uni-popup-sku-category/uni-popup-sku-category.vue
**引用情况**:无直接引用
### 2.41 uni-datetime-picker 组件13次引用
**文件路径**uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue
**引用情况**
- components/yuyue-date/yuyue-date.vue
### 2.42 ns-mp-html 组件1次引用
**文件路径**components/ns-mp-html/ns-mp-html.vue
**引用情况**:无引用
### 2.43 wxwork-contact 组件1次引用
**文件路径**components/wxwork-contact/wxwork-contact.vue
**引用情况**:无引用
### 2.44 xiao-star-component 组件1次引用
**文件路径**components/xiao-star-component/xiao-star-component.vue
**引用情况**:无引用
### 2.45 yuyue-date 组件1次引用
**文件路径**components/yuyue-date/yuyue-date.vue
**引用情况**:无引用
### 2.46 uni-nav-bar 组件1次引用
**文件路径**uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue
**引用情况**:无直接引用
### 2.47 uni-number-box 组件1次引用
**文件路径**uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue
**引用情况**:无直接引用
### 2.48 uni-status-bar 组件1次引用
**文件路径**uni_modules/uni-status-bar/components/uni-status-bar/uni-status-bar.vue
**引用情况**:无直接引用
### 2.49 uni-tag 组件1次引用
**文件路径**uni_modules/uni-tag/components/uni-tag/uni-tag.vue
**引用情况**:无直接引用
### 2.50 mp-html 组件1次引用
**文件路径**uni_modules/mp-html/components/mp-html/mp-html.vue
**引用情况**:无直接引用
### 2.51 uni-scss 组件1次引用
**文件路径**uni_modules/uni-scss/components/uni-scss/
**引用情况**:无直接引用
### 2.52 uni-grid-item 组件1次引用
**文件路径**uni_modules/uni-grid-item/components/uni-grid-item/uni-grid-item.vue
**引用情况**:无直接引用
## 3. 组件使用统计
### 3.1 使用最广泛的组件前10
1. loading-cover - 78个引用
2. uni-popup - 66个引用
3. mescroll - 63个引用
4. ns-login - 53个引用
5. ns-empty - 37个引用
6. privacy-popup - 26个引用
7. x-skeleton - 19个引用
8. ns-goods-sku - 13个引用
9. to-top - 11个引用
10. ns-goods-recommend - 10个引用
### 3.2 未被使用的组件
- ns-mp-html
- wxwork-contact
- xiao-star-component
- yuyue-date
- uni-nav-bar
- uni-number-box
- uni-status-bar
- uni-tag
- mp-html
- uni-scss
## 4. 总结
本项目的组件使用情况较为集中,核心组件如 loading-cover、uni-popup、mescroll、ns-login 等被广泛应用于多个页面。同时,也存在部分组件未被使用的情况,这些组件可能是为未来功能预留的,或者是已经被其他组件替代的。
通过本文档,可以清晰了解每个组件的使用范围,为后续的组件优化和维护提供参考。
**更新时间**2026-01-16

View File

@@ -130,5 +130,5 @@
"uniStatistics" : {
"version" : "2"
},
"sassImplementationName" : "node-sass"
"sassImplementationName" : "dart-sass"
}

View File

@@ -19,8 +19,8 @@ https://unpkg.com/jweixin-module/out/index.js
## 使用
```js
var wx = require('jweixin-module')
wx.ready(function(){
var jweixin = require('jweixin-module')
jweixin.ready(function(){
// TODO
});
```

File diff suppressed because one or more lines are too long

View File

@@ -1,60 +1,26 @@
{
"_from": "jweixin-module",
"_id": "jweixin-module@1.4.1",
"_inBundle": false,
"_integrity": "sha512-2R2oa1lYhAsclfjKSf3DP4ZiP1dcrQUbM7aklbeJA+UAg/LS7MqoA6UbTy1cs4sbB34z62K4bKW0Z9iazD8ejg==",
"_location": "/jweixin-module",
"_phantomChildren": {},
"_requested": {
"type": "tag",
"registry": true,
"raw": "jweixin-module",
"name": "jweixin-module",
"escapedName": "jweixin-module",
"rawSpec": "",
"saveSpec": null,
"fetchSpec": "latest"
},
"_requiredBy": [
"#USER",
"/"
],
"_resolved": "https://registry.npmjs.org/jweixin-module/-/jweixin-module-1.4.1.tgz",
"_shasum": "1fc8fa42622243f6c35651d272cd587debf56cd1",
"_spec": "jweixin-module",
"_where": "E:\\demo\\niushop_uniapp",
"author": {
"name": "Shengqiang Guo"
},
"bugs": {
"url": "https://github.com/zhetengbiji/jweixin-module/issues"
},
"bundleDependencies": false,
"deprecated": false,
"description": "微信JS-SDK",
"devDependencies": {
"textfile": "^1.2.0",
"uglify-js": "^3.4.9"
},
"homepage": "https://github.com/zhetengbiji/jweixin-module#readme",
"keywords": [
"wxjssdk",
"weixin",
"jweixin",
"wechat",
"jssdk",
"wx"
],
"license": "ISC",
"main": "out/index.js",
"name": "jweixin-module",
"repository": {
"type": "git",
"url": "git+https://github.com/zhetengbiji/jweixin-module.git"
},
"scripts": {
"build": "node build",
"prepublish": "npm run build"
},
"version": "1.4.1"
"version": "1.6.0",
"description": "微信JS-SDK",
"main": "lib/index.js",
"scripts": {},
"repository": {
"type": "git",
"url": "git+https://github.com/zhetengbiji/jweixin-module.git"
},
"keywords": [
"wxjssdk",
"weixin",
"jweixin",
"wechat",
"jssdk",
"wx"
],
"author": "Shengqiang Guo",
"license": "ISC",
"bugs": {
"url": "https://github.com/zhetengbiji/jweixin-module/issues"
},
"homepage": "https://github.com/zhetengbiji/jweixin-module#readme",
"devDependencies": {}
}

377
package-lock.json generated
View File

@@ -8,6 +8,7 @@
"jweixin-module": "^1.6.0"
},
"devDependencies": {
"dart-sass": "^1.25.0",
"terser-webpack-plugin": "^5.3.10",
"zion-uniapp-mp-load-package": "^1.0.13"
}
@@ -368,6 +369,59 @@
"ajv": "^6.9.1"
}
},
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/anymatch/node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/binary-extensions": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/braces": {
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/browserslist": {
"version": "4.23.3",
"resolved": "https://repo.huaweicloud.com/repository/npm/browserslist/-/browserslist-4.23.3.tgz",
@@ -449,6 +503,74 @@
"dev": true,
"license": "MIT"
},
"node_modules/dart-sass": {
"version": "1.25.0",
"resolved": "https://registry.npmmirror.com/dart-sass/-/dart-sass-1.25.0.tgz",
"integrity": "sha512-syNOAstJXAmvD3RifcDk3fiPMyYE2fY8so6w9gf2/wNlKpG0zyH+oiXubEYVOy1WAWkzOc72pbAxwx+3OU4JJA==",
"deprecated": "This package has been renamed to 'sass'.",
"dev": true,
"license": "MIT",
"dependencies": {
"chokidar": ">=2.0.0 <4.0.0"
},
"bin": {
"dart-sass": "sass.js"
},
"engines": {
"node": ">=8.9.0"
}
},
"node_modules/dart-sass/node_modules/chokidar": {
"version": "3.6.0",
"resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
"license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
},
"engines": {
"node": ">= 8.10.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
"node_modules/dart-sass/node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/dart-sass/node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"license": "MIT",
"dependencies": {
"picomatch": "^2.2.1"
},
"engines": {
"node": ">=8.10.0"
}
},
"node_modules/electron-to-chromium": {
"version": "1.5.4",
"resolved": "https://repo.huaweicloud.com/repository/npm/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz",
@@ -567,6 +689,47 @@
"dev": true,
"license": "MIT"
},
"node_modules/fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/glob-to-regexp": {
"version": "0.4.1",
"resolved": "https://repo.huaweicloud.com/repository/npm/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
@@ -593,6 +756,52 @@
"node": ">=8"
}
},
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"license": "MIT",
"dependencies": {
"binary-extensions": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/jest-worker": {
"version": "27.5.1",
"resolved": "https://repo.huaweicloud.com/repository/npm/jest-worker/-/jest-worker-27.5.1.tgz",
@@ -701,6 +910,16 @@
"license": "MIT",
"peer": true
},
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/picocolors": {
"version": "1.0.1",
"resolved": "https://repo.huaweicloud.com/repository/npm/picocolors/-/picocolors-1.0.1.tgz",
@@ -881,6 +1100,19 @@
}
}
},
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},
"engines": {
"node": ">=8.0"
}
},
"node_modules/undici-types": {
"version": "6.13.0",
"resolved": "https://repo.huaweicloud.com/repository/npm/undici-types/-/undici-types-6.13.0.tgz",
@@ -1318,6 +1550,39 @@
"dev": true,
"requires": {}
},
"anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
},
"dependencies": {
"picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true
}
}
},
"binary-extensions": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"dev": true
},
"braces": {
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"requires": {
"fill-range": "^7.1.1"
}
},
"browserslist": {
"version": "4.23.3",
"resolved": "https://repo.huaweicloud.com/repository/npm/browserslist/-/browserslist-4.23.3.tgz",
@@ -1357,6 +1622,48 @@
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
"dart-sass": {
"version": "1.25.0",
"resolved": "https://registry.npmmirror.com/dart-sass/-/dart-sass-1.25.0.tgz",
"integrity": "sha512-syNOAstJXAmvD3RifcDk3fiPMyYE2fY8so6w9gf2/wNlKpG0zyH+oiXubEYVOy1WAWkzOc72pbAxwx+3OU4JJA==",
"dev": true,
"requires": {
"chokidar": ">=2.0.0 <4.0.0"
},
"dependencies": {
"chokidar": {
"version": "3.6.0",
"resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
"requires": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
"fsevents": "~2.3.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
}
},
"picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true
},
"readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"requires": {
"picomatch": "^2.2.1"
}
}
}
},
"electron-to-chromium": {
"version": "1.5.4",
"resolved": "https://repo.huaweicloud.com/repository/npm/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz",
@@ -1445,6 +1752,31 @@
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
},
"fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
},
"fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
"optional": true
},
"glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
}
},
"glob-to-regexp": {
"version": "0.4.1",
"resolved": "https://repo.huaweicloud.com/repository/npm/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
@@ -1465,6 +1797,36 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"requires": {
"binary-extensions": "^2.0.0"
}
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true
},
"is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
},
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
"jest-worker": {
"version": "27.5.1",
"resolved": "https://repo.huaweicloud.com/repository/npm/jest-worker/-/jest-worker-27.5.1.tgz",
@@ -1544,6 +1906,12 @@
"dev": true,
"peer": true
},
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
},
"picocolors": {
"version": "1.0.1",
"resolved": "https://repo.huaweicloud.com/repository/npm/picocolors/-/picocolors-1.0.1.tgz",
@@ -1649,6 +2017,15 @@
"terser": "^5.26.0"
}
},
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"requires": {
"is-number": "^7.0.0"
}
},
"undici-types": {
"version": "6.13.0",
"resolved": "https://repo.huaweicloud.com/repository/npm/undici-types/-/undici-types-6.13.0.tgz",

View File

@@ -3,6 +3,7 @@
"mp-weixin": "node scripts/mp-weixin.patch.js"
},
"devDependencies": {
"dart-sass": "^1.25.0",
"terser-webpack-plugin": "^5.3.10",
"zion-uniapp-mp-load-package": "^1.0.13"
},
@@ -31,7 +32,7 @@
"H5_PRODUCTION": true,
"PRODUCTION": true
}
},
},
"h5-xcx.aigc-quickapp.com": {
"title": "H5-xcx.aigc-quickapp.com",
"env": {

View File

@@ -1,511 +0,0 @@
<template>
<page-meta :page-style="themeColor"></page-meta>
<view>
<view class="about w100">
<view class="bg border-top"></view>
<view class="list_cotact padding-top">
<view class="container">
<!-- #ifdef H5 -->
<view class="view_ul view_ul_one clearfix">
<view @click="tapMessage" class="view_li w50_li text-center" style="background: #1daa39;width: 100%;border-radius: 10rpx;">
<view class="bl bor" style="box-sizing: border-box;">
<image mode="heightFix" :src="$util.img('public/static/img/liuyan.png')"></image>
<view class="name bl line1" style="margin-top: 6rpx;">在线留言</view>
</view>
</view>
</view>
<!-- <view @click="test()">Test</view> -->
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<view class="view_ul view_ul_one clearfix">
<view class="view_li w50_li text-center">
<button class="bl bor" hoverClass="none" openType="contact" sessionFrom="weapp" showMessageCard="true" style="margin: 0;">
<image mode="heightFix" :src="$util.img('public/static/img/kefu.png')"></image>
<view class="name bl line1">专属客服</view>
</button>
</view>
<view @click="tapMessage" class="view_li w50_li text-center">
<view class="bl bor" style="box-sizing: border-box;">
<image mode="heightFix" :src="$util.img('public/static/img/liuyan.png')"></image>
<view class="name bl line1" style="margin-top: 6rpx;">在线留言</view>
</view>
</view>
</view>
<!-- #endif -->
<view class="view_ul_100" v-for="(item,index) in dataList" style="margin-bottom: 20rpx;">
<view class="bl clearfix bor bg-white" :style="{backgroundImage:' url('+$util.img(personnel_bg)+')',backgroundSize:'100% 100%'}">
<view class="fr">
<view class="text" style="font-size: 40rpx;font-weight: 600;color:#333">{{item.realname}}</view>
<view class="text">{{item.position}}</view>
<!-- <view class="text">{{item.mobile_text}}{{item.mobile}}</view> -->
<view class="text" style="padding-bottom:20rpx;color:#0054a5">{{item.address}}</view>
<view class="contact_name" style="padding-top:30rpx;padding-bottom:0rpx;border-top: solid 1px #eee;font-size:28rpx;display: flex;">
<image mode="widthFix" :src="$util.img('public/static/img/boda.png')" style="margin-top: 8rpx;margin-right: 10rpx;"></image>
<view style="flex: 1;">{{item.mobile}}</view>
<view style="margin-top: 0rpx;margin-left: 10rpx;font-size: 26rpx;color:rgba(71,71,71,.79)" @click="Tel(item.mobile)"><span style="background: #0054a5;color:#fff;padding: 10rpx 30rpx;font-size: 24rpx;border-radius: 50rpx;">一键拨打</span></view>
</view>
<view class="contact_name" style="padding-top:20rpx;padding-bottom:20rpx;font-size:28rpx;display: flex;">
<image mode="widthFix" :src="$util.img('public/static/img/emall.png')" style="margin-top: 8rpx;margin-right: 10rpx;"></image>
<view style="flex: 1;">{{item.email}}</view>
<view style="margin-top: 0rpx;margin-left: 10rpx;font-size: 26rpx;color:rgba(71,71,71,.79)" @click="tomap()"><span style="background: #888;color:#fff;padding: 10rpx 30rpx;font-size: 24rpx;border-radius: 50rpx;">立即导航</span></view>
</view>
</view>
</view>
</view>
<!-- <view class="view_ul view_ul_two clearfix " v-if="dataList.length > 3" >
<view @click="Tel(item.mobile)" class="view_li w50_li" v-for="(item,index) in dataList" >
<view class="bl bor" hoverClass="none" url="" style="box-shadow: 5rpx 5rpx 10rpx #dcdcdc;height: 230rpx;position: relative;">
<view class="contact_name" v-if="item.position">{{item.position_text}}{{item.position}}</view>
<view class="contact_name">{{item.title_text}}{{item.realname}}</view>
<view class="contact_name">{{item.mobile_text}}{{item.mobile}}</view>
<view class="contact_name" style="padding-bottom:10rpx;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;">{{item.address_text}}{{item.address}}</view>
<view class="contact_name" style="padding-top:10rpx;padding-bottom:0rpx;border-top: solid 1px #eee;position: absolute;bottom: 0;display: flex">
<image mode="widthFix":src="$util.img('public/static/img/boda.png')"></image>
<view style="margin-top: -6rpx;margin-left: 10rpx;font-size: 24rpx;color:rgba(71,71,71,.79)">点击拨打电话</view>
</view>
</view>
</view>
</view> -->
<map
v-if="shop.longitude>0 && shop.latitude >0 && ismessage == 0"
id="map"
style="width: 100%; height:400rpx"
scale="12"
:markers="markers"
bindupdated="bindupdated"
:longitude="shop.longitude"
:latitude="shop.latitude"
show-location>
<cover-view style="position:absolute;right:10px;bottom:30rpx;z-index:9;background:#4d83ff;padding:5px 10px;wxcs_style_padding:10rpx 20rpx;border-radius:8rpx;color: #fff;" @click="tomap" ><cover-view style="font-size:24rpx">一键导航</cover-view>
</cover-view>
</map>
</view>
</view>
<!-- <view wx:if="landline !=0">
<button bindtap="contact">
<view class="message">
<image mode="widthFix" src="{{contactbg}}"></image>
</view>
</button>
</view> -->
</view>
<!--留言弹窗-->
<view class="goods-sku">
<uni-popup ref="informationPopup" type="bottom" @change="change">
<view class="liuyan-popup-layer popup-layer" >
<view class="head-wrap" @click="closeinformationPopup()">
<text>在线留言</text>
<text class="iconfont icon-close"></text>
</view>
<scroll-view scroll-y class="liuyan-body" >
<view style="padding: 0 30rpx;">
<view class="fui-cell-group">
<view class="fui-cell ">
<view class="fui-cell-label ">姓名</view>
<view class="fui-cell-info">
<input v-model="Form.realname" class="fui-input" placeholder="请输入您的姓名" value=""></input>
</view>
</view>
<view class="fui-cell ">
<view class="fui-cell-label">联系方式</view>
<view class="fui-cell-info">
<input v-model="Form.mobile" class="fui-input" maxlength="11" placeholder="请输入您的手机号" type="number" ></input>
</view>
</view>
<view class="fui-cell ">
<view class="fui-cell-label" style="position: absolute;top:10px">留言内容</view>
<view class="fui-cell-info" style="margin-left: 160rpx;border: solid 2rpx #eee;">
<!-- <input v-model="Form.mailbox" class="fui-input" placeholder="请输入您的邮箱" type="text" ></input> -->
<textarea class="textarea" v-model="Form.remark" placeholder="请输入留言内容" style="font-size: 28rpx;padding: 10rpx;"></textarea>
</view>
</view>
</view>
</view>
</scroll-view>
<view class="button-box"><button type="primary" @click="save()">提交</button></view>
</view>
</uni-popup>
</view>
</view>
<hover-nav></hover-nav>
<diy-bottom-nav></diy-bottom-nav>
</template>
<script>
export default {
data() {
return {
dataList: [],
ismessage:0,
Form:{
realname:'',
mobile:'',
remark:''
},
markers:[
{
id:1,
/* width:20, //宽度
height:20, //高度*/
// iconPath: '../../static/goal_weizhi.png', //目标位置图标路径
//这里的经纬度是 目的地 的经纬度
latitude:0,
longitude:0,
callout:{
/* title:123,
content:'123' */
}
}
],
landline:0,
shop:{
latitude:0,
longitude:0,
},
personnel_bg:''
};
},
onLoad(option) {
//刷新多语言
this.$langConfig.refresh();
this.$api.sendRequest({
url: '/api/member/personnel',
success: res => {
if (res.code == 0) {
this.dataList = res.data
this.shop = res.shop
this.personnel_bg = res.set.personnel_bg?res.set.personnel_bg:'public/static/img/diy_view/member_info_bg.png'
this.markers = [{
id:1,
//iconPath:'http://saas.cn//public/static/img/kefu.png',
latitude:this.shop.latitude,
longitude:this.shop.longitude
}]
}
},
fail: res => {
}
});
},
methods: {
test(){
// channelReady(function(bAvailable) {
// alert('是否存在框架服务:' + bAvailable)
// })
// window.location.href = 'https://hapjs.org/app//[path][?key=value] hap://app//[path][?key=value] '
//参数说明: package: 应用包名,必选 path: 应用内页面的 path可选默认为首页 key-value: 希望传给页面的参数,可选,可以有多个
// const isQuickAppEnv = navigator.userAgent.includes('HuaweiQuickApp');
// let quickAppBridge;
// console.log(window.quickapp)
// if (isQuickAppEnv) {
// quickAppBridge = window.quickapp;
// }
// quickAppBridge.invoke('startQuickAppPage', { page: '/NativePage' });
// window.postMessage({ action: 'someAction', data: 'some data' }, '*');
// window.open('https://xcx10.5g-quickapp.com/test.php')
},
save(){
this.$api.sendRequest({
url: '/api/member/message',
data:this.Form,
success: res => {
this.$refs.informationPopup.close();
this.$util.showToast({
title: res.message
});
},
fail: res => {
}
});
},
change(e){
console.log(e)
this.ismessage = e.show?1:0
},
//留言打开
tapMessage(){
this.ismessage = 1
this.$refs.informationPopup.open();
},
//留言关闭
closeinformationPopup(){
this.ismessage = 0
this.$refs.informationPopup.close();
},
Tel(m){
uni.makePhoneCall({
phoneNumber:m+'',
success(e) {
console.log(e)
}
})
},
copy(text){
uni.setClipboardData({
data: text,
success: function () {
console.log('复制成功');
// 可以添加用户友好的提示例如使用uni.showToast提示复制成功
uni.showToast({
title: '复制成功',
icon: 'success',
duration: 2000
});
},
fail: function () {
console.log('复制失败');
// 可以添加错误处理或用户友好的提示
}
});
},
tomap(){
uni.openLocation({
latitude: parseFloat(this.shop.latitude),
longitude: parseFloat(this.shop.longitude),
name:"一键导航",
})
}
}
};
</script>
<style lang="scss">
// 留言
.liuyan-popup-layer {
height: 660rpx;
.free-tip {
min-width: 72rpx;
height: 36rpx;
line-height: 36rpx;
text-align: center;
border: none;
padding: 8rpx 8rpx;
border-radius: $border-radius;
margin-right: 20rpx;
font-size: $font-size-activity-tag;
display: inline-block;
font-weight: bold;
color: var(--main-color);
background-color: var(--main-color-shallow);
}
.liuyan-body {
position: absolute;
left: 0;
right: 0;
height: 60%;
.item {
padding: $padding 0;
margin: 0 30rpx;
border-bottom: 1px solid $color-line;
.value {
margin-left: 20rpx;
}
&:last-child {
border-bottom: 0;
}
}
}
}
.popup-layer {
background: #fff;
.head-wrap {
font-size: $font-size-toolbar;
line-height: 100rpx;
height: 100rpx;
display: block;
text-align: center;
.iconfont {
position: absolute;
float: right;
right: 44rpx;
font-size: $font-size-toolbar;
}
}
.button-box {
width: 100%;
position: absolute;
bottom: 0;
z-index: 1;
margin-bottom: 30rpx;
button {
height: 80rpx;
background-color: var(--goods-btn-color);
}
}
}
button, image, input, label, navigator, scroll-view, swiper, textarea, view {
box-sizing: border-box;
}
.w100 {
width: 100%;
padding-bottom: 60rpx;
}
.bg {
/* background: #5dc2d0;*/
}
.border-top {
border-top: 1px solid rgba(78,78,78,.1);
}
.padding-top {
padding-top: 30rpx;
}
.container {
align-items: center;
box-sizing: border-box;
flex-direction: column;
height: 100%;
justify-content: space-between;
padding: 0 30rpx;
width: 100%!important;
}
.clearfix {
zoom: 1;
overflow: hidden;
}
.text-center {
text-align: center;
}
.w50_li {
float: left;
margin-bottom: 20rpx;
width: 50%;
}
.w50_li:nth-child(odd) {
padding-right: 20rpx;
}
.bl {
display: block;
}
.bor {
border-radius: 10rpx;
}
image {
display: inline-block;
max-width: 100%;
position: relative;
z-index: 0;
}
image {
max-width: 100%;
}
.bl {
display: block;
}
.line1 {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/*--当前页面css--*/
.list_cotact .view_ul_one .bor {
padding: 40rpx;
}
.list_cotact .bor image {
height: 60rpx;
}
.list_cotact .bor .name,.view_ul_100 .name {
font-size: 32rpx;
line-height: 44rpx;
margin-top: 20rpx;
color:#fff
}
.list_cotact .view_ul_one .view_li:nth-child(1)>button {
background: #0054a5;
height: 200rpx;
line-height: 20rpx;
}
.list_cotact .view_ul_one .view_li:nth-child(2) {
background: #1daa39;
height: 200rpx;
line-height: 20rpx;
border-radius: 10rpx;
}
.view_ul_100 .fl {
width: 10%;
}
.view_ul_100 .fr {
/* padding-left: 30rpx;*/
width: 100%;
}
.view_ul_100>view {
background: #fff;
// box-shadow: 5rpx 5rpx 10rpx #dcdcdc;
}
.view_ul_100 .text {
color: rgba(71,71,71,.79);
font-size: 24rpx;
margin-top: 10rpx;
}
.list_cotact .view_ul_100 .name {
margin-top: 0;
}
.list_cotact .view_ul_100>view {
padding: 20rpx 30rpx 0rpx 30rpx;
}
.list_cotact .view_ul_two .view_li>view {
background-color: #fff;
padding: 20rpx 30rpx 0rpx 30rpx;
}
.list_cotact .view_ul_two .view_li>view .address {
background-color: #5dc2d0;
color: #fff;
display: inline-block;
font-size: 28rpx;
line-height: 48rpx;
margin-bottom: 30rpx;
padding: 0 30rpx;
width: auto;
}
.view_ul_two {
margin-top: 20rpx;
}
.contact_name {
color: rgba(71,71,71,.79);
font-size: 24rpx;
line-height: 36rpx;
padding-left: 0rpx;
}
.contact_name image {
opacity: .79;
width: 30rpx;
}
.message {
/* background-color: rgba(0,0,0,.8); */
border-radius: 50%;
bottom: 50%;
height: 90rpx;
line-height: 74rpx;
position: fixed;
right: 30rpx;
text-align: center;
width: 90rpx;
z-index: 9999;
}
</style>

View File

@@ -201,7 +201,7 @@ export default {
}
</style>
<style scoped>
.swiper /deep/ .uni-swiper-dots-horizontal {
.swiper ::v-deep .uni-swiper-dots-horizontal {
left: 40%;
bottom: 40px
}
@@ -214,26 +214,26 @@ export default {
width: 80%;
}
/deep/.diy-index-page .uni-popup .uni-popup__wrapper-box {
::v-deep .diy-index-page .uni-popup .uni-popup__wrapper-box {
border-radius: 0;
}
/deep/ .placeholder {
::v-deep .placeholder {
height: 0;
}
/deep/::-webkit-scrollbar {
::v-deep ::-webkit-scrollbar {
width: 0;
height: 0;
background-color: transparent;
display: none;
}
/deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
/deep/ .mescroll-totop {
::v-deep .mescroll-totop {
/* #ifdef H5 */
right: 28rpx !important;
bottom: 200rpx !important;

View File

@@ -59,7 +59,7 @@
}
}
.official-accounts-inner /deep/ .uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
.official-accounts-inner ::v-deep .uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
overflow: inherit;
}
.official-accounts-wrap {

View File

@@ -3,16 +3,21 @@
<view scroll-y="true" class="goods-detail" :class="isIphoneX ? 'active' : ''">
<view class="goods-container">
<!-- 弹幕 -->
<pengpai-fadein-out v-if="goodsSkuDetail.barrage_show && goodsSkuDetail.barrageData" ref="pengpai" :duration="1600" :wait="1900" :top="200" :left="0" :radius="60" :loop="true" :info="goodsSkuDetail.barrageData"/>
<pengpai-fadein-out v-if="goodsSkuDetail.barrage_show && goodsSkuDetail.barrageData" ref="pengpai"
:duration="1600" :wait="1900" :top="200" :left="0" :radius="60" :loop="true"
:info="goodsSkuDetail.barrageData" />
<!-- 商品媒体信息 -->
<view class="goods-media" :style="{height: goodsSkuDetail.swiperHeight}">
<view class="goods-media" :style="{ height: goodsSkuDetail.swiperHeight }">
<!-- 商品图片 -->
<view class="goods-img" :class="{ show: switchMedia == 'img' }">
<swiper class="swiper" @change="swiperChange" :interval="swiperInterval" :autoplay="swiperAutoplay" autoplay="true" interval="4000" circular="true">
<swiper-item v-for="(item, index) in goodsSkuDetail.sku_images" :key="index" :item-id="'goods_id_' + index">
<swiper class="swiper" @change="swiperChange" :interval="swiperInterval"
:autoplay="swiperAutoplay" autoplay="true" interval="4000" circular="true">
<swiper-item v-for="(item, index) in goodsSkuDetail.sku_images" :key="index"
:item-id="'goods_id_' + index">
<view class="item" @click="previewMedia(index)">
<image :src="$util.img(item, { size: 'big' })" @error="swiperImageError(index)" mode="aspectFit" />
<image :src="$util.img(item, { size: 'big' })" @error="swiperImageError(index)"
mode="aspectFit" />
</view>
</swiper-item>
</swiper>
@@ -24,13 +29,16 @@
<!-- 商品视频 -->
<view class="goods-video" :class="{ show: switchMedia == 'video' }">
<video id="goodsVideo" :src="$util.img(goodsSkuDetail.video_url)" :poster="$util.img(goodsSkuDetail.sku_image, { size: 'big' })" objectFit="cover"></video>
<video id="goodsVideo" :src="$util.img(goodsSkuDetail.video_url)"
:poster="$util.img(goodsSkuDetail.sku_image, { size: 'big' })" objectFit="cover"></video>
</view>
<!-- 切换视频图片 -->
<view class="media-mode" v-if="goodsSkuDetail.video_url != ''">
<text :class="{ 'color-base-bg': switchMedia == 'video' }" @click="switchMedia = 'video'">{{ $lang('video') }}</text>
<text :class="{ 'color-base-bg': switchMedia == 'img' }" @click="(switchMedia = 'img'), videoContext.pause()">{{ $lang('image') }}</text>
<text :class="{ 'color-base-bg': switchMedia == 'video' }" @click="switchMedia = 'video'">{{
$lang('video') }}</text>
<text :class="{ 'color-base-bg': switchMedia == 'img' }"
@click="(switchMedia = 'img'), videoContext.pause()">{{ $lang('image') }}</text>
</view>
</view>
@@ -40,19 +48,20 @@
</view>
<view class="newdetail margin-bottom" v-if="goodsSkuDetail.isinformation == 0">
<!-- 入口区域 -->
<slot name="entrance"></slot>
<!-- 配送 -->
<!-- @click="$refs.deliveryType.open()" -->
<view class="item delivery-type" v-if="goodsSkuDetail.is_virtual == 0" >
<view class="label">{{$lang('send')}}</view>
<!-- @click="$refs.deliveryType.open()" -->
<view class="item delivery-type" v-if="goodsSkuDetail.is_virtual == 0">
<view class="label">{{ $lang('send') }}</view>
<block v-if="deliveryType">
<view class="box">
<block v-for="(item, index) in deliveryType" :key="index">
<text v-if="goodsSkuDetail.support_trade_type.indexOf(index) != -1">{{$lang('express')}}</text>
<!-- {{ item.name }} -->
<text
v-if="goodsSkuDetail.support_trade_type.indexOf(index) != -1">{{ $lang('express') }}</text>
<!-- {{ item.name }} -->
</block>
</view>
<text class="iconfont icon-right"></text>
@@ -63,7 +72,7 @@
</view>
<!-- 门店 -->
<!-- <view class="item store-wrap" @click="openStoreListPopup()" v-if="addonIsExist.store && globalStoreInfo && isShowStore">
<!-- <view class="item store-wrap" @click="openStoreListPopup()" v-if="addonIsExist.store && globalStoreInfo && isShowStore">
<view class="label">门店</view>
<view class="list-wrap">
<view class="name-wrap">
@@ -80,15 +89,21 @@
<text class="iconfont icon-right"></text>
</view> -->
<view class="item service" @click="openMerchantsServicePopup()" v-if="goodsSkuDetail.goods_service.length">
<view class="item service" @click="openMerchantsServicePopup()"
v-if="goodsSkuDetail.goods_service.length">
<view class="label">服务</view>
<view class="list-wrap">
<view class="item-wrap" v-for="(item, index) in goodsSkuDetail.goods_service" :key="index" v-if="index < 3">
<view class="item-wrap" v-for="(item, index) in goodsSkuDetail.goods_service" :key="index"
v-if="index < 3">
<view class="item-wrap-box">
<view class="item-wrap-icon">
<text class="iconfont icon-dui" v-if="!item.icon || (!item.icon.imageUrl && !item.icon.icon)"></text>
<image class="icon-img" v-else-if="item.icon.iconType == 'img'" :src=" $util.img(item.icon.imageUrl)" />
<diy-icon class="icon-box" v-else-if="item.icon.iconType == 'icon'" :icon="item.icon.icon" :value="item.icon.style ? item.icon.style : null"></diy-icon>
<text class="iconfont icon-dui"
v-if="!item.icon || (!item.icon.imageUrl && !item.icon.icon)"></text>
<image class="icon-img" v-else-if="item.icon.iconType == 'img'"
:src="$util.img(item.icon.imageUrl)" />
<diy-icon class="icon-box" v-else-if="item.icon.iconType == 'icon'"
:icon="item.icon.icon"
:value="item.icon.style ? item.icon.style : null"></diy-icon>
</view>
<text>{{ item.service_name }}</text>
</view>
@@ -96,30 +111,32 @@
</view>
<text class="iconfont icon-right"></text>
</view>
</view>
<!--多规格区域-->
<view class="newdetail margin-bottom" v-if="goodsSkuDetail.sku_spec_format">
<!-- 入口区域 -->
<slot name="skuspec"></slot>
</view>
<view class="newdetail margin-bottom" v-if="goodsSkuDetail.merch_id > 0">
<!--多规格区域-->
<view class="newdetail margin-bottom" v-if="goodsSkuDetail.sku_spec_format">
<!-- 入口区域 -->
<slot name="skuspec"></slot>
</view>
<view class="newdetail margin-bottom" v-if="goodsSkuDetail.merch_id > 0">
<!-- 入口区域 -->
<slot name="entrance"></slot>
<!-- 商家 -->
<view class="item store-wrap" @click="$util.redirectTo('/pages_promotion/merch/detail', { merch_id: goodsSkuDetail.merch_id })">
<view class="item store-wrap"
@click="$util.redirectTo('/pages_promotion/merch/detail', { merch_id: goodsSkuDetail.merch_id })">
<view class="list-wrap" style="display: flex;">
<view class="name-wrap">
<image :src="$util.img(goodsSkuDetail.merchinfo.merch_image)" mode="widthFix" style="width: 100rpx;height: 100rpx;border-radius: 50rpx;"></image>
<image :src="$util.img(goodsSkuDetail.merchinfo.merch_image)" mode="widthFix"
style="width: 100rpx;height: 100rpx;border-radius: 50rpx;"></image>
</view>
<view class="other-wrap">
<view class="address" style="margin-left: 30rpx;">
<view>{{goodsSkuDetail.merchinfo.merch_name}}</view>
<view style="font-size: 24rpx;color: #888;">官方认证商家值得信赖</view>
</view>
<view class="other-wrap">
<view class="address" style="margin-left: 30rpx;">
<view>{{ goodsSkuDetail.merchinfo.merch_name }}</view>
<view style="font-size: 24rpx;color: #888;">官方认证商家值得信赖</view>
</view>
</view>
</view>
<text class="iconfont icon-right"></text>
@@ -136,7 +153,8 @@
</view>
<scroll-view scroll-y class="type-body">
<block v-for="(item, index) in deliveryType" :key="index">
<view class="type-item" :class="{ 'not-support': goodsSkuDetail.support_trade_type.indexOf(index) == -1 }">
<view class="type-item"
:class="{ 'not-support': goodsSkuDetail.support_trade_type.indexOf(index) == -1 }">
<text class="iconfont" :class="item.icon"></text>
<view class="content">
<view class="title">{{ item.name }}</view>
@@ -158,11 +176,16 @@
<text class="iconfont icon-close"></text>
</view>
<scroll-view scroll-y>
<view class="item" :class="{ 'empty-desc': !item.desc }" v-for="(item, index) in goodsSkuDetail.goods_service" :key="index">
<view class="item-icon" :class="{'empty-desc':!item.desc}">
<text class="iconfont icon-dui color-base-text" v-if="!item.icon || (!item.icon.imageUrl && !item.icon.icon)"></text>
<image class="icon-img" v-else-if="item.icon.iconType == 'img'" :src=" $util.img(item.icon.imageUrl)" />
<diy-icon class="icon-box" v-else-if="item.icon.iconType == 'icon'" :icon="item.icon.icon" :value="item.icon.style ? item.icon.style : null"></diy-icon>
<view class="item" :class="{ 'empty-desc': !item.desc }"
v-for="(item, index) in goodsSkuDetail.goods_service" :key="index">
<view class="item-icon" :class="{ 'empty-desc': !item.desc }">
<text class="iconfont icon-dui color-base-text"
v-if="!item.icon || (!item.icon.imageUrl && !item.icon.icon)"></text>
<image class="icon-img" v-else-if="item.icon.iconType == 'img'"
:src="$util.img(item.icon.imageUrl)" />
<diy-icon class="icon-box" v-else-if="item.icon.iconType == 'icon'"
:icon="item.icon.icon"
:value="item.icon.style ? item.icon.style : null"></diy-icon>
</view>
<view class="info-wrap">
<text class="title">{{ item.service_name }}</text>
@@ -187,17 +210,19 @@
</view>
<scroll-view scroll-y>
<view class="store-list-content">
<view class="list-item" v-for="(item, index) in storeList.data" :key="index" @click="selectStore(item)">
<view class="list-item" v-for="(item, index) in storeList.data" :key="index"
@click="selectStore(item)">
<view class="item-box">
<view class="item-image">
<image :src="$util.img(item.store_image)" v-if="item.store_image"/>
<image :src="$util.getDefaultImage().store" v-else/>
<image :src="$util.img(item.store_image)" v-if="item.store_image" />
<image :src="$util.getDefaultImage().store" v-else />
</view>
<view class="item-info">
<view class="item-title">
<text class="title">{{ item.store_name }}</text>
<text class="distance color-base-text" v-if="item.distance">
距离{{ item.distance > 1 ? item.distance + 'km' : item.distance * 1000 + 'm' }}
距离{{ item.distance > 1 ? item.distance + 'km' : item.distance *
1000 + 'm' }}
</text>
</view>
<view class="item-time" v-if="item.open_date">营业时间{{ item.open_date }}
@@ -228,7 +253,7 @@
</view>
<!-- 促销 -->
<!-- <view class="community-model" @touchmove.prevent.stop @click.stop="onCloseCommunity()" v-show="isCommunity">
<!-- <view class="community-model" @touchmove.prevent.stop @click.stop="onCloseCommunity()" v-show="isCommunity">
<view class="community-model-content" @click.stop>
<view class="community-model-content-radius">
<view>添加社群</view>
@@ -247,7 +272,8 @@
<slot name="articipation"></slot>
<!-- 商品评价 -->
<view class="group-wrap" v-if="evaluateConfig.evaluate_show == 1 && goodsSkuDetail.isinformation == 0" style="display: none;">
<view class="group-wrap" v-if="evaluateConfig.evaluate_show == 1 && goodsSkuDetail.isinformation == 0"
style="display: none;">
<view class="goods-evaluate" @click="toEvaluateDetail(goodsSkuDetail.goods_id)">
<view class="tit">
<!-- <view class="tit" :class="{ active: goodsEvaluate.content }"> -->
@@ -268,12 +294,18 @@
<view class="evaluator">
<view class="evaluator-info">
<view class="evaluator-face">
<image v-if="item.member_headimg" :src="$util.img(item.member_headimg)" @error="item.member_headimg = $util.getDefaultImage().head" mode="aspectFill" />
<image v-else :src="$util.getDefaultImage().head" @error="item.member_headimg = $util.getDefaultImage().head" mode="aspectFill" />
<image v-if="item.member_headimg" :src="$util.img(item.member_headimg)"
@error="item.member_headimg = $util.getDefaultImage().head"
mode="aspectFill" />
<image v-else :src="$util.getDefaultImage().head"
@error="item.member_headimg = $util.getDefaultImage().head"
mode="aspectFill" />
</view>
<view class="evaluator-name-wrap">
<text class="evaluator-name using-hidden" v-if="item.member_name.length > 2 && item.is_anonymous == 1">
{{ item.member_name[0] }}***{{ item.member_name[item.member_name.length - 1] }}
<text class="evaluator-name using-hidden"
v-if="item.member_name.length > 2 && item.is_anonymous == 1">
{{ item.member_name[0] }}***{{ item.member_name[item.member_name.length - 1]
}}
</text>
<text class="evaluator-name using-hidden" v-else>{{ item.member_name }}</text>
<view v-if="item.scores" class="evaluator-xing">
@@ -286,7 +318,8 @@
<view class="cont margin-top">{{ item.content }}</view>
<scroll-view scroll-x="true">
<view class="evaluate-img" v-if="item.images">
<view class="img-box" v-for="(img, img_index) in item.images" :key="img_index" @click="previewEvaluate(index, img_index, 'images')">
<view class="img-box" v-for="(img, img_index) in item.images" :key="img_index"
@click="previewEvaluate(index, img_index, 'images')">
<image :src="$util.img(img)" mode="aspectFill" />
</view>
</view>
@@ -294,8 +327,9 @@
</view>
</view>
</view>
<view class="goods-attr" v-if="goodsSkuDetail.goods_attr_format && goodsSkuDetail.goods_attr_format.length > 0">
<view class="goods-attr"
v-if="goodsSkuDetail.goods_attr_format && goodsSkuDetail.goods_attr_format.length > 0">
<view class="title">规格属性</view>
<view class="attr-wrap">
<block v-for="(item, index) in goodsSkuDetail.goods_attr_format" :key="index">
@@ -304,7 +338,8 @@
<text class="value-name">{{ item.attr_value_name }}</text>
</view>
</block>
<view class="attr-action" v-if="goodsSkuDetail.goods_attr_format.length > 4" @click="switchGoodsAttr">
<view class="attr-action" v-if="goodsSkuDetail.goods_attr_format.length > 4"
@click="switchGoodsAttr">
<block v-if="!goodsAttrShow">
展开<text class="iconfont icon-iconangledown"></text>
</block>
@@ -315,24 +350,25 @@
</view>
</view>
<!-- 详情 -->
<view class="goods-detail-tab">
<view class="detail-tab">
<view class="tab-item">{{$lang('details')}}</view>
<view class="tab-item">{{ $lang('details') }}</view>
</view>
<view class="detail-content active">
<view class="detail-content-item">
<view class="goods-details" v-if="goodsSkuDetail.goods_content">
<!-- <rich-text :nodes="goodsSkuDetail.goods_content" @click="showImg($event)" :data-nodes="goodsSkuDetail.goods_content"></rich-text> -->
<!-- {{goodsSkuDetail.goods_content}} -->
<mp-html :content="goodsSkuDetail.goods_content" />
<!-- :loading="loading" @preview="preview" @navigate="navigate" -->
<!-- <rich-text :nodes="goodsSkuDetail.goods_content" @click="showImg($event)" :data-nodes="goodsSkuDetail.goods_content"></rich-text> -->
<!-- {{goodsSkuDetail.goods_content}} -->
<mp-html :content="goodsSkuDetail.goods_content" />
<!-- :loading="loading" @preview="preview" @navigate="navigate" -->
</view>
<view class="goods-details active" v-else></view>
<view class="goods-details" v-if="service && service.is_display == 1 && service.content">
<rich-text :nodes="service.content" @click="showImg($event)" :data-nodes="service.content"></rich-text>
<rich-text :nodes="service.content" @click="showImg($event)"
:data-nodes="service.content"></rich-text>
</view>
</view>
</view>
@@ -419,25 +455,30 @@
</template>
<script>
//
import scroll from '@/common/js/scroll-view.js';
import detail from './detail.js';
//
import scroll from '@/common/js/scroll-view.js';
import detail from './detail.js';
export default {
name: 'goods-detail-view',
props: {
goodsSkuDetail: {
type: Object,
default: () => {
return {};
}
import pengpaiFadeinOut from '../pengpai-fadein-out/pengpai-fadein-out.vue';
export default {
name: 'goods-detail-view',
props: {
goodsSkuDetail: {
type: Object,
default: () => {
return {};
}
},
mixins: [scroll, detail]
};
}
},
components: {
pengpaiFadeinOut
},
mixins: [scroll, detail]
};
</script>
<style lang="scss">
@import '@/common/css/goods_detail.scss';
@import '@/common/css/goods_detail.scss';
</style>
<style scoped></style>

View File

@@ -376,13 +376,13 @@ export default {
</script>
<style lang="scss">
/deep/ .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
background: none;
max-height: unset !important;
overflow-y: hidden !important;
}
/deep/ .uni-popup__wrapper {
::v-deep .uni-popup__wrapper {
border-radius: 20rpx 20rpx 0 0;
}

View File

@@ -74,38 +74,38 @@ export default {
</script>
<style lang="scss">
/deep/ .uni-popup__wrapper.uni-center {
::v-deep .uni-popup__wrapper.uni-center {
background: rgba(0, 0, 0, 0.6);
}
/deep/ .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper-box {
border-radius: 0 !important;
}
/deep/ .uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
overflow-y: visible;
}
/deep/ .loading-layer {
::v-deep .loading-layer {
background: #fff !important;
}
// 分类四一级展开
/deep/ .category-template-4 .template-four .uni-popup__wrapper-box {
::v-deep .category-template-4 .template-four .uni-popup__wrapper-box {
border-radius: 0px 0px 14px 14px !important;
overflow: hidden;
}
/deep/ .category-template-4 .content-wrap .categoty-goods-wrap .goods-list {
::v-deep .category-template-4 .content-wrap .categoty-goods-wrap .goods-list {
margin-top: 30rpx;
}
/deep/ .category-template-4 .content-wrap .goods-list .goods-item .footer-wrap .right-wrap .num-action {
::v-deep .category-template-4 .content-wrap .goods-list .goods-item .footer-wrap .right-wrap .num-action {
width: 46rpx;
height: 46rpx;
}
/deep/ .uni-page-refresh-inner .uni-page-refresh__path {
::v-deep .uni-page-refresh-inner .uni-page-refresh__path {
stroke: rgb(1, 1, 1) !important;
}
</style>

View File

@@ -519,12 +519,19 @@
</template>
<script>
import detail from './public/js/detail.js';
import scroll from '@/common/js/scroll-view.js';
import goodsDetailBase from '@/common/js/goods_detail_base.js';
import base from '@/common/js/goods_detail_base.js';
import detail from './public/js/detail.js';
import goodsDetailView from './_components/goods-detail-view/goods-detail-view.vue';
import nsGoodsPromotion from './_components/ns-goods-promotion/ns-goods-promotion.vue';
export default {
mixins: [goodsDetailBase, detail, scroll]
components: {
goodsDetailView,
nsGoodsPromotion
},
mixins: [base, detail, scroll]
};
</script>
<style lang="scss">
@@ -540,18 +547,18 @@ export default {
</style>
<style scoped>
/deep/ .action-icon-wrap .iconfont.icon-shouye1 {
::v-deep .action-icon-wrap .iconfont.icon-shouye1 {
font-size: 40rpx;
}
/deep/ .uni-video-cover {
::v-deep .uni-video-cover {
background: none;
}
/deep/ .uni-video-cover-duration {
::v-deep .uni-video-cover-duration {
display: none;
}
/deep/ .uni-video-cover-play-button {
::v-deep .uni-video-cover-play-button {
border-radius: 50%;
border: 4rpx solid #fff;
width: 120rpx;
@@ -563,7 +570,7 @@ export default {
max-height: initial !important;
}
/deep/ .sku-layer .uni-popup__wrapper-box {
::v-deep .sku-layer .uni-popup__wrapper-box {
overflow-y: initial !important;
}
@@ -590,46 +597,46 @@ export default {
width: initial;
}
/deep/ .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
/deep/ .goods-action-button.active1 {
::v-deep .goods-action-button.active1 {
padding-left: 10px;
}
/deep/ .goods-action-button.active2 {
::v-deep .goods-action-button.active2 {
padding-right: 10px;
}
/deep/ .goods-action-button.active3 {
::v-deep .goods-action-button.active3 {
padding: 0 10px;
}
/deep/ .goods-action-button.active4 {
::v-deep .goods-action-button.active4 {
padding: 0 10px;
}
/deep/ .uni-popup__wrapper.bottom {
::v-deep .uni-popup__wrapper.bottom {
border-radius: 24rpx 24rpx 0 0;
}
/deep/ .goods-action-button.active1 .action-buttom-wrap {
::v-deep .goods-action-button.active1 .action-buttom-wrap {
height: 72rpx;
line-height: 72rpx;
}
/deep/ .goods-action-button.active2 .action-buttom-wrap {
::v-deep .goods-action-button.active2 .action-buttom-wrap {
height: 72rpx;
line-height: 72rpx;
}
/deep/ .goods-action-button.active3 .action-buttom-wrap {
::v-deep .goods-action-button.active3 .action-buttom-wrap {
height: 72rpx;
line-height: 72rpx;
margin: 20rpx 0;
}
/deep/ .goods-action-button.active4 .action-buttom-wrap {
::v-deep .goods-action-button.active4 .action-buttom-wrap {
height: 72rpx;
line-height: 72rpx;
}

View File

@@ -324,7 +324,7 @@ export default {
}
/deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
</style>

View File

@@ -177,18 +177,18 @@
}
}
/deep/ .decrease {
::v-deep .decrease {
width: 52rpx;
height: 52rpx;
line-height: 48rpx;
font-size: 40rpx;
border-radius: 10rpx 0px 0px 10rpx;
}
/deep/ input {
::v-deep input {
height: 52rpx;
line-height: 52rpx;
}
/deep/ .increase {
::v-deep .increase {
width: 52rpx;
height: 52rpx;
line-height: 48rpx;

View File

@@ -635,9 +635,6 @@
<script>
import payment from './payment.js';
export default {
name: 'common-payment',
data() {

View File

@@ -835,7 +835,7 @@ export default {
margin-bottom: 30rpx;
}
/deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
</style>

View File

@@ -296,7 +296,7 @@ export default {
@import './public/css/detail.scss';
</style>
<style scoped>
/deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
</style>

View File

@@ -460,11 +460,11 @@ export default {
</style>
<style lang="scss" scoped>
/deep/ .uni-page {
::v-deep .uni-page {
overflow: hidden;
}
/deep/ .mescroll-upwarp {
::v-deep .mescroll-upwarp {
padding-bottom: 100rpx;
}
</style>

View File

@@ -5,7 +5,12 @@
</template>
<script>
import commonPayment from './_components/common-payment/common-payment.vue';
export default {
components: {
commonPayment
},
data() {
return {
api: {
@@ -90,15 +95,15 @@ export default {
</script>
<style scoped lang="scss">
/deep/ .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
background: none;
max-height: unset !important;
overflow-y: hidden !important;
}
/deep/ .uni-popup__wrapper {
::v-deep .uni-popup__wrapper {
border-radius: 20rpx 20rpx 0 0;
}
/deep/ .uni-popup {
::v-deep .uni-popup {
z-index: 8;
}
</style>

View File

@@ -104,7 +104,7 @@ view {
}
}
/deep/ #action-date .uni-countdown .uni-countdown__number {
::v-deep #action-date .uni-countdown .uni-countdown__number {
border: none !important;
padding: 0 !important;
margin: 0 !important;

View File

@@ -353,7 +353,7 @@ $margin-both: 24rpx;
}
}
/deep/ #action-date .uni-countdown .uni-countdown__number {
::v-deep #action-date .uni-countdown .uni-countdown__number {
border: none !important;
padding: 0 !important;
margin: 0 !important;

View File

@@ -421,11 +421,11 @@
width: 100%;
}
/deep/.uni-scroll-view {
::v-deep .uni-scroll-view {
background-color: #fff;
}
/deep/.uni-scroll-view::-webkit-scrollbar {
::v-deep .uni-scroll-view::-webkit-scrollbar {
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
display: none;
}
@@ -802,7 +802,7 @@
</style>
<style lang="scss" scoped>
/deep/ .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper-box {
border-radius: 20rpx;
}
</style>

View File

@@ -84,11 +84,11 @@ export default {
</script>
<style lang="scss">
/deep/ .empty {
::v-deep .empty {
margin-top: 0 !important;
}
/deep/ .member-point .mescroll-uni-content {
::v-deep .member-point .mescroll-uni-content {
overflow: hidden;
}

View File

@@ -144,7 +144,7 @@ export default {
}
</style>
<style lang="scss">
/deep/ .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}

View File

@@ -583,18 +583,18 @@ export default {
@import './public/css/index.scss';
</style>
<style scoped lang="scss">
/deep/ .uni-popup__wrapper {
::v-deep .uni-popup__wrapper {
height: auto;
}
/deep/ .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box,
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box,
.uni-popup__wrapper.uni-custom.bottom .uni-popup__wrapper-box {
background: none;
max-height: unset !important;
overflow-y: hidden !important;
}
/deep/ .uni-popup__wrapper {
::v-deep .uni-popup__wrapper {
border-radius: 20rpx 20rpx 0 0;
}
</style>

View File

@@ -299,21 +299,21 @@
@import './public/css/level.scss';
</style>
<style scoped lang="scss">
/deep/ .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
background: none;
max-height: unset !important;
overflow-y: hidden !important;
}
/deep/ .uni-popup__wrapper {
::v-deep .uni-popup__wrapper {
border-radius: 20rpx 20rpx 0 0;
}
/deep/ .uni-popup {
::v-deep .uni-popup {
z-index: 8;
}
/deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
</style>

View File

@@ -1,8 +1,8 @@
/deep/ .fixed {
::v-deep .fixed {
position: relative;
top: 0;
}
/deep/ .empty {
::v-deep .empty {
margin-top: 0 !important;
}
.cart-empty {

View File

@@ -308,7 +308,7 @@
</uni-drawer>
<loading-cover ref="loadingCover"></loading-cover>
<!-- 隐私弹窗 -->
<!-- 隐私弹窗 -->
<privacy-popup ref="privacyPopup"></privacy-popup>
</view>
</template>
@@ -333,7 +333,7 @@ export default {
background-color: #f5f5f5 !important;
}
/deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
</style>

View File

@@ -228,38 +228,38 @@
<style lang="scss">
@import './public/category.scss';
/deep/ .uni-popup__wrapper.uni-center {
::v-deep .uni-popup__wrapper.uni-center {
background: rgba(0, 0, 0, 0.6);
}
/deep/ .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper-box {
border-radius: 0 !important;
}
/deep/ .uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
overflow-y: visible;
}
/deep/ .loading-layer {
::v-deep .loading-layer {
background: #fff !important;
}
// 分类四一级展开
/deep/ .category-template-4 .template-four .uni-popup__wrapper-box {
::v-deep .category-template-4 .template-four .uni-popup__wrapper-box {
border-radius: 0px 0px 14px 14px !important;
overflow: hidden;
}
/deep/ .category-template-4 .content-wrap .categoty-goods-wrap .goods-list {
::v-deep .category-template-4 .content-wrap .categoty-goods-wrap .goods-list {
margin-top: 30rpx;
}
/deep/ .category-template-4 .content-wrap .goods-list .goods-item .footer-wrap .right-wrap .num-action {
::v-deep .category-template-4 .content-wrap .goods-list .goods-item .footer-wrap .right-wrap .num-action {
width: 46rpx;
height: 46rpx;
}
/deep/ .uni-page-refresh-inner .uni-page-refresh__path {
::v-deep .uni-page-refresh-inner .uni-page-refresh__path {
stroke: rgb(1, 1, 1) !important;
}
</style>

View File

@@ -261,7 +261,7 @@
z-index: 2;
}
/deep/ .template-four {
::v-deep .template-four {
position: relative;
z-index: 1;
@@ -702,7 +702,7 @@
.right-wrap {
display: flex;
align-items: center;
justify-content: end;
justify-content: flex-end;
.num {
width: auto;
@@ -856,7 +856,7 @@
}
}
/deep/ .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper-box {
border-radius: 0;
}
@@ -890,7 +890,7 @@
justify-content: center;
}
/deep/ .loading-layer {
::v-deep .loading-layer {
background: #fff !important;
}

View File

@@ -220,7 +220,7 @@
<to-top v-if="showTop" @toTop="scrollToTopNative()"></to-top>
<!-- 隐私弹窗 -->
<!-- 隐私弹窗 -->
<privacy-popup ref="privacyPopup"></privacy-popup>
</view>
</template>
@@ -523,7 +523,7 @@ export default {
}
</style>
<style scoped>
/deep/ .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
</style>

View File

@@ -252,12 +252,12 @@ export default {
</script>
<style lang="scss" scoped>
/deep/ .fixed {
::v-deep .fixed {
position: relative;
top: 0;
}
/deep/ .empty {
::v-deep .empty {
padding-top: 0 !important;
}

View File

@@ -324,17 +324,17 @@ export default {
@import "@/common/css/order_parment.scss";
</style>
<style lang="scss" scoped>
/deep/ .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
background: none;
max-height: unset !important;
overflow-y: hidden !important;
}
/deep/ .uni-popup__wrapper {
::v-deep .uni-popup__wrapper {
border-radius: 20rpx 20rpx 0 0;
}
/deep/ .uni-popup {
::v-deep .uni-popup {
z-index: 8;
}
</style>

View File

@@ -161,7 +161,7 @@
};
</script>
<style scoped>
.register-box /deep/ .uni-scroll-view {
.register-box ::v-deep .uni-scroll-view {
background: unset !important;
}
@@ -171,11 +171,11 @@
/* margin-top:350rpx; */
}
/deep/ .uni-popup__wrapper-box {
::v-deep .uni-popup__wrapper-box {
background-color: transparent !important;
}
/deep/ .birthday-title-hint uni-image {
::v-deep .birthday-title-hint uni-image {
width: 113rpx !important;
height: 24rpx !important;
}

View File

@@ -168,17 +168,17 @@
</script>
<style scoped>
/deep/ .newgift-content uni-image {
::v-deep .newgift-content uni-image {
width: 113rpx !important;
height: 24rpx !important;
}
/deep/ .reward-popup .uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
::v-deep .reward-popup .uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
max-height: unset !important;
overflow-y: unset;
}
.register-box /deep/ .uni-scroll-view {
.register-box ::v-deep .uni-scroll-view {
background: unset !important;
}

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,10 +1,11 @@
@font-face {font-family: "iconfont";
src: url('~@/components/sx-rate/sx-rate/iconfont.eot?t=1574760464482'); /* IE9 */
src: url('~@/components/sx-rate/sx-rate/iconfont.eot?t=1574760464482#iefix') format('embedded-opentype'), /* IE6-IE8 */
@font-face {
font-family: "iconfont";
src: url('./fonts/iconfont.eot?t=1574760464482'); /* IE9 */
src: url('./fonts/iconfont.eot?t=1574760464482#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAK8AAsAAAAABnAAAAJwAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCCcAp8gQgBNgIkAwgLBgAEIAWEbQcuG6wFyA4lTcHACOEZBUg8fL/2O3f3fTHEkoh28SSayCSxkkgQG6Uz3UvYITu9Qr5K0Vh6Ij6f+8CXKzVBHDvWa6d0lSfK57mc3gQ6kGt8oBz3ojUG9QLqxYEU6B4YRVYqecPYBS7hMYG6QWF0dlOycoGxxFoViFuxkALGuYAksXRVKNccTOJdSTV7zbSAt/D78Y8XxmRKOavq5CZZAOK+7u2svLVode0TggR0vIQc84BEXNQmjugJxumpJ/SNAvsqD77ui8K3i71aBPvrrNIm6IfSe5K58ltNZ3BbU40Blkf9OmKsIW/Un1qddc4dcSma3ArIX7PPXdlxK5l2zJ+aD6TXnQqmu330wqpeWkYN/OnNm/0trU+YvqNR4UN99f+x/tApIFTfR7u39X4gKPnb9pOX5RAQB6DYyc/zOKCD4OUp6KiiPeqnapbAp56NdegrdhLo5wKq+3UG/0fWcyDpCsuWJVVWO5oZO29bXR0FwJ4uV2ONvTeTCVW9I1wVAylyVeNkYudR0rCOsqoN1M1JPd7QDdMTqYZZXQChwwYybT6Q63BIJvYSJX1eUNYReqi7CrsLGyZDbJqIEUWQAPLroJhWKhjHQUyj8mwkrJJROKsI+XyENeIw5LI4xXQqUiA8xxZNtZBHCAMZrJTDFPAcksmUUIWVEkQTlogQVQSbzdS9iUUr5cDUDgyhEIgAxFcHEqMpKTD+eMK09PlsiFAVGQpu6atJ5kMwDfHsEBcLpweZqlX06ruXVzSqCfEQBANiYEpyUAqYh8jIKEGq+nkSCI1gEY2IqURg28OYvlrW+nr5152AOsuUhV2fSy+EwgAAAA==') format('woff2'),
url('~@/components/sx-rate/sx-rate/iconfont.woff?t=1574760464482') format('woff'),
url('~@/components/sx-rate/sx-rate/iconfont.ttf?t=1574760464482') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('~@/components/sx-rate/sx-rate/iconfont.svg?t=1574760464482#iconfont') format('svg'); /* iOS 4.1- */
url('./fonts/iconfont.woff?t=1574760464482') format('woff'),
url('./fonts/iconfont.ttf?t=1574760464482') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('./fonts/iconfont.svg?t=1574760464482#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {

View File

@@ -188,10 +188,10 @@ export default {
</script>
<style scoped>
@import './sx-rate/iconfont.css';
@import './iconfont.css';
</style>
<style lang="scss">
<style lang="scss" scoped>
.rate-box {
min-height: 1.4em;
display: flex;

View File

@@ -1422,20 +1422,16 @@ $radius-lg: 36rpx;
color: $color-text-light;
margin-bottom: 8rpx;
letter-spacing: 0.5rpx;
text-align: right;
}
// 用户昵称右对齐AI昵称左对齐
&:not(.ai-message .message-nickname) {
text-align: right;
}
// AI昵称专属样式 - 左移到气泡上方
&.ai-nickname {
text-align: left;
margin-left: 0;
padding-left: 0;
align-self: flex-start;
margin-bottom: 4rpx;
}
// AI昵称专属样式 - 左移到气泡上方
.ai-nickname {
text-align: left;
margin-left: 0;
padding-left: 0;
align-self: flex-start;
margin-bottom: 4rpx;
}
.message-bubble {

View File

@@ -114,7 +114,7 @@ export default {
</script>
<style lang="scss" scoped>
/deep/ .fixed {
::v-deep .fixed {
position: relative;
top: 0;
}

View File

@@ -11,7 +11,8 @@
style="background: #1daa39;width: 100%;border-radius: 10rpx;">
<view class="bl bor" style="box-sizing: border-box;">
<image mode="heightFix" :src="$util.img('public/static/img/liuyan.png')"></image>
<view class="name bl line1" style="margin-top: 6rpx;">{{ $lang('onlineMessage') }}</view>
<view class="name bl line1" style="margin-top: 6rpx;">{{ $lang('onlineMessage') }}
</view>
</view>
</view>
</view>
@@ -28,7 +29,8 @@
<view @click="tapMessage" class="view_li w50_li text-center">
<view class="bl bor" style="box-sizing: border-box;">
<image mode="heightFix" :src="$util.img('public/static/img/liuyan.png')"></image>
<view class="name bl line1" style="margin-top: 6rpx;">{{ $lang('onlineMessage') }}</view>
<view class="name bl line1" style="margin-top: 6rpx;">{{ $lang('onlineMessage') }}
</view>
</view>
</view>
</view>
@@ -52,7 +54,8 @@
<image mode="widthFix" :src="$util.img('public/static/img/boda.png')"
style="margin-top: 8rpx;margin-right: 10rpx;"></image>
<view style="flex: 1;">{{ item.mobile }}</view>
<view class="btn-container" @click="Tel(item.mobile)"><span class="contact-btn" style="background: #0054a5;">{{ $lang('call') }}</span>
<view class="btn-container" @click="Tel(item.mobile)"><span class="contact-btn"
style="background: #0054a5;">{{ $lang('call') }}</span>
</view>
</view>
<view class="contact_name" v-if="item.email"
@@ -60,7 +63,8 @@
<image mode="widthFix" :src="$util.img('public/static/img/emall.png')"
style="margin-top: 8rpx;margin-right: 10rpx;"></image>
<view style="flex: 1;">{{ item.email }}</view>
<view class="btn-container" @click="copy(item.email)"><span class="contact-btn" style="background: #0054a5;">{{ $lang('copy') }}</span>
<view class="btn-container" @click="copy(item.email)"><span class="contact-btn"
style="background: #0054a5;">{{ $lang('copy') }}</span>
</view>
</view>
</view>
@@ -72,11 +76,13 @@
<view class="section-title">企业文件</view>
<view class="files-list">
<view v-for="(file, index) in fileList" :key="index" class="file-item">
<image mode="aspectFill" :src="$util.img('public/static/img/pdf-icon.png')" class="file-icon"></image>
<image mode="aspectFill" :src="$util.img('public/static/img/pdf-icon.png')"
class="file-icon"></image>
<view class="file-info">
<view class="file-name">{{ file.name }}</view>
<view class="file-actions">
<button class="file-btn share-btn" @click="shareFile(file)">{{ $lang('share') }}</button>
<button class="file-btn share-btn" @click="shareFile(file)">{{ $lang('share')
}}</button>
</view>
</view>
</view>
@@ -86,27 +92,29 @@
<view class="view_videos_container" v-if="showVideoListDiy && videoList.length > 0">
<view class="section-title">企业视频</view>
<view class="videos-list">
<view v-for="(video, index) in videoList" :key="index" class="video-item" @click="playVideo(video)">
<view v-for="(video, index) in videoList" :key="index" class="video-item"
@click="playVideo(video)">
<image mode="aspectFill" :src="video.coverUrl" class="video-cover"></image>
<view class="video-play-btn">
<image mode="aspectFill" :src="$util.img('public/static/img/play-icon.png')" class="play-icon"></image>
<image mode="aspectFill" :src="$util.img('public/static/img/play-icon.png')"
class="play-icon"></image>
</view>
<view class="video-title">{{ video.title }}</view>
</view>
</view>
</view>
</view>
<!-- 视频号视频列表 -->
<view class="view_channel_container" v-if="showChannelListDiy && channelList.length > 0">
<diy-channel-list :value="{
list: channelList,
showStyle: diyChannelSettings.channel_display_style,
rowCount: diyChannelSettings.channel_row_count,
rowCount: parseInt(diyChannelSettings.channel_row_count),
aspectRatio: diyChannelSettings.channel_aspect_ratio,
showViewCount: diyChannelSettings.channel_show_view_count,
titleLineClamp: diyChannelSettings.channel_title_line_clamp,
showPlayBtn: diyChannelSettings.channel_show_play_btn,
}" @channel-video-click-play="onChannelVideoClickPlay"/>
showViewCount: Boolean(diyChannelSettings.channel_show_view_count),
titleLineClamp: parseInt(diyChannelSettings.channel_title_line_clamp),
showPlayBtn: Boolean(diyChannelSettings.channel_show_play_btn),
}" @channel-video-click-play="onChannelVideoClickPlay" />
</view>
<!-- 地图 -->
@@ -115,13 +123,14 @@
:longitude="shop.longitude" :latitude="shop.latitude" show-location>
<cover-view
style="position:absolute;right:10px;bottom:30rpx;z-index:9;background:#4d83ff;padding:5px 10px;wxcs_style_padding:10rpx 20rpx;border-radius:8rpx;color: #fff;"
@click="tomap"><cover-view style="font-size:24rpx">{{ $lang('oneClickNavigation') }}</cover-view>
@click="tomap"><cover-view style="font-size:24rpx">{{ $lang('oneClickNavigation')
}}</cover-view>
</cover-view>
</map>
</view>
</view>
</view>
</view>
<!--留言弹窗-->
<view class="goods-sku">
<uni-popup ref="informationPopup" type="bottom" @change="change">
@@ -136,50 +145,35 @@
<view class="fui-cell ">
<view class="fui-cell-label ">{{ $lang('name') }}</view>
<view class="fui-cell-info">
<input
id="input-realname"
:value="Form.realname"
@input="e => Form.realname = e.detail.value"
class="fui-input"
:placeholder="$lang('pleaseEnterName')"
:key="formKey"
/>
<input id="input-realname" :value="Form.realname"
@input="e => Form.realname = e.detail.value" class="fui-input"
:placeholder="$lang('pleaseEnterName')" :key="formKey" />
</view>
</view>
<view class="fui-cell ">
<view class="fui-cell-label">{{ $lang('contactInfo') }}</view>
<view class="fui-cell-info">
<input
id="input-mobile"
:value="Form.mobile"
@input="e => Form.mobile = e.detail.value"
class="fui-input"
maxlength="11"
:placeholder="$lang('pleaseEnterMobile')"
type="number"
:key="formKey"
/>
<input id="input-mobile" :value="Form.mobile"
@input="e => Form.mobile = e.detail.value" class="fui-input" maxlength="11"
:placeholder="$lang('pleaseEnterMobile')" type="number" :key="formKey" />
</view>
</view>
<view class="fui-cell ">
<view class="fui-cell-label" style="position: absolute;top:10px">{{ $lang('messageContent') }}</view>
<view class="fui-cell-label" style="position: absolute;top:10px">{{
$lang('messageContent') }}</view>
<view class="fui-cell-info" style="margin-left: 160rpx;border: solid 2rpx #eee;">
<!-- <input v-model="Form.mailbox" class="fui-input" placeholder="请输入您的邮箱" type="text" ></input> -->
<textarea
id="textarea-remark"
:value="Form.remark"
@input="e => Form.remark = e.detail.value"
class="textarea"
:placeholder="$lang('pleaseEnterMessage')"
style="font-size: 28rpx;padding: 10rpx;"
:key="formKey"
></textarea>
<!-- <input v-model="Form.mailbox" class="fui-input" placeholder="请输入您的邮箱" type="text" ></input> -->
<textarea id="textarea-remark" :value="Form.remark"
@input="e => Form.remark = e.detail.value" class="textarea"
:placeholder="$lang('pleaseEnterMessage')"
style="font-size: 28rpx;padding: 10rpx;" :key="formKey"></textarea>
</view>
</view>
</view>
</view>
</scroll-view>
<view class="button-box"><button type="primary" @click="save()">{{ $lang('submit') }}</button></view>
<view class="button-box"><button type="primary" @click="save()">{{ $lang('submit') }}</button>
</view>
</view>
</uni-popup>
</view>
@@ -188,15 +182,14 @@
<diy-bottom-nav></diy-bottom-nav>
<!-- 视频播放弹窗 -->
<ns-video-player-popup
ref="videoPlayerPopup"
:current-video="currentVideo"
@popup-change="onVideoPopupChange"
></ns-video-player-popup>
<ns-video-player-popup ref="videoPlayerPopup" :current-video="currentVideo"
@popup-change="onVideoPopupChange"></ns-video-player-popup>
</view>
</template>
<script>
import { copyText, makePhoneCall, openLocation } from '@/common/js/uniapp.utils.js';
import scroll from '@/common/js/scroll-view.js';
import shareUtil from '@/common/js/share.js';
@@ -220,11 +213,11 @@ export default {
diyChannelSettings: {
channel_display_style: 'fixed',
channel_aspect_ratio: '16:9',
channel_show_view_count: true,
channel_row_count: 2,
channel_title_line_clamp: 2,
channel_show_play_btn: true,
channel_aspect_ratio: '16:9',
channel_show_view_count: true,
channel_row_count: 2,
channel_title_line_clamp: 2,
channel_show_play_btn: true,
}, // 自定义设置
ismessage: 0,
@@ -238,16 +231,16 @@ export default {
markers: [
{
id: 1,
/* width:20, //宽度
height:20, //高度*/
// iconPath: '../../static/goal_weizhi.png', //目标位置图标路径
//这里的经纬度是 目的地 的经纬度
/* width:20, //宽度
height:20, //高度*/
// iconPath: '../../static/goal_weizhi.png', //目标位置图标路径
//这里的经纬度是 目的地 的经纬度
latitude: 0,
longitude: 0,
callout: {
/* title:123,
content:'123' */
}
/* title:123,
content:'123' */
}
}
],
landline: 0,
@@ -295,7 +288,7 @@ export default {
this.showMapDiy = res.diy.is_map == 1;
this.showVideoListDiy = res.diy.is_video == 1;
this.showFileListDiy = res.diy.is_file == 1;
this.showChannelListDiy = res.diy.is_channel == 1;
this.showChannelListDiy = res.diy.is_channel == 1;
// 遍历res.diy所有key然后判断key前缀包含channel_如果包含就赋值给diyChannelSettings
for (let key in res.diy) {
@@ -305,7 +298,7 @@ export default {
}
}
},
fail: res => {}
fail: res => { }
});
},
methods: {
@@ -321,7 +314,7 @@ export default {
channel_id: item.channelId
},
success: res => {
},
fail: res => {
}
@@ -350,7 +343,7 @@ export default {
// 弹窗关闭时重置当前视频
this.currentVideo = null;
}
},
},
save() {
if (!this.Form.realname.trim()) {
uni.showToast({ title: '请填写姓名', icon: 'none' });
@@ -439,36 +432,15 @@ export default {
},
Tel(m) {
uni.makePhoneCall({
phoneNumber: m + '',
success(e) {
console.log(e);
}
});
makePhoneCall(m);
},
copy(text) {
uni.setClipboardData({
data: text,
success: () => {
uni.showToast({
title: this.$lang('copySuccess'),
icon: 'success',
duration: 2000
});
},
fail: (err) => {
uni.showToast({
title: err.message || err.errMsg || this.$lang('copyFailed'),
icon: 'none',
duration: 2000
});
}
});
copyText(text, { copySuccess: this.$lang('copySuccess'), copyFailed: this.$lang('copyFailed') });
},
tomap() {
uni.openLocation({
openLocation({
latitude: parseFloat(this.shop.latitude),
longitude: parseFloat(this.shop.longitude),
name: this.$lang('oneClickNavigation'),
@@ -625,12 +597,13 @@ image {
position: relative;
z-index: 0;
}
image {
max-width: 100%;
max-width: 100%;
}
.bl {
display: block;
display: block;
}
.line1 {
@@ -669,12 +642,13 @@ image {
line-height: 20rpx;
border-radius: 10rpx;
}
.view_ul_100 .fl {
width: 10%;
width: 10%;
}
.view_ul_100 .fr {
/* padding-left: 30rpx;*/
/* padding-left: 30rpx;*/
width: 100%;
}
@@ -696,25 +670,27 @@ image {
.list_cotact .view_ul_100>view {
padding: 20rpx 30rpx 0rpx 30rpx;
}
.list_cotact .view_ul_two .view_li>view {
background-color: #fff;
padding: 20rpx 30rpx 0rpx 30rpx;
background-color: #fff;
padding: 20rpx 30rpx 0rpx 30rpx;
}
.list_cotact .view_ul_two .view_li>view .address {
background-color: #5dc2d0;
color: #fff;
display: inline-block;
font-size: 28rpx;
line-height: 48rpx;
margin-bottom: 30rpx;
padding: 0 30rpx;
width: auto;
background-color: #5dc2d0;
color: #fff;
display: inline-block;
font-size: 28rpx;
line-height: 48rpx;
margin-bottom: 30rpx;
padding: 0 30rpx;
width: auto;
}
.view_ul_two {
margin-top: 20rpx;
margin-top: 20rpx;
}
.contact_name {
color: rgba(71, 71, 71, .79);
font-size: 24rpx;
@@ -883,11 +859,11 @@ image {
}
}
/deep/ .channel-list-container {
::v-deep .channel-list-container {
padding: 0rpx !important;
}
/deep/ .mescroll-totop {
::v-deep .mescroll-totop {
right: 27rpx !important;
/* #ifdef H5 */
bottom: 120rpx !important;
@@ -896,5 +872,4 @@ image {
bottom: 180rpx !important;
/* #endif */
}
</style>

View File

@@ -138,7 +138,7 @@
border-radius: 80rpx;
}
/deep/ .form-wrap {
::v-deep .form-wrap {
background: #fff;
padding: 30rpx;
border-radius: 32rpx;

View File

@@ -20,7 +20,13 @@
</template>
<script>
import nsNewform from '../_components/ns-newform/ns-newform.vue';
export default {
components: {
nsNewform
},
data() {
return {
id: 0,

View File

@@ -84,7 +84,7 @@ export default {
</script>
<style lang="scss">
/deep/ .uni-grid-item {
::v-deep .uni-grid-item {
width: calc((100vw - (#{$margin-both} * 2)) / 3) !important;
}

View File

@@ -182,12 +182,12 @@
</script>
<style lang="scss" scoped>
/deep/ .fixed {
::v-deep .fixed {
position: relative;
top: 0;
}
/deep/ .empty {
::v-deep .empty {
margin-top: 0 !important;
}

View File

@@ -74,7 +74,7 @@ export default {
background: none !important;
}
/deep/.diy-index-page .uni-popup .uni-popup__wrapper-box {
::v-deep .diy-index-page .uni-popup .uni-popup__wrapper-box {
border-radius: 0;
}
@@ -82,18 +82,18 @@ export default {
width: 80%;
}
/deep/ .placeholder {
::v-deep .placeholder {
height: 0;
}
/deep/::-webkit-scrollbar {
::v-deep ::-webkit-scrollbar {
width: 0;
height: 0;
background-color: transparent;
display: none;
}
/deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
</style>

View File

@@ -87,7 +87,13 @@
<script>
import validate from 'common/js/validate.js';
import mypOne from '../_components/myp-one/myp-one.vue';
export default {
components: {
mypOne
},
data() {
return {
findMode: 'mobile',

View File

@@ -481,14 +481,14 @@ export default {
</style>
<style lang="scss" scoped>
/deep/ .reward-popup .uni-popup__wrapper-box {
::v-deep .reward-popup .uni-popup__wrapper-box {
background: none !important;
max-width: unset !important;
max-height: unset !important;
overflow: unset !important;
}
/deep/ uni-toast .uni-simple-toast__text {
::v-deep uni-toast .uni-simple-toast__text {
background: red !important;
}
</style>

View File

@@ -1,8 +1,8 @@
/deep/.uni-scroll-view {
::v-deep .uni-scroll-view {
background-color: #fff;
}
/deep/.uni-scroll-view::-webkit-scrollbar {
::v-deep .uni-scroll-view::-webkit-scrollbar {
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
display: none;
}

View File

@@ -430,7 +430,7 @@ export default {
}
</style>
<style lang="scss">
/deep/ .mescroll-upwarp {
::v-deep .mescroll-upwarp {
padding-bottom: 150rpx;
}
</style>

View File

@@ -367,7 +367,7 @@ export default {
</script>
<style lang="scss" scoped>
/deep/ .fixed {
::v-deep .fixed {
position: relative;
top: 0;
}

View File

@@ -395,7 +395,7 @@
</script>
<style lang="scss">
/deep/ pick-regions,
::v-deep pick-regions,
.pick-regions {
flex: 1;
}

View File

@@ -221,7 +221,7 @@ export default {
</style>
<style lang="scss" scoped>
/deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
</style>

View File

@@ -73,12 +73,12 @@ export default {
</script>
<style lang="scss" scoped>
/deep/ .fixed {
::v-deep .fixed {
position: relative;
top: 0;
}
/deep/ .empty {
::v-deep .empty {
margin-top: 0 !important;
}
@@ -86,7 +86,7 @@ export default {
</style>
<style lang="scss" scoped>
/deep/ .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
::v-deep .sku-layer .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
</style>

View File

@@ -249,7 +249,7 @@ export default {
</script>
<style lang="scss">
/deep/ .empty {
::v-deep .empty {
margin-top: 0 !important;
}

Some files were not shown because too many files have changed in this diff Show More