瀏覽代碼

小程序

e 1 年之前
父節點
當前提交
ec2e191d04
共有 41 個文件被更改,包括 981 次插入0 次删除
  1. 31 0
      小程序/.eslintrc.js
  2. 19 0
      小程序/app.js
  3. 53 0
      小程序/app.json
  4. 10 0
      小程序/app.wxss
  5. 24 0
      小程序/components/header/header.js
  6. 4 0
      小程序/components/header/header.json
  7. 4 0
      小程序/components/header/header.wxml
  8. 6 0
      小程序/components/header/header.wxss
  9. 二進制
      小程序/icon/home.png
  10. 二進制
      小程序/icon/home1.png
  11. 二進制
      小程序/icon/my.png
  12. 二進制
      小程序/icon/my1.png
  13. 二進制
      小程序/icon/shop.png
  14. 二進制
      小程序/icon/shop1.png
  15. 28 0
      小程序/package-lock.json
  16. 14 0
      小程序/package.json
  17. 70 0
      小程序/pages/car/car.js
  18. 8 0
      小程序/pages/car/car.json
  19. 6 0
      小程序/pages/car/car.wxml
  20. 1 0
      小程序/pages/car/car.wxss
  21. 66 0
      小程序/pages/detail/detail.js
  22. 5 0
      小程序/pages/detail/detail.json
  23. 9 0
      小程序/pages/detail/detail.wxml
  24. 1 0
      小程序/pages/detail/detail.wxss
  25. 124 0
      小程序/pages/home/home.js
  26. 3 0
      小程序/pages/home/home.json
  27. 43 0
      小程序/pages/home/home.wxml
  28. 6 0
      小程序/pages/home/home.wxss
  29. 70 0
      小程序/pages/list/list.js
  30. 3 0
      小程序/pages/list/list.json
  31. 3 0
      小程序/pages/list/list.wxml
  32. 1 0
      小程序/pages/list/list.wxss
  33. 106 0
      小程序/pages/my/my.js
  34. 6 0
      小程序/pages/my/my.json
  35. 40 0
      小程序/pages/my/my.wxml
  36. 79 0
      小程序/pages/my/my.wxss
  37. 34 0
      小程序/project.config.json
  38. 41 0
      小程序/project.private.config.json
  39. 7 0
      小程序/sitemap.json
  40. 37 0
      小程序/utils/request.js
  41. 19 0
      小程序/utils/util.js

+ 31 - 0
小程序/.eslintrc.js

@@ -0,0 +1,31 @@
+/*
+ * Eslint config file
+ * Documentation: https://eslint.org/docs/user-guide/configuring/
+ * Install the Eslint extension before using this feature.
+ */
+module.exports = {
+  env: {
+    es6: true,
+    browser: true,
+    node: true,
+  },
+  ecmaFeatures: {
+    modules: true,
+  },
+  parserOptions: {
+    ecmaVersion: 2018,
+    sourceType: 'module',
+  },
+  globals: {
+    wx: true,
+    App: true,
+    Page: true,
+    getCurrentPages: true,
+    getApp: true,
+    Component: true,
+    requirePlugin: true,
+    requireMiniProgram: true,
+  },
+  // extends: 'eslint:recommended',
+  rules: {},
+}

+ 19 - 0
小程序/app.js

@@ -0,0 +1,19 @@
+// app.js
+App({
+  onLaunch() {
+    // 展示本地存储能力
+    const logs = wx.getStorageSync('logs') || []
+    logs.unshift(Date.now())
+    wx.setStorageSync('logs', logs)
+
+    // 登录
+    wx.login({
+      success: res => {
+        // 发送 res.code 到后台换取 openId, sessionKey, unionId
+      }
+    })
+  },
+  globalData: {
+    userInfo: null
+  }
+})

+ 53 - 0
小程序/app.json

