更新记录

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. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问