lin
2026-05-11 94c2cf59a5e7fcc21a9a721e8c1fcbc9fffadd6a
feat:购有趣
28 files modified
7 files added
3269 ■■■■■ changed files
App.vue 3 ●●●●● patch | view | raw | blame | history
main.js 2 ●●●●● patch | view | raw | blame | history
pages/index/index.vue 118 ●●●●● patch | view | raw | blame | history
pages/my/my.vue 72 ●●●●● patch | view | raw | blame | history
static/css/index.css 4 ●●●● patch | view | raw | blame | history
uni.scss 2 ●●●●● patch | view | raw | blame | history
uni_modules/piaoyi-cityPicker/package.json 95 ●●●● patch | view | raw | blame | history
uni_modules/uni-scss/package.json 96 ●●●●● patch | view | raw | blame | history
uni_modules/uv-action-sheet/package.json 107 ●●●●● patch | view | raw | blame | history
uni_modules/uv-button/package.json 187 ●●●● patch | view | raw | blame | history
uni_modules/uv-cell/package.json 121 ●●●●● patch | view | raw | blame | history
uni_modules/uv-checkbox/package.json 119 ●●●●● patch | view | raw | blame | history
uni_modules/uv-datetime-picker/package.json 121 ●●●●● patch | view | raw | blame | history
uni_modules/uv-form/package.json 129 ●●●●● patch | view | raw | blame | history
uni_modules/uv-gap/package.json 117 ●●●●● patch | view | raw | blame | history
uni_modules/uv-icon/package.json 97 ●●●●● patch | view | raw | blame | history
uni_modules/uv-input/package.json 119 ●●●●● patch | view | raw | blame | history
uni_modules/uv-line/package.json 117 ●●●●● patch | view | raw | blame | history
uni_modules/uv-loading-icon/package.json 117 ●●●●● patch | view | raw | blame | history
uni_modules/uv-loading-page/package.json 121 ●●●●● patch | view | raw | blame | history
uni_modules/uv-overlay/package.json 119 ●●●●● patch | view | raw | blame | history
uni_modules/uv-picker/package.json 123 ●●●●● patch | view | raw | blame | history
uni_modules/uv-popup/package.json 127 ●●●●● patch | view | raw | blame | history
uni_modules/uv-safe-bottom/package.json 117 ●●●●● patch | view | raw | blame | history
uni_modules/uv-scroll-list/changelog.md 12 ●●●●● patch | view | raw | blame | history
uni_modules/uv-scroll-list/components/uv-scroll-list/nvue.js 29 ●●●●● patch | view | raw | blame | history
uni_modules/uv-scroll-list/components/uv-scroll-list/props.js 35 ●●●●● patch | view | raw | blame | history
uni_modules/uv-scroll-list/components/uv-scroll-list/scrollWxs.wxs 51 ●●●●● patch | view | raw | blame | history
uni_modules/uv-scroll-list/components/uv-scroll-list/uv-scroll-list.vue 218 ●●●●● patch | view | raw | blame | history
uni_modules/uv-scroll-list/package.json 87 ●●●●● patch | view | raw | blame | history
uni_modules/uv-scroll-list/readme.md 19 ●●●●● patch | view | raw | blame | history
uni_modules/uv-status-bar/package.json 117 ●●●●● patch | view | raw | blame | history
uni_modules/uv-textarea/package.json 117 ●●●●● patch | view | raw | blame | history
uni_modules/uv-toolbar/package.json 117 ●●●●● patch | view | raw | blame | history
uni_modules/uv-transition/package.json 117 ●●●●● patch | view | raw | blame | history
App.vue
@@ -113,3 +113,6 @@
        border-radius: 50upx;
    }
</style>
<style lang="scss">
    @import '@/uni_modules/uv-ui-tools/index.scss';
</style>
main.js
@@ -4,6 +4,8 @@
import Vue from 'vue'
import './uni.promisify.adaptor'
import util from './util.js'
import uvUI from '@/uni_modules/uv-ui-tools'
Vue.use(uvUI);
Vue.config.productionTip = false
App.mpType = 'app'
pages/index/index.vue
@@ -2,6 +2,20 @@
  <view class="page-container index">
    <image class="page-bg" src="@/static/imgs/index-top.png" mode="scaleToFill"></image>
    <view class="content" style="padding-bottom: 200rpx;">
        <!-- #ifdef APP-PLUS -->
        <view class="uni-popup" :style="{top:isNativeHead?'':StatusBar}" v-if="contactsFlag">
          <view class="ani uni-custom uni-popup__wrapper">
            <view class="uni-popup__wrapper-box">
              <view class="title">通讯权限</view>
              <view class="content">便于实现好友推荐、联系人同步等功能</view>
              <view class="btn-group">
                <button class="cancel-btn" @click="handleReject">拒绝</button>
                <button class="allow-btn" @click="handleAuthorize">允许</button>
              </view>
            </view>
          </view>
        </view>
        <!-- #endif -->
        <view class="hLogo">
            <view class="hLogoView">
                <view class="hLogo-1">