@@ -0,0 +1,53 @@
+{
+  "pages": [
+    "pages/home/home",
+    "pages/car/car",
+    "pages/my/my",
+    "pages/detail/detail",
+    "pages/list/list"
+  ],
+  "window": {
+    "navigationBarTextStyle": "white",
+    "navigationBarTitleText": "小程序",
+    "navigationBarBackgroundColor": "#ff0000",
+    "navigationStyle": "default"
+  },
+  "tabBar": {
+    "custom": false,
+    "color": "#000000",
+    "selectedColor": "#ff0000",
+    "backgroundColor": "#ffffff",
+    "list": [
+      {
+        "pagePath": "pages/home/home",
+        "text": "首页",
+        "iconPath": "/icon/home.png",
+        "selectedIconPath": "/icon/home1.png"
+      },
+      {
+        "pagePath": "pages/car/car",
+        "text": "购物车",
+        "iconPath": "/icon/shop.png",
+        "selectedIconPath": "/icon/shop1.png"
+      },
+      {
+        "pagePath": "pages/my/my",
+        "text": "我的",
+        "iconPath": "/icon/my.png",
+        "selectedIconPath": "/icon/my1.png"
+      }
+    ]
+  },
+  "networkTimeout": {
+    "request": 20000,
+    "connectSocket": 20000,
+    "uploadFile": 20000,
+    "downloadFile": 20000
+  },
+  "usingComponents": {
+    
+  },
+  "componentFramework": "glass-easel",
+  "sitemapLocation": "sitemap.json",
+  "lazyCodeLoading": "requiredComponents"
+}

+ 10 - 0
小程序/app.wxss

@@ -0,0 +1,10 @@
+/**app.wxss**/
+.container {
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: space-between;
+  padding: 200rpx 0;
+  box-sizing: border-box;
+} 

+ 24 - 0
小程序/components/header/header.js

@@ -0,0 +1,24 @@
+// components/header/header.js
+Component({
+
+  /**
+   * 组件的属性列表
+   */
+  properties: {
+
+  },
+
+  /**
+   * 组件的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 组件的方法列表
+   */
+  methods: {
+
+  }
+})

+ 4 - 0
小程序/components/header/header.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 4 - 0
小程序/components/header/header.wxml

@@ -0,0 +1,4 @@
+<!--components/header/header.wxml-->
+<view class="header">
+  头部色块
+</view>

+ 6 - 0
小程序/components/header/header.wxss

@@ -0,0 +1,6 @@
+/* components/header/header.wxss */
+.header {
+  width: 100%;
+  height: 100rpx;
+  background: yellow;
+}

二進制
小程序/icon/home.png


二進制
小程序/icon/home1.png


二進制
小程序/icon/my.png


二進制
小程序/icon/my1.png


二進制
小程序/icon/shop.png


二進制
小程序/icon/shop1.png


+ 28 - 0
小程序/package-lock.json

@@ -0,0 +1,28 @@
+{
+  "name": "project",
+  "version": "1.0.0",
+  "lockfileVersion": 2,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "project",
+      "version": "1.0.0",
+      "license": "ISC",
+      "dependencies": {
+        "@vant/weapp": "^1.11.4"
+      }
+    },
+    "node_modules/@vant/weapp": {
+      "version": "1.11.4",
+      "resolved": "https://registry.npmjs.org/@vant/weapp/-/weapp-1.11.4.tgz",
+      "integrity": "sha512-egOsWO4hVMP1SQSqQ46jy8UD3WysvlnUecRzPM21Y3ovkOFZ6wlaO7oHQmTXRpwr+V41Qri1qEbtNjhVxFqdyw=="
+    }
+  },
+  "dependencies": {
+    "@vant/weapp": {
+      "version": "1.11.4",
+      "resolved": "https://registry.npmjs.org/@vant/weapp/-/weapp-1.11.4.tgz",
+      "integrity": "sha512-egOsWO4hVMP1SQSqQ46jy8UD3WysvlnUecRzPM21Y3ovkOFZ6wlaO7oHQmTXRpwr+V41Qri1qEbtNjhVxFqdyw=="
+    }
+  }
+}

+ 14 - 0
小程序/package.json

