更新记录

1.0.0(2023-11-12)

发布1.0.0版本


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


Marcent-WebviewModule

安卓原生webview(js调用),解决uni自带webview返回键被网页h5占用导致返回键监听无效、返回就退出App的问题,支持打开各种网页h5。
本插件是js调用的形式,如需以组件式(直接嵌入到vue文件中的html部分)的形式使用原生webview插件,请使用另外一个插件:组件式原生webview

注意事项

本插件是 uniapp 原生插件,使用前需学习 uniapp 原生插件使用方法,官方教程:uni原生插件使用教程

使用示例

const MarcentWebviewModule = uni.requireNativePlugin("Marcent-WebviewModule")
MarcentWebviewModule.open(params, callback)

请求参数说明

params

参数 类型 必传 说明
url String 是 要打开的链接网址。
title String 否 默认为跳转网页的标题。
needNav Boolean 否 默认true,是否显示导航条。

callback

插件通过此回调函数,返回一个对象

参数 类型 必传 说明
code int 是 状态编码。
msg String 是 编码描述。

code、code对应枚举

code msg
200 成功打开web
500 错误提醒
201 返回上一页
202 退出web

示例

<template>
    <view class="main">
        <input class="in" placeholder="请输入网址" v-model="params.url" />
        <input class="in" placeholder="请输入标题" v-model="params.title" />
        <radio-group @change="onNeedNav">
            <radio class="mg-r-12" value="1" :checked="!params.needNav">关闭导航</radio>
            <radio value="2" :checked="params.needNav">开启导航</radio>
        </radio-group>
        <button class="btn" type="primary" @tap="go">打开</button>
        <view class="info">
            参数:
            {{ JSON.stringify(params) }}
        </view>
    </view>
</template>

<script>
    const MarcentWebviewModule = uni.requireNativePlugin("Marcent-WebviewModule")

    export default {
        data() {
            return {
                params: {
                    url: '',
                    title: '',
                    needNav: true
                }
            };
        },
        methods: {
            go() {
                MarcentWebviewModule.open(this.params, res => {
                    console.log('插件返回', res);
                })
            },
            onNeedNav(e) {
                this.params.needNav = e.detail.value == '2'
            }
        }
    }
</script>

<style lang="scss">
    .main {
        padding: 16px;
    }

    .in {
        padding: 8px 12px;
        margin-bottom: 12px;
        border-radius: 12px;
        border: 1px solid rgba(0, 0, 0, .5);
    }

    .btn {
        margin: 12px 0;
    }

    .mg-r-12 {
        margin-right: 12px;
    }

    .info{
        overflow-wrap: break-word;
        word-break: break-all;
    }
</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

android.permission.INTERNET

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无