跳到主要内容

应用代码构成

在上一章中,我们通过开放平台快速创建了一个 QuickStart 项目。你可以留意到这个项目里边生成了不同类型的文件:

  1. .json 后缀的 JSON 配置文件
  2. .html 后缀的 HTML 模板文件
  3. .css 后缀的 CSS 样式文件
  4. .js 后缀的 JS 脚本逻辑文件

接下来我们分别看看这4种文件的作用。

JSON 配置

JSON 是一种数据格式,并不是编程语言,在开放平台应用中,JSON扮演的静态配置的角色。

我们可以看到在项目的根目录有一个 app.json, 我们来讲一下它的作用

应用菜单配置app.json

app.json 是当前应用的全局配置,包括了应用的属性配置,菜单配置等。QuickStart 项目里边的 app.json 配置内容如下:

{
"menus": [
{
"name": "皮料切割机",
"showOnTop": true,
"page": "index/index.html",
"depend": [
"index/index.css"
]
},
{
"name": "机台",
"page": "device/list/device_list.html",
"detailPage": "device/view/device_view.html",
"depend": [
"device/list/device_list.js",
"device/list/device_list.css",
"device/view/device_view.js",
"device/view/device_view.css"
]
}
]
}

我们简单说一下这个配置各个项的含义:

  1. menus -- 配置应用的用户菜单
  2. menu.name -- 菜单的名称
  3. menu.showOnTop -- 是否为顶部菜单
  4. menu.page -- 点击菜单后显示的内容
  5. menu.detailPage -- 点击菜单后显示的内容进入的详细页面
  6. menu.depend -- 该菜单依赖的资源文件,包含.js,.css文件
  7. menu.security -- 该菜单设置的权限;只有在需要对菜单进行权限控制时,才需要加上这个配置;具体使用请查看应用内权限管理章节

JSON语法

这里说一下应用JSON配置的一些注意事项。

JSON文件都是被包裹在一个大括号中 ,通过key-value的方式来表达数据。JSON的Key必须包裹在一个双引号中,在实践中,编写 JSON 的时候,忘了给 Key 值加双引号或者是把双引号写成单引号是常见错误。

JSON的值只能是以下几种数据格式,其他任何格式都会触发报错,例如 JavaScript 中的 undefined

  1. 数字,包含浮点数和整数
  2. 字符串,需要包裹在双引号中
  3. Bool值,true 或者 false
  4. 数组,需要包裹在方括号中 []
  5. 对象,需要包裹在大括号中 {}
  6. null

还需要注意的是 JSON 文件中无法使用注释,试图添加注释将会引发报错。

HTML模板

从事过网页编程的人知道,网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来处理这个页面和用户的交互。

此处的HTML就是普通HTML的格式

<div class="row">
<div class="col-xs-12">
<div class="widget">
<div class="widget-body">
<h2>介绍</h2>
<div>
皮料切割机应用可以管理皮料切割机机台信息,维保,以及查看皮料切割机实时加工状态
</div>
<h2>快捷操作</h2>
<div>
<button class="btn btn-primary btn-sm" type="button">
<i class="fa fa-link"></i>
查看机台
</button>
</div>
</div>
</div>
</div>
</div>

HTML语法包含AngularJS1.0版本的组合标签,详细请查看下一章

CSS样式表

此处的CSS就是普通的CSS样式

.header{
height: 60px;
border: 1px #ddd solid;
}

JavaScript逻辑交互

此处的JS文件就是JS语法

define([],function() {
var app = angular.module('app');

app.controller('HeaderController',['$scope',function($scope) {
$scope.entity = {
name:'应用'
}
}]);
})

JS语法包含RequireJS动态加载语法,以及AngularJS 1.0语法,详细请查看下一章