@@ -0,0 +1,14 @@
+{
+  "name": "project",
+  "version": "1.0.0",
+  "description": "",
+  "main": ".eslintrc.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "author": "",
+  "license": "ISC",
+  "dependencies": {
+    "@vant/weapp": "^1.11.4"
+  }
+}

+ 70 - 0
小程序/pages/car/car.js

@@ -0,0 +1,70 @@
+// pages/car/car.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {
+    wx.setStorageSync('aaa', '111')
+  },
+  goJump:function() {
+    wx.reLaunch({
+      url: '/pages/detail/detail',
+    })
+  },
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage() {
+
+  }
+})

+ 8 - 0
小程序/pages/car/car.json

@@ -0,0 +1,8 @@
+{
+  "navigationBarTextStyle": "white",
+  "navigationBarTitleText": "购物车",
+  "navigationBarBackgroundColor": "#ff00ff",
+  "usingComponents": {
+    "header":"/components/header/header"
+  }
+}

+ 6 - 0
小程序/pages/car/car.wxml

@@ -0,0 +1,6 @@
+<!--pages/car/car.wxml-->
+<text>购物车</text>
+<import src="/pages/home/home"/>
+<template is="news" data="{{holiday:'假期'}}" />
+<header></header>
+<button bind:tap="goJump">跳转</button>

+ 1 - 0
小程序/pages/car/car.wxss

@@ -0,0 +1 @@
+/* pages/car/car.wxss */

+ 66 - 0
小程序/pages/detail/detail.js

@@ -0,0 +1,66 @@
+// pages/detail/detail.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage() {
+
+  }
+})

+ 5 - 0
小程序/pages/detail/detail.json

@@ -0,0 +1,5 @@
+{
+  "usingComponents": {
+    "van-icon": "@vant/weapp/icon/index"
+  }
+}

+ 9 - 0
小程序/pages/detail/detail.wxml

@@ -0,0 +1,9 @@
+<!--pages/detail/detail.wxml-->
+<view>
+  详情页
+  <view>新的</view>
+  <van-icon name="close" />
+  <van-icon name="chat" dot />
+<van-icon name="chat" info="9" />
+<van-icon name="chat" info="99+" />
+</view>

+ 1 - 0
小程序/pages/detail/detail.wxss

@@ -0,0 +1 @@
+/* pages/detail/detail.wxss */

+ 124 - 0
小程序/pages/home/home.js

@@ -0,0 +1,124 @@
+// pages/home/home.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    title: '首页1',
+    obj:{
+      name:"zs",
+      age: 15
+    },
+    arr:[
+      {
+        name:"小红",
+        age: 13,
+        address:"哈尔滨"
+      },
+      {
+        name:"小黄",
+        age: 23,
+        address:"天津"
+      },
+      {
+        name:"小蓝",
+        age: 33,
+        address:"郑州"
+      }
+    ],
+    inputVaue:""
+  },
+  getName:function(){
+    this.setData({
+      obj:{
+        name:'王五',
+        age: 30
+      }
+    })
+  },
+  getChange:function(event) {
+    console.log(event.detail.value)
+    this.setData({
+      inputVaue: event.detail.value
+    })
+  },
+  goList:function() {
+    console.log("跳转")
+    // wx.navigateTo({
+    //   url: '/pages/list/list',
+    // })
+    wx.redirectTo({
+      url: '/pages/list/list',
+    })
+  },
+  goShop:function() {
+    wx.switchTab({
+      url: '/pages/car/car',
+    })
+  },
+    /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {
+    setTimeout(()=>{
+      // 更新数据 this.setData({})
+      this.setData({
+        title: '新的页面',
+        obj:{
+          name:"李四",
+          age: 19
+        }
+      })
+    },3000)
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage() {
+
+  }
+})

+ 3 - 0
小程序/pages/home/home.json

@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}

+ 43 - 0
小程序/pages/home/home.wxml

