微信开发-配置篇

快捷操作

  • 格式调整
    • Ctrl+S:保存文件
    • Ctrl+[, Ctrl+]:代码行缩进
    • Ctrl+Shift+[, Ctrl+Shift+]:折叠打开代码块
    • Ctrl+C Ctrl+V:复制粘贴,如果没有选中任何文字则复制粘贴一行
    • Shift+Alt+F:代码格式化
    • Alt+Up,Alt+Down:上下移动一行
    • Shift+Alt+Up,Shift+Alt+Down:向上向下复制一行
    • Ctrl+Shift+Enter:在当前行上方插入一行
  • 光标相关
    • Ctrl+End:移动到文件结尾
    • Ctrl+Home:移动到文件开头
    • Ctrl+i:选中当前行
    • Shift+End:选择从光标到行尾
    • Shift+Home:选择从行首到光标处
    • Ctrl+Shift+L:选中所有匹配
    • Ctrl+Shift+k: 删除一行
    • Ctrl+D:选中匹配
    • Ctrl+U:光标回退

文件结构

描述整体程序的 app 和多个描述各自页面的 page

  • 主体部分(必须放在项目的根目录,也是全局配置):
文件必填作用
app.js小程序逻辑
app.json小程序公共设置
app.wxss小程序公共样式表

  • 页面组成:
文件类型必填作用
js页面逻辑
wxml页面结构
wxss页面样式表
json页面配置

为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名。

配置

  • 小程序公共主配置app.json:
    是对当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等

属性类型是否必填描述
pagesString Array设置页面路径
windowObject设置默认页面的窗口表现
tabBarObject设置底部tab的表现
networkTimeoutObject设置网络超时时间
debugBoolean设置是否开启debug模式

案例:

{
  "pages": [
    "pages/index/index",
    "pages/logs/index"
  ],
  "window": {
    "navigationBarTitleText": "Demo"
  },
  "tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页"
    }, {
      "pagePath": "pages/logs/logs",
      "text": "日志"
    }]
  },
  "networkTimeout": {
    "request": 10000,
    "downloadFile": 10000
  },
  "debug": true
}

解读:参数

pages
接受一个数组,每一项都是字符串,来指定小程序由哪些页面组成。每一项代表对应页面的【路径+文件名】信息,数组的第一项代表小程序的初始页面

文件名不需要写文件后缀,因为框架会自动去寻找路径下 .json, .js, .wxml, .wxss 四个文件进行整合
小程序中新增/减少页面,都需要对 pages 数组进行修改

window

用于设置小程序的状态栏、导航条、标题、窗口背景色。


属性类型默认值描述最低版本
navigationBarBackgroundColorHexColor000000导航栏背景颜色,如”#000000”
navigationBarTextStyleStringwhite导航栏标题颜色,仅支持 black/white
navigationBarTitleTextStringnull导航栏标题文字内容
navigationStyleStringdefault导航栏样式,仅支持 default/custom。custom 模式可自定义导航栏,只保留右上角胶囊状的按钮微信版本 6.6.0
backgroundColorHexColorffffff窗口的背景色
backgroundTextStyleStringdark下拉 loading 的样式,仅支持 dark/light
backgroundColorTopStringffffff顶部窗口的背景色,仅 iOS 支持微信版本 6.5.16
backgroundColorBottomStringffffff底部窗口的背景色,仅 iOS 支持微信版本 6.5.16
enablePullDownRefreshBooleanfalse是否开启下拉刷新,详见页面相关事件处理函数
onReachBottomDistanceNumber50页面上拉触底事件触发时距页面底部距离,单位为px

案例:

{
  "window":{
    "navigationBarBackgroundColor": "#ffffff",
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "微信接口功能演示",
    "backgroundColor": "#eeeeee",
    "backgroundTextStyle": "light"
  }
}

tabBar底部tab切换栏

如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

  • 当设置 position 为 top 时,将不会显示 icon
  • tabBar 中的 list 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。

属性类型必填默认值描述
colorHexColornulltab 上的文字默认颜色
selectedColorHexColornulltab 上的文字选中时的颜色
backgroundColorHexColornulltab 的背景色
borderStyleStringblacktabbar上边框的颜色, 仅支持 black/white
listArraynulltab 的列表,详见 list 属性说明,最少2个、最多5个 tab
positionStringbottom可选值 bottom、top

重点:其中 list 接受一个数组,数组中的每个项都是一个对象,其属性值如下:


属性类型必填说明
pagePathString页面路径,必须在 pages 中先定义
textStringtab 上按钮文字
iconPathString图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效,不支持网络图片
selectedIconPathString选中时的图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px ,当 postion 为 top 时,此参数无效

networkTimeout 可以设置各种网络请求的超时时间。


