开发Android uniapp 插件

混合开发Android 大包基座代码

uniapp后端配置

  1. io.dcloud.uniplugin.IdCardModule 身份证插件方法类
  • 插件方法 idCard
    @UniJSMethod(uiThread = false) :表示调用时是否异步返回结果,此处为false,同步返回
public class TestModule extends UniModule {
    /** *
    刷身份证 
    获取身份证信息 
    */
    @UniJSMethod(uiThread = false)
    public JSONObject idCard() {}
}
  • 返回身份证信息 json 数据示例
{
    "info": {
        "cXBMC": "男",
        "cJZRSFZH": "510105xxxxxxxx0517",
        "cHJXXDZ": "成都市xxxxxxxxxxxxx",
        "cJZRXM": "牟xx",
        "cTX": "V0xmAH4AMgAA/4UUUVFRPnEN1WTzPHWvzMrgf+k65S5N4I97+ZjTY4Hun4JEfXSOpI79eZjN8mx...",
        "cMZMC": "汉",
        "cZJLXMC": "居民身份证",
        "cZJLX": "01",
        "cNL": "25"
    },
    "initDevice": 4100,
    "code": 200
}

uniapp前端配置调用

  1. uniapp前端配置
  • nativeplugins:git仓库中 uniapp示例工程源码文件夹下 复制nativeplugins到对应的前端项目根路径即可
  • manifest.json : 配置刚刚复制的插件yisheng(亿昇)示例
{
    ...
    "app-plus" : {
       ...
        "nativePlugins" : {
            "yisheng" : {
                "__plugin_info__" : {
                    "name" : "yisheng",
                    "description" : "yisheng亿昇刷身份证原生插件",
                    "platforms" : "Android",
                    "url" : "",
                    "android_package_name" : "",
                    "ios_bundle_id" : "",
                    "isCloud" : false,
                    "bought" : -1,
                    "pid" : "",
                    "parameters" : {}
                }
            },
        },
        ...
    },
    ...
}
  1. uniapp前端调用
  • pages/index/index.vue:页面使用
  1. 使用Hbuilder制作本地自定义基座

  2. 页面引用插件

const ToastPlusModule = uni.requireNativePlugin("TestModule")
  1. 页面使用插件
this.resp = ToastPlusModule.idCard()

完整示例如下:
index.vue

<template>
    <view class="content">
        <view class="button1">
            <button @click="idCard()">调用idCard</button>
        </view>
        <view class="container">
            idCard返回信息 :{{inputValue}}
        </view>
        <image :src="'data:image/png;base64,'+photo" style="width: 300px; height: 300px;background-color: antiquewhite;"></image>
    </view>
</template>
<script>
    const IdCardModule = uni.requireNativePlugin("IdCardModule")
    export default {
        data() {
            return {
                resp: "init",
                photo:'',
                inputValue: {
                    "info":{
                        "cTX":"",
                    },
                },
                engine: [],
            }
        },
        methods: {
            idCard() {
                this.inputValue = IdCardModule.idCard()
                this.photo = this.inputValue.info.cTX
                console.log("inputValue  {}",this.inputValue)
                console.log("photo  {}",this.photo)
            }
        }
    }
</script>
<style>
    .container {
        padding: 20px;
        font-size: 18px;
        line-height: 24px;
    }
</style>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容