@@ -0,0 +1,43 @@
+<!--pages/home/home.wxml-->
+<view>
+  <!-- 数据渲染 -->
+  <view>{{title}}</view>
+  <view>
+    <view>姓名:{{obj.name}}</view>
+    <view>年龄:{{obj.age}}</view>
+  </view>
+  <!-- 列表渲染 -->
+  <!-- 
+    wx:for="{{list}}"
+    wx:key="index"
+    wx:for-item= "item"
+   -->
+  <!-- v-for=(item,index) in list -->
+  <view wx:for="{{arr}}" wx:key="index" wx:for-item="item">
+    <view>{{index+1}}--我叫{{item.name}}-今年{{item.age}}--来自{{item.address}}</view>
+  </view>
+  <!-- 条件渲染 -->
+  <!-- 
+    v-if
+    v-else
+    v-else-if
+   -->
+   <view wx:if="{{obj.age<=18}}">少年</view>
+   <view wx:elif="{{obj.age > 18}}">青年</view>
+   <view wx:else="{{obj.age > 28}}">老年</view>
+   <!-- 内置组件 -->
+   <button catch:tap="getName" type="primary">按钮</button>
+   <!-- <button bind:tap="getName">按钮</button> -->
+   <input type="text" class="inp" value="{{inputVaue}}" bindinput="getChange" />
+   <view>
+      内容:
+      <view>{{inputVaue}}</view>
+   </view>
+   <!-- 引入:import -->
+   <template name="news">
+      <view>{{holiday}}</view>
+   </template>
+</view>
+
+<view bind:tap="goList">去列表</view>
+<button bind:tap="goShop">去购物</button>

+ 6 - 0
小程序/pages/home/home.wxss

@@ -0,0 +1,6 @@
+/* pages/home/home.wxss */
+.inp {
+  width: 300rpx;
+  height: 50rpx;
+  border: 1px solid #000;
+}

+ 70 - 0
小程序/pages/list/list.js

@@ -0,0 +1,70 @@
+// pages/list/list.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+
+  },
+  goBack:function(){
+    wx.navigateBack({
+      delta: 1
+    })
+  },
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {
+    console.log(options)
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage() {
+
+  }
+})

+ 3 - 0
小程序/pages/list/list.json

@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}

+ 3 - 0
小程序/pages/list/list.wxml

@@ -0,0 +1,3 @@
+<!--pages/list/list.wxml-->
+<view>列表页</view>
+<button bind:tap="goBack">返回</button>

+ 1 - 0
小程序/pages/list/list.wxss

@@ -0,0 +1 @@
+/* pages/list/list.wxss */

+ 106 - 0
小程序/pages/my/my.js

