关于小程序的入门学习之一

     好像记得是前年开始发布小程序,当时一些同行朋友跟我说最近微信会有小程序发布,将来必定大火!小程序确实是发布了,但是比较鸡肋,但是也有一些不少可取的地方,这里就不瞎扯了.直到最近有面试的童鞋复试的题目是需要做一个体验版的小程序,题目如下:


      其实本身的功能也不难,就是小程序没有了解过,不过做过之后的话发现挺简单的,就是需要熟悉微信本身的wxml和一些api的方法.

     首先拿到题目的话先分析一下需要做什么东西,首先在小程序中需要做一个简单的文本框和按钮,这里的话面试官是想看看自学速度是不是快,这个只需要查看下小程序的文档即可(https://mp.weixin.qq.com/debug/wxadoc/dev/component/)

<form bindsubmit="formSubmit" bindreset="formReset">

	<view class="section">
  
		<input name="name" placeholder="这是一个可以自动聚焦的input" auto-focus/>
	
</view>
 
	<button formType="submit">报名</button>

</form>

form表单中的bindSubmint这个是设置在js中form表单提交的方法(这个是结合代码得出的结论,没有查阅资料,最后代码验证确实是这样的)

效果如下图(css代码太简单就没有贴上来了)




     然后,页面写好了只有就是需要交互了,题目中有要求是可以在后台管理报名信息,我理解为pc端后台进行管理,那么我们首先要写一个PHP的后台管理的模块,另外需要做一个响应的接口,我是做了一个php原生简单的接口,结构如下图:


api.php(文件是处理接受的数据,进行数据库的处理

<?php
//require_once 'pdoModel.php';
class api{
    public $db;
    //数据库连接
    function __construct(){
        $dbms='mysql';     //数据库类型
        $host='localhost'; //数据库主机名
        $dbName='test';    //使用的数据库
        $user='root';      //数据库连接用户名
        $pass='root';          //对应的密码
        $dsn="$dbms:host=$host;dbname=$dbName";
        try {
            //默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
           $this->db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));
        } catch (PDOException $e) {
            die ("Error!: " . $e->getMessage() . "<br/>");
        }
    }  
    //用户报名存储
    function user_bm($user){
       $strSql = "insert into user(bm_name) values('".$user."')";
       $re = $this->db->exec($strSql);//条数
       return  intval($re);//返回新增数量
    }
    
    //接口发送数据格式
    function sendRe($param='') {
        $data = array();
        if (!empty($param)){
            $data['status'] = 0;
            $data['data']   = $param;
            $data['info']   = 'success!';
        }else{
            $data['status'] = 500;
            $data['data']   = $param;
            $data['info']   = 'miss param!';
        }
        echo json_encode($data);
    }
}

index.php(这个文件就是小程序请求的文件)

<?php
require_once 'api.php';
$test = new api();
if (isset($_REQUEST)){
    $name = $_REQUEST['username'];
    $num = $test->user_bm($name);
}
    $test->sendRe($num);

做完之后要在本地测试好,获得url地址:http://localhost:8080/ceshi/index.php

   最后,接口写好了之后的话就需要在小程序中请求,小程序的交互似乎都是通过js请求,对应的页面文件夹中的index.js,开始说到在页面中是用form表单来提交,提交方法是bindSubmint的值,那么我们接下来要在index.js中最后代码中添加提交方法如下

// pages/login/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
  
  },

 ...自带的方法...
//start
  formSubmit: function (e) {
    var username = e.detail.value.name;
    wx.request({
      url: 'http://localhost:8080/ceshi/index.php', //仅为示例,并非真实的接口地址
      data: {
        username: username
      },
      header: {
        'content-type': 'application/json' // 默认值
      },
      success: function (res) {
        console.log(res.data)
      }
    })
  }//end
})

这样子小程序与本地的api都互通了,form表单的提交也是在文档上简单的!

以上就是研究出来的小demo,对于开发时间长点的程序员来说应该还算比较好入门,如果js精通的就更加没有什么难度了,以上内容也许有误,请大家积极指出!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值