@@ -15,14 +29,76 @@
            </view>
        </view>
        <view class="cates" v-if="catesNavData" style="margin-top: 0;">
            <view class="cates-v" v-for="(item, index) in catesNavData" @tap="$util.goPages('/pages/catesList/catesList?catesId=' + item.id + '&title=' + item.title)">
        <view class="cates" v-if="catesNavData">
            <view class="cates-v" v-for="(item, index) in catesNavData" :key="item.id" @tap="$util.goPages('/pages/catesList/catesList?catesId=' + item.id + '&title=' + item.title)">
                <image class="cates-v-icon" :src="item.icon" mode=""></image>
                <view class="">{{item.title}}</view>
            </view>
            <!-- <view class="cates-v" @tap="$util.goSwitch('/pages/cates/cates')">
                <image class="cates-v-icon" src="/static/imgs/more.png" mode=""></image>
                <view class="">更多</view>
            </view> -->
        </view>
        <!-- <view v-if="catesNavData" style="padding: 0 30rpx;background-color: #ffffff;margin-top: 190rpx;">
            <uv-scroll-list>
                <view class="cates-v" v-for="(item, index) in catesNavData" :key="item.id" @tap="$util.goPages('/pages/catesList/catesList?catesId=' + item.id + '&title=' + item.title)">
                    <image class="cates-v-icon" :src="item.icon" mode="heightFix"></image>
                    <view class="">{{item.title}}</view>
                </view>
            </uv-scroll-list>
        </view> -->
        <!-- <view class="ad1" @tap="$util.goPages('/pages/catesList/catesList?catesId=11' + '&title=' + '服装鞋包')">
            <image src="/static/imgs/ad1.png" mode=""></image>
        </view> -->
        <view class="ad2" @tap="$util.goPages('/pages/catesList/catesList?catesId=3' + '&title=' + '手机数码')">
            <image src="/static/imgs/ad2.png" mode=""></image>
        </view>
        
        <view class="d3-wrap">
            <view class="ad3" @tap="$util.goPages('/pages/catesList/catesList?catesId=2' + '&title=' + '家用电器')">
                <image src="/static/imgs/ad3.png" mode=""></image>
            </view>
            <view class="ad4" @tap="$util.goPages('/pages/catesList/catesList?catesId=4' + '&title=' + '美妆个护')">
                <image src="/static/imgs/ad4.png" mode=""></image>
            </view>
        </view>
        
        <!-- <view class="c-goods" v-if="hotCates" v-for="(item, index) in hotCates">
            <view class="ca-ad" v-if="index % 2 == 0">
                <image src="/static/imgs/c1.png" mode=""></image>
            </view>
            <view class="ca-ad" v-else>
                <image src="/static/imgs/c2.png" mode=""></image>
            </view>
            <view class="cGoods">
                <scroll-view class="scroll-view_H" scroll-x="true">
                    <view class="scroll-view-item_H" v-for="(itm, index) in item.goods" @tap="$util.goPages('/pages/ginfo/ginfo?id=' + itm.id)">
                        <image lazy-load class="goods-icon" :src="itm.icon" mode=""></image>
                        <view class="goods-title">{{itm.title}}</view>
                        <view class="goods-price">
                            <view>¥</view>
                            <view class="red">{{itm.price}}</view>
                        </view>
                    </view>
                </scroll-view>
            </view>
        </view> -->
        <!-- <view class="c-goods" v-if="hotGoods">
            <view class="cGoods">
                <scroll-view class="scroll-view_H" scroll-x="true">
                    <view class="scroll-view-item_H" v-for="(itm, index) in hotGoods" @tap="$util.goPages('/pages/ginfo/ginfo?id=' + itm.id)">
                        <image lazy-load class="goods-icon" :src="itm.icon" mode=""></image>
                        <view class="goods-title">{{itm.title}}</view>
                        <view class="goods-price">
                            <view>¥</view>
                            <view class="red">{{itm.price}}</view>
                        </view>
                    </view>
                </scroll-view>
            </view>
        </view> -->
        
        <view class="cateNav">
            <view class="cateNav-item" :class="{active:actIndex===index}" v-for="(item, index) in cateNavList" :key="index" @click="navClick(item,index)">
@@ -42,12 +118,33 @@
                            <!-- <view class="hyj">
                                <image src="@/static/imgs/hyj.png" mode=""></image>
                            </view> -->
                            <view>¥</view>
                            <view class="red">{{itm.price}}</view>
                        </view>
                    </view>
                </view>
            </view>
        </view>
        <view class="login-desc" v-if="!userInfo" @tap="$util.goPages('../login/login')">
            <image class="login-icon" src="/static/imgs/logo-icon.png" mode=""></image>
            <view class="login-font">登录购有趣,打开美好生活</view>
            <view class="login-btn">立即登录</view>
        </view>
    </view>
    <uni-popup ref="popup2" type="center" :is-mask-click="false">
      <view class="popup-content">
        <view class="edu-view edu-view2">
          <view class="edu-view-desc2">认证领取额度</view>
          <image class="edu-icon-succ" src="/static/imgs/auths.png" mode=""></image>
          <view class="edu-view-desc3">
            请您先认证个人信息,然后立即领取额度
          </view>
          <view class="edu-btns" @tap="go_auth">立即领取</view>
          <!-- <view class="edu-btns" @tap="$util.goPages('/pages/idcard/idcard')">立即领取</view> -->
        </view>
      </view>
    </uni-popup>
  </view>
