WebApp【公共组件库】@前端(For Git Submodule)
coder77
2025-04-10 1ef56b68318629e24f8e42406822059262d392b9
Merge branch 'master_dev' of ssh://dev.zhiheiot.com:29418/mob-components into master_dev
4 files added
2 files modified
88 ■■■■■ changed files
plugins/baiduMap/CBaiduMap.weapp.vue 4 ●●●● patch | view | raw | blame | history
plugins/baiduMap/cBaiduMap.scss 13 ●●●●● patch | view | raw | blame | history
weappNative/chooseAvatar/weappChooseAvatar.js 46 ●●●●● patch | view | raw | blame | history
weappNative/chooseAvatar/weappChooseAvatar.json 4 ●●●● patch | view | raw | blame | history
weappNative/chooseAvatar/weappChooseAvatar.wxml 11 ●●●●● patch | view | raw | blame | history
weappNative/chooseAvatar/weappChooseAvatar.wxss 10 ●●●●● patch | view | raw | blame | history
plugins/baiduMap/CBaiduMap.weapp.vue
@@ -28,7 +28,7 @@
                    type="primary"
                    size="small"
                    :onClick="evt => handleChooseLocation(evt)"
                >选择位置</AtButton>
                >选择地点</AtButton>
                <AtButton
                    type="primary"
                    size="small"
@@ -41,7 +41,7 @@
                    size="small"
                    class="btn-info"
                    :onClick="evt => handleSaveLocation(evt)"
                >保存</AtButton>
                >确认</AtButton>
            </view>
        </view>
    </view>
plugins/baiduMap/cBaiduMap.scss
@@ -27,27 +27,32 @@
        .map-controls-top {
            display: flex;
            width: 100%;
            justify-content: space-between;
            align-items: center;
            height: 100px;
            padding: 0 20px;
            box-sizing: border-box;
            .at-button {
                width: 45%;
                width: calc(50% - 6px);
                height: 76px !important;
                line-height: 72px;
                font-size: 40px;
                margin: 0;
            }
        }
        .map-controls-bottom {
            display: flex;
            align-items: center;
            height: 100px;
            width: 100%;
            height: 88px;
            padding: 0 20px;
            box-sizing: border-box;
            .at-button {
                width: 95%;
                width: 100%;
                height: 76px !important;
                line-height: 72px;
                font-size: 40px;
                margin: 0;
            }
        }
    }
weappNative/chooseAvatar/weappChooseAvatar.js
New file
@@ -0,0 +1,46 @@
/**
 * 微信小程序原生头像选择组件
 * 用于在小程序环境中调用原生的头像选择功能
 * @author Tevin
 * @tutorial
 *  第一步:注册为 Taro 元素组件
 *      打开 Taro 页面的 config.js 配置文件,在 usingComponents 中注册为元素组件
 *      export default {
 *          usingComponents: {
 *              'weapp-choose-avatar': '@components/weappNative/chooseAvatar/weappChooseAvatar',
 *          }
 *      }
 *  第二步:在页面中使用元素组件(直接当元素使用)
 *      <weapp-choose-avatar @chooseAvatar="evt=>onChooseAvatar(evt)">
 *          <button>选择头像</button>
 *      </weapp-choose-avatar>
 *
 * @notice
 *  1. 样式完全由内容决定,组件内部所有样式已清空
 *  2. 绑定事件需要用“@”,返回参数为头像地址
 */
Component({
    behaviors: [],
    options: {
        styleIsolation: 'apply-shared',
    },
    // 相当于 props
    properties: {
        // 禁用状态
        disabled: {
            type: Boolean,
            value: false,
        },
        // 按钮文本
        content: {
            type: String,
            value: '按钮',
        },
    },
    data: {},
    methods: {
        handleChooseAvatar(evt) {
            this.triggerEvent('chooseAvatar', evt.detail);
        },
    },
});
weappNative/chooseAvatar/weappChooseAvatar.json
New file
@@ -0,0 +1,4 @@
{
    "component": true,
    "usingComponents": {}
}
weappNative/chooseAvatar/weappChooseAvatar.wxml
New file
@@ -0,0 +1,11 @@
<button
    class="c-choose-avatar"
    type="default"
    plain="true"
    size="mini"
    disabled="{{ disabled }}"
    open-type="chooseAvatar"
    bindchooseavatar="{{ 'handleChooseAvatar' }}"
>
    <slot></slot>
</button>
weappNative/chooseAvatar/weappChooseAvatar.wxss
New file
@@ -0,0 +1,10 @@
.c-choose-avatar {
    width: auto;
    height: auto;
    padding-left: 0rpx !important;
    padding-right: 0rpx !important;
    margin: 0;
    border-width: 0 !important;
    border-color: transparent !important;
    -webkit-tap-highlight-color: transparent !important;
}