<template>
    <view class="upImg row justify-center items-center" @click="chooseImg">
        <template v-if="img">
            <image @click.stop="previewImage" :src="img" mode="aspectFit"/>
            <view class="row justify-center items-center">
                <view>重新上传</view>
            </view>
        </template>
    </view>
</template>
<script>
export default {
    props: ['img','type'],
    components: { },
    data() {
        return {
            action: this.host2 + "/api/File/UploadTencent",
            access_token: '',
        }
    },
    onLoad(options) {
        
    },
    onShow() {

    },
    mounted() {
       
    },
    methods: {
        //获取百度ai平台token
        getAccess_token() {
            let that = this;
            uni.request({
                url: "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=8gjFAsKQBmkRXwWIWkstlQew&client_secret=SBUAtyEBTQpVmA81W4u2vS5ScPwfRNBS", // 百度获取token接口地址
                data: {
                    grant_type: "client_credentials", // 固定写死
                    client_id: "8gjFAsKQBmkRXwWIWkstlQew", // by:chaoxuekeji
                    client_secret: "SBUAtyEBTQpVmA81W4u2vS5ScPwfRNBS",
                },
                method: "POST",
                success(res) {
                    console.log("获取token成功", res);
                    that.access_token = res.data.access_token;
                },
                fail(e) {
                },
            });
        },
        previewImage() {
            uni.previewImage({
                urls: [this.img],
                current: this.img,
                longPressActions: {
                    itemList: ["发送给朋友", "保存图片", "收藏"],
                    success: function(data) {},
                    fail: function(err) {
                        console.log(err.errMsg);
                    },
                },
            });
        },
        chooseImg() {
            this.getAccess_token()
            let that = this;
            uni.chooseImage({
                count: 1, //默认9
                sizeType: ["original", "compressed"], //可以指定是原图还是压缩图，默认二者都有
                sourceType: ["album"], //从相册选择
                success: function (res) {
                    wx.getFileSystemManager().readFile({
                        filePath: res.tempFilePaths[0],
                        encoding: "base64", //编码格式
                        success: (ans) => {
                            that.getImgInfo(ans.data, that.access_token, (_res) => {
                                if (_res.data.direction == 1) {
                                    //未定义，图片类型错误
                                    wx.showToast({
                                        title: "图片类型错误!",
                                        icon: "none",
                                        duration: 1000,
                                    });
                                } else {
                                    let datas = _res.data.words_result;
                                    that.upFile(res.tempFilePaths[0], (uploadRes) => {
                                        let BusinessLicense = JSON.parse(
                                            uploadRes.data
                                        ).data;
                                        let infor = {}
                                        infor.BusinessLicense = BusinessLicense
                                        if(that.type == '1'){
                                            infor.CompanyName = datas.单位名称.words
                                            infor.LegalPerson = datas.法人.words
                                            infor.UnifiedCode = datas.社会信用代码.words
                                            infor.Addres = datas.地址.words 
                                        }else if(that.type == '2'){
                                            infor.LegalIdCardNumber = datas.公民身份号码.words 
                                        }else if(that.type == '3'){
                                            let y = datas.失效日期.words.substring(0, 4)
                                            let m = datas.失效日期.words.substring(4, 6)
                                            let d = datas.失效日期.words.substring(6, 8)
                                            infor.LegalIdCardTime = `${y}-${m}-${d}`
                                        }
                                        console.log("infor", infor);
                                        that.$emit('onSuccess', infor);
                                    });
                                }
                            });
                        },
                    });
                },
            });
        },
        //图片上传
        upFile(img, resCall) {
            uni.showLoading({
                title: "上传中",
            });
            uni.uploadFile({
                url: this.action,
                filePath: img,
                name: "field",
                formData: {
                    user: "test",
                },
                success: (uploadFileRes) => {
                    uni.hideLoading();
                    resCall(uploadFileRes);
                },
                fail: function (res) {
                    wx.showToast({
                        title: "上传失败!",
                        icon: "none",
                        duration: 1000,
                    });
                },
            });
        },
        //提取营业执照信息
        getImgInfo(data, token, resCall) {
            let that = this;
            let url = "";
            let id_card_side = ""
            if(that.type==1) url = "https://aip.baidubce.com/rest/2.0/ocr/v1/business_license?"
            else if(that.type==2||that.type==3) {
                url = "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard?"
                id_card_side = that.type==2?"front":"back"
            }
            console.log(`${url}access_token=${token}`,"url---");
            uni.request({
                url:`${url}access_token=${token}`,
                method: "POST",
                header: {
                 "Content-Type": "application/x-www-form-urlencoded",
                },
                data: {
                    image: data,
                    id_card_side,
                },
                success(res) {
                    resCall(res);
                },
                fail(res) {
                    wx.showToast({
                        title: "图片类型错误!",
                        icon: "none",
                        duration: 1000,
                    });
                },
            });
        },
    }
}
</script>
<style lang="scss" scoped>
@import url("@/asset/css/flex.css");
.upImg{
    width: 100%;
    height: 100%;
}
.upImg image{
    width: 100%;
    height: 100%;
}
.upImg view{
    position: absolute;
    left: 0;
    right: 0;
    z-index: 2;
    bottom: 10rpx;
}
.upImg view view{
    width: 252rpx;
    border-radius: 50rpx;
    border: 1rpx solid #0399FF;
    color: #0399FF;
    background: #F3F5F9;
    font-size: 32rpx;
    font-weight: 800;
    margin: auto;
    line-height: 80rpx;
    padding: 0 31rpx;
    text-align: center;
}
</style>