</template>
@@ -72,6 +169,18 @@
  },
  data() {
    return {
        list: [{
                            image: "https://via.placeholder.com/200x200.png/3c9cff/fff"
                        }, {
                            image: "https://via.placeholder.com/200x200.png/f9ae3d/fff"
                        }, {
                            image: "https://via.placeholder.com/200x200.png/5ac725/fff"
                        }, {
                            image: "https://via.placeholder.com/200x200.png/f56c6c/fff"
                        }, {
                            image: "https://via.placeholder.com/200x200.png/909399/fff"
                        }],
        indicator: true,
      contactsFlag: false,
      staHeight: 0,
      paddingHeight: 0,
@@ -100,7 +209,7 @@
            {
                title: '精选',
                desc: '猜你喜欢',
                skey: '手机数码',
                skey: '服装鞋包',
                catesId: 11,
            },{
                title: '人气',
@@ -131,8 +240,7 @@
    // #endif
  },
  created() {
      this.actIndex = 0;
      this.catesId = 11;
        this.catesId = 11
      this.catesGoods()
  },
  onLoad() {
pages/my/my.vue
@@ -6,14 +6,58 @@
        <view class="startBar"></view>
        <view class="myContent">
            <view class="myHeader">
                <image :src="userInfo != null ? userInfo.avatar : '/static/imgs/headimg.png'" class="avatar" mode="" @tap="setImg"></image>
                <!-- <image :src="userInfo != null ? userInfo.avatar : '/static/imgs/headimg.png'" class="avatar" mode="" @tap="setImg"></image> -->
                <image :src="userInfo != null ? userInfo.avatar : '/static/imgs/headimg.png'" class="avatar" mode="" ></image>
                <view class="myNick">
                    <template>
                        <view v-if="userInfo == null" @tap="$util.goPages('/pages/login/login')">未登录</view>
                        <view v-else>{{userInfo.phone}}</view>
                    </template>
                    <!-- <template v-if="userInfo != null && Config">
                        <template v-if="userInfo.status == 1">
                            <view class="edu" v-if="userInfo != null && userInfo.edu_auth == 0 && Config.put_open == 2 && userInfo.over_auth == 0">额度:未认证</view>
                            <view class="edu" v-else-if="userInfo != null && userInfo.edu_auth == 0 && Config.put_open == 2 && userInfo.over_auth == 1">额度:授信中</view>
                            <view class="edu" v-else-if="userInfo != null && userInfo.edu_auth == 1 && Config.put_open == 2">额度:{{userInfo.const}}</view>
                        </template>
                        <template v-else>
                            <view class="edu">额度:授信失败</view>
                        </template>
                    </template>
                    <template v-if="userInfo != null && userInfo.face_auth == 0">
                        <view class="edu" @tap="$util.checkGoPages('/pages/my/my')">未认证</view>
                    </template> -->
                </view>
            </view>
            <!-- <view class="auth" v-if="userInfo && userInfo.over_auth != 1" @tap="$util.checkGoPages('/pages/my/my')">
                <image src="@/static/imgs/notice.png" mode=""></image>
                <text>您还未进行实名认证,点击前往实名认证</text>
                <view class="">去认证</view>
            </view> -->
            <!-- <view class="num-wrapper tui-skeleton-rect">
              <view class="num-item" style="display: flex;background: white;border-radius: 24rpx;padding: 22rpx;width: 48%;" @tap="$util.checkLogin('/pages/collect/collect')">
                <view style="padding-right: 32rpx;">
                  <image style="width: 48rpx;height: 48rpx;margin-top: 30rpx;" src="/static/imgs/Star.png"></image>
                </view>
                <view style="flex: 1">
                  <view class="txt" style="color: #666;text-align:left">我的收藏</view>
                  <view class="num" style="color: #333;text-align:left;margin-top: 8rpx;">0</view>
                </view>
              </view>
              <view style="display: flex;background: white;border-radius: 24rpx;padding: 22rpx;width: 48%;" class="num-item" @tap="$util.checkLogin('/pages/address/address')">
                <view style="padding-right: 32rpx;">
                  <image style="width: 48rpx;height: 48rpx;margin-top: 30rpx;" src="/static/imgs/History.png"></image>
                </view>
                <view style="flex: 1">
                  <view class="txt" style="color: #666;text-align:left">我的地址</view>
                  <view class="num" style="color: #333;text-align:left;margin-top: 5rpx;">0</view>
                </view>
              </view>
            </view> -->
            
            <view class="navs">
                <view class="title" @tap="$util.checkLogin('/pages/order/order')">
@@ -30,9 +74,25 @@
                    </view>
                </view>
            </view>
            <view style="text-align: center;font-size: 24rpx;color: #666666;margin-top: 280rpx;">
                客服电话:400-6052-330(8:00-20:00)
            <view class="mySer">
                <view class="title">我的服务</view>
                <view class="mySerCon">
                    <template v-for="(item, index) in mySerData">
                        <view class="mySerCon-v" @tap="$util.checkLogin(item.url)" v-if="item.index != 6">
                            <image :src="'../../static/imgs/mf' + item.index + '.png'" mode=""></image>
                            <view>{{item.text}}</view>
                        </view>
                        <view class="mySerCon-v" @tap="goKefu" v-else>
                            <image :src="'../../static/imgs/mf' + item.index + '.png'" mode=""></image>
                            <view>{{item.text}}</view>
                        </view>
                    </template>
                </view>
            </view>
            <!-- <view style="text-align: center;font-size: 24rpx;color: #666666;margin: 80rpx 0;">
                客服电话:400-6052-330(8:00-20:00)
            </view> -->
            <view class="myBeiAn">
                <view class="">
                    <text @tap="agreeDialog1">《用户协议》</text>
@@ -66,10 +126,16 @@
                    {index: 1, text: '待支付', url: '/pages/order/order?status=1'},
                    {index: 3, text: '待发货', url: '/pages/order/order?status=4'},
                    {index: 4, text: '待收货', url: '/pages/order/order?status=5'},
                    // {index: 2, text: '待签约', url: '/pages/order/order?status=3'},
                    {index: 5, text: '退款/售后', url: '/pages/order/order?status=-3'}
                ],
                mySerData: [
                    {index: 1, text: '个人信息', url: '/pages/profile/profile'},
                    // {index: 2, text: '账单信息', url: '/pages/logs/logs'},
                    // {index: 3, text: '银行卡', url: '/pages/bank/bank'},
                    // {index: 4, text: '我的地址', url: '/pages/address/address'},
                    {index: 5, text: '我的收藏', url: '/pages/collect/collect'},
                    {index: 6, text: '联系客服'},
                ]
            }
        },
