cli如何快速构建vue项目,Mobile使用方法简明教程

一、基础知识

vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的。

ThinkPHP
CURD方法的data方法也是模型类的连贯操作方法之一,用于设置当前要操作的数据对象的值,很多开发人员却并不太习惯用这个方法,今天来讲解下如何用好data方法。

1.手机APP的类型

 1、安装vue-cli

具体用法如下:

移动端的应用有这几种:WebApp,NativeApp,HybridApp。

使用npm全局安装vue-cli(前提是已经安装了nodejs,否则连npm都用不了)

1.写操作

WebApp 就是手机网站,需要用手机浏览器访问。

 $ npm install -g vue-cli

通常情况下我们都是通过create方法或者赋值的方式生成数据对象,然后写入数据库,例如:

NativeApp是用原生语言开发,用户需要下载安装的手机应用。
NativeApp的开发成本很高,每个平台的开发语言都不一样,
比如IOS的开发语言是object C , Android系统的APP需要用Java开发,
WindowsPhone 则需要用 C#
开发。那么我们如果需要做一个多平台都能运行的APP,需要用多种语言重复开发多次。
相对于NativeApp来说, WebApp开发就简单多了,
用html,css,js就可开发WebApp, 而且开发一次跨多个平台。但是WebApp
需要用户打开手机浏览器输入网址才能访问,而且不能像NativeApp
能调用手机的摄像头,通讯录等功能。WebApp的html,css,js图片等静态资源在服务器上,用户需要下载,会消耗用户更多的流量。
而NativeApp的静态资源在手机本地。

2、创建自己的工作空间

$Model = D('User');
$Model->create();
 // 这里略过具体的自动生成和验证判断
$Model->add();

HybridApp中和了NativeApp和WebApp各自的优势。 我们可以用html,css,js
开发,兼容多个平台。用户也要下载安装,并能调用手机的摄像头、通讯录等功能,
HybridApp的静态资源也在手机本地。

$ vue init webpack vuetest

又或者直接对数据对象赋值,例如:

我们知道ThinkPHP的模板也是用HTML,CSS,JS
开发的。所以我们想能否将ThinkPHP的模板直接打包成手机APP?让我们能一次开放同时拥有电脑版网站,手机版网站和手机APP,
因此才有了TPM的诞生。TPM能让我们将ThinkPHP的模板打包成一个HybridApp。

3、项目信息

$Model = M('User');
$Model->name = '流年';
$Model->email = 'thinkphp@qq.com';
$Model->add();

2.手机APP的一般架构

命令输入后,会进入安装阶段,需要用户输入一些信息

那么data方法则是直接生成要操作的数据对象,例如:

很多手机APP的数据都是动态获取的,我们需要给APP提供接口,让APP请求接口获取数据。
不管你是开发NavtiveApp 还是 HybridApp, 都需要给APP提供接口。

Project name (vuetest)
$Model = M('User');
$data['name'] = '流年';
$data['email'] = 'thinkphp@qq.com';
$Model->data($data)->add();

传统的HybridApp 开发方式任然需要我们为APP开发一个接口程序,
我们还要用js写调用接口的ajax的代码。
如果使用TPM开发,不用特意写接口程序,也不用写ajax调用接口的程序 。
我们还是按照开发网站的方式开发手机客户端,在
Action中指派模板变量, 在模板中使用模板变量。
当我们将模板打包成APP时,APP能自动请求Action,然后渲染对应的模板,这时候请求Action时,Action会自动返回json格式数据。

项目名称,可以自己指定,也可直接回车,按照括号中默认名字(注意这里的名字不能有大写字母,如果有会报错Sorry,
name can no longer contain capital letters)

注意:如果我们同时使用create方法和data创建数据对象的话,则后调用的方法有效。

3.其他手机开发的知识

Project description (A Vue.js project) 
//项目描述

data方法支持数组、对象和字符串,对象方式如下:

我们要开发好手机APP,还需要了解更多手机开发的知识。
手机的尺寸大小不一样,所有我们的界面一般不能写成固定尺寸的,
要做响应式设计。 建议大家了解一下响应式设计的知识。
也可以结合一些UI框架,如bootstrap、purecss 他们自带对响应式的支持。
建议大家再阅读一下《移动端webapp开发必备知识》

项目描述,也可直接点击回车,使用默认名字

$Model = M('User');
$obj = new stdClass;
$obj->name = '流年';
$obj->email = 'thinkphp@qq.com';
$Model->data($obj)->add();

二、环境搭建

Author (……..)       //作者

字符串方式用法如下:

首先你需要建立一个包含TPM的ThinkPHP项目。
你可以在ThinkPHP官方网站上下载TPM, 也可以中github中获得。
Github的地址是:

将下载的文件中,
Tpl目录下的文件复制到你的项目文件夹下Tpl目录中。将SwitchMobileTplBehavior.class.php
复制到 项目目录下 Lib/Behavior 目录下,将TemplateMobile.class.php
文件复制到 ThinkPHP/Extend/Driver/Template 下。
项目需要开启layout , 在项目配置文件中配置:

4、用户选择

$Model = M('User');
$data = 'name=流年&email=thinkphp@qq.com';
$Model->data($data)->add();
'LAYOUT_ON'=>true
Install vue-router? (Y/n)

也可以直接在add方法中传入数据对象来新增数据,例如:

在项目的Conf文件夹下建立tags.php ,代码为:

是否安装vue-router,这是官方的路由。这里就输入“y”后回车即可。

$Model = M('User');
$data['name'] = '流年';
$data['email'] = 'thinkphp@qq.com';
$Model->add($data);
<?php 
 return array( 
 'action_begin'=>array('SwitchMobileTpl')
 )
Use ESLint to lint your code? (Y/n)

但是这种方式data参数只能使用数组。

如果想手机客户端支持页面跳转,需要修改核心文件
ThinkPHP/Common/functions.php 中得redirect函数,修改为:

是否使用ESLint管理代码,ESLint是个代码风格管理工具,是用来统一代码风格的,并不会影响整体的运行,这也是为了多人协作。用则选Y

当然data方法也可以用于更新数据,例如:

function redirect($url, $time=0, $msg='') {
  //多行URL地址支持
  $url    = str_replace(array("\n", "\r"), '', $url);
  if (empty($msg))
    $msg  = "系统将在{$time}秒之后自动跳转到{$url}!";
  if (!headers_sent()) {
    // redirect
    if (0 === $time) {
      //手机客户端跳转发送redirect的header
      if(defined('IS_CLIENT') && IS_CLIENT){
        if(''!==__APP__){
          $url=substr($url,strlen(__APP__));
        }
        header('redirect:'.$url);
      }else{
        header('Location: ' . $url);
      }
    } else {
      header("refresh:{$time};url={$url}");
      echo($msg);
    }
    exit();
  } else {
    $str  = "<meta http-equiv='Refresh' content='{$time};URL={$url}'>";
    if ($time != 0)
      $str .= $msg;
    exit($str);
  }
 }

Standard ()

$Model = M('User');
$data['id'] = 8;
$data['name'] = '流年';
$data['email'] = 'thinkphp@qq.com';
$Model->data($data)->save();

编辑器打开Tpl/index.html文件,修改代码

标准,什么标准呢,去给提示的standardgithub地址看一下,
原来时js的标准风格

当然我们也可以直接这样用:

TPM.run("http://yourappurl"); 

AirBNB ()

$Model = M('User');
$data['id'] = 8;
$data['name'] = '流年';
$data['email'] = 'thinkphp@qq.com';
$Model->save($data);

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签:
网站地图xml地图