MUI框架-11-MUI前端 +php后台接入百度文字识别API

MUI框架-11-MUI前端 +php后台接入百度文字识别API

  • 这里后台不止一种,Python,Java,PHP,Node,C++,C# 均可以
  • 这里使用的是 php 来介绍,已经解决全部问题,由于处理不少错误,可能会比较复杂,请你们坚持按步骤来,
  • 大概流程就是:前端发送 Ajax 请求,php 后台实现文字识别,并将识别后的文字返回到前端页面
  • 先放上效果图:
    在这里插入图片描述

(一)准备阶段

  • 1.到百度云官网注册,几秒就能够,这个不须要审核,不像腾讯开发者认证好几天,注册而后登录
  • 百度云官网:https://cloud.baidu.com/?from=console
  • 2.按照下面截图,产品>人工智能>文字识别,咱们找到文字识别:
  • 3.点击【当即使用】:
  • 4.而后点击【建立应用】,填写名称,描述,很是快,不须要审核
  • 5.这里咱们主要是为了获得 API Key 和 Secret Key

(二)生成签名

  • 这里没必要按照官方文档写的用服务器去发请求,设置一堆请求头
  • 直接将下面地址替换本身刚才的API Key 和 Secret Key,而后打开浏览器访问:
https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】
  • 而后会返回 json 格式的数据,access_token: 要获取的Access Token;
  • 【注意】:第二行可能还有,这个要拷贝下来,存起来备用
    在这里插入图片描述
  • 舒适提示:Access Token的有效期为30天(以秒为单位),请您集成时注意在程序中按期请求新的token

在 HBuilder 搭建 mui 项目

  • 若是你尚未在 HBuilder 配置 php 服务器,请参考:HBuilder+wampserver配置PHP外置web服务器
  • 在 HBuilder 【新建】>【移动app】>【模板选择含MUI的模板】
  • 打开 index.html 文件
  • 新建目录命名PHP,新建 test.php 文件,在目录下再新建 img 目录
  • 【特别注意】:新手的话你要知道请求 php 服务器,是绝对不容许经过什么 ../ 返回上级目录,下级目录访问的,由于php 服务器的端口和你 HTML web 服务器是不同的,我就别这个坑过,要是想在感受上实现先后端分离,也能够建立一个新的项目,这里不必由于只有一个 php 文件
    • 如今咱们有了下面目录了
      在这里插入图片描述
  • 打开 test.php 粘贴下面代码
  • 1.替换本身从浏览器获取的access_token,2.替换本身图片路径
  • test.php 文件代码:
<?php
/**
 * 发起http post请求(REST API), 并获取REST请求的结果
 * @param string $url
 * @param string $param
 * @return - http response body if succeeds, else false.
 * 
 */

 function request_post($url = '', $param = '')
{
    if (empty($url) || empty($param)) {
        return false;
    }

    $postUrl = $url;
    $curlPost = $param;
    // 初始化curl
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $postUrl);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    // 要求结果为字符串且输出到屏幕上
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    // post提交方式
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
    // 运行curl
    $data = curl_exec($curl);
    curl_close($curl);

    return $data;
}

//替换本身从浏览器获取的access_token 
$url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic?access_token=【本身的access_token】';

//图片只能是本题图片,替换本身的图片
$img = file_get_contents('img/chi1.jpg');
$img = base64_encode($img);
$bodys = array(
    "image" => $img
);
$res = request_post($url, $bodys);

echo $res;
//var_dump($res);

?>
  • 而后咱们就能够写前端页面了,打开 index.html,粘贴下面代码:
  • 替换本身 test.php 文件在 web 浏览器的路径,而后把本机127.0.0.1替换成 ipv4地址,cmd 输入ipv4查看 截图:
    在这里插入图片描述
  • index.html 文件代码
<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <title></title>
        <script src="js/mui.min.js"></script>
        <link href="css/mui.min.css" rel="stylesheet" />
        <script type="text/javascript" charset="utf-8">
            mui.init();
        </script>
    </head>

    <body>
        <header class="mui-bar mui-bar-nav">
            <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
            <h1 class="mui-title">百度文字识别</h1>
        </header>
        <div class="mui-content">
            <br>
            <button id="queren" type="button" style="background-color: brown;color: #eeeeee;">发送请求</button>
            <!--空的h2 用来存放返回的数据-->
            <hr>
            <p id="res" style="font-size: larger;"> </p>
        </div>
        
        

        <!--处理请求-->
        <script type="text/javascript">
            var upload = function(c, d) {
                "use strict";
                var $c = document.querySelector(c),
                    $d = document.querySelector(d),
                    file = $c.files[0],
                    //预览框
                    reader = new FileReader();
                reader.readAsDataURL(file);
                reader.onload = function(e) {
                    $d.setAttribute("src", e.target.result);
                };
            };

            var btn = document.getElementById("queren");
            //监听点击事件
            btn.addEventListener("tap", function() {
                //ajax
                
                //替换本身 test.php 文件在 web 浏览器的路径
                //用本身的 ipv4 地址,cmd 获取ipconfig 获取 
                mui.ajax('http://10.160.62.75/myphp/mui/php/test.php', {

                    dataType: 'json', //服务器返回json格式数据
                    type: 'get', //HTTP请求类型
                    timeout: 10000, //超时时间设置为10秒;
                    headers: {
                        'Content-Type': 'application/json'
                    },
                    success: function(data) {
                        //服务器返回响应,根据响应结果,分析是否登陆成功;
                        
                        //这里要对本身的数据进行处理
                        var html = " ";
                        for(var i = 0; i < data.words_result_num; i++){
 
                          html = html + data.words_result[i].words;
                         
                        };
                         
                        console.log(html)
                        document.getElementById("res").innerHTML = html;

                    },
                    error: function(xhr, type, errorThrown) {
                        //异常处理;
                        console.log(type);
                    }
                });
            });
            //触发submit按钮的点击事件

            mui.trigger(btn, 'tap');
        </script>

    </body>

</html>

运行

更多文章连接:MUI 框架


  • 本笔记不容许任何我的和组织转载
相关文章
相关标签/搜索