static/css/index.css
@@ -24,7 +24,7 @@
    z-index: 0;
}
.content {
}
.status-bar {
    width: 100%;
@@ -623,4 +623,4 @@
}
.c-goods{
    background-color: #f5f5f5;
}
}
uni.scss
@@ -74,3 +74,5 @@
$uni-font-size-subtitle:26px;
$uni-color-paragraph: #3F536E; // 文章段落颜色
$uni-font-size-paragraph:15px;
@import '@/uni_modules/uv-ui-tools/theme.scss';
uni_modules/piaoyi-cityPicker/package.json
@@ -1,17 +1,84 @@
{
    "id": "piaoyi-cityPicker",
    "name": " data-cityPicker省市区地址选择器",
    "displayName": " data-cityPicker省市区地址选择器(兼容vue3)",
    "version": "1.1.7",
    "description": "常用省市区选择器,可反选,自定义模态框、兼容vue3",
    "keywords": [
        "省市区",
        "选择器",
        "可反选",
        "自定义模态框和弹框",
        "兼容vue3"
    ],
    "dcloudext": {
        "type": "component-vue"
  "id": "piaoyi-cityPicker",
  "name": " data-cityPicker省市区地址选择器",
  "displayName": " data-cityPicker省市区地址选择器(兼容vue3)",
  "version": "1.1.7",
  "description": "常用省市区选择器,可反选,自定义模态框、兼容vue3",
  "keywords": [
    "省市区",
    "选择器",
    "可反选",
    "自定义模态框和弹框",
    "兼容vue3"
  ],
  "dcloudext": {
    "type": "component-vue",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "engines": {
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "uni_modules": {
    "dependencies": [],
    "encrypt": [],
    "platforms": {
      "cloud": {
        "tcb": "-",
        "aliyun": "-",
        "alipay": "-"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uni-scss/package.json
@@ -7,16 +7,14 @@
    "uni-scss",
    "uni-ui",
    "辅助样式"
],
  ],
  "repository": "https://github.com/dcloudio/uni-ui",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "category": [
        "JS SDK",
        "通用 SDK"
    ],
    "sale": {
      "regular": {
        "price": "0.00"
@@ -33,50 +31,68 @@
      "data": "无",
      "permissions": "无"
    },
    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
    "type": "sdk-js",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [],
    "encrypt": [],
    "platforms": {
      "cloud": {
        "tcb": "y",
        "aliyun": "y"
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "App": {
          "app-vue": "y",
          "app-nvue": "u"
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "H5-mobile": {
          "Safari": "y",
          "Android Browser": "y",
          "微信浏览器(Android)": "y",
          "QQ浏览器(Android)": "y"
        },
        "H5-pc": {
          "Chrome": "y",
          "IE": "y",
          "Edge": "y",
          "Firefox": "y",
          "Safari": "y"
        },
        "小程序": {
          "微信": "y",
          "阿里": "y",
          "百度": "y",
          "字节跳动": "y",
          "QQ": "y"
        },
        "快应用": {
          "华为": "n",
          "联盟": "n"
        },
        "Vue": {
            "vue2": "y",
            "vue3": "y"
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
}
uni_modules/uv-action-sheet/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "操作菜单",
    "菜单选择"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -32,59 +34,72 @@
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools",
            "uv-popup",
            "uv-icon",
            "uv-line",
            "uv-loading-icon",
            "uv-gap"
        ],
      "uv-ui-tools",
      "uv-popup",
      "uv-icon",
      "uv-line",
      "uv-loading-icon",
      "uv-gap"
    ],
    "encrypt": [],
    "platforms": {
      "cloud": {
        "tcb": "y",
        "aliyun": "y"
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "Vue": {
          "vue2": "y",
          "vue3": "y"
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "App": {
          "app-vue": "y",
          "app-nvue": "y"
        },
        "H5-mobile": {
          "Safari": "y",
          "Android Browser": "y",
          "微信浏览器(Android)": "y",
          "QQ浏览器(Android)": "y"
        },
        "H5-pc": {
          "Chrome": "y",
          "IE": "y",
          "Edge": "y",
          "Firefox": "y",
          "Safari": "y"
        },
        "小程序": {
          "微信": "y",
          "阿里": "y",
          "百度": "y",
          "字节跳动": "y",
          "QQ": "y",
          "钉钉": "u",
          "快手": "u",
          "飞书": "u",
          "京东": "u"
        },
        "快应用": {
          "华为": "u",
          "联盟": "u"
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
uni_modules/uv-button/package.json
@@ -1,89 +1,104 @@
{
    "id": "uv-button",
    "displayName": "uv-button 按钮 全面兼容vue3+2、app、h5、小程序等多端",
    "version": "1.0.15",
    "description": "按钮组件内部实现以uni-app的button组件为基础,进行二次封装,灵活配置,功能齐全,兼容全端。",
    "keywords": [
        "uv-button",
        "uvui",
        "uv-ui",
        "button",
        "按钮"
  "id": "uv-button",
  "displayName": "uv-button 按钮 全面兼容vue3+2、app、h5、小程序等多端",
  "version": "1.0.15",
  "description": "按钮组件内部实现以uni-app的button组件为基础,进行二次封装,灵活配置,功能齐全,兼容全端。",
  "keywords": [
    "uv-button",
    "uvui",
    "uv-ui",
    "button",
    "按钮"
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
    "sale": {
      "regular": {
        "price": "0.00"
      },
      "sourcecode": {
        "price": "0.00"
      }
    },
    "contact": {
      "qq": ""
    },
    "declaration": {
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
      "uv-ui-tools",
      "uv-loading-icon",
      "uv-icon"
    ],
    "repository": "",
    "engines": {
        "HBuilderX": "^3.1.0"
    },
    "dcloudext": {
        "type": "component-vue",
        "sale": {
            "regular": {
                "price": "0.00"
            },
            "sourcecode": {
                "price": "0.00"
            }
        },
        "contact": {
            "qq": ""
        },
        "declaration": {
            "ads": "无",
            "data": "插件不采集任何数据",
            "permissions": "无"
        },
        "npmurl": ""
    },
    "uni_modules": {
        "dependencies": [
            "uv-ui-tools",
            "uv-loading-icon",
            "uv-icon"
        ],
        "encrypt": [],
        "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
    }
    "encrypt": [],
    "platforms": {
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-cell/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "单元格",
    "设置页"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,62 +30,75 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools",
            "uv-icon",
            "uv-line"
        ],
      "uv-ui-tools",
      "uv-icon",
      "uv-line"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-checkbox/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "checkbox",
    "复选框"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,61 +30,74 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools",
            "uv-icon"
        ],
      "uv-ui-tools",
      "uv-icon"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-datetime-picker/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "datetime",
    "时间选择"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,62 +30,75 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools",
            "uv-picker"
        ],
      "uv-ui-tools",
      "uv-picker"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y",
                "alipay": "n"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√",
        "alipay": "x"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-form/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "表单",
    "表单验证"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,66 +30,79 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools",
            "uv-icon",
            "uv-line",
            "uv-transition",
            "uv-action-sheet",
            "uv-input",
            "uv-button"
        ],
      "uv-ui-tools",
      "uv-icon",
      "uv-line",
      "uv-transition",
      "uv-action-sheet",
      "uv-input",
      "uv-button"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-gap/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "间隔槽",
    "内容块"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,60 +30,73 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools"
        ],
      "uv-ui-tools"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-icon/package.json
@@ -5,10 +5,12 @@
  "description": "基于字体的图标集,包含了大多数常见场景的图标,支持自定义,支持自定义图片图标等。可自定义颜色、大小。",
  "keywords": [
    "uv-ui,uvui,uv-icon,icon,图标,字体图标"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,54 +30,67 @@
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools"
        ],
      "uv-ui-tools"
    ],
    "encrypt": [],
    "platforms": {
      "cloud": {
        "tcb": "y",
        "aliyun": "y"
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "Vue": {
          "vue2": "y",
          "vue3": "y"
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "App": {
          "app-vue": "y",
          "app-nvue": "y"
        },
        "H5-mobile": {
          "Safari": "y",
          "Android Browser": "y",
          "微信浏览器(Android)": "y",
          "QQ浏览器(Android)": "y"
        },
        "H5-pc": {
          "Chrome": "y",
          "IE": "y",
          "Edge": "y",
          "Firefox": "y",
          "Safari": "y"
        },
        "小程序": {
          "微信": "y",
          "阿里": "y",
          "百度": "y",
          "字节跳动": "y",
          "QQ": "y",
          "钉钉": "u",
          "快手": "u",
          "飞书": "u",
          "京东": "u"
        },
        "快应用": {
          "华为": "u",
          "联盟": "u"
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
uni_modules/uv-input/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "input",
    "输入框"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,61 +30,74 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools",
            "uv-icon"
        ],
      "uv-ui-tools",
      "uv-icon"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-line/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "line",
    "线条"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,60 +30,73 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools"
        ],
      "uv-ui-tools"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-loading-icon/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "loading",
    "加载动画"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,60 +30,73 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools"
        ],
      "uv-ui-tools"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-loading-page/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "page",
    "loading"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,62 +30,75 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools",
            "uv-transition",
            "uv-loading-icon"
        ],
      "uv-ui-tools",
      "uv-transition",
      "uv-loading-icon"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-overlay/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "overlay",
    "遮罩层"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,61 +30,74 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools",
            "uv-transition"
        ],
      "uv-ui-tools",
      "uv-transition"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-picker/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "picker",
    "联动选择"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,63 +30,76 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools",
            "uv-popup",
            "uv-loading-icon",
            "uv-toolbar"
        ],
      "uv-ui-tools",
      "uv-popup",
      "uv-loading-icon",
      "uv-toolbar"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-popup/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "popup",
    "弹出层"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,65 +30,78 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools",
            "uv-overlay",
            "uv-transition",
            "uv-icon",
            "uv-status-bar",
            "uv-safe-bottom"
        ],
      "uv-ui-tools",
      "uv-overlay",
      "uv-transition",
      "uv-icon",
      "uv-status-bar",
      "uv-safe-bottom"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-safe-bottom/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "bottom",
    "底部安全区"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,60 +30,73 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools"
        ],
      "uv-ui-tools"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-scroll-list/changelog.md
New file
@@ -0,0 +1,12 @@
## 1.0.5(2023-11-15)
1. 修复微信报错的BUG
## 1.0.4(2023-11-14)
1. 兼容全局设置rpx
## 1.0.3(2023-08-19)
1.  修复报错导致不能移动指示器的BUG
## 1.0.2(2023-08-08)
1. 修复vue2编译报错的BUG
## 1.0.1(2023-07-21)
1. 优化
## 1.0.0(2023-07-21)
1. 新增uv-scroll-liast 横向滚动表组件
uni_modules/uv-scroll-list/components/uv-scroll-list/nvue.js
New file
@@ -0,0 +1,29 @@
// 引入bindingx,此库类似于微信小程序wxs,目的是让js运行在视图层,减少视图层和逻辑层的通信折损
const BindingX = uni.requireNativePlugin('bindingx')
export default {
    methods: {
        // 此处不写注释,请自行体会
        nvueScrollHandler(e) {
            if (this.indicator) {
                const anchor = this.$refs['uv-scroll-list__scroll-view'].ref
                const element = this.$refs['uv-scroll-list__indicator__line__bar'].ref
                const scrollLeft = e.contentOffset.x
                const contentSize = e.contentSize.width
                const { scrollWidth } = this
                const barAllMoveWidth = this.indicatorWidth - this.indicatorBarWidth
                // 在安卓和iOS上,需要除的倍数不一样,iOS需要除以2
                const actionNum = this.$uv.os() === 'ios' ? 2 : 1
                const expression = `(x / ${actionNum}) / ${contentSize - scrollWidth} * ${this.$uv.getPx(this.$uv.addUnit(barAllMoveWidth))}`
                BindingX.bind({
                    anchor,
                    eventType: 'scroll',
                    props: [{
                        element,
                        property: 'transform.translateX',
                        expression
                    }]
                })
            }
        }
    }
}
uni_modules/uv-scroll-list/components/uv-scroll-list/props.js
New file
@@ -0,0 +1,35 @@
export default {
    props: {
        // 指示器的整体宽度
        indicatorWidth: {
            type: [String, Number],
            default: 50
        },
        // 滑块的宽度
        indicatorBarWidth: {
            type: [String, Number],
            default: 20
        },
        // 是否显示面板指示器
        indicator: {
            type: Boolean,
            default: true
        },
        // 指示器非激活颜色
        indicatorColor: {
            type: String,
            default: '#f2f2f2'
        },
        // 指示器的激活颜色
        indicatorActiveColor: {
            type: String,
            default: '#3c9cff'
        },
        // 指示器样式,可通过bottom,left,right进行定位
        indicatorStyle: {
            type: [String, Object],
            default: ''
        },
        ...uni.$uv?.props?.scrollList
    }
}
uni_modules/uv-scroll-list/components/uv-scroll-list/scrollWxs.wxs
New file
@@ -0,0 +1,51 @@
function scroll(event, ownerInstance) {
    // detail中含有scroll-view的信息,比如scroll-view的实际宽度,当前时间点scroll-view的移动距离等
    var detail = event.detail
    var scrollWidth = detail.scrollWidth
    var scrollLeft = detail.scrollLeft
    // 获取当前组件的dataset,说白了就是祸国殃民的腾xun搞出来的垃ji
    var dataset = event.currentTarget.dataset
    // 此为scroll-view外部包裹元素的宽度
    // 某些HX版本(3.1.18),发现view元素中大写的data-scrollWidth,在wxs中,变成了全部小写,所以这里需要特别处理
    var scrollComponentWidth = dataset.scrollWidth || dataset.scrollwidth || 0
    // 指示器和滑块的宽度
    var indicatorWidth = dataset.indicatorWidth || dataset.indicatorwidth || 0
    var barWidth = dataset.barWidth || dataset.barwidth || 0
    // 此处的计算理由为:scroll-view的滚动距离与目标滚动距离(scroll-view的实际宽度减去包裹元素的宽度)之比,等于滑块当前移动距离与总需
    // 滑动距离(指示器的总宽度减去滑块宽度)的比值
    var x = scrollLeft / (scrollWidth - scrollComponentWidth) * (indicatorWidth - barWidth)
    setBarStyle(ownerInstance, x, dataset.unit)
}
// 由于webview的无能,无法保证scroll-view在滑动过程中,一直触发scroll事件,会导致
// 无法监听到某些滚动值,当在首尾临界值无法监听到时,这是致命的,因为错失这些值会导致滑块无法回到起点和终点
// 所以这里需要对临界值做监听并处理
function scrolltolower(event, ownerInstance) {
    ownerInstance.callMethod('scrollEvent', 'right')
    // 获取当前组件的dataset
    var dataset = event.currentTarget.dataset
    // 指示器和滑块的宽度
    var indicatorWidth = dataset.indicatorWidth || dataset.indicatorwidth || 0
    var barWidth = dataset.barWidth || dataset.barwidth || 0
    // scroll-view滚动到右边终点时,将滑块也设置为到右边的终点,它所需移动的距离为:指示器宽度 - 滑块宽度
    setBarStyle(ownerInstance, indicatorWidth - barWidth, dataset.unit)
}
function scrolltoupper(event, ownerInstance) {
    var dataset = event.currentTarget.dataset
    ownerInstance.callMethod('scrollEvent', 'left')
    // 滚动到左边时,将滑块设置为0的偏移距离,回到起点
    setBarStyle(ownerInstance, 0, dataset.unit)
}
function setBarStyle(ownerInstance, x, unit) {
    ownerInstance.selectComponent('.uv-scroll-list__indicator__line__bar') && ownerInstance.selectComponent('.uv-scroll-list__indicator__line__bar').setStyle({
        transform: unit == 'rpx' ? 'translateX(' + x + 'rpx)' : 'translateX(' + x + 'px)'
    })
}
module.exports = {
    scroll: scroll,
    scrolltolower: scrolltolower,
    scrolltoupper: scrolltoupper
}
uni_modules/uv-scroll-list/components/uv-scroll-list/uv-scroll-list.vue
New file
@@ -0,0 +1,218 @@
<template>
    <view
        class="uv-scroll-list"
        ref="uv-scroll-list"
    >
        <!-- #ifdef APP-NVUE -->
        <!-- nvue使用bindingX实现,以得到更好的性能 -->
        <scroller
            class="uv-scroll-list__scroll-view"
            ref="uv-scroll-list__scroll-view"
            scroll-direction="horizontal"
            :show-scrollbar="false"
            :offset-accuracy="1"
            @scroll="nvueScrollHandler"
        >
            <view class="uv-scroll-list__scroll-view__content">
                <slot />
            </view>
        </scroller>
        <!-- #endif -->
        <!-- #ifndef APP-NVUE -->
        <!-- #ifdef MP-WEIXIN || APP-VUE || H5 || MP-QQ -->
        <!-- 以上平台,支持wxs -->
        <scroll-view
            class="uv-scroll-list__scroll-view"
            scroll-x
            @scroll="wxs.scroll"
            @scrolltoupper="wxs.scrolltoupper"
            @scrolltolower="wxs.scrolltolower"
            :data-scrollWidth="scrollWidth"
            :data-barWidth="$uv.getPx(indicatorBarWidth)"
            :data-indicatorWidth="$uv.getPx(indicatorWidth)"
            :show-scrollbar="false"
            :upper-threshold="0"
            :lower-threshold="0"
            :data-unit="$uv.unit"
        >
            <!-- #endif -->
            <!-- #ifndef APP-NVUE || MP-WEIXIN || H5 || APP-VUE || MP-QQ -->
            <!-- 非以上平台,只能使用普通js实现 -->
            <scroll-view
                class="uv-scroll-list__scroll-view"
                scroll-x
                @scroll="scrollHandler"
                @scrolltoupper="scrolltoupperHandler"
                @scrolltolower="scrolltolowerHandler"
                :show-scrollbar="false"
                :upper-threshold="0"
                :lower-threshold="0"
            >
                <!-- #endif -->
                <view class="uv-scroll-list__scroll-view__content">
                    <slot />
                </view>
            </scroll-view>
            <!-- #endif -->
            <view
                class="uv-scroll-list__indicator"
                v-if="indicator"
                :style="[$uv.addStyle(indicatorStyle)]"
            >
                <view
                    class="uv-scroll-list__indicator__line"
                    :style="[lineStyle]"
                >
                    <view
                        class="uv-scroll-list__indicator__line__bar"
                        :style="[barStyle]"
                        ref="uv-scroll-list__indicator__line__bar"
                    ></view>
                </view>
            </view>
            <!-- 避免报错 -->
            <!-- #ifdef H5 -->
            <view v-else class="uv-scroll-list__indicator__line__bar"></view>
            <!-- #endif -->
    </view>
</template>
<script src="./scrollWxs.wxs" module="wxs" lang="wxs"></script>
<script>
    /**
     * scrollList 横向滚动列表
     * @description 该组件一般用于同时展示多个商品、分类的场景,也可以完成左右滑动的列表。
     * @tutorial https://www.uviewui.com/components/scrollList.html
     * @property {String | Number}    indicatorWidth            指示器的整体宽度 (默认 50 )
     * @property {String | Number}    indicatorBarWidth        滑块的宽度 (默认 20 )
     * @property {Boolean}            indicator                是否显示面板指示器 (默认 true )
     * @property {String}            indicatorColor            指示器非激活颜色 (默认 '#f2f2f2' )
     * @property {String}            indicatorActiveColor    指示器的激活颜色 (默认 '#3c9cff' )
     * @property {String | Object}    indicatorStyle            指示器样式,可通过bottom,left,right进行定位
     * @event {Function} left    滑动到左边时触发
     * @event {Function} right    滑动到右边时触发
     * @example
     */
    // #ifdef APP-NVUE
    const dom = uni.requireNativePlugin('dom')
    import nvueMixin from "./nvue.js"
    // #endif
    import mpMixin from '@/uni_modules/uv-ui-tools/libs/mixin/mpMixin.js'
    import mixin from '@/uni_modules/uv-ui-tools/libs/mixin/mixin.js'
    import props from './props.js';
    export default {
        name: 'uv-scroll-list',
        // #ifndef APP-NVUE
        mixins: [mpMixin, mixin, props],
        // #endif
        // #ifdef APP-NVUE
        mixins: [mpMixin, mixin, nvueMixin, props],
        // #endif
        data() {
            return {
                scrollInfo: {
                    scrollLeft: 0,
                    scrollWidth: 0
                },
                scrollWidth: 0
            }
        },
        computed: {
            // 指示器为线型的样式
            barStyle() {
                const style = {}
                // #ifndef APP-NVUE || MP-WEIXIN || H5 || APP-VUE || MP-QQ
                // 此为普通js方案,只有在非nvue和不支持wxs方案的端才使用、
                // 此处的计算理由为:scroll-view的滚动距离与目标滚动距离(scroll-view的实际宽度减去包裹元素的宽度)之比,等于滑块当前移动距离与总需
                // 滑动距离(指示器的总宽度减去滑块宽度)的比值
                const scrollLeft = this.scrollInfo.scrollLeft,
                    scrollWidth = this.scrollInfo.scrollWidth,
                    barAllMoveWidth = this.indicatorWidth - this.indicatorBarWidth
                const x = scrollLeft / (scrollWidth - this.scrollWidth) * this.$uv.getPx(this.$uv.addUnit(barAllMoveWidth))
                style.transform = `translateX(${ x }px)`
                // #endif
                // 设置滑块的宽度和背景色,是每个平台都需要的
                style.width = this.$uv.addUnit(this.indicatorBarWidth)
                style.backgroundColor = this.indicatorActiveColor
                return style
            },
            lineStyle() {
                const style = {}
                // 指示器整体的样式,需要设置其宽度和背景色
                style.width = this.$uv.addUnit(this.indicatorWidth)
                style.backgroundColor = this.indicatorColor
                return style
            }
        },
        mounted() {
            this.init()
        },
        methods: {
            init() {
                this.getComponentWidth()
            },
            // #ifndef APP-NVUE || MP-WEIXIN || H5 || APP-VUE || MP-QQ
            // scroll-view触发滚动事件
            scrollHandler(e) {
                this.scrollInfo = e.detail
            },
            scrolltoupperHandler() {
                this.scrollEvent('left')
                this.scrollInfo.scrollLeft = 0
            },
            scrolltolowerHandler() {
                this.scrollEvent('right')
                // 在普通js方案中,滚动到右边时,通过设置this.scrollInfo,模拟出滚动到右边的情况
                // 因为上方是用过computed计算的,设置后,会自动调整滑块的位置
                this.scrollInfo.scrollLeft = this.$uv.getPx(this.indicatorWidth) - this.$uv.getPx(this.indicatorBarWidth)
            },
            // #endif
            scrollEvent(status) {
                this.$emit(status)
            },
            // 获取组件的宽度
            async getComponentWidth() {
                // 延时一定时间,以获取dom尺寸
                await this.$uv.sleep(30)
                // #ifndef APP-NVUE
                this.$uvGetRect('.uv-scroll-list').then(size => {
                    this.scrollWidth = size.width
                })
                // #endif
                // #ifdef APP-NVUE
                const ref = this.$refs['uv-scroll-list']
                ref && dom.getComponentRect(ref, (res) => {
                    this.scrollWidth = res.size.width
                })
                // #endif
            },
        }
    }
</script>
<style lang="scss" scoped>
    @import '@/uni_modules/uv-ui-tools/libs/css/components.scss';
    .uv-scroll-list {
        padding-bottom: 10px;
        &__scroll-view {
            @include flex;
            &__content {
                @include flex;
            }
        }
        &__indicator {
            @include flex;
            justify-content: center;
            margin-top: 15px;
            &__line {
                width: 60px;
                height: 4px;
                border-radius: 100px;
                overflow: hidden;
                &__bar {
                    width: 20px;
                    height: 4px;
                    border-radius: 100px;
                }
            }
        }
    }
</style>
uni_modules/uv-scroll-list/package.json
New file
@@ -0,0 +1,87 @@
{
    "id": "uv-scroll-list",
    "displayName": "uv-scroll-list 横向滚动列表 全面兼容vue3+2、app、h5、小程序等多端",
    "version": "1.0.5",
    "description": "该组件一般用于同时展示多个商品、分类的场景,也可以完成左右滑动的列表,往往数量不确定,数量较多支持左右滚动。灵活配置,开箱即用。",
    "keywords": [
        "uv-scroll-list",
        "uvui",
        "uv-ui",
        "横向滚动列表",
        "scroll-view"
    ],
    "repository": "",
    "engines": {
        "HBuilderX": "^3.1.0"
    },
    "dcloudext": {
        "type": "component-vue",
        "sale": {
            "regular": {
                "price": "0.00"
            },
            "sourcecode": {
                "price": "0.00"
            }
        },
        "contact": {
            "qq": ""
        },
        "declaration": {
            "ads": "无",
            "data": "无",
            "permissions": "无"
        },
        "npmurl": ""
    },
    "uni_modules": {
        "dependencies": [
            "uv-ui-tools"
        ],
        "encrypt": [],
        "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
    }
}
uni_modules/uv-scroll-list/readme.md
New file
@@ -0,0 +1,19 @@
## ScrollList 横向滚动列表
> **组件名:uv-scroll-list**
该组件一般用于同时展示多个商品、分类的场景,也可以完成左右滑动的列表,往往数量不确定,数量较多支持左右滚动。灵活配置,开箱即用。
# <a href="https://www.uvui.cn/components/scrollList.html" target="_blank">查看文档</a>
## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui) <small>(请不要 下载插件ZIP)</small>
### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
<a href="https://ext.dcloud.net.cn/plugin?name=uv-ui" target="_blank">
![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png)
</a>
#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:<a href="https://www.uvui.cn/components/addQQGroup.html" target="_blank">官方QQ群</a>
uni_modules/uv-status-bar/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "status-bar",
    "状态栏"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,60 +30,73 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools"
        ],
      "uv-ui-tools"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-textarea/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "textarea",
    "文本域"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,60 +30,73 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools"
        ],
      "uv-ui-tools"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-toolbar/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "工具条",
    "工具"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,60 +30,73 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools"
        ],
      "uv-ui-tools"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}
uni_modules/uv-transition/package.json
@@ -9,10 +9,12 @@
    "uv-ui",
    "transition",
    "动画"
],
  ],
  "repository": "",
  "engines": {
    "HBuilderX": "^3.1.0"
    "HBuilderX": "^3.1.0",
    "uni-app": "^3.1.0",
    "uni-app-x": "^3.1.0"
  },
  "dcloudext": {
    "type": "component-vue",
@@ -28,60 +30,73 @@
      "qq": ""
    },
    "declaration": {
        "ads": "无",
        "data": "插件不采集任何数据",
        "permissions": "无"
      "ads": "无",
      "data": "插件不采集任何数据",
      "permissions": "无"
    },
    "npmurl": ""
    "npmurl": "",
    "darkmode": "-",
    "i18n": "-",
    "widescreen": "-"
  },
  "uni_modules": {
    "dependencies": [
            "uv-ui-tools"
        ],
      "uv-ui-tools"
    ],
    "encrypt": [],
    "platforms": {
            "cloud": {
                "tcb": "y",
                "aliyun": "y"
            },
            "client": {
                "Vue": {
                    "vue2": "y",
                    "vue3": "y"
                },
                "App": {
                    "app-vue": "y",
                    "app-nvue": "y"
                },
                "H5-mobile": {
                    "Safari": "y",
                    "Android Browser": "y",
                    "微信浏览器(Android)": "y",
                    "QQ浏览器(Android)": "y"
                },
                "H5-pc": {
                    "Chrome": "y",
                    "IE": "y",
                    "Edge": "y",
                    "Firefox": "y",
                    "Safari": "y"
                },
                "小程序": {
                    "微信": "y",
                    "阿里": "y",
                    "百度": "y",
                    "字节跳动": "y",
                    "QQ": "y",
                    "钉钉": "u",
                    "快手": "u",
                    "飞书": "u",
                    "京东": "u"
                },
                "快应用": {
                    "华为": "u",
                    "联盟": "u"
                }
            }
        }
      "cloud": {
        "tcb": "√",
        "aliyun": "√"
      },
      "client": {
        "uni-app": {
          "vue": {
            "vue2": "-",
            "vue3": "-"
          },
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "vue": "-",
            "nvue": "-",
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-",
            "alipay": "-",
            "toutiao": "-",
            "baidu": "-",
            "kuaishou": "-",
            "jd": "-",
            "harmony": "-",
            "qq": "-",
            "lark": "-"
          },
          "quickapp": {
            "huawei": "-",
            "union": "-"
          }
        },
        "uni-app-x": {
          "web": {
            "safari": "-",
            "chrome": "-"
          },
          "app": {
            "android": "-",
            "ios": "-",
            "harmony": "-"
          },
          "mp": {
            "weixin": "-"
          }
        }
      }
    }
  }
}