需要部署的内容
需要部署的东西有阿里图标、public(共享的js、wxss、wxml)、app.js、app.json、wxParse(html代码转view)、js插件(md5.js、base64.js)、static
阿里图标部署
详细操作参考:http://www.cnblogs.com/wesky/p/7593115.html
public部署
目录结构
area.js 存放的是网站上的省市区数组数据。为什么会放到本地呢?原因一:小程序的ajax有时候很坑爹。原因二,省市区数据使会很频繁,放本地比放服务器更好。原因三:小程序本身自带的也有省市区数据,但是与商城的不符合
inc.js 存放的大部分都是跳转,比如:跳转首页、分页、会员中心、商品详情、搜索 等js事件
menu.wxml 存放的是悬浮的通用底部菜单、商品列表盒子。只要是通用的模板盒子,都可以放着一个文件。
style.wxss 存放的是通用样式,比如菜单样式、商品盒子样式、page样式
inc.js代码如下
/* 全局共享 js*/ var app = getApp(); module.exports = { // 时间戳转时间 formatTime: function (t) { //var t = 1402233166999; var time = new Date(t); var y = time.getFullYear(); var m = time.getMonth() + 1; var d = time.getDate(); return [y, m, d].join('-') }, // 跳转首页 urlHome: function () { wx.redirectTo({ url: '../index/index' }) }, // 跳转分类 urlCategory:function(){ wx.redirectTo({ url: '../category/index', }) }, // 跳转购物车 urlCart: function () { wx.redirectTo({ url: '../cart/index', }) }, // 跳转用户 urlUser: function () { wx.redirectTo({ url: '../user/user', }) }, //跳转商品详情 urlGoodsInfo:function(gid){ wx.redirectTo({ url: '../goods/index?gid='+gid, }) }, // 进入结算页面 urlSet:function(){ wx.redirectTo({ url: '../set/index', }) }, }
另一种命名方式:
goodsList:function(){ return result } module.exports = { goodsList:goodsList }
调用:
// 引入共享inc.js var inc = require('../public/js/inc.js'); Page({ // 跳转首页 hrefHome: function () { inc.urlHome(); }, // 跳转购物车 hrefCart:function(){ inc.urlCart(); }, // 跳转会员中心 hrefUser: function () { inc.urlUser(); }, // 跳转分类 hrefCategory: function () { inc.urlCategory(); }, clickTest:function(){ wx.navigateTo({ url: '../test/index', }) }, })
扩展:menu.wxml 的代码和调用
<!-- 通用底部浮窗 --> <template name="menu-footer"> <view class="fix-footer float-wrap"> <view class="float-li {{nav[0].menu}}"> <view class='li-text' catchtap="hrefHome"> <text class="iconfont icon-home{{nav[0].ico}} li-ico"></text> <text class="li-h6">首页</text> </view> </view> <view class="float-li {{nav[3].menu}}"> <view class='li-text' catchtap="hrefCategory"> <text class="iconfont icon-fenlei{{nav[3].ico}} li-ico"></text> <text class="li-h6">分类</text> </view> </view> <view class="float-li"> <view class='li-text {{nav[1].menu}}' catchtap="hrefCart"> <text class="iconfont icon-gouwuche{{nav[1].ico}} li-ico"></text> <text class="li-h6">购物车</text> </view> </view> <view class="float-li"> <view class='li-text {{nav[2].menu}}' catchtap="hrefUser"> <text class="iconfont icon-huiyuan{{nav[2].ico}} li-ico"></text> <text class="li-h6">我的</text> </view> </view> </view> </template> <!-- 商品详情 底部浮窗--> <template name="menu-goods"> <view style="height: 100rpx"></view> <view class="fix-goods-footer"> <view class="float-li s1 home" catchtap="hrefHome"> <text class="iconfont icon-home1 li-ico"></text> <text class="li-h6">首页</text> </view> <view class="float-li s1 kefu" style='position:relative'> <text class="iconfont icon-huiyuan li-ico"></text> <text class="li-h6" >客服</text> <contact-button class="contact" type="default-light" size="12" session-from="weapp" style="opacity:0;position:absolute;top:1rpx;left:1rpx;color:#ff0"> </contact-button> <contact-button class="contact" type="default-light" size="12" session-from="weapp" style="opacity:0;position:absolute;top:0rpx;left:50rpx;color:#ff0"> </contact-button> <contact-button class="contact" type="default-light" size="12" session-from="weapp" style="opacity:0;position:absolute;top:50rpx;left:1rpx;color:#ff0"> </contact-button> <contact-button class="contact" type="default-light" size="12" session-from="weapp" style="opacity:0;position:absolute;top:50rpx;left:50rpx;color:#ff0"> </contact-button> </view> <view class="float-li s1" catchtap="hrefCart" style='position:relative'> <text class="iconfont icon-gouwuche1 li-ico"></text> <text class="li-h6">购物车</text> <view class="cart-number">{{carNum}}</view> </view> <view class="float-li s2 add-cart" catchtap="attrShow" data-isbuy="0">加入购物车</view> <view class="float-li s2 buy" catchtap="attrShow" data-isbuy="1">立即购买</view> </view> </template>
其它页面调用,import导入,data是传参:
<import src="../public/wxml/menu.wxml"/> <template is="menu-footer" data="{{nav: footNav}}"/>
app.js部署
1.所有请求的api链接
App({ api:[ goods:'https://xxx.com/goods', // 商品数据 category:'https://xxx.com/category', // 分类数据 search:'https://xxx.com/search' // 搜索数据 ] })
推荐api地址部署再app.js里面(部署再其它地方问题也不大,比如public/xxx)
2.登录
登录小程序功能是部署再app.js里面的
app.json部署
主要是部署pages下的参数,这个关系到你小程序新建的文件夹及文件
{ "pages":[ "pages/index/index", "pages/logs/logs", "pages/cart/index", "pages/goods/index", "pages/user/user", "pages/address/index", "pages/address/edit", "pages/set/index", "pages/pay/index", "pages/order/index", "pages/order/info", "pages/test/index", "pages/coupon/index", "pages/coupon/user", "pages/category/index", "pages/category/goods", "pages/search/index", "pages/activity/hot" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle":"black" } }
在这里建立好名称,它会自动帮你生成文件夹及文件(wxml、js、json、wxss)。
window是控制小程序的窗口参数,比如窗口颜色、导航字体颜色
wxParse部署
应用场景:小程序调用商城商品详情。小程序本身是不支持html代码的,有了这个插件,就可以做到兼容。
教程:http://www.cnblogs.com/wesky/p/8066233.html
js插件
md5、base64 这js插件看情况使用
重点:图片内容不要部署本地,最好放到服务器上。小程序大小只有2M