require.config({ urlArgs: 'v=' + (new Date()).getTime(), paths: { zepto: '../../common/js/zepto.min', wx: '../../common/js/jweixin-1.0.0', ctk: '../../common/js/ctk-1.0.0', pingpp: '../../common/js/pingpp', spa: '../../common/js/spa', IScroll: '../../framework/iscroll5/iscroll-probe', ratchet: '../../framework/ratchet-2.0.2/dist/js/ratchet.base', $: '../../common/js/jq_extend', autosize: '../../common/js/autosize', config: '../../common/js/config', helper: '../../common/js/helper', native: '../../common/js/native', storage: '../../common/js/storage', base: '../../common/js/base', template: './build/template', api: './api', bdmapapi: '../../common/js/bdmapapi', BMap: 'http://api.map.baidu.com/getscript?v=2.0&ak=B349f0b32ef6e78b2e678f45cb9fddaf&services=&t=20160310104956', //model user: './model/user', product: './model/product', cart: './model/cart', order: './model/order', review: './model/review', address: './model/address', //page pageHome: './page/home', pageProduct: './page/product', pageProductInfo: './page/productInfo', pageDesc: './page/desc', pagePlaceOrder: './page/placeOrder', pagePicker: './page/picker', pagePay: './page/pay', pageAppendPay: './page/appendPay', pageMyOrder: './page/myOrder', pageMyOrderDetail: './page/myOrderDetail', pageMyCoupon: './page/myCoupon', pageOrderDone: './page/orderDone', pageSuccess: './page/success', pageAgreement: './page/agreement', pageAddressList: './page/address/addressList', pageAddressAdd: './page/address/addressAdd', pageAddressDetail: './page/address/addressDetail', pageAddressPoisiton: './page/address/addressPoi', pageHire: './page/hire', pageComing: './page/coming', pageActivityCat: './page/activities/cat', pageAppend: './page/append', pageRefund: './page/refund', pageRefundSuccess: './page/refundSuccess', pageBeautician: './page/beautician', pageBeauticianDetail: './page/beauticianDetail', //panel panelAlert: './panel/alert', panelActionSheet: './panel/actionSheet', // panelAddressAction: './panel/addressAction', panelDataPicker: './panel/dataPicker', panelProductOption: './panel/productOption', panelPostReview: './panel/postReview', panelActivity: './panel/activity' }, shim: { zepto: { exports: '$' }, IScroll: { exports: 'IScroll' }, BMap: { exports: 'BMap' } } }); require(['$', 'spa', 'native', 'helper', 'ratchet', 'config', 'user'], function ($, spa, native, helper, ratchet, config, user) { var $doc = $(document); // 首页 var pageHome = { route: '', classname: 'home', animate: 'fadeIn', view: function () { var $page = this; requirejs(['pageHome'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }) } }; //商品页 var pageProduct = { route: 'product', classname: 'product', animate: 'slideInUp', view: function () { var $page = this; requirejs(['pageProduct'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }) } }; //商品提示信息 var pageProductInfo = { route: 'product-info/:type', classname: 'product-info', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageProductInfo'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }) } }; //商品介绍页 var pageDesc = { route: 'desc', classname: 'desc', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageDesc'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }) } }; //订单页 var pagePlaceOrder = { route: 'placeOrder', classname: 'place-order', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pagePlaceOrder'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }) } }; //选择列表页 var pagePicker = { route: 'picker', classname: 'picker', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pagePicker'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }) } }; //支付页面 var pagePay = { route: 'pay', classname: 'pay', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pagePay'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }) } }; // 追加订单支付页面 var pageAppendPay = { route: 'append-pay', classname: 'append-pay', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageAppendPay'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }) } }; //支付成功 var pagePaySuccess = { route: 'paySuccess', classname: 'pay-success', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageSuccess'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; //我的订单页 var pageMyOrder = { route: 'myOrder(/:type)', classname: 'my-order', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageMyOrder'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; var pageMyOrderDetail = { route: 'OrderDetail/:id', classname: 'my-order-detail', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageMyOrderDetail'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; //我的优惠券 var pageMyCoupon = { route: 'myCoupon', classname: 'my-coupon', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageMyCoupon'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; //用户服务协议 var pageAgreement = { route: 'agreement', classname: 'agreement', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageAgreement'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; //地址列表 var pageAddressList = { route: 'addressList', classname: 'address-list', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageAddressList'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; //地址添加 var pageAddressAdd = { route: 'addressAdd', classname: 'address-add', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageAddressAdd'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; //地址详情 var pageAddressDetail = { route: 'addressDetail', classname: 'address-detail', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageAddressDetail'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; //地址定位 var pageAddressPoisiton = { route: 'addressPoisiton', classname: 'address-poisition', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageAddressPoisiton'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; //招聘 var pageHire = { route: 'hire', classname: 'hire', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageHire'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; // 未上线 var pageComing = { route: 'coming', classname: 'coming', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageComing'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; // 活动 var pageActivityCat = { route: 'activity-cat', classname: 'activities-cat', animate: 'slideInUp', view: function () { var $page = this; requirejs(['pageActivityCat'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; // 追加服务 var pageAppend = { route: 'append', classname: 'append', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageAppend'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; // 申请退款 var pageRefund = { route: 'refund', classname: 'refund', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageRefund'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; // 申请成功 var pageRefundSuccess = { route: 'refund-success', classname: 'refund-success', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageRefundSuccess'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }); } }; // 订单确认完成 var pageOrderDone = { route: 'order-done', classname: 'order-done', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageOrderDone'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]) }) } }; var pageBeautician = { route: 'beautician', classname: 'beautician', animate: 'pushInLeft', view: function () { var $page = this; requirejs(['pageBeautician'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]); }) } }; var pageBeauticianDetail = { route: 'beautician-detail', classname: 'beautician-detail', animate: 'slideInUp', view: function () { var $page = this; requirejs(['pageBeauticianDetail'], function (viewData) { $doc.trigger('spa:initpage', [$page, viewData]); }) } }; $doc.trigger('spa:route', [pageHome, pageProduct, pageProductInfo, pageDesc, pagePlaceOrder, pagePicker, pagePay, pageAppendPay, pagePaySuccess, pageMyOrder, pageMyOrderDetail, pageMyCoupon, pageAgreement, pageAddressList, pageAddressAdd, pageAddressDetail, pageAddressPoisiton, pageHire, pageComing, pageActivityCat, pageAppend, pageRefund, pageRefundSuccess, pageOrderDone, pageBeautician, pageBeauticianDetail]); var panelAlert = { id: 'simpleAlert', classname: 'alert', animate: 'zoomIn', view: function () { var $panel = this; requirejs(['panelAlert'], function (viewData) { $doc.trigger('spa:initpanel', [$panel, viewData]); }) } }; var panelActionSheet = { id: 'actionSheet', classname: 'action-sheet', animate: 'overlayInUp', view: function () { var $panel = this; requirejs(['panelActionSheet'], function (viewData) { $doc.trigger('spa:initpanel', [$panel, viewData]); }) } }; var panelDataPicker = { id: 'dataPicker', classname: 'data-picker', animate: 'overlayInUp', view: function () { var $panel = this; requirejs(['panelDataPicker'], function (viewData) { $doc.trigger('spa:initpanel', [$panel, viewData]); }) } }; var panelProductOption = { id: 'productOption', classname: 'product-option', animate: 'overlayInUp', view: function () { var $panel = this; requirejs(['panelProductOption'], function (viewData) { $doc.trigger('spa:initpanel', [$panel, viewData]); }) } }; var panelPostReview = { id: 'postReview', classname: 'post-review', animate: 'overlayInUp', view: function () { var $panel = this; requirejs(['panelPostReview'], function (viewData) { $doc.trigger('spa:initpanel', [$panel, viewData]); }) } }; var panelActivity = { id: 'activity', classname: 'activity', animate: 'overlayInUp', view: function () { var $panel = this; requirejs(['panelActivity'], function (viewData) { $doc.trigger('spa:initpanel', [$panel, viewData]); }) } }; $doc.trigger('spa:panel', [panelAlert, panelActionSheet, panelDataPicker, panelProductOption, panelPostReview, panelActivity]); $(function () { if (config.isWX ) { //微信 去掉顶部导航栏 var styles = ".content {top: 0;}"; helper.includeStyleElement(styles, 'ios7'); //微信过来的登录后再启动 user.getUserInfo(function() { $doc.trigger('spa:boot'); }); } else if (config.isAndroid || config.isIOS) { //注册事件 native.delegateBackButton(true); //安卓返回按钮 $(document).on('tapBackButton', function () { $.spa.getCurPage().trigger('tapBackButton'); }); //ios7特殊样式 全屏幕往下移动20px helper.osProxy({ ios: function () { var styles = ".bar-nav {height: 64px;padding-top: 20px;}\ .content {top: 64px;}\ .bar-nav .left-button {padding-top: 20px;}\ .bar-nav .right-button {padding-top: 20px;}"; helper.includeStyleElement(styles, 'ios7'); } }); $doc.trigger('spa:boot'); } else if (config.isChubao) { var styles = ".content {top: 0;}"; helper.includeStyleElement(styles, 'ios7'); $doc.trigger('spa:boot'); } else { $doc.trigger('spa:boot'); } }) })