属性类型必填说明
requestNumberwx.request的超时时间,单位毫秒,默认为:60000
connectSocketNumberwx.connectSocket的超时时间,单位毫秒,默认为:60000
uploadFileNumberwx.uploadFile的超时时间,单位毫秒,默认为:60000
downloadFileNumberwx.downloadFile的超时时间,单位毫秒,默认为:60000

debug
可以在开发者工具中开启 debug 模式,在开发者工具的控制台面板,调试信息以 info 的形式给出,其信息有Page的注册,页面路由,数据更新,事件触发 。 可以帮助开发者快速定位一些常见的问题。

  • 工具配置 project.config.json:
  • 页面配置 page.json:
    page.json 其实用来表示 pages/logs 目录下的 logs.json 这类和小程序页面相关的配置

page.json页面配置文件


属性类型默认值描述
navigationBarBackgroundColorHexColor000000导航栏背景颜色,如”#000000”
navigationBarTextStyleStringwhite导航栏标题颜色,仅支持 black/white
navigationBarTitleTextStringnull导航栏标题文字内容
backgroundColorHexColorffffff窗口的背景色
backgroundTextStyleStringdark下拉 loading 的样式,仅支持 dark/light
enablePullDownRefreshBooleanfalse是否开启下拉刷新,详见页面相关事件处理函数。
disableScrollBooleanfalse设置为 true 则页面整体不能上下滚动;只在 page.json 中有效,无法在 app.json 中设置该项
onReachBottomDistanceNumber50页面上拉触底事件触发时距页面底部距离,单位为px

案例

{
  "navigationBarBackgroundColor": "#ffffff",
  "navigationBarTextStyle": "black",
  "navigationBarTitleText": "微信接口功能演示",
  "backgroundColor": "#eeeeee",
  "backgroundTextStyle": "light"
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微擎是一款基于PHP的开源微信公众号管理系统,可以帮助开发者快速搭建微信公众号应用。本将介绍微擎开发的基础知识,包括环境搭建、目录结构、配置文件、路由规则、模块开发等内容。 ### 环境搭建 微擎的开发需要先搭建好开发环境,包括PHP、MySQL、Apache或Nginx等。具体步骤可以参考微擎的官方文档,建议使用PHP7及以上版本。 ### 目录结构 微擎的目录结构如下: ``` addons/ // 存放插件 api/ // 存放接口文件 app/ // 存放前台模块 attachment/ // 存放上传的文件 framework/ // 存放框架核心文件 payment/ // 存放支付相关文件 static/ // 存放静态资源文件 template/ // 存放前台模板文件 upgrade/ // 存放升级相关文件 wap/ // 存放手机端模块 we7/ // 微擎的核心目录 favicon.ico // 网站图标 index.php // 入口文件 ``` ### 配置文件 微擎的配置文件主要有两个:config.php和database.php,前者用于配置微擎的基础信息,后者用于配置数据库连接信息。 config.php的配置项包括: - `setting`:微擎基础设置,如网站名称、网站域名、微信公众号AppID等; - `site`:网站设置,如首页模板、错误页面模板、静态资源路径等; - `wxapp`:小程序设置,如小程序名称、小程序AppID、小程序Secret等; - `oauth`:公众号设置,如公众号AppID、公众号Secret等; - `remote`:远程附件设置,如附件存储方式、FTP信息等; - `app`:应用设置,如开启模块、插件管理等; - `global`:全局设置,如错误处理方式、调试模式等。 database.php的配置项包括: - `master`:主数据库连接信息,如数据库类型、主机地址、数据库用户名、密码等; - `slave`:从数据库连接信息,可选; - `tablepre`:数据表前缀。 ### 路由规则 微擎的路由规则遵循MVC模式,每个请求都会依据路由规则被分配到相应的控制器和方法中。微擎的路由规则主要有两种: - URL规则:URL规则是通过URL中的参数来确定控制器和方法的,如`index.php?c=site&a=entry&m=my_module&do=my_page`; - Rewrite规则:Rewrite规则通过修改服务器配置文件,将URL中的参数转换为美观的URL,如`/my_module/my_page`。 ### 模块开发 微擎的模块开发主要包括前台模块和后台模块两种。前台模块用于展示内容,后台模块用于管理内容。 模块的目录结构如下: ``` my_module/ ├── controller/ │ ├── index.php │ └── my_page.php ├── model/ │ └── my_page.php ├── template/ │ ├── index.html │ └── my_page.html ├── module.php └── version.php ``` 其中,controller目录存放控制器文件,model目录存放模型文件,template目录存放模板文件,module.php是模块的基本信息,version.php是模块的版本信息。 控制器文件中定义了控制器和方法,模型文件中定义了数据操作方法,模板文件中定义了页面布局和样式。模块的基本信息包括模块名称、模块描述、模块图标等,版本信息包括版本号、升级文件等。 ### 小结 本介绍了微擎开发的基础知识,包括环境搭建、目录结构、配置文件、路由规则、模块开发等内容。掌握这些知识是进行微擎开发的基础,希望可以帮助到初学者。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值