混合开发Android 大包基座代码
uniapp后端配置
- 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前端配置调用
- 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" : {}
}
},
},
...
},
...
}
- uniapp前端调用
- pages/index/index.vue:页面使用
使用Hbuilder制作本地自定义基座
页面引用插件
const ToastPlusModule = uni.requireNativePlugin("TestModule")
- 页面使用插件
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>