@@ -0,0 +1,106 @@
+// pages/my/my.js
+Page({
+
+  /**
+   * 
+   *  1. data 属性:页面的初始数据
+      2. onLoad():页面加载时触发。一个页面只会调用一次,可以在onLoad的参数中获取打开当前页面路径中的参数。
+      3. onShow():页面显示/切入前台时触发。一个页面可以触发N次。
+      4. onReady():页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
+      5. onHide(): 页面隐藏/切入后台时触发。 如 wx.navigateTo 或底部 tab 切换到其他页面,小程序切入后台等。可触发多次。
+      6. onPullDownRefresh():监听用户下拉动作,此事件需要在 app.json 文件中 window 节点中"开启全局的下拉刷新"."enablePullDownRefresh":true , 才能触发它,作用:下拉加载更多。
+      7. onReachBottom():页面上拉触底事件的处理函数,需要当前页面内容超过一屏显示,作用:上拉加载更多。
+      8. onPageScroll():页面滚动触发事件的处理函数,需要当前页面内容超过一屏显示,作用:滚动事件监听。
+      9. onShareAppMessage():用户点击右上角转发,触发此方法,在此方法中可以自定义转发的内容。 作用:自定义分享。
+   */
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
+    indicatorDots: true,
+    vertical: false,
+    autoplay: false,
+    interval: 2000,
+    duration: 500,
+    arr:[
+      {
+        id:1,
+        urls:'/icon/home.png'
+      },
+      {
+        id:2,
+        urls:'/icon/my.png'
+      },
+      {
+        id:3,
+        urls:'/icon/shop.png'
+      }
+    ],
+    other:""
+  },
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {
+    this.setData({
+      other:wx.getStorageSync('aaa')
+    })
+    // wx.showToast("提示")
+  },
+  goList:function() {
+    console.log("跳转")
+    wx.navigateTo({
+      url: '/pages/list/list?name=小郑&&address=哈尔滨',
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh() {
+    console.log("下拉刷新")
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage() {
+    console.log("分享")
+  }
+})

+ 6 - 0
小程序/pages/my/my.json

@@ -0,0 +1,6 @@
+{
+  "enablePullDownRefresh":true,
+  "usingComponents": {
+    
+  }
+}

+ 40 - 0
小程序/pages/my/my.wxml

@@ -0,0 +1,40 @@
+<!--pages/my/my.wxml-->
+<text>我的</text>
+<!-- 引入 -->
+<include src="/pages/car/car" />
+<!-- 轮播图 -->
+<view>
+  <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
+    <block wx:for="{{background}}" wx:key="*this">
+      <swiper-item>
+        <view class="swiper-item {{item}}"></view>
+      </swiper-item>
+    </block>
+  </swiper>
+</view>
+<!-- 横向滚动 -->
+<view class="page-section-spacing">
+  <scroll-view class="scroll-view_H" scroll-x="true" bindscroll="scroll" style="width: 100%">
+    <view id="demo1" class="scroll-view-item_H demo-text-4"></view>
+    <view id="demo2" class="scroll-view-item_H demo-text-5"></view>
+    <view id="demo3" class="scroll-view-item_H demo-text-6"></view>
+    <view id="demo1" class="scroll-view-item_H demo-text-4"></view>
+    <view id="demo2" class="scroll-view-item_H demo-text-5"></view>
+    <view id="demo3" class="scroll-view-item_H demo-text-6"></view>
+  </scroll-view>
+</view>
+<!-- 纵向滚动 -->
+<view class="main">
+  <view class="left">
+    <scroll-view scroll-y="true" style="height: 300rpx;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" scroll-into-view="{{toView}}" scroll-top="{{scrollTop}}">
+      <view id="demo1" class="scroll-view-item demo-text-7"></view>
+      <view id="demo2" class="scroll-view-item demo-text-8"></view>
+      <view id="demo3" class="scroll-view-item demo-text-9"></view>
+    </scroll-view>
+  </view>
+  <view class="right">
+    右侧{{other}}
+  </view>
+</view>
+<navigator url="../detail/detail">去详情</navigator>
+<view bind:tap="goList">去列表</view>

+ 79 - 0
小程序/pages/my/my.wxss

@@ -0,0 +1,79 @@
+/* pages/my/my.wxss */
+.demo-text-1 {
+  width: 100%;
+  height: 100%;
+  background: #00f;
+}
+.demo-text-2 {
+  width: 100%;
+  height: 100%;
+  background: #f0f;
+}
+.demo-text-3 {
+  width: 100%;
+  height: 100%;
+  background: #ff0;
+}
+.demo-text-4 {
+  width: 100%;
+  height: 100%;
+  background: #f00;
+}
+.demo-text-5 {
+  width: 100%;
+  height: 100%;
+  background: aqua;
+}
+.demo-text-6 {
+  width: 100%;
+  height: 100%;
+  background: plum;
+}
+.demo-text-7 {
+  width: 100%;
+  height: 100%;
+  background: orange;
+}
+.demo-text-8 {
+  width: 100%;
+  height: 100%;
+  background: hotpink;
+}
+.demo-text-9 {
+  width: 100%;
+  height: 100%;
+  background: seagreen;
+}
+
+.page-section-spacing{
+  margin-top: 60rpx;
+}
+.scroll-view_H{
+  white-space: nowrap;
+}
+.scroll-view-item{
+  height: 300rpx;
+}
+.scroll-view-item_H{
+  display: inline-block;
+  width: 30%;
+  height: 300rpx;
+  margin-left: 30rpx;
+}
+
+.main {
+  width: 100%;
+  height: 300rpx;
+  display: flex;
+}
+
+.main .left {
+  flex: 4;
+}
+
+.main .right {
+  flex: 2;
+  height: 300rpx;
+  background: yellowgreen;
+  margin-left: 30rpx;
+}

+ 34 - 0
小程序/project.config.json

@@ -0,0 +1,34 @@
+{
+  "compileType": "miniprogram",
+  "libVersion": "trial",
+  "packOptions": {
+    "ignore": [],
+    "include": []
+  },
+  "setting": {
+    "coverView": true,
+    "es6": true,
+    "postcss": true,
+    "minified": true,
+    "enhance": true,
+    "showShadowRootInWxmlPanel": true,
+    "packNpmRelationList": [
+      {
+        "packageJsonPath": "./package.json",
+        "miniprogramNpmDistDir": "./"
+      }
+    ],
+    "babelSetting": {
+      "ignore": [],
+      "disablePlugins": [],
+      "outputPath": ""
+    },
+    "packNpmManually": true
+  },
+  "condition": {},
+  "editorSetting": {
+    "tabIndent": "auto",
+    "tabSize": 2
+  },
+  "appid": "wx3bbf84108fdc99d4"
+}

+ 41 - 0
小程序/project.private.config.json

@@ -0,0 +1,41 @@
+{
+  "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
+  "projectname": "project",
+  "setting": {
+    "compileHotReLoad": true
+  },
+  "condition": {
+    "miniprogram": {
+      "list": [
+        {
+          "name": "",
+          "pathName": "pages/detail/detail",
+          "query": "",
+          "launchMode": "default",
+          "scene": null
+        },
+        {
+          "name": "",
+          "pathName": "pages/list/list",
+          "query": "",
+          "launchMode": "default",
+          "scene": null
+        },
+        {
+          "name": "",
+          "pathName": "pages/car/car",
+          "query": "",
+          "launchMode": "default",
+          "scene": null
+        },
+        {
+          "name": "",
+          "pathName": "pages/my/my",
+          "query": "",
+          "launchMode": "default",
+          "scene": null
+        }
+      ]
+    }
+  }
+}

+ 7 - 0
小程序/sitemap.json

@@ -0,0 +1,7 @@
+{
+  "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
+  "rules": [{
+  "action": "allow",
+  "page": "*"
+  }]
+}

+ 37 - 0
小程序/utils/request.js

@@ -0,0 +1,37 @@
+function request(url, data = {}, method = "GET") {
+  return new Promise(function(resolve, reject) {
+    wx.request({
+      url: url,
+      data: data,
+      method: method,
+      header: {
+        'Content-Type': 'application/json',
+        'X-Dts-Token': wx.getStorageSync('token')
+      },
+      success: function(res) {
+        if (res.statusCode == 200) {
+          if (res.data.errno == 501) {
+            // 清除登录相关内容
+            try {
+              wx.removeStorageSync('userInfo');
+              wx.removeStorageSync('token');
+            } catch (e) {
+              // Do something when catch error
+            }
+            // 切换到登录页面
+            wx.navigateTo({
+              url: '/pages/auth/login/login'
+            });
+          } else {
+            resolve(res.data);
+          }
+        } else {
+          reject(res.errMsg);
+        }
+      },
+      fail: function(err) {
+        reject(err)
+      }
+    })
+  });
+}

+ 19 - 0
小程序/utils/util.js

@@ -0,0 +1,19 @@
+const formatTime = date => {
+  const year = date.getFullYear()
+  const month = date.getMonth() + 1
+  const day = date.getDate()
+  const hour = date.getHours()
+  const minute = date.getMinutes()
+  const second = date.getSeconds()
+
+  return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
+}
+
+const formatNumber = n => {
+  n = n.toString()
+  return n[1] ? n : `0${n}`
+}
+
+module.exports = {
+  formatTime
+}