liyongli 2 年之前
父節點
當前提交
cc2a65b108
共有 100 個文件被更改,包括 789 次插入4923 次删除
  1. 31 0
      .eslintrc.js
  2. 23 0
      .gitignore
  3. 85 0
      miniprogram/api/index.ts
  4. 0 43
      miniprogram/app.js
  5. 6 6
      miniprogram/app.json
  6. 14 0
      miniprogram/app.scss
  7. 33 0
      miniprogram/app.ts
  8. 0 30
      miniprogram/app.wxss
  9. 二進制
      miniprogram/assets/image/0.jpg
  10. 二進制
      miniprogram/assets/voice/front.mp3
  11. 二進制
      miniprogram/assets/voice/left.mp3
  12. 二進制
      miniprogram/assets/voice/right.mp3
  13. 0 0
      miniprogram/components/camera-face/index.json
  14. 379 0
      miniprogram/components/camera-face/index.ts
  15. 26 0
      miniprogram/components/camera-face/index.wxml
  16. 110 0
      miniprogram/components/camera-face/index.wxss
  17. 79 0
      miniprogram/components/camera-face/utils.ts
  18. 0 52
      miniprogram/components/list/list.js
  19. 0 7
      miniprogram/components/list/list.json
  20. 0 21
      miniprogram/components/list/list.wxml
  21. 0 29
      miniprogram/components/list/list.wxss
  22. 0 89
      miniprogram/components/region/region.js
  23. 0 13
      miniprogram/components/region/region.wxml
  24. 0 45
      miniprogram/components/region/region.wxss
  25. 0 35
      miniprogram/components/tabs/tabs.js
  26. 0 4
      miniprogram/components/tabs/tabs.json
  27. 0 8
      miniprogram/components/tabs/tabs.wxml
  28. 0 27
      miniprogram/components/tabs/tabs.wxss
  29. 3 0
      miniprogram/config/index.ts
  30. 0 7
      miniprogram/index.js
  31. 0 193
      miniprogram/miniprogram_npm/weui-miniprogram/actionsheet/actionsheet.js
  32. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/actionsheet/actionsheet.json
  33. 0 51
      miniprogram/miniprogram_npm/weui-miniprogram/actionsheet/actionsheet.wxml
  34. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/actionsheet/actionsheet.wxss
  35. 0 114
      miniprogram/miniprogram_npm/weui-miniprogram/badge/badge.js
  36. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/badge/badge.json
  37. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/badge/badge.wxml
  38. 0 0
      miniprogram/miniprogram_npm/weui-miniprogram/badge/badge.wxss
  39. 0 231
      miniprogram/miniprogram_npm/weui-miniprogram/cell/cell.js
  40. 0 6
      miniprogram/miniprogram_npm/weui-miniprogram/cell/cell.json
  41. 0 73
      miniprogram/miniprogram_npm/weui-miniprogram/cell/cell.wxml
  42. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/cell/cell.wxss
  43. 0 183
      miniprogram/miniprogram_npm/weui-miniprogram/cells/cells.js
  44. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/cells/cells.json
  45. 0 8
      miniprogram/miniprogram_npm/weui-miniprogram/cells/cells.wxml
  46. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/cells/cells.wxss
  47. 0 226
      miniprogram/miniprogram_npm/weui-miniprogram/checkbox-group/checkbox-group.js
  48. 0 6
      miniprogram/miniprogram_npm/weui-miniprogram/checkbox-group/checkbox-group.json
  49. 0 6
      miniprogram/miniprogram_npm/weui-miniprogram/checkbox-group/checkbox-group.wxml
  50. 0 0
      miniprogram/miniprogram_npm/weui-miniprogram/checkbox-group/checkbox-group.wxss
  51. 0 184
      miniprogram/miniprogram_npm/weui-miniprogram/checkbox/checkbox.js
  52. 0 7
      miniprogram/miniprogram_npm/weui-miniprogram/checkbox/checkbox.json
  53. 0 20
      miniprogram/miniprogram_npm/weui-miniprogram/checkbox/checkbox.wxml
  54. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/checkbox/checkbox.wxss
  55. 0 182
      miniprogram/miniprogram_npm/weui-miniprogram/dialog/dialog.js
  56. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/dialog/dialog.json
  57. 0 20
      miniprogram/miniprogram_npm/weui-miniprogram/dialog/dialog.wxml
  58. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/dialog/dialog.wxss
  59. 0 138
      miniprogram/miniprogram_npm/weui-miniprogram/form-page/form-page.js
  60. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/form-page/form-page.json
  61. 0 31
      miniprogram/miniprogram_npm/weui-miniprogram/form-page/form-page.wxml
  62. 0 0
      miniprogram/miniprogram_npm/weui-miniprogram/form-page/form-page.wxss
  63. 0 746
      miniprogram/miniprogram_npm/weui-miniprogram/form/form.js
  64. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/form/form.json
  65. 0 3
      miniprogram/miniprogram_npm/weui-miniprogram/form/form.wxml
  66. 0 192
      miniprogram/miniprogram_npm/weui-miniprogram/gallery/gallery.js
  67. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/gallery/gallery.json
  68. 0 13
      miniprogram/miniprogram_npm/weui-miniprogram/gallery/gallery.wxml
  69. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/gallery/gallery.wxss
  70. 0 149
      miniprogram/miniprogram_npm/weui-miniprogram/grids/grids.js
  71. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/grids/grids.json
  72. 0 26
      miniprogram/miniprogram_npm/weui-miniprogram/grids/grids.wxml
  73. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/grids/grids.wxss
  74. 0 185
      miniprogram/miniprogram_npm/weui-miniprogram/half-screen-dialog/half-screen-dialog.js
  75. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/half-screen-dialog/half-screen-dialog.json
  76. 0 42
      miniprogram/miniprogram_npm/weui-miniprogram/half-screen-dialog/half-screen-dialog.wxml
  77. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/half-screen-dialog/half-screen-dialog.wxss
  78. 0 240
      miniprogram/miniprogram_npm/weui-miniprogram/icon/icon.js
  79. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/icon/icon.json
  80. 0 14
      miniprogram/miniprogram_npm/weui-miniprogram/icon/icon.wxml
  81. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/icon/icon.wxss
  82. 0 100
      miniprogram/miniprogram_npm/weui-miniprogram/index.js
  83. 0 134
      miniprogram/miniprogram_npm/weui-miniprogram/loading/loading.js
  84. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/loading/loading.json
  85. 0 9
      miniprogram/miniprogram_npm/weui-miniprogram/loading/loading.wxml
  86. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/loading/loading.wxss
  87. 0 137
      miniprogram/miniprogram_npm/weui-miniprogram/msg/msg.js
  88. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/msg/msg.json
  89. 0 29
      miniprogram/miniprogram_npm/weui-miniprogram/msg/msg.wxml
  90. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/msg/msg.wxss
  91. 0 211
      miniprogram/miniprogram_npm/weui-miniprogram/navigation-bar/navigation-bar.js
  92. 0 4
      miniprogram/miniprogram_npm/weui-miniprogram/navigation-bar/navigation-bar.json
  93. 0 32
      miniprogram/miniprogram_npm/weui-miniprogram/navigation-bar/navigation-bar.wxml
  94. 0 0
      miniprogram/miniprogram_npm/weui-miniprogram/navigation-bar/navigation-bar.wxss
  95. 0 7
      miniprogram/miniprogram_npm/weui-miniprogram/package.json
  96. 0 243
      miniprogram/miniprogram_npm/weui-miniprogram/searchbar/searchbar.js
  97. 0 7
      miniprogram/miniprogram_npm/weui-miniprogram/searchbar/searchbar.json
  98. 0 19
      miniprogram/miniprogram_npm/weui-miniprogram/searchbar/searchbar.wxml
  99. 0 1
      miniprogram/miniprogram_npm/weui-miniprogram/searchbar/searchbar.wxss
  100. 0 225
      miniprogram/miniprogram_npm/weui-miniprogram/slideview/slideview.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: {},
+}

+ 23 - 0
.gitignore

@@ -0,0 +1,23 @@
+.DS_Store
+node_modules
+/dist
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?

+ 85 - 0
miniprogram/api/index.ts

@@ -0,0 +1,85 @@
+import request from "../utils/request";
+
+/**
+ * 登录
+ * @param params 
+ */
+function login(params:WechatMiniprogram.requestParamsData) {
+  return request({
+    url: "/v3/login",
+    data: params.data,
+    success: params.success
+  })
+}
+
+/**
+ * 获取手机号
+ * @param params 
+ */
+function getPhone(params:WechatMiniprogram.requestParamsData) {
+  return request({
+    url: "/v3/getuserphonenumber",
+    data: params.data,
+    header:{
+      Authorization: wx.getStorageSync("token"),
+      ...params.header
+    },
+    success: params.success
+  })
+}
+
+/**
+ * 下单
+ * @param params 
+ */
+function createOrder(params:WechatMiniprogram.requestParamsData) {
+  return request({
+    url: "/v3/jsApiPay",
+    data: params.data,
+    header:{
+      Authorization: wx.getStorageSync("token"),
+      ...params.header
+    },
+    success: params.success
+  })
+}
+
+/**
+ * 判断是否生成视频
+ * @param params 
+ */
+function createVideo(params:WechatMiniprogram.requestParamsData) {
+  return request({
+    url: "/v3/hasVideo",
+    data: params.data,
+    header:{
+      Authorization: wx.getStorageSync("token"),
+      ...params.header
+    },
+    success: params.success
+  })
+}
+
+/**
+ * 获取视频结果
+ * @param params 
+ */
+function getVideo(params:WechatMiniprogram.requestParamsData) {
+  return request({
+    url: "/v3/getVideo",
+    data: params.data,
+    header:{
+      Authorization: wx.getStorageSync("token"),
+      ...params.header
+    },
+    success: params.success
+  })
+}
+
+export default {
+  login,
+  getPhone,
+  createOrder,
+  createVideo,
+  getVideo
+}

+ 0 - 43
miniprogram/app.js

@@ -1,43 +0,0 @@
-"use strict";
-
-App({
-    globalData: {
-        select: [],
-        oriList: [],
-        menulist: [],
-        voice: [],
-        generate: []
-    },
-    onLaunch: function () {
-        let _this = this;
-        wx.showLoading()
-        wx.request({
-            url: "https://main-bucket.bj.bcebos.com/miniprog-avres/aiclip_avres.json?" + new Date(),
-            headers: {
-                'Content-Type': 'application/json'
-            },
-            success: function (res) {
-                _this.globalData.oriList = res.data.data.map(v => {
-                    v.music = v.music.map(m => {
-                        return {
-                            Url: m.audio,
-                            Name: m.audio_name,
-                            bo: m.wave_img,
-                            albumImageUrl: m.wave_img
-                        }
-                    })
-                    v.clips = v.clips.map(c => {
-                        return {
-                            video: c.video,
-                            thumbUrl: c.snaps[0],
-                            duration: c.duration,
-                            snaps: c.snaps,
-                        }
-                    })
-                    return v
-                });
-                wx.hideLoading();
-            }
-        });
-    },
-});

+ 6 - 6
miniprogram/app.json

@@ -1,14 +1,14 @@
 {
   "pages": [
-    "pages/index/index",
-    "pages/selectVideo/selectVideo",
-    "pages/video/video"
+    "pages/home/index",
+    "pages/faceRecognition/index",
+    "pages/faceRecognitionVk/index"
   ],
   "window": {
     "backgroundTextStyle": "light",
-    "navigationBarBackgroundColor": "#181818",
-    "navigationBarTitleText": "智能云剪辑",
-    "navigationBarTextStyle": "white"
+    "navigationBarBackgroundColor": "#fff",
+    "navigationBarTitleText": "马拉松AI云视频",
+    "navigationBarTextStyle": "black"
   },
   "style": "v2",
   "sitemapLocation": "sitemap.json"

+ 14 - 0
miniprogram/app.scss

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

+ 33 - 0
miniprogram/app.ts

@@ -0,0 +1,33 @@
+// app.ts
+import api from "./api/index";
+App<IAppOption>({
+  globalData: {},
+  onLaunch() {
+    // 登录
+    !wx.getStorageSync("token") && this.wLogin();
+    // 获取授权内容
+    wx.getSetting({
+      success: res =>{
+        this.globalData.setting = res? res.authSetting : {}
+      }
+    });
+    this.globalData.SystemInfo = wx.getSystemInfoSync();
+    this.globalData.FileSystemManager = wx.getFileSystemManager();
+  },
+  wLogin(){
+    wx.login({
+      success: res => {
+        // 发送 res.code 到后台换取 openId, sessionKey, unionId
+        this.login({
+          data: {
+            code: res.code
+          },
+          success: (res: any) => {
+            wx.setStorageSync("token", res.token);
+          }
+        })
+      },
+    })
+  },
+  ...api
+})

+ 0 - 30
miniprogram/app.wxss

@@ -1,30 +0,0 @@
-/**app.wxss**/
-@import 'miniprogram_npm/weui-miniprogram/weui-wxss/dist/style/weui.wxss';
-page{
-  width: 100%;
-  height: 100%;
-  background-color: #181818;
-  font-family: Microsoft Yahei,Hiragino Sans GB,Heiti SC,WenQuanYi Micro Hei,sans-serif;
-  font-weight: 400;
-  color: #e9e9e9;
-}
-.container {
-  height: 100%;
-  width: 100%;
-  box-sizing: border-box;
-} 
-.PageTitle{
-  font-size: 44rpx;
-  font-weight: 500;
-  padding-left: 22rpx;
-}
-
-.radio{
-  border-radius: 20rpx;
-}
-
-.localCell, .localCell .weui-cell__ft{
-  color: #e9e9e9;
-  background-color: #181818;
-}
-

二進制
miniprogram/assets/image/0.jpg


二進制
miniprogram/assets/voice/front.mp3


二進制
miniprogram/assets/voice/left.mp3


二進制
miniprogram/assets/voice/right.mp3


+ 0 - 0
miniprogram/pages/video/components/waveForm/index.json → miniprogram/components/camera-face/index.json


+ 379 - 0
miniprogram/components/camera-face/index.ts

@@ -0,0 +1,379 @@
+// components/camera-face/index.js
+
+import { getAuthorize, setAuthorize, throttle, checkVersion } from './utils'
+
+// 顶部提示信息
+const topTips = {
+  ready: '请拿起手机,正对屏幕',
+  front: '请正对屏幕',
+  left: '请向左转头',
+  right: '请向右转头',
+}
+
+// 底部提示信息
+const bottomTips = {
+  recording: '人脸录制中...',
+  complete: '已录制完成',
+  error: '录制失败'
+}
+
+const innerAudioContext = wx.createInnerAudioContext()
+let ctx: any = undefined;
+let listener: any = undefined;
+let interval: any = undefined;
+
+Component({
+
+  // 组件的属性列表
+  properties: {
+    // 人脸整体可信度 [0-1], 参考wx.faceDetect文档的res.confArray.global
+    // 当超过这个可信度且正脸时开始录制人脸, 反之停止录制
+    faceCredibility: {
+      type: Number,
+      value: 0.3
+    },
+    // 人脸偏移角度正脸数值参考wx.faceDetect文档的res.angleArray
+    // 越接近0越正脸,包括p仰俯角(pitch点头), y偏航角(yaw摇头), r翻滚角(roll左右倾)
+    faceAngle: {
+      type: Object,
+      value: { p: 1, y: 1, r: 1 }
+    },
+    // 录制视频时长,不能超过30s
+    duration: {
+      type: Number,
+      value: 15000
+    },
+    // 是否压缩视频
+    compressed: {
+      type: Boolean,
+      value: false
+    },
+    // 前置或者后置 front,back
+    devicePosition: {
+      type: String,
+      value: 'front'
+    },
+    // 指定期望的相机帧数据尺寸 small,medium,large
+    frameSize: {
+      type: String,
+      value: 'medium'
+    },
+    // 分辨率 low,medium,high
+    resolution: {
+      type: String,
+      value: 'medium'
+    },
+    // 闪光灯 auto,on,off,torch
+    flash: {
+      type: String,
+      value: 'off'
+    },
+    // 检测视频帧的节流时间,默认500毫秒执行一次
+    throttleFrequency: {
+      type: Number,
+      value: 500
+    }
+  },
+
+  // 组件页面的生命周期
+  pageLifetimes: {
+    // 页面被隐藏
+    hide: function () {
+      this.stop()
+    },
+  },
+
+  detached: function () {
+    // 在组件实例被从页面节点树移除时执行
+    this.stop()
+  },
+
+  // 组件的初始数据
+  data: {
+    isReading: false, // 是否在准备中
+    isRecoding: false, // 是否正在录制中
+    isStopRecoding: false, // 是否正在停止录制中
+
+    topTips: topTips.ready, // 顶部提示文字
+    bottomTips: '', // 底部提示文字
+    seconds: '',
+    videoSrc: '',
+    isCompleteRecoding: false
+  },
+
+  /**
+   * 组件的方法列表
+   */
+  methods: {
+
+    // 开启相机ctx
+    async start() {
+      const result = await this.initAuthorize()
+      if (!result) return false
+      if (!ctx) ctx = wx.createCameraContext()
+      return true
+    },
+
+    // 准备录制
+    async readyRecord() {
+      if (this.data.isReading) return
+      this.setData({ isReading: true })
+      wx.showLoading({ title: '加载中..', mask: true })
+      // 检测版本号
+      const canUse = checkVersion('2.18.0', () => {
+        this.triggerEvent('cannotUse')
+      })
+      if (!canUse) {
+        wx.hideLoading()
+        this.setData({ isReading: false })
+        return
+      }
+
+      // 启用相机
+      try {
+        const result = await this.start()
+        if (!result || !ctx) throw new Error()
+      } catch (e) {
+        wx.hideLoading()
+        this.setData({ isReading: false })
+        return
+      }
+      console.log('准备录制')
+      this.setData({ topTips: topTips.ready })
+      console.log(this.data.topTips)
+      // 视频帧回调节流函数
+      let fn = throttle((frame: any) => {
+        // 人脸识别
+        wx.faceDetect({
+          frameBuffer: frame.data,
+          width: frame.width,
+          height: frame.height,
+          enableConf: true,
+          enableAngle: true,
+          success: (res) => this.processFaceData(res),
+          fail: () => this.cancel()
+        })
+      }, this.properties.throttleFrequency)
+
+      // 初始化人脸识别
+      wx.initFaceDetect({
+        success: () => {
+          listener = ctx.onCameraFrame((frame: any) => fn(frame))
+          listener.start()
+        },
+        fail: (err) => {
+          console.log('初始人脸识别失败', err)
+          // this.setData({ topTips: '' })
+          wx.showToast({ title: '未识别到人脸', icon: 'none' })
+        },
+        complete: () => {
+          wx.hideLoading()
+          this.setData({ isReading: false })
+        }
+      })
+    },
+
+    // 处理人脸识别数据
+    processFaceData(res: any) {
+      if (res.confArray && res.angleArray) {
+        const { global } = res.confArray
+        const g = this.properties.faceCredibility
+        const { pitch, yaw, roll } = res.angleArray
+        const { p, y, r } = this.properties.faceAngle
+        console.log('res.confArray.global:', global)
+        console.log('res.angleArray:', pitch, yaw, roll)
+        const isGlobal = global >= g
+        const isPitch = Math.abs(pitch) <= p
+        const isYaw = Math.abs(yaw) <= y
+        const isRoll = Math.abs(roll) <= r
+
+        if (isGlobal && isPitch && isYaw && isRoll) {
+          console.log('人脸可信,且是正脸')
+          if (this.data.isRecoding || this.data.isCompleteRecoding) return
+          this.setData({ isRecoding: true })
+          this.startRecord() // 开始录制
+        } else {
+          console.log('人脸不可信,或者不是正脸')
+          this.cancel()
+        }
+      } else {
+        console.log('获取人脸识别数据失败', res)
+        this.cancel()
+      }
+    },
+
+    // 开始录制
+    startRecord() {
+      console.log('开始录制')
+      ctx.startRecord({
+        success: () => {
+          this.setRecordingTips()
+          let timer = setTimeout(() => {
+            this.completeRecord()
+            clearTimeout(timer);
+          }, this.properties.duration)
+        },
+        timeoutCallback: () => {
+          // 超过30s或页面 onHide 时会结束录像
+          this.stop()
+        },
+        fail: () => this.stop()
+      })
+    },
+
+    // 设置录制中的提示文字和倒计时
+    setRecordingTips() {
+      this.setData({
+        bottomTips: bottomTips.recording
+      })
+
+      let second = (this.properties.duration / 1000)
+      if (interval) interval = clearInterval(interval)
+      interval = setInterval(() => {
+        console.log('xxxxxx', second)
+
+        // 音频播放
+        if (second == 15) {
+          innerAudioContext.src = "assets/voice/front.mp3"
+          innerAudioContext.play()
+        }
+
+        else if (second == 10) {
+          innerAudioContext.src = "assets/voice/left.mp3"
+          innerAudioContext.play()
+        }
+
+        else if (second == 5) {
+          innerAudioContext.src = "assets/voice/right.mp3"
+          innerAudioContext.play()
+        }
+
+        // 修改提示文字
+        if (second > 10)
+          this.setData({
+            topTips: topTips.front,
+          })
+        else if (second > 5 && second <= 10)
+          this.setData({
+            topTips: topTips.left,
+          })
+        else {
+          this.setData({
+            topTips: topTips.right,
+          })
+        }
+        this.setData({
+          seconds: second-- + 's'
+        })
+        if (second <= 0) {
+          interval = clearInterval(interval)
+          this.setData({
+            seconds: '1s',
+            topTips: '',
+            bottomTips: bottomTips.complete
+          })
+        }
+      }, 1000)
+    },
+
+    // 完成录制
+    completeRecord() {
+      console.log('完成录制')
+      this.setData({ isCompleteRecoding: true })
+      ctx.stopRecord({
+        compressed: this.properties.compressed,
+        success: (res: any) => {
+          this.setData({
+            videoSrc: res.tempVideoPath
+          })
+          // 向外触发完成录制的事件
+          this.triggerEvent('complete', res.tempVideoPath)
+          // this.uploadVideo()
+        },
+        fail: () => this.stop(),
+        complete: () => {
+          listener.stop()
+          wx.stopFaceDetect()
+          interval = clearInterval(interval);
+          this.setData({ isCompleteRecoding: false })
+        }
+      })
+
+    },
+
+    // 人脸移出等取消录制
+    cancel() {
+      console.log('取消录制')
+      // 如果不在录制中或者正在录制完成中就不能取消
+      if (!this.data.isRecoding || this.data.isCompleteRecoding) return
+      interval = clearInterval(interval);
+      ctx.stopRecord({
+        complete: () => {
+          console.log('取消录制成功')
+          this.setData({
+            topTips: topTips.ready,
+            bottomTips: '',
+            seconds: '',
+            isRecoding: false
+          })
+          wx.showToast({ title: '录制失败,请重新录制', icon: 'none' })
+        }
+      })
+    },
+
+    // 用户切入后台等停止使用摄像头
+    stop() {
+      console.log('停止录制')
+      interval = clearInterval(interval);
+      if (listener) listener.stop()
+      if (ctx && !this.data.isCompleteRecoding) ctx.stopRecord()
+      wx.stopFaceDetect()
+      setTimeout(() => {
+        this.setData({ topTips: '', isRecoding: false })
+      }, 500)
+    },
+    // 用户不允许使用摄像头
+    error() {
+      // const cameraName = 'scope.camera';
+      // this.triggerEvent('noAuth', cameraName)
+    },
+
+    // 初始相机和录音权限
+    async initAuthorize() {
+      const cameraName = 'scope.camera'
+      const recordName = 'scope.record'
+      const scopeCamera = await getAuthorize(cameraName)
+      // 未授权相机
+      if (!scopeCamera) {
+        // 用户拒绝授权相机
+        if (!(await setAuthorize(cameraName))) this.openSetting()
+        return false
+      }
+      const scopeRecord = await getAuthorize(recordName)
+      if (!scopeRecord) {
+        // 用户拒绝授权录音
+        if (!(await setAuthorize(recordName))) {
+          this.openSetting()
+          return false
+        }
+      }
+      return true
+    },
+
+    // 打开设置授权
+    openSetting() {
+      wx.showModal({
+        title: '开启摄像头和录音权限',
+        showCancel: true,
+        content: '是否打开?',
+        success: (res) => {
+          this.triggerEvent('noAuth', '打开设置授权')
+          if (res.confirm) {
+            wx.openSetting()
+          }
+        }
+      })
+    },
+
+  }
+})

+ 26 - 0
miniprogram/components/camera-face/index.wxml

@@ -0,0 +1,26 @@
+<!--components/camera-face/index.wxml-->
+<!--人脸识别录像组件-->
+<view class="page-body">
+    <!-- 请拿起手机正对摄像头——请向左转——请向右转 -->
+    <view class="top-view">
+        <view class="top-tips">{{topTips}}</view>
+    </view>
+
+    <view class="camera-box">
+        <view class="camera-circle">
+            <camera mode="normal" device-position="{{devicePosition}}" frame-size="{{frameSize}}" resolution="{{resolution}}" flash="{{flash}}" binderror="error" bindstop="stop" class="camera">
+                <view wx:if="{{!seconds}}">
+                </view>
+                <view wx:else class="half-circle">
+                    <p> {{seconds}} </p>
+                </view>
+            </camera>
+        </view>
+    </view>
+
+    <!-- 开始人脸验证——人脸验证中——人脸验证成功 -->
+    <view class="bottom-view">
+        <view wx:if="{{!bottomTips}}" class="bottom-btn" bindtap="readyRecord">开始人脸验证</view>
+        <view wx:else class="bottom-btn">{{bottomTips}}</view>
+    </view>
+</view>

+ 110 - 0
miniprogram/components/camera-face/index.wxss

@@ -0,0 +1,110 @@
+/* components/camera-face/index.wxss */
+.page-body {
+  width: 100%;
+  height: 100%;
+  background: #ffffff;
+}
+
+.camera-box {
+  width: 750rpx;
+  height: 750rpx;
+  margin-top: 50rpx;
+  position: relative;
+  overflow: hidden;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.camera-circle {
+  width: 540rpx;
+  height: 540rpx;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  border-radius: 50%;
+  border: 2px solid #6699cc;
+}
+
+.camera {
+  width: 480rpx;
+  height: 480rpx;
+  z-index: 1;
+  border-radius: 50%;
+}
+
+.half-circle {
+  width: 480rpx;
+  height: 100rpx;
+  background-color: rgba(0, 0, 0, 0.2);
+  border-radius: 50% 50% 0 0;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+
+.half-circle p {
+  font-family: "Microsoft YaHei";
+  font-size: 30rpx;
+  color: white;
+  line-height: 70rpx;
+}
+
+.img-view {
+  width: 750rpx;
+  height: 505rpx;
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 999;
+}
+
+.mask-img {
+  width: 750rpx;
+  height: 505rpx;
+}
+
+.bottom-view {
+  width: 100%;
+  height: 120rpx;
+
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-top: 30rpx;
+}
+
+/* 底部按钮和提示文字 */
+.bottom-btn {
+  font-family: "Microsoft YaHei";
+  font-size: large;
+  width: 300rpx;
+  height: 70rpx;
+  line-height: 70rpx;
+  text-align: center;
+  background: rgba(250, 250, 250, 0.8);
+  border-radius: 35rpx;
+}
+
+.bottom-tips {
+  width: 100%;
+  height: 35rpx;
+  color: black;
+  line-height: 35rpx;
+  text-align: center;
+}
+
+/* 顶部提示文字 */
+.top-view {
+  width: 100%;
+  height: 10rpx;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.top-tips {
+  font-family: "Microsoft YaHei UI Bold";
+  font-size: 50rpx;
+  color: black;
+  text-align: center;
+}

+ 79 - 0
miniprogram/components/camera-face/utils.ts

@@ -0,0 +1,79 @@
+// 封装获取授权结果, scopeName权限名称
+export const getAuthorize = (scopeName:any) => {
+  return new Promise((resove) => {
+    wx.getSetting({
+      success: res => {
+        res.authSetting[scopeName] ? resove(true) : resove(false);
+      },
+      fail: () => resove(false)
+    })
+  })
+};
+
+// 封装设置权限, scopeName权限名称
+export const setAuthorize = (scopeName:string) => {
+  return new Promise((resove) => {
+    wx.authorize({
+      scope: scopeName,
+      success: () => resove(true),
+      fail: () => resove(false)
+    })
+  })
+};
+
+// 节流函数
+export const throttle = (fn:any, delay = 200) => {
+  let timer:any = undefined;
+  const _this:any = this;
+  return function (args:any[]) {
+    if (timer) return;
+    timer = setTimeout(() => {
+      fn.call(_this, args);
+      clearTimeout(timer);
+      timer = null;
+    }, delay);
+  };
+};
+
+// 比较版本号
+export const compareVersion = (v1:string, v2:string) => {
+  const listV1 = v1.split('.')
+  const listV2 = v2.split('.')
+  const len = Math.max(v1.length, v2.length)
+
+  while (listV1.length < len) {
+    listV1.push('0')
+  }
+  while (listV2.length < len) {
+    listV2.push('0')
+  }
+
+  for (let i = 0; i < len; i++) {
+    const num1 = parseInt(listV1[i])
+    const num2 = parseInt(listV2[i])
+
+    if (num1 > num2) return 1
+    else if (num1 < num2) return -1
+  }
+  return 0
+}
+
+// 检测版本号后的处理,version: 比较的版本号, callback: 版本号低于的处理回调 
+export const checkVersion = (version:string, callback:any) => {
+  const v = wx.getSystemInfoSync().SDKVersion
+  console.log('比较版本号系统:', v, '比较:', version);
+  if (compareVersion(v, version) >= 0) {
+    return true;
+  } else {
+    // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
+    wx.showModal({
+      title: '提示',
+      content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。',
+      showCancel: false,
+      success: () => {
+        callback()
+      }
+    })
+    return false;
+  }
+}

+ 0 - 52
miniprogram/components/list/list.js

@@ -1,52 +0,0 @@
-"use strict";
-const app = getApp()
-Component({
-    properties: {
-        list: {
-            type: Array,
-            value: []
-        }
-    },
-    observers: {
-        "list": function (cur) {
-            let videoList = (cur|| []).reverse()
-            videoList = videoList.map(v=>{
-                v.videoImg = v.clips[0].snaps[0]
-                return v
-            })
-            this.setData({
-                videoList
-            })
-        }
-    },
-    data: {
-        slideButtons: [
-            {
-                type: 'warn',
-                text: '删除',
-                data: {
-
-                }
-            }
-        ],
-        videoList: [
-            {}
-        ]
-    },
-    ready() {
-    },
-    methods: {
-        slideButtonTap: function (e) {
-            wx.navigateTo({
-                url: "/pages/video/video?select=" + e.currentTarget.dataset.index
-            });
-        },
-        slideBtn(e) {
-            app.globalData.generate.splice(e.currentTarget.dataset.index, 1);
-            wx.setStorageSync('generated', JSON.stringify(app.globalData.generate))
-            this.setData({
-                videoList: app.globalData.generate
-            })
-        }
-    }
-});

+ 0 - 7
miniprogram/components/list/list.json

@@ -1,7 +0,0 @@
-{
-  "component": true,
-  "usingComponents": {
-    "mp-slideview": "weui-miniprogram/slideview/slideview",
-    "mp-cells": "weui-miniprogram/cells/cells"
-  }
-}

+ 0 - 21
miniprogram/components/list/list.wxml

@@ -1,21 +0,0 @@
-<!--components/list/list.wxml-->
-<mp-cells ext-class="my-cells" >
-  <mp-slideview wx:for="{{videoList}}" data-index="{{index}}" wx:key="id" buttons="{{slideButtons}}" ext-class="localCell" bindbuttontap="slideBtn">
-    <view data-index="{{index}}" bindtap="slideButtonTap">
-      <view class="local">
-      <view class="local__item">
-        <view class="placeholder">
-          <image slot="icon" src="{{item.videoImg}}"
-            style="margin-right: 16px;vertical-align: middle;width:120rpx; height: 120rpx;"></image>
-        </view>
-      </view>
-      <view class="local__item_0 ">
-        <view class="placeholder">{{item.name}}</view>
-        <view class="placeholder subTitle">更新于 {{item.update}}</view>
-        <!-- <view class="placeholder subTitle">6.6M</view> -->
-        <view class="placeholder">{{item.duration}}</view>
-      </view>
-    </view>
-    </view>
-  </mp-slideview>
-</mp-cells>

+ 0 - 29
miniprogram/components/list/list.wxss

@@ -1,29 +0,0 @@
-/* components/list/list.wxss */
-.local {
-  display: flex;
-  padding: 17rpx 34rpx;
-  font-size: 22rpx;
-  width: 682rpx;
-}
-
-.local .local__item {
-  flex-basis: 120rpx;
-  height: 120rpx;
-  width: 120rpx;
-  flex-shrink: 0;
-}
-
-.local .local__item_0 {
-  padding-left: 34rpx;
-}
-
-.placeholder {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  word-wrap: break-word;
-}
-
-.subTitle{
-  color: #787878;
-}

+ 0 - 89
miniprogram/components/region/region.js

@@ -1,89 +0,0 @@
-"use strict";
-var select = [];
-var app = getApp();
-Component({
-    data: {},
-    
-    ready: function () {
-     if(app.globalData.oriList.length) this.init();
-    },
-    methods: {
-        init(){
-            var _this = this;
-            select = [];
-            var list = [
-                {
-                    date: "2021-04-07",
-                    title: "大唐不夜城",
-                    id: 0,
-                    chirld: []
-                }
-            ];
-            for (let i = 0; i < app.globalData.oriList.length; i++) {
-                const ele = app.globalData.oriList[i];
-                let sList = ele.clips.map((v, o) => {
-                    return {
-                        id: i + '-' + o,
-                        selectIndex: -1,
-                        duration: _this.format(v.duration),
-                        secDuration: v.duration,
-                        videoWidth: v.videoWidth,
-                        videoHeight: v.videoHeight,
-                        name: v.name,
-                        snaps: v.snaps,
-                        video: v.video,
-                        thumbUrl: v.thumbUrl,
-                        voice: ele.voice
-                    };
-                })
-                list[0].chirld.push(...sList)
-            }
-            _this.setData({ list: list });
-    
-        },
-        selectItem: function () {
-            var data = arguments[0].currentTarget.dataset;
-            var list = JSON.parse(JSON.stringify(this.data.list));
-            var selectItem = list[data.pindex].chirld[data.index];
-            this.downFile(selectItem).then(res => {
-                selectItem.type = "video";
-                var selectList = [];
-                var push = true;
-                for (var i = 0; i < select.length; i++) {
-                    var v = select[i];
-                    if (v.id !== data.id)
-                        continue;
-                    list[v.pindex].chirld[v.index].selectIndex = -1;
-                    select.splice(i, 1);
-                    push = false;
-                    break;
-                }
-                select.length < 11 && push && select.push(data);
-                for (var i = 0; i < select.length; i++) {
-                    var v = select[i];
-                    list[v.pindex].chirld[v.index].selectIndex = i + 1;
-                    selectList.push(list[v.pindex].chirld[v.index])
-                }
-                this.setData({
-                    list: list
-                });
-
-                this.triggerEvent('select', selectList);
-            });
-        },
-        format(s) {
-            let sco = Math.floor(s % 60);
-            let min = Math.floor(s / 60);
-            let hour = Math.floor(min / 60);
-            let time = hour > 9 ? hour : "0" + hour;
-            time += min > 9 ? ":" + min : ":0" + min;
-            time += sco > 9 ? ":" + sco : ":0" + sco;
-            return time
-        },
-        downFile(v) {
-            return new Promise((resolve, reason) => {
-                resolve(v);
-            })
-        }
-    }
-});

+ 0 - 13
miniprogram/components/region/region.wxml

@@ -1,13 +0,0 @@
-<!--components/region/region.wxml-->
-<view class="region" wx:for="{{list}}" wx:key="id">
-  <view class="title">{{item.date}},{{item.title}}</view>
-  <view class="videoItem" bindtap="selectItem" data-index="{{i}}" style="{{ i%3 === 0 ? 'margin-left: 0' : '' }}"
-    data-pindex="{{index}}" data-id="{{val.id}}" data-pid="{{item.id}}" wx:for="{{item.chirld}}" wx:key="id"
-    wx:for-item="val" wx:for-index="i">
-    <view class="{{val.selectIndex >= 0 ? 'select act' : 'select'}}">{{val.selectIndex >= 0 ? val.selectIndex : ''}}
-    </view>
-    <view class="time">{{val.duration}}</view>
-    <image src="{{val.snaps[0]}}" lazy-load
-      style="margin-right: 16px;vertical-align: middle;width:200rpx; height: 111rpx;"></image>
-  </view>
-</view>

+ 0 - 45
miniprogram/components/region/region.wxss

@@ -1,45 +0,0 @@
-/* components/region/region.wxss */
-.region{
-  padding: 0 33rpx;
-}
-.title{
-  font-size: 25rpx;
-  height: 108rpx;
-  line-height: 108rpx;
-  text-align: left;
-}
-.videoItem {
-  margin-left: 28rpx;
-  margin-top: 28rpx;
-  display: inline-block;
-  position: relative;
-  color: #fdfbfc;
-  font-size: 23rpx;
-  height: 111rpx;
-  width:200rpx; 
-}
-
-.videoItem .time{
-  position: absolute;
-  right: 16rpx;
-  bottom: 5rpx;
-}
-.videoItem .select{
-  border: 1rpx solid #ece5e4;
-  position: absolute;
-  border-radius: 50%;
-  height: 30rpx;
-  width: 30rpx;
-  right: 16rpx;
-  top: 16rpx;
-  text-align: center;
-  line-height: 30rpx;
-}
-.videoItem .act{
-  border: none;
-  background: #fe2a54;
-}
-
-.region .videoItem{
-  display: inline-block;
-}

+ 0 - 35
miniprogram/components/tabs/tabs.js

@@ -1,35 +0,0 @@
-"use strict";
-Component({
-    ready: function () {
-        if (!this.data.tabList.length)
-            return;
-        var id = this.data.tabList[0].id;
-        this.setData({
-            tab: id
-        });
-        this.triggerEvent('change', id);
-    },
-    properties: {
-        list: {
-            type: Array,
-            value: []
-        }
-    },
-    data: {
-        tab: 0,
-        tabList: [
-            {
-                title: "剪辑",
-                number: 0,
-                id: 0
-            },
-        ]
-    },
-    methods: {
-        clickTab: function () {
-            var _this = this;
-            var tabData = arguments[0].currentTarget.dataset;
-            this.setData({ tab: tabData.id }, function () { return _this.triggerEvent("Change", tabData.id); });
-        }
-    }
-});

+ 0 - 4
miniprogram/components/tabs/tabs.json

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

+ 0 - 8
miniprogram/components/tabs/tabs.wxml

@@ -1,8 +0,0 @@
-<!--components/tabs/tabs.wxml-->
-<view class="videoTabs">
-  <view wx:for="{{tabList}}" wx:key="id" class="{{tab === item.id ? 'videoTab active' : 'videoTab'}}"
-    data-id="{{item.id}}" bindtap="clickTab">
-    {{item.title}} 
-    <text wx:if="{{item.number}}" class="num">{{item.number}}</text>
-  </view>
-</view>

+ 0 - 27
miniprogram/components/tabs/tabs.wxss

@@ -1,27 +0,0 @@
-/* components/tabs/tabs.wxss */
-.videoTabs {
-  padding: 34rpx;
-  font-size: 26rpx;
-}
-
-.videoTab .num{
-  font-size: 17rpx;
-}
-
-.videoTabs .videoTab{
-  display: inline-block;
-  border-bottom: 1rpx solid;
-  border-bottom-color: transparent;
-}
-
-.videoTabs .videoTab:not(:first-child){
-  margin-left: 34rpx;
-}
-
-.videoTabs .active{
-  border-bottom-color: #e9e9e9;
-}
-
-.videoTabs .videoTabFrom{
-  margin-left: 34rpx;
-}

+ 3 - 0
miniprogram/config/index.ts

@@ -0,0 +1,3 @@
+export const base = {
+  url: "https://malasong.smcic.net"
+}

+ 0 - 7
miniprogram/index.js

@@ -1,7 +0,0 @@
-module.exports = {
-  downloadFile:wx.downloadFile, // 文件下载
-  loadFontFace: wx.loadFontFace, // 字体加载
-  getFileSystemManager: wx.getFileSystemManager, // 模板功能用文件系统接口实现本地包缓存
-  realtimeLogManager: wx.getRealtimeLogManager(), // 错误日志上传
-  USER_DATA_PATH: wx.env.USER_DATA_PATH // 文件系统中的用户目录路径 (本地路径)
-  }

+ 0 - 193
miniprogram/miniprogram_npm/weui-miniprogram/actionsheet/actionsheet.js

@@ -1,193 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 1);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */,
-/* 1 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    multipleSlots: true,
-    // 在组件定义时的选项中启用多slot支持
-    addGlobalClass: true
-  },
-  properties: {
-    title: {
-      // 标题
-      type: String,
-      value: ''
-    },
-    showCancel: {
-      // 是否显示取消按钮
-      type: Boolean,
-      value: true
-    },
-    cancelText: {
-      // 取消按钮文案
-      type: String,
-      value: '取消'
-    },
-    maskClass: {
-      // 遮罩层class
-      type: String,
-      value: ''
-    },
-    extClass: {
-      // 弹出窗 class
-      type: String,
-      value: ''
-    },
-    maskClosable: {
-      // 点击遮罩 关闭 actionsheet
-      type: Boolean,
-      value: true
-    },
-    mask: {
-      // 是否需要 遮罩层
-      type: Boolean,
-      value: true
-    },
-    show: {
-      // 是否开启 actionsheet
-      type: Boolean,
-      value: false
-    },
-    actions: {
-      // actions 列表
-      type: Array,
-      value: [],
-      // {text, extClass}
-      observer: '_groupChange'
-    }
-  },
-  methods: {
-    _groupChange(e) {
-      // 支持 一维数组 写法
-      if (e.length > 0 && typeof e[0] !== 'string' && !(e[0] instanceof Array)) {
-        this.setData({
-          actions: [this.data.actions]
-        });
-      }
-    },
-
-    buttonTap(e) {
-      const {
-        value,
-        groupindex,
-        index
-      } = e.currentTarget.dataset;
-      this.triggerEvent('actiontap', {
-        value,
-        groupindex,
-        index
-      });
-    },
-
-    closeActionSheet(e) {
-      const {
-        type
-      } = e.currentTarget.dataset;
-
-      if (this.data.maskClosable || type) {
-        // 点击 action 里面的 取消
-        this.setData({
-          show: false
-        }); // 关闭回调事件
-
-        this.triggerEvent('close');
-      }
-    }
-
-  }
-});
-
-/***/ })
-/******/ ]);

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/actionsheet/actionsheet.json

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

+ 0 - 51
miniprogram/miniprogram_npm/weui-miniprogram/actionsheet/actionsheet.wxml

@@ -1,51 +0,0 @@
-<wxs module="utils">
-    var join = function(a,b) {
-        return a+b
-    };
-    var isNotSlot = function(v) {
-        return typeof v !== 'string'
-    }
-    module.exports = {
-        join: join,
-        isNotSlot: isNotSlot
-    }
-</wxs>
-
-<view wx:if="{{mask}}" class="weui-mask {{show ? '' : 'weui-mask_hidden'}} {{maskClass}}" bindtap="closeActionSheet"></view>
-<view class="weui-actionsheet {{show ? 'weui-actionsheet_toggle' : ''}} {{extClass}}">
-    <!-- 标题 -->
-    <block  wx:if="{{title}}"> 
-        <view class="weui-actionsheet__title">
-            <view class="weui-actionsheet__title-text">{{title}}</view>
-        </view>
-    </block>
-    <slot name="title" wx:else></slot>
-    <view 
-        class="{{ !showCancel && index === actions.length-1 ? 'weui-actionsheet__action' : 'weui-actionsheet__menu' }}"
-        wx:key="index"
-        wx:for-item="actionItem" 
-        wx:for-index="index"
-        wx:for="{{actions}}"
-    >
-        <block wx:if="{{utils.isNotSlot(actionItem)}}">
-            <view
-                class="weui-actionsheet__cell {{item.type === 'warn' ? 'weui-actionsheet__cell_warn' : '' }}"
-                hover-class="weui-active"
-                wx:key="actionIndex" 
-                wx:for="{{actionItem}}"
-                wx:for-index="actionIndex"
-                data-groupindex="{{index}}"
-                data-index="{{actionIndex}}" 
-                data-value="{{item.value}}"
-                bindtap="buttonTap"
-            >
-                {{item.text}}
-            </view>  
-        </block>
-        <slot name="{{actionItem}}" wx:else></slot>
-    </view>
-    <!-- 取消按钮 -->
-    <view class="weui-actionsheet__action" wx:if="{{showCancel}}">
-        <view class="weui-actionsheet__cell" hover-class="weui-active" data-type="close" id="iosActionsheetCancel" bindtap="closeActionSheet">{{cancelText}}</view>
-    </view>
-</view>

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/actionsheet/actionsheet.wxss

@@ -1 +0,0 @@
-.weui-mask.weui-mask_hidden{opacity:0;transform:scale3d(1, 1, 0)}.weui-mask{opacity:1;transform:scale3d(1, 1, 1);transition:all .3s}

+ 0 - 114
miniprogram/miniprogram_npm/weui-miniprogram/badge/badge.js

@@ -1,114 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 15);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 15:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    addGlobalClass: true
-  },
-  properties: {
-    extClass: {
-      type: String,
-      value: ''
-    },
-    content: {
-      type: String,
-      value: ''
-    }
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/badge/badge.json

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

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/badge/badge.wxml

@@ -1 +0,0 @@
-<view class="weui-badge {{extClass}} {{!content ? 'weui-badge_dot' : ''}}">{{content}}</view>

+ 0 - 0
miniprogram/miniprogram_npm/weui-miniprogram/badge/badge.wxss


+ 0 - 231
miniprogram/miniprogram_npm/weui-miniprogram/cell/cell.js

@@ -1,231 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 9);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 9:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    addGlobalClass: true,
-    multipleSlots: true
-  },
-  properties: {
-    hover: {
-      type: Boolean,
-      value: false
-    },
-    link: {
-      type: Boolean,
-      value: false
-    },
-    extClass: {
-      type: String,
-      value: ''
-    },
-    iconClass: {
-      type: String,
-      value: ''
-    },
-    bodyClass: {
-      type: String,
-      value: ''
-    },
-    icon: {
-      type: String,
-      value: ''
-    },
-    title: {
-      // 和icon二选一,都是放在cell_hd里面
-      type: String,
-      value: ''
-    },
-    value: {
-      type: String,
-      value: ''
-    },
-    showError: {
-      type: Boolean,
-      value: false
-    },
-    prop: {
-      // 校验的属性,给父元素form使用
-      type: String,
-      value: ''
-    },
-    url: {
-      // 在link为true的时候有效,表示navigator的跳转url
-      type: String,
-      value: ''
-    },
-    footerClass: {
-      type: String,
-      value: ''
-    },
-    footer: {
-      type: String,
-      value: ''
-    },
-    inline: {
-      // 左右布局样式还是上下布局
-      type: Boolean,
-      value: true
-    },
-    hasHeader: {
-      type: Boolean,
-      value: true
-    },
-    hasFooter: {
-      type: Boolean,
-      value: true
-    },
-    hasBody: {
-      type: Boolean,
-      value: true
-    },
-    extHoverClass: {
-      // 提供给需要定制 hover-class 的场景,要求 hover 为 false
-      type: String,
-      value: ''
-    }
-  },
-  relations: {
-    '../form/form': {
-      type: 'ancestor'
-    },
-    '../cells/cells': {
-      type: 'ancestor'
-    }
-  },
-  data: {
-    inForm: false
-  },
-  methods: {
-    setError(error) {
-      this.setData({
-        error: error || false
-      });
-    },
-
-    setInForm() {
-      this.setData({
-        inForm: true
-      });
-    },
-
-    setOuterClass(className) {
-      this.setData({
-        outerClass: className
-      });
-    },
-
-    navigateTo() {
-      const data = this.data;
-
-      if (data.url && data.link) {
-        wx.navigateTo({
-          url: data.url,
-          success: res => {
-            this.triggerEvent('navigatesuccess', res, {});
-          },
-          fail: fail => {
-            this.triggerEvent('navigateerror', fail, {});
-          }
-        });
-      }
-    }
-
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 6
miniprogram/miniprogram_npm/weui-miniprogram/cell/cell.json

@@ -1,6 +0,0 @@
-{
-    "component": true,
-    "usingComponents": {
-        "mp-cells": "../cells/cells"
-    }
-}

+ 0 - 73
miniprogram/miniprogram_npm/weui-miniprogram/cell/cell.wxml

@@ -1,73 +0,0 @@
-<block wx:if="{{link}}">
-    <view bindtap="navigateTo" class="weui-cell weui-cell_access {{extClass}} {{outerClass}}{{inForm ? ' weui-cell-inform' : ''}}{{inline ? '' : ' .weui-cell_label-block'}}" hover-class="{{hover ? 'weui-cell_active weui-active' : extHoverClass}}">
-        <view wx:if="{{hasHeader}}" class="weui-cell__hd {{iconClass}}">
-            <block wx:if="{{icon}}">
-                <image src="{{icon}}" class="weui-cell__icon" mode="aspectFit"></image>
-            </block>
-            <block wx:else>
-                <slot name="icon"></slot>
-            </block>
-            <block wx:if="{{inForm}}">
-                <block wx:if="{{title}}"><view class="weui-label">{{title}}</view></block>
-                <block wx:else>
-                    <slot name="title"></slot>
-                </block>
-            </block>
-            <block wx:else>
-                <block wx:if="{{title}}">{{title}}</block>
-                <block wx:else>
-                    <slot name="title"></slot>
-                </block>
-            </block>
-        </view>
-        <view wx:if="{{hasBody}}" class="weui-cell__bd">
-            <block wx:if="{{value}}">{{value}}</block>
-            <block wx:else>
-                <slot></slot>
-            </block>
-        </view>
-        <view wx:if="{{hasFooter}}" class="weui-cell__ft weui-cell__ft_in-access {{footerClass}}">
-            <block wx:if="{{footer}}">{{footer}}</block>
-            <block wx:else>
-                <slot name="footer"></slot>
-            </block>
-        </view>
-    </view>
-</block>
-<block wx:else>
-    <view bindtap="navigateTo" class="weui-cell {{showError && error ? 'weui-cell_warn' : ''}} {{inForm ? 'weui-cell-inform' : ''}} {{extClass}} {{outerClass}}" hover-class="{{hover ? 'weui-cell_active weui-active' : extHoverClass}}">
-        <view wx:if="{{hasHeader}}" class="weui-cell__hd {{iconClass}}">
-            <block wx:if="{{icon}}">
-                <image src="{{icon}}" class="weui-cell__icon" mode="aspectFit"></image>
-            </block>
-            <block wx:else>
-                <slot name="icon"></slot>
-            </block>
-            <block wx:if="{{inForm}}">
-                <block wx:if="{{title}}"><view class="weui-label">{{title}}</view></block>
-                <block wx:else>
-                    <slot name="title"></slot>
-                </block>
-            </block>
-            <block wx:else>
-                <block wx:if="{{title}}">{{title}}</block>
-                <block wx:else>
-                    <slot name="title"></slot>
-                </block>
-            </block>
-        </view>
-        <view wx:if="{{hasBody}}" class="weui-cell__bd {{bodyClass}}">
-            <block wx:if="{{value}}">{{value}}</block>
-            <block wx:else>
-                <slot></slot>
-            </block>
-        </view>
-        <view wx:if="{{hasFooter}}" class="weui-cell__ft {{footerClass}}">
-            <block wx:if="{{footer}}">{{footer}}</block>
-            <block wx:else>
-                <slot name="footer"></slot>
-            </block>
-            <icon wx:if="{{showError && error}}" type="warn" size="23" color="#E64340"></icon>
-        </view>
-    </view>
-</block>

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/cell/cell.wxss

@@ -1 +0,0 @@
-.weui-cell_wxss.weui-cell_wxss:before{display:block}

+ 0 - 183
miniprogram/miniprogram_npm/weui-miniprogram/cells/cells.js

@@ -1,183 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 8);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 8:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    addGlobalClass: true,
-    multipleSlots: true
-  },
-  properties: {
-    title: {
-      type: String,
-      value: ''
-    },
-    extClass: {
-      type: String,
-      value: ''
-    },
-    footer: {
-      type: String,
-      value: ''
-    }
-  },
-  data: {
-    firstItem: null,
-    checkboxCount: 0,
-    checkboxIsMulti: false,
-    outerClass: '',
-    childClass: ''
-  },
-  relations: {
-    '../cell/cell': {
-      type: 'descendant',
-
-      linked(target) {
-        if (!this.data.firstItem) {
-          this.data.firstItem = target;
-        }
-
-        if (target !== this.data.firstItem) {
-          target.setOuterClass('weui-cell_wxss');
-        }
-      }
-
-    },
-    '../form-page/form-page': {
-      type: 'ancestor'
-    },
-    '../checkbox-group/checkbox-group': {
-      type: 'descendant',
-
-      linked(target) {
-        this.setData({
-          checkboxCount: this.data.checkboxCount + 1,
-          checkboxIsMulti: target.data.multi
-        });
-      },
-
-      unlinked(target) {
-        this.setData({
-          checkboxCount: this.data.checkboxCount - 1,
-          checkboxIsMulti: target.data.multi
-        });
-      }
-
-    }
-  },
-  methods: {
-    setCellMulti(multi) {
-      this.setData({
-        checkboxIsMulti: multi
-      });
-    },
-
-    setCellsClass(className) {
-      this.setData({
-        childClass: className
-      });
-    },
-
-    setOuterClass(className) {
-      this.setData({
-        outerClass: className
-      });
-    }
-
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/cells/cells.json

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

+ 0 - 8
miniprogram/miniprogram_npm/weui-miniprogram/cells/cells.wxml

@@ -1,8 +0,0 @@
-<view class="{{extClass}} weui-cells__group {{outerClass}} {{childClass}}">
-    <view wx:if="{{title}}" class="weui-cells__title">{{title}}</view>
-    <view class="weui-cells weui-cells_after-title {{checkboxCount > 0 && checkboxIsMulti ? 'weui-cells_checkbox' : ''}}">
-        <slot></slot>
-    </view>
-    <view wx:if="{{footer}}" class="weui-cells__tips">{{footer}}</view>
-    <slot name="footer" wx:else></slot>
-</view>

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/cells/cells.wxss

@@ -1 +0,0 @@
-.weui-cells__group_wxss.weui-cells__group_wxss .weui-cells__title{margin-top:24px}.weui-cells__group_form .weui-cells__tips{margin-top:8px;padding:0 32px;color:var(--weui-FG-1)}

+ 0 - 226
miniprogram/miniprogram_npm/weui-miniprogram/checkbox-group/checkbox-group.js

@@ -1,226 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 24);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 24:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    addGlobalClass: true,
-    multipleSlots: true
-  },
-  properties: {
-    multi: {
-      type: Boolean,
-      value: true,
-      observer: '_multiChange'
-    },
-    extClass: {
-      type: String,
-      value: ''
-    },
-    prop: {
-      type: String,
-      value: ''
-    }
-  },
-  data: {
-    targetList: [],
-    parentCell: null
-  },
-  relations: {
-    '../checkbox/checkbox': {
-      type: 'descendant',
-
-      linked(target) {
-        this.data.targetList.push(target);
-        target.setMulti(this.data.multi);
-
-        if (!this.data.firstItem) {
-          this.data.firstItem = target;
-        }
-
-        if (target !== this.data.firstItem) {
-          target.setOuterClass('weui-cell_wxss');
-        }
-      },
-
-      unlinked(target) {
-        let index = -1;
-        this.data.targetList.forEach((item, idx) => {
-          if (item === target) {
-            index = idx;
-          }
-        });
-        this.data.targetList.splice(index, 1);
-
-        if (!this.data.targetList) {
-          this.data.firstItem = null;
-        }
-      }
-
-    },
-    '../form/form': {
-      type: 'ancestor'
-    },
-    '../cells/cells': {
-      type: 'ancestor',
-
-      linked(target) {
-        if (!this.data.parentCell) {
-          this.data.parentCell = target;
-        }
-
-        this.setParentCellsClass();
-      },
-
-      unlinked() {
-        this.data.parentCell = null; // 方便内存回收
-      }
-
-    }
-  },
-  methods: {
-    checkedChange(checked, target) {
-      if (this.data.multi) {
-        const vals = [];
-        this.data.targetList.forEach(item => {
-          if (item.data.checked) {
-            vals.push(item.data.value);
-          }
-        });
-        this.triggerEvent('change', {
-          value: vals
-        });
-      } else {
-        let val = '';
-        this.data.targetList.forEach(item => {
-          if (item === target) {
-            val = item.data.value;
-          } else {
-            item.setData({
-              checked: false
-            });
-          }
-        });
-        this.triggerEvent('change', {
-          value: val
-        }, {});
-      }
-    },
-
-    setParentCellsClass() {
-      const className = this.data.multi ? 'weui-cells_checkbox' : '';
-
-      if (this.data.parentCell) {
-        this.data.parentCell.setCellsClass(className);
-      }
-    },
-
-    _multiChange(multi) {
-      this.data.targetList.forEach(target => {
-        target.setMulti(multi);
-      });
-
-      if (this.data.parentCell) {
-        this.data.parentCell.setCellMulti(multi);
-      }
-
-      return multi;
-    }
-
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 6
miniprogram/miniprogram_npm/weui-miniprogram/checkbox-group/checkbox-group.json

@@ -1,6 +0,0 @@
-{
-    "component": true,
-    "usingComponents": {
-        "mp-cells": "../cells/cells"
-    }
-}

+ 0 - 6
miniprogram/miniprogram_npm/weui-miniprogram/checkbox-group/checkbox-group.wxml

@@ -1,6 +0,0 @@
-<checkbox-group class="{{extClass}}" wx-if="{{multi}}" bindchange="checkedChange">
-    <slot></slot>
-</checkbox-group>
-<radio-group class="{{extClass}}" wx-else bindchange="checkedChange">
-    <slot></slot>
-</radio-group>

+ 0 - 0
miniprogram/miniprogram_npm/weui-miniprogram/checkbox-group/checkbox-group.wxss


+ 0 - 184
miniprogram/miniprogram_npm/weui-miniprogram/checkbox/checkbox.js

@@ -1,184 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 25);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 25:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    addGlobalClass: true,
-    multipleSlots: true
-  },
-  properties: {
-    multi: {
-      type: Boolean,
-      value: true
-    },
-    checked: {
-      type: Boolean,
-      value: false
-    },
-    value: {
-      type: String,
-      value: ''
-    },
-    label: {
-      type: String,
-      value: 'label'
-    },
-    extClass: {
-      type: String,
-      value: ''
-    }
-  },
-  data: {},
-  relations: {
-    '../checkbox-group/checkbox-group': {
-      type: 'ancestor',
-
-      linked(target) {
-        this.data.group = target;
-      },
-
-      unlinked() {
-        this.data.group = null;
-      }
-
-    }
-  },
-  methods: {
-    setMulti(multi) {
-      this.setData({
-        multi
-      });
-    },
-
-    setOuterClass(className) {
-      this.setData({
-        outerClass: className
-      });
-    },
-
-    checkedChange() {
-      if (this.data.multi) {
-        const checked = !this.data.checked;
-        this.setData({
-          checked
-        });
-
-        if (this.data.group) {
-          this.data.group.checkedChange(checked, this);
-        }
-      } else {
-        const checked = this.data.checked;
-        if (checked) return;
-        this.setData({
-          checked: true
-        });
-
-        if (this.data.group) {
-          this.data.group.checkedChange(checked, this);
-        }
-      }
-
-      this.triggerEvent('change', {
-        value: this.data.value,
-        checked: this.data.checked
-      });
-    }
-
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 7
miniprogram/miniprogram_npm/weui-miniprogram/checkbox/checkbox.json

@@ -1,7 +0,0 @@
-{
-    "component": true,
-    "usingComponents": {
-        "mp-cell": "../cell/cell",
-        "mp-checkbox-group": "../checkbox-group/checkbox-group"
-    }
-}

+ 0 - 20
miniprogram/miniprogram_npm/weui-miniprogram/checkbox/checkbox.wxml

@@ -1,20 +0,0 @@
-<mp-cell
-  has-footer="{{!multi}}"
-  has-header="{{multi}}"
-  bindtap="checkedChange"
-  ext-class="weui-check__label {{outerClass}} {{extClass}} {{!multi ? '^weui-cell_radio' : '^weui-cell_checkbox'}}"
-  ext-hover-class="weui-active">
-
-  <view slot="icon" wx:if="{{multi}}">
-    <checkbox value="{{value}}" checked="{{checked}}" disabled="{{disabled}}" color="{{color}}" class="weui-check">
-    </checkbox>
-    <!-- 未勾选 -->
-    <icon class="weui-icon-checked"></icon>
-  </view>
-  <view>{{label}}</view>
-  <view slot="footer" wx:if="{{!multi}}">
-    <radio value="{{value}}" checked="{{checked}}" disabled="{{disabled}}" color="{{color}}" class="weui-check"></radio>
-    <!-- 已勾选 -->
-    <icon class="weui-icon-checked"></icon>
-  </view>
-</mp-cell>

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/checkbox/checkbox.wxss

@@ -1 +0,0 @@
-.weui-cell_radio .weui-check+.weui-icon-checked{color:transparent}.weui-check[checked]+.weui-icon-checked{color:var(--weui-BRAND);-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.657%2018.435L3%2012.778l1.414-1.414%204.95%204.95L20.678%205l1.414%201.414-12.02%2012.021a1%201%200%2001-1.415%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.657%2018.435L3%2012.778l1.414-1.414%204.95%204.95L20.678%205l1.414%201.414-12.02%2012.021a1%201%200%2001-1.415%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E)}

+ 0 - 182
miniprogram/miniprogram_npm/weui-miniprogram/dialog/dialog.js

@@ -1,182 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 20);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 20:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    multipleSlots: true,
-    // 在组件定义时的选项中启用多slot支持
-    addGlobalClass: true
-  },
-  properties: {
-    title: {
-      // 弹窗标题,也可以通过 slot 自定义
-      type: String,
-      value: ''
-    },
-    extClass: {
-      // 弹窗 class
-      type: String,
-      value: ''
-    },
-    maskClosable: {
-      type: Boolean,
-      value: true
-    },
-    mask: {
-      // 是否需要 遮罩层
-      type: Boolean,
-      value: true
-    },
-    show: {
-      // 是否开启弹窗
-      type: Boolean,
-      value: false,
-      observer: '_showChange'
-    },
-    buttons: {
-      type: Array,
-      value: [] // {text, extClass}
-
-    }
-  },
-  data: {
-    innerShow: false
-  },
-
-  ready() {
-    const buttons = this.data.buttons;
-    const len = buttons.length;
-    buttons.forEach((btn, index) => {
-      if (len === 1) {
-        btn.className = 'weui-dialog__btn_primary';
-      } else if (index === 0) {
-        btn.className = 'weui-dialog__btn_default';
-      } else {
-        btn.className = 'weui-dialog__btn_primary';
-      }
-    });
-    this.setData({
-      buttons
-    });
-  },
-
-  methods: {
-    buttonTap(e) {
-      const {
-        index
-      } = e.currentTarget.dataset;
-      this.triggerEvent('buttontap', {
-        index,
-        item: this.data.buttons[index]
-      }, {});
-    },
-
-    close() {
-      const data = this.data;
-      if (!data.maskClosable) return;
-      this.setData({
-        show: false
-      });
-      this.triggerEvent('close', {}, {});
-    },
-
-    stopEvent() {}
-
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/dialog/dialog.json

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

+ 0 - 20
miniprogram/miniprogram_npm/weui-miniprogram/dialog/dialog.wxml

@@ -1,20 +0,0 @@
-<view bindtap="close" class="weui-mask {{!show ? 'weui-mask_hidden' : '' }}" wx:if="{{mask}}"></view>
-<view wx:if="{{show}}" bindtap="close" class="weui-dialog__wrp {{extClass}}">
-    <view class="weui-dialog" catchtap="stopEvent">
-      <view class="weui-dialog__hd">
-        <view class="weui-dialog__title">{{title}}
-          <slot name="title"></slot>
-        </view>
-      </view>
-      <view class="weui-dialog__bd">
-        <slot></slot>
-      </view>
-      <view class="weui-dialog__ft">
-        <block wx:if="{{buttons && buttons.length}}">
-          <view wx:for="{{buttons}}" wx:key="index" class="weui-dialog__btn {{item.className}} {{item.extClass}}" hover-class="weui-active" data-index="{{index}}" bindtap="buttonTap">{{item.text}}</view>
-        </block>
-        <slot name="footer" wx:else></slot>
-      </view>
-    </view>
-</view>
-

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/dialog/dialog.wxss

@@ -1 +0,0 @@
-.weui-dialog.weui-dialog_hidden{opacity:0;transform:scale3d(1, 1, 0)}.weui-dialog{opacity:1;-webkit-transform:scale3d(1, 1, 1) translateY(-50%);transform:scale3d(1, 1, 1) translateY(-50%);transition:all .2s ease-in}.weui-mask.weui-mask_hidden{opacity:0;transform:scale3d(1, 1, 0)}.weui-mask{opacity:1;transform:scale3d(1, 1, 1);transition:all .2s ease-in}

+ 0 - 138
miniprogram/miniprogram_npm/weui-miniprogram/form-page/form-page.js

@@ -1,138 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 2);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 2:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    addGlobalClass: true,
-    multipleSlots: true
-  },
-  properties: {
-    title: {
-      // Msg 标题
-      type: String,
-      value: ''
-    },
-    subtitle: {
-      // icon 的 type
-      type: String,
-      value: ''
-    }
-  },
-  relations: {
-    '../cells/cells': {
-      type: 'descendant',
-
-      linked(target) {
-        if (!this.data.firstItem) {
-          this.data.firstItem = target;
-        }
-
-        target.setOuterClass('weui-cells__group weui-cells__group_form weui-cells_form');
-
-        if (target !== this.data.firstItem) {
-          target.setOuterClass('weui-cells__group_wxss weui-cells__group weui-cells__group_form weui-cells_form');
-        }
-      }
-
-    }
-  },
-  data: {
-    firstItem: null
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/form-page/form-page.json

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

+ 0 - 31
miniprogram/miniprogram_npm/weui-miniprogram/form-page/form-page.wxml

@@ -1,31 +0,0 @@
-<view class="weui-form">
-    <block wx:if="{{title || subtitle}}">
-      <view class="weui-form__text-area">
-          <view class="weui-form__title">{{title}}</view>
-          <view class="weui-form__desc">{{subtitle}}</view>
-      </view>
-    </block>
-    <block wx:else>
-      <view class="weui-form__text-area">
-        <slot name="title"></slot>
-      </view>
-    </block>
-  <view class="weui-form__control-area">
-    <slot></slot>
-  </view>
-  <view class="weui-form__tips-area">
-    <slot name="tips"></slot>
-  </view>
-  <view class="weui-form__opr-area">
-    <slot name="button"></slot>
-  </view>
-  <view class="weui-form__tips-area">
-    <slot name="suffixtips"></slot>
-  </view>
-  <view class="weui-form__extra-area">
-    <view class="weui-footer">
-      <slot name="footer"></slot>
-    </view>
-  </view>
-</view>
-

+ 0 - 0
miniprogram/miniprogram_npm/weui-miniprogram/form-page/form-page.wxss


+ 0 - 746
miniprogram/miniprogram_npm/weui-miniprogram/form/form.js

@@ -1,746 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 4);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.diffObject = exports.diff = void 0;
-
-const diff = (old, newVal) => {
-  if (!old && newVal || old && !newVal) return true;
-
-  for (const k in newVal) {
-    if (old[k] !== newVal[k]) return true;
-  }
-
-  for (const k in old) {
-    if (old[k] !== newVal[k]) return true;
-  }
-
-  return false;
-};
-
-exports.diff = diff;
-
-const diffObject = (old, newVal) => {
-  if (!old && newVal) return newVal;
-  if (!newVal && old) return old;
-  const diffObj = {};
-  let isDiff = false;
-
-  for (const k in newVal) {
-    if (old[k] !== newVal[k]) {
-      isDiff = true;
-      diffObj[k] = newVal[k];
-    }
-  }
-
-  for (const k in old) {
-    if (old[k] !== newVal[k]) {
-      isDiff = true;
-      diffObj[k] = newVal[k];
-    }
-  }
-
-  return isDiff ? diffObj : null;
-};
-
-exports.diffObject = diffObject;
-
-/***/ }),
-/* 1 */,
-/* 2 */,
-/* 3 */,
-/* 4 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.default = void 0;
-
-var _formValidator = _interopRequireDefault(__webpack_require__(5));
-
-var _object = __webpack_require__(0);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function linked(target) {
-  if (target.data.prop) {
-    this.data.formItems[target.data.prop] = target;
-  }
-
-  if (target.setInForm) {
-    target.setInForm();
-  }
-
-  if (!this.data.firstItem) {
-    this.data.firstItem = target;
-  }
-}
-
-function unlinked(target) {
-  if (target.data.prop) {
-    delete this.data.formItems[target.data.prop];
-  }
-}
-
-Component({
-  properties: {
-    models: {
-      type: Object,
-      value: {},
-      observer: '_modelChange'
-    },
-    rules: {
-      // 格式是[{name, rules: {}}]
-      type: Array,
-      value: [],
-      observer: '_rulesChange'
-    },
-    extClass: {
-      type: String,
-      value: ''
-    }
-  },
-  data: {
-    errors: {},
-    formItems: {},
-    firstItem: null
-  },
-  relations: {
-    '../cell/cell': {
-      type: 'descendant',
-      linked,
-      unlinked
-    },
-    '../checkbox-group/checkbox-group': {
-      type: 'descendant',
-      linked,
-      unlinked
-    }
-  },
-
-  attached() {
-    this.initRules();
-    this.formValidator = new _formValidator.default(this.data.models, this.data.newRules);
-  },
-
-  methods: {
-    initRules(rules) {
-      const newRules = {};
-      (rules || this.data.rules).forEach(rule => {
-        if (rule.name && rule.rules) {
-          newRules[rule.name] = rule.rules || [];
-        }
-      });
-      this.setData({
-        newRules
-      });
-      return newRules;
-    },
-
-    _modelChange(newVal, oldVal) {
-      if (!this.formValidator) {
-        return newVal;
-      } // 这个必须在前面
-
-
-      this.formValidator.setModel(newVal);
-      const diffObj = (0, _object.diffObject)(oldVal, newVal);
-
-      if (diffObj) {
-        let isValid = true;
-        const errors = [];
-        const errorMap = {};
-        Object.keys(diffObj).forEach(k => {
-          this.formValidator.validateField(k, diffObj[k], function (isValided, error) {
-            if (error && error[k]) {
-              errors.push(error[k]);
-              errorMap[k] = error[k];
-            }
-
-            isValid = isValided;
-          });
-        });
-
-        this._showErrors(diffObj, errorMap);
-
-        this.triggerEvent(isValid ? 'success' : 'fail', isValid ? {
-          trigger: 'change'
-        } : {
-          errors,
-          trigger: 'change'
-        });
-      }
-
-      return newVal;
-    },
-
-    _rulesChange(newVal) {
-      const newRules = this.initRules(newVal);
-
-      if (this.formValidator) {
-        this.formValidator.setRules(newRules);
-      }
-
-      return newVal;
-    },
-
-    _showAllErrors(errors) {
-      Object.keys(this.data.newRules).forEach(k => {
-        this._showError(k, errors && errors[k]);
-      });
-    },
-
-    _showErrors(objs, errors) {
-      Object.keys(objs).forEach(k => {
-        this._showError(k, errors && errors[k]);
-      });
-    },
-
-    _showError(prop, error) {
-      const formItem = this.data.formItems[prop];
-
-      if (formItem && formItem.data.showError) {
-        formItem.setError(error);
-      }
-    },
-
-    validate(cb) {
-      return this.formValidator.validate((isValid, errors) => {
-        this._showAllErrors(errors);
-
-        const handleError = this.handleErrors(errors);
-        this.triggerEvent(isValid ? 'success' : 'fail', isValid ? {
-          trigger: 'validate'
-        } : {
-          errors: handleError,
-          trigger: 'validate'
-        });
-        cb && cb(isValid, handleError);
-      });
-    },
-
-    // eslint-disable-next-line @typescript-eslint/no-unused-vars
-    validateField(name, value, cb = (v, error = null) => {}) {
-      return this.formValidator.validateField(name, value, (isValid, errors) => {
-        this._showError(name, errors);
-
-        const handleError = this.handleErrors(errors);
-        this.triggerEvent(isValid ? 'success' : 'fail', isValid ? {
-          trigger: 'validate'
-        } : {
-          errors: handleError,
-          trigger: 'validate'
-        });
-        cb && cb(isValid, handleError);
-      });
-    },
-
-    handleErrors(errors) {
-      if (errors) {
-        const newErrors = [];
-        this.data.rules.forEach(rule => {
-          if (errors[rule.name]) {
-            errors[rule.name].name = rule.name;
-            newErrors.push(errors[rule.name]);
-          }
-        });
-        return newErrors;
-      }
-
-      return errors;
-    },
-
-    addMethod(ruleName, method) {
-      return this.formValidator.addMethod(ruleName, method);
-    }
-
-  }
-});
-var _default = _formValidator.default;
-exports.default = _default;
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.default = void 0;
-
-var _validator = _interopRequireDefault(__webpack_require__(6));
-
-var _object = __webpack_require__(0);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-
-const toString = Object.prototype.toString;
-
-const validateSingleRule = (rule, value, param = null, models = null) => {
-  let message = '';
-  const ruleKeys = Object.keys(rule);
-
-  for (let i = 0, l = ruleKeys.length; i < l; ++i) {
-    const ruleKey = ruleKeys[i];
-    if (ruleKey === 'name' || ruleKey === 'message') continue;
-    const validateMethod = typeof rule.validator !== 'undefined' ? rule.validator : _validator.default[ruleKey];
-
-    if (typeof validateMethod === 'function') {
-      message = validateMethod(rule, value, param, models);
-
-      if (message) {
-        return message;
-      }
-    }
-  }
-
-  return message;
-};
-
-class FormValidator {
-  constructor(models, rules) {
-    _defineProperty(this, "models", void 0);
-
-    _defineProperty(this, "rules", void 0);
-
-    _defineProperty(this, "errors", void 0);
-
-    this.models = models;
-    this.rules = rules;
-    this.errors = {};
-  }
-
-  validate(cb) {
-    return new Promise(resolve => {
-      let failCount = 0;
-      const errors = this.errors;
-      const models = this.models; // let errorChanged = false
-
-      Object.keys(this.rules).forEach(fieldName => {
-        const oldError = errors[fieldName];
-
-        this._innerValidateField(fieldName, models[fieldName], (valid, newError) => {
-          if (!valid) failCount++;
-
-          if ((0, _object.diff)(oldError, newError)) {
-            errors[fieldName] = newError;
-            errorChanged = true;
-          }
-        });
-      });
-      const keys = Object.keys(errors);
-      keys.forEach(key => {
-        if (!errors[key]) delete errors[key];
-      }); // 先支持同步的接口吧
-
-      resolve({
-        isValid: !failCount,
-        errors: failCount ? errors : undefined
-      });
-      cb && cb(!failCount, failCount ? errors : undefined);
-    });
-  }
-
-  validateField(name, value, cb) {
-    return new Promise(resolve => {
-      this._innerValidateField(name, value, (valid, error) => {
-        const errObj = {};
-        errObj[name] = error;
-        resolve({
-          valid,
-          error: valid ? undefined : error
-        });
-        cb && cb(valid, valid ? undefined : errObj);
-        const oldError = this.errors[name];
-        const errorChanged = (0, _object.diff)(oldError, error);
-
-        if (errorChanged) {
-          if (!error) delete this.errors[name];
-          this.errors[name] = error;
-        }
-      });
-    });
-  }
-
-  _innerValidateField(name, value, cb) {
-    const rules = this.rules[name];
-
-    if (!rules) {
-      console.warn(`[form-validator] rule name ${name} not exists.`);
-      cb(true);
-      return;
-    } // 处理参数
-
-
-    if (typeof value === 'function') {
-      cb = value;
-      value = undefined;
-    }
-
-    let isFail = false;
-    const models = this.models;
-
-    if (toString.call(rules) === '[object Array]') {
-      rules.forEach(rule => {
-        rule.name = name; // 字段名称
-
-        const resMessage = validateSingleRule(rule, value || models[name], rule.param, models); // 失败了直接中止
-
-        if (resMessage && !isFail) {
-          isFail = true; // errors[name] = {message: resMessage}
-
-          const error = resMessage ? {
-            message: resMessage,
-            rule
-          } : undefined;
-          cb(false, error);
-        }
-      }); // 成功的回调
-
-      if (!isFail) {
-        cb(!isFail);
-      }
-    } else {
-      const rule = rules;
-      rule.name = name;
-      const resMessage = validateSingleRule(rule, value || models[name], rule.param, models);
-      const error = resMessage ? {
-        message: resMessage,
-        rule
-      } : undefined;
-
-      if (resMessage) {
-        isFail = true;
-      }
-
-      cb(!isFail, error);
-    }
-  }
-
-  static addMethod(ruleName, method) {
-    _validator.default[ruleName] = method;
-  }
-
-  setModel(newModel) {
-    this.models = newModel;
-  }
-
-  setRules(newRules) {
-    this.rules = newRules;
-  }
-
-}
-
-var _default = FormValidator;
-exports.default = _default;
-
-/***/ }),
-/* 6 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.default = void 0;
-
-var _string = __webpack_require__(7);
-
-const defaultMessage = {
-  required: '%s必填',
-  minlength: '长度最少为%s',
-  maxlength: '长度最大为%s',
-  rangelength: '长度在%s和%s之间',
-  bytelength: '最多只能输入%s个字',
-  min: '值最小为%s',
-  max: '值最大为%s',
-  range: '值的范围为%s和%s之间',
-  mobile: '请输入正确的手机号',
-  email: '请输入正确的电子邮件',
-  url: '请输入正确的URL地址',
-  equalTo: '值和字段%s不相等'
-};
-
-const isEmpty = function (val) {
-  if (val === 0 || val === false) return false;
-  return !val;
-};
-
-var _default = {
-  required(r, val) {
-    if (r.required === false) return '';else if (isEmpty(val)) return (0, _string.sprintf)(r.message || defaultMessage.required, r.name);else return '';
-  },
-
-  minlength(r, val) {
-    const minlen = r.minlength;
-    val = val || '';
-    if (val.length < minlen) return (0, _string.sprintf)(r.message || defaultMessage.minlength, minlen);else return '';
-  },
-
-  maxlength(r, val) {
-    const maxlen = r.maxlength;
-    val = val || '';
-
-    if (val.length > maxlen) {
-      return (0, _string.sprintf)(r.message || defaultMessage.maxlength, maxlen);
-    } else {
-      return '';
-    }
-  },
-
-  rangelength(r, val) {
-    const range = r.rangelength;
-    val = val || '';
-
-    if (val.length > range[1] || val.length < range[0]) {
-      return (0, _string.sprintf)(r.message || defaultMessage.rangelength, range[0], range[1]);
-    } else {
-      return '';
-    }
-  },
-
-  min(r, val) {
-    const min = r.min;
-
-    if (val < min) {
-      return (0, _string.sprintf)(r.message || defaultMessage.min, min);
-    } else {
-      return '';
-    }
-  },
-
-  max(r, val) {
-    const max = r.max;
-
-    if (val > max) {
-      return (0, _string.sprintf)(r.message || defaultMessage.max, max);
-    } else {
-      return '';
-    }
-  },
-
-  range(r, val) {
-    const range = r.range;
-
-    if (val < range[0] || val > range[1]) {
-      return (0, _string.sprintf)(r.message || defaultMessage.range, range[0], range[1]);
-    } else {
-      return '';
-    }
-  },
-
-  mobile(r, val) {
-    val = val || '';
-
-    if (r.mobile === false) {
-      return '';
-    } else if (val.length !== 11) {
-      return (0, _string.sprintf)(r.message || defaultMessage.mobile);
-    } else {
-      return '';
-    }
-  },
-
-  email(r, value) {
-    if (r.email === false) return ''; // contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
-    // eslint-disable-next-line
-
-    if (!/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value)) {
-      return (0, _string.sprintf)(r.message || defaultMessage.email);
-    } else {
-      return '';
-    }
-  },
-
-  // http://docs.jquery.com/Plugins/Validation/Methods/url
-  url(r, value) {
-    if (r.url === false) return ''; // contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/
-
-    if ( // eslint-disable-next-line no-useless-escape
-    !/^(https?|s?ftp|weixin):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value)) {
-      return r.message || defaultMessage.url;
-    } else {
-      return '';
-    }
-  },
-
-  equalTo(r, value, param, models) {
-    const equalTo = r.equalTo;
-
-    if (value !== models[equalTo]) {
-      return (0, _string.sprintf)(r.message || defaultMessage.equalTo, r.name);
-    } else {
-      return '';
-    }
-  },
-
-  bytelength(r, value, param) {
-    param = r.param;
-    value = value || ''; // eslint-disable-next-line no-control-regex
-
-    const len = value.replace(/[^\x00-\xff]/g, '**').length;
-
-    if (len > param) {
-      return (0, _string.sprintf)(r.message || defaultMessage.bytelength, param);
-    } else {
-      return '';
-    }
-  }
-
-};
-exports.default = _default;
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.sprintf = void 0;
-
-/**
- * 占位替换
- * @method sprintf
- * @method String.prototype.sprintf
- * @example
- * "my name is %s  %s".sprintf("a","b")  =》"my name is a  b"
- */
-const sprintf = (...args) => {
-  let i;
-  let result = args[0] || '';
-  let para;
-  let reg;
-  const length = args.length - 1;
-
-  if (length < 1) {
-    return result;
-  }
-
-  i = 1;
-
-  while (i < length + 1) {
-    result = result.replace(/%s/, '{#' + i + '#}');
-    i++;
-  }
-
-  result.replace('%s', '');
-  i = 1; // eslint-disable-next-line
-
-  while (true) {
-    para = args[i];
-
-    if (para === undefined) {
-      // 0 也是可能的替换数字
-      break;
-    }
-
-    reg = new RegExp('{#' + i + '#}', 'g');
-    result = result.replace(reg, para);
-    i++;
-  }
-
-  return result;
-};
-
-exports.sprintf = sprintf;
-
-/***/ })
-/******/ ]);

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/form/form.json

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

+ 0 - 3
miniprogram/miniprogram_npm/weui-miniprogram/form/form.wxml

@@ -1,3 +0,0 @@
-<view class="{{extClass}}">
-    <slot></slot>
-</view>

+ 0 - 192
miniprogram/miniprogram_npm/weui-miniprogram/gallery/gallery.js

@@ -1,192 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 21);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 21:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    addGlobalClass: true
-  },
-  properties: {
-    imgUrls: {
-      type: Array,
-      value: [],
-
-      observer(newVal) {
-        this.setData({
-          currentImgs: newVal
-        });
-      }
-
-    },
-    showDelete: {
-      // 是否显示delete按钮
-      type: Boolean,
-      value: true
-    },
-    show: {
-      type: Boolean,
-      value: true
-    },
-    current: {
-      type: Number,
-      value: 0
-    },
-    hideOnClick: {
-      type: Boolean,
-      value: true
-    },
-    extClass: {
-      type: String,
-      value: ''
-    }
-  },
-  data: {
-    currentImgs: []
-  },
-
-  ready() {
-    const data = this.data;
-    this.setData({
-      currentImgs: data.imgUrls
-    });
-  },
-
-  methods: {
-    change(e) {
-      this.setData({
-        current: e.detail.current
-      });
-      this.triggerEvent('change', {
-        current: e.detail.current
-      }, {});
-    },
-
-    deleteImg() {
-      const data = this.data;
-      const imgs = data.currentImgs;
-      const url = imgs.splice(data.current, 1);
-      this.triggerEvent('delete', {
-        url: url[0],
-        index: data.current
-      }, {});
-
-      if (imgs.length === 0) {
-        // @ts-ignore
-        this.hideGallery();
-        return;
-      }
-
-      this.setData({
-        current: 0,
-        currentImgs: imgs
-      });
-    },
-
-    hideGallery() {
-      const data = this.data;
-
-      if (data.hideOnClick) {
-        this.setData({
-          show: false
-        });
-        this.triggerEvent('hide', {}, {});
-      }
-    }
-
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/gallery/gallery.json

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

+ 0 - 13
miniprogram/miniprogram_npm/weui-miniprogram/gallery/gallery.wxml

@@ -1,13 +0,0 @@
-<view class="weui-gallery {{show ? 'weui-gallery_show' : ''}} {{extClass}}">
-  <view class="weui-gallery__info">{{current+1}}/{{currentImgs.length}}</view>
-  <swiper class="weui-gallery__img__wrp" bindtap="hideGallery" indicator-dots="{{false}}" bindchange="change" current="{{current}}" autoplay="{{false}}" duration="{{500}}">
-    <block wx:for="{{currentImgs}}" wx:key="index">
-      <swiper-item>
-        <image mode="aspectFit" class="weui-gallery__img" src="{{item}}"></image>
-      </swiper-item>
-    </block>
-  </swiper>
-  <view class="weui-gallery__opr" wx:if="{{showDelete}}">
-    <navigator bindtap="deleteImg" class="weui-gallery__del">删除</navigator>
-  </view>
-</view>

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/gallery/gallery.wxss

@@ -1 +0,0 @@
-.weui-gallery{display:none}.weui-gallery_show.weui-gallery{display:flex}

+ 0 - 149
miniprogram/miniprogram_npm/weui-miniprogram/grids/grids.js

@@ -1,149 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 23);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 23:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-const defaultGridProps = {
-  target: 'self',
-  url: '',
-  openType: 'navigate',
-  delta: 1,
-  appId: '',
-  path: '',
-  extraData: '',
-  version: 'release',
-  hoverClass: 'navigator-hover',
-  hoverStopPropagation: false,
-  hoverStartTime: 50,
-  hoverStayTime: 600,
-  bindsuccess: () => {},
-  bindfail: () => {},
-  bindcomplete: () => {}
-};
-Component({
-  options: {
-    addGlobalClass: true,
-    pureDataPattern: /^_/
-  },
-  properties: {
-    extClass: {
-      type: String,
-      value: ''
-    },
-    grids: {
-      type: Array,
-      value: [],
-      observer: '_onGridsChange'
-    }
-  },
-  data: {
-    innerGrids: []
-  },
-
-  ready() {},
-
-  methods: {
-    _onGridsChange(grids) {
-      if (grids) {
-        this.setData({
-          innerGrids: grids.map(grid => Object.assign({}, defaultGridProps, grid))
-        });
-      }
-    }
-
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/grids/grids.json

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

+ 0 - 26
miniprogram/miniprogram_npm/weui-miniprogram/grids/grids.wxml

@@ -1,26 +0,0 @@
-<view class="weui-grids {{extClass}}">
-  <block wx:for="{{innerGrids}}" wx:key="index">
-    <navigator
-      class="weui-grid"
-      target="{{item.target}}"
-      url="{{item.url}}"
-      open-type="{{item.openType}}"
-      app-id="{{item.appId}}"
-      path="{{item.path}}"
-      extra-data="{{item.extraData}}"
-      version="{{item.version}}"
-      hover-class="{{item.hoverClass}}"
-      hover-stop-propagation="{{item.hoverStopPropagation}}"
-      hover-start-time="{{item.hoverStartTime}}"
-      hover-stay-time="{{item.hoverStayTime}}"
-      bindsuccess="{{item.bindsuccess}}"
-      bindfail="{{item.bindfail}}"
-      bindcomplete="{{item.bindcomplete}}"
-    >
-      <view class="weui-grid__icon">
-        <image class="weui-grid__icon_img" src="{{item.imgUrl}}" alt></image>
-      </view>
-      <view class="weui-grid__label">{{item.text}}</view>
-    </navigator>
-  </block>
-</view>

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/grids/grids.wxss

@@ -1 +0,0 @@
-.weui-grid .weui-grid__icon_img{width:100%;height:100%}

+ 0 - 185
miniprogram/miniprogram_npm/weui-miniprogram/half-screen-dialog/half-screen-dialog.js

@@ -1,185 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 17);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 17:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    multipleSlots: true,
-    // 在组件定义时的选项中启用多slot支持
-    addGlobalClass: true
-  },
-  properties: {
-    closabled: {
-      // 是否具有关闭标签
-      type: Boolean,
-      value: true
-    },
-    title: {
-      // 标题,也可以通过 slot 自定义
-      type: String,
-      value: ''
-    },
-    subTitle: {
-      // 副标题,也可以通过 slot 自定义
-      type: String,
-      value: ''
-    },
-    extClass: {
-      // 弹窗 class
-      type: String,
-      value: ''
-    },
-    desc: {
-      type: String,
-      value: ''
-    },
-    tips: {
-      type: String,
-      value: ''
-    },
-    maskClosable: {
-      type: Boolean,
-      value: true
-    },
-    mask: {
-      // 是否需要 遮罩层
-      type: Boolean,
-      value: true
-    },
-    show: {
-      // 是否开启弹窗
-      type: Boolean,
-      value: false,
-      observer: '_showChange'
-    },
-    buttons: {
-      type: Array,
-      value: [] // {text, extClass}
-
-    }
-  },
-  methods: {
-    close(e) {
-      const {
-        type
-      } = e.currentTarget.dataset;
-
-      if (this.data.maskClosable || type === 'close') {
-        this.setData({
-          show: false
-        }); // 关闭弹窗回调事件
-
-        this.triggerEvent('close');
-      }
-    },
-
-    buttonTap(e) {
-      const {
-        index
-      } = e.currentTarget.dataset;
-      this.triggerEvent('buttontap', {
-        index,
-        item: this.data.buttons[index]
-      }, {});
-    },
-
-    onMaskMouseMove() {// do nothing
-    }
-
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/half-screen-dialog/half-screen-dialog.json

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

+ 0 - 42
miniprogram/miniprogram_npm/weui-miniprogram/half-screen-dialog/half-screen-dialog.wxml

@@ -1,42 +0,0 @@
-<view class="{{show ? 'weui-show' :'weui-hidden'}}">
-  <view class="weui-mask init" wx:if="{{mask}}" bindtap="close" catch:touchmove="onMaskMouseMove" data-type="tap"></view>
-  <view class="weui-half-screen-dialog {{extClass}}">
-    <view class="weui-half-screen-dialog__hd">
-      <view wx:if="{{closabled}}" class="weui-half-screen-dialog__hd__side" bindtap="close" data-type="close">
-        <view class="weui-icon-btn weui-icon-btn_close" hover-class="weui-active">关闭</view>
-      </view>
-      <view class="weui-half-screen-dialog__hd__main">
-        <block wx:if="{{title}}">
-          <text class="weui-half-screen-dialog__title">{{title}}</text>
-          <text class="weui-half-screen-dialog__subtitle">{{subTitle}}</text>
-        </block>
-        <block wx:else>
-          <view class="weui-half-screen-dialog__title"><slot name="title"></slot></view>
-        </block>
-      </view>
-      <view class="weui-half-screen-dialog__hd__side">
-        <view class="weui-icon-btn weui-icon-btn_more" hover-class="weui-active">更多</view>
-      </view>
-    </view>
-    <view class="weui-half-screen-dialog__bd">
-      <block wx:if="{{desc}}">
-        <view class="weui-half-screen-dialog__desc">{{desc}}</view>
-        <view class="weui-half-screen-dialog__tips">{{tips}}</view>
-      </block>
-      <slot name="desc" wx:else></slot>
-    </view>
-    <view class="weui-half-screen-dialog__ft">
-      <block wx:if="{{buttons && buttons.length}}">
-        <button
-          wx:for="{{buttons}}"
-          wx:key="index"
-          type="{{item.type}}"
-          class="weui-btn {{item.className}}"
-          data-index="{{index}}"
-          bindtap="buttonTap"
-        >{{item.text}}</button>
-      </block>
-      <slot name="footer" wx:else></slot>
-    </view>
-  </view>
-</view>

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/half-screen-dialog/half-screen-dialog.wxss

@@ -1 +0,0 @@
-.weui-mask,.weui-half-screen-dialog{transition:all .3s}.weui-hidden .weui-mask{visibility:hidden;opacity:0}.weui-hidden .weui-half-screen-dialog{transform:translateY(100%)}.weui-show .weui-mask{opacity:1;visibility:visible}.weui-show .weui-half-screen-dialog{transform:translateY(0%)}

文件差異過大導致無法顯示
+ 0 - 240
miniprogram/miniprogram_npm/weui-miniprogram/icon/icon.js


+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/icon/icon.json

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

+ 0 - 14
miniprogram/miniprogram_npm/weui-miniprogram/icon/icon.wxml

@@ -1,14 +0,0 @@
-<wxs module="utils">
-    var double = function(a) {
-        return 2*a
-    };
-    var ifSpecialIcon = function(v) {
-      return v === 'arrow' || v === 'back'
-    }
-    module.exports = {
-      double: double,
-      ifSpecialIcon: ifSpecialIcon
-    }
-</wxs>
-
-<view class="{{extClass}} weui-icon" style="background:{{color}};width:{{size}}px;height:{{ utils.ifSpecialIcon(icon) ? utils.double(size) : size}}px;mask-image:url({{src}});-webkit-mask-image:url({{src}});-moz-mask-image:url({{src}})"></view>

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/icon/icon.wxss

@@ -1 +0,0 @@
-.weui-icon{vertical-align:middle;display:inline-block;background:black;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-moz-mask-repeat:no-repeat;mask-size:cover;-webkit-mask-size:cover;-moz-mask-size:cover}

+ 0 - 100
miniprogram/miniprogram_npm/weui-miniprogram/index.js

@@ -1,100 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 27);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 27:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-/***/ })
-
-/******/ });

+ 0 - 134
miniprogram/miniprogram_npm/weui-miniprogram/loading/loading.js

@@ -1,134 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 14);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 14:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    addGlobalClass: true
-  },
-  properties: {
-    extClass: {
-      type: String,
-      value: ''
-    },
-    show: {
-      // 默认显示出来
-      type: Boolean,
-      value: true
-    },
-    animated: {
-      type: Boolean,
-      value: false
-    },
-    duration: {
-      // 过渡动画时间
-      type: Number,
-      value: 350
-    },
-    type: {
-      type: String,
-      value: 'dot-gray' // 取值dot-white、dot-gray、circle
-
-    },
-    tips: {
-      // type是circle的时候才有效
-      type: String,
-      value: '加载中'
-    }
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/loading/loading.json

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

+ 0 - 9
miniprogram/miniprogram_npm/weui-miniprogram/loading/loading.wxml

@@ -1,9 +0,0 @@
-<view class="wx_loading_view {{animated ? 'wx_loading_view__animated' : ''}} {{!show ? 'wx_loading_view__hide' : ''}} {{extClass}}" style="{{animated ? 'transition: height ' + duration + 'ms ease;' : ''}}" id="wx_loading_view">
-    <view wx:if="{{type==='dot-white'}}" class="loading wx_dot_loading wx_dot_loading_white">
-    </view>
-    <view wx:elif="{{type==='dot-gray'}}" class="loading wx_dot_loading"></view>
-    <view wx:elif="{{type==='circle'}}" class="weui-loadmore">
-        <view class="weui-loading"></view>
-        <view class="weui-loadmore__tips">{{tips}}</view>
-    </view>
-</view>

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/loading/loading.wxss

@@ -1 +0,0 @@
-.wx_loading_view{display:flex;justify-content:center;align-items:center;overflow:hidden}.wx_loading_view__hide{height:0 !important;display:none}.wx_loading_view__animated.wx_loading_view__hide{display:flex}.loading{color:rgba(255,255,255,0.9);font-size:17px;text-align:center}.loading_view_translation{transition:height .2s .3s ease}

+ 0 - 137
miniprogram/miniprogram_npm/weui-miniprogram/msg/msg.js

@@ -1,137 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 19);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 19:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    addGlobalClass: true,
-    multipleSlots: true
-  },
-  properties: {
-    title: {
-      // Msg 标题
-      type: String,
-      value: ''
-    },
-    type: {
-      // icon 的 type
-      type: String,
-      value: ''
-    },
-    icon: {
-      // 可以自行设置 icon, 设置icon 之后,type 失效
-      type: String,
-      value: ''
-    },
-    desc: {
-      // 描述
-      type: String,
-      value: ''
-    },
-    extClass: {
-      type: String,
-      value: ''
-    },
-    size: {
-      // 可以自行设置 icon, 设置icon 之后,type 失效
-      type: Number,
-      value: 64
-    }
-  },
-  data: {}
-});
-
-/***/ })
-
-/******/ });

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/msg/msg.json

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

+ 0 - 29
miniprogram/miniprogram_npm/weui-miniprogram/msg/msg.wxml

@@ -1,29 +0,0 @@
-<view class="weui-msg {{extClass}}">
-  <view class="weui-msg__icon-area">
-    <icon type="{{type}}" size="{{size}}" wx:if="{{type}}"></icon>
-    <image class="weui-msg__icon-img" src="{{icon}}" mode="aspectFit" wx:elif="{{icon}}" />
-  </view>
-  <view class="weui-msg__text-area">
-    <view class="weui-msg__title">{{title}}</view>
-    <view class="weui-msg__desc">
-      {{desc}}
-      <slot name="desc" wx:if="{{!desc}}"></slot>
-    </view>
-    <slot name="extend"></slot>
-  </view>
-  <view class="weui-msg__opr-area">
-    <view class="weui-btn-area">
-      <slot name="handle"></slot>
-    </view>
-  </view>
-  <view class="weui-msg__tips-area">
-    <view class="weui-msg__tips">
-      <slot name="tips"></slot>
-    </view>
-  </view>
-  <view class="weui-msg__extra-area">
-    <view class="weui-footer">
-      <slot name="footer"></slot>
-    </view>
-  </view>
-</view>

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/msg/msg.wxss

@@ -1 +0,0 @@
-.weui-msg__icon-img{width:190rpx;height:190rpx}

+ 0 - 211
miniprogram/miniprogram_npm/weui-miniprogram/navigation-bar/navigation-bar.js

@@ -1,211 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 3);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 3:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    multipleSlots: true,
-    // 在组件定义时的选项中启用多slot支持
-    addGlobalClass: true
-  },
-
-  /**
-   * 组件的属性列表
-   */
-  properties: {
-    extClass: {
-      type: String,
-      value: ''
-    },
-    title: {
-      type: String,
-      value: ''
-    },
-    background: {
-      type: String,
-      value: ''
-    },
-    color: {
-      type: String,
-      value: ''
-    },
-    back: {
-      type: Boolean,
-      value: true
-    },
-    loading: {
-      type: Boolean,
-      value: false
-    },
-    animated: {
-      // 显示隐藏的时候opacity动画效果
-      type: Boolean,
-      value: true
-    },
-    show: {
-      // 显示隐藏导航,隐藏的时候navigation-bar的高度占位还在
-      type: Boolean,
-      value: true,
-      observer: '_showChange'
-    },
-    // back为true的时候,返回的页面深度
-    delta: {
-      type: Number,
-      value: 1
-    }
-  },
-
-  /**
-   * 组件的初始数据
-   */
-  data: {
-    displayStyle: ''
-  },
-
-  attached() {
-    const isSupport = !!wx.getMenuButtonBoundingClientRect;
-    const rect = wx.getMenuButtonBoundingClientRect ? wx.getMenuButtonBoundingClientRect() : null;
-    wx.getSystemInfo({
-      success: res => {
-        const ios = !!(res.system.toLowerCase().search('ios') + 1);
-        this.setData({
-          ios,
-          statusBarHeight: res.statusBarHeight,
-          innerWidth: isSupport ? `width:${rect.left}px` : '',
-          innerPaddingRight: isSupport ? `padding-right:${res.windowWidth - rect.left}px` : '',
-          leftWidth: isSupport ? `width:${res.windowWidth - rect.left}px` : ''
-        });
-      }
-    });
-  },
-
-  /**
-   * 组件的方法列表
-   */
-  methods: {
-    _showChange(show) {
-      const animated = this.data.animated;
-      let displayStyle = '';
-
-      if (animated) {
-        displayStyle = `opacity: ${show ? '1' : '0'};-webkit-transition:opacity 0.5s;transition:opacity 0.5s;`;
-      } else {
-        displayStyle = `display: ${show ? '' : 'none'}`;
-      }
-
-      this.setData({
-        displayStyle
-      });
-    },
-
-    back() {
-      const data = this.data;
-
-      if (data.delta) {
-        wx.navigateBack({
-          delta: data.delta
-        });
-      }
-
-      this.triggerEvent('back', {
-        delta: data.delta
-      }, {});
-    }
-
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 4
miniprogram/miniprogram_npm/weui-miniprogram/navigation-bar/navigation-bar.json

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

+ 0 - 32
miniprogram/miniprogram_npm/weui-miniprogram/navigation-bar/navigation-bar.wxml

@@ -1,32 +0,0 @@
-<view class="weui-navigation-bar {{extClass}}">
-  <view class="weui-navigation-bar__placeholder {{ios ? 'ios' : 'android'}}" style="padding-top: {{statusBarHeight}}px;visibility: hidden;"></view>
-  <view class="weui-navigation-bar__inner {{ios ? 'ios' : 'android'}}" style="padding-top: {{statusBarHeight}}px; color: {{color}};background: {{background}};{{displayStyle}};{{innerPaddingRight}};{{innerWidth}};">
-
-    <view class='weui-navigation-bar__left' style="{{leftWidth}}">
-      <block wx:if="{{back}}">
-        <view class="weui-navigation-bar__buttons">
-          <view bindtap="back" class="weui-navigation-bar__button weui-navigation-bar__btn_goback" hover-class="weui-active"></view>
-        </view>
-      </block>
-      <block wx:else>
-        <slot name="left"></slot>
-      </block>
-    </view>
-
-    <view class='weui-navigation-bar__center'>
-      <view wx:if="{{loading}}" class="weui-navigation-bar__loading">
-        <view class="weui-loading" style="width:{{size.width}}rpx;height:{{size.height}}rpx;"></view>
-      </view>
-      <block wx:if="{{title}}">
-        <text>{{title}}</text>
-      </block>
-      <block wx:else>
-        <slot name="center"></slot>
-      </block>
-    </view>
-
-    <view class='weui-navigation-bar__right'>
-      <slot name="right"></slot>
-    </view>
-  </view>
-</view>

+ 0 - 0
miniprogram/miniprogram_npm/weui-miniprogram/navigation-bar/navigation-bar.wxss


+ 0 - 7
miniprogram/miniprogram_npm/weui-miniprogram/package.json

@@ -1,7 +0,0 @@
-{
-    "name": "weui-miniprogram",
-    "version": "1.0.7",
-    "description": "小程序 WeUI 组件库",
-    "author": "xushengni,tomylin,cunjinli,rockhou",
-    "license": "MIT"
-}

+ 0 - 243
miniprogram/miniprogram_npm/weui-miniprogram/searchbar/searchbar.js

@@ -1,243 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 26);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 26:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  options: {
-    addGlobalClass: true
-  },
-  properties: {
-    extClass: {
-      type: String,
-      value: ''
-    },
-    focus: {
-      type: Boolean,
-      value: false
-    },
-    placeholder: {
-      type: String,
-      value: '搜索'
-    },
-    value: {
-      type: String,
-      value: ''
-    },
-    search: {
-      // 返回Promise的函数
-      // @ts-ignore
-      type: Function,
-      value: null
-    },
-    throttle: {
-      // 500ms内只会调用一次search函数
-      type: Number,
-      value: 500
-    },
-    cancelText: {
-      type: String,
-      value: '取消'
-    },
-    cancel: {
-      type: Boolean,
-      value: true
-    }
-  },
-  data: {
-    result: [] // 搜索结果
-
-  },
-
-  /* @ts-ignore */
-  lastSearch: Date.now(),
-  lifetimes: {
-    // @ts-ignore
-    attached() {
-      // @ts-ignore
-      if (this.data.focus) {
-        this.setData({
-          searchState: true
-        });
-      }
-    }
-
-  },
-  methods: {
-    clearInput() {
-      // @ts-ignore
-      this.setData({
-        value: '',
-        focus: true,
-        result: []
-      }); // @ts-ignore
-
-      this.triggerEvent('clear');
-    },
-
-    // @ts-ignore
-    inputFocus(e) {
-      // this.setData({
-      //     searchState: true
-      // })
-      // @ts-ignore
-      this.triggerEvent('focus', e.detail);
-    },
-
-    // @ts-ignore
-    inputBlur(e) {
-      this.setData({
-        focus: false
-      });
-      this.triggerEvent('blur', e.detail);
-    },
-
-    showInput() {
-      this.setData({
-        focus: true,
-        searchState: true
-      });
-    },
-
-    hideInput() {
-      this.setData({
-        searchState: false
-      });
-      this.triggerEvent('cancel');
-    },
-
-    // @ts-ignore
-    inputChange(e) {
-      this.setData({
-        value: e.detail.value
-      });
-      this.triggerEvent('input', e.detail);
-
-      if (Date.now() - this.lastSearch < this.data.throttle) {
-        return;
-      }
-
-      if (typeof this.data.search !== 'function') {
-        return;
-      }
-
-      this.lastSearch = Date.now();
-      this.timerId = setTimeout(() => {
-        this.data.search(this.data.value).then(json => {
-          this.setData({
-            result: json
-          });
-        }).catch(err => {
-          console.error('search error', err);
-        });
-      }, this.data.throttle);
-    },
-
-    // @ts-ignore
-    selectResult(e) {
-      const {
-        index
-      } = e.currentTarget.dataset;
-      const item = this.data.result[index];
-      this.triggerEvent('selectresult', {
-        index,
-        item
-      });
-    }
-
-  }
-});
-
-/***/ })
-
-/******/ });

+ 0 - 7
miniprogram/miniprogram_npm/weui-miniprogram/searchbar/searchbar.json

@@ -1,7 +0,0 @@
-{
-    "component": true,
-    "usingComponents": {
-        "mp-cells": "../cells/cells",
-        "mp-cell": "../cell/cell"
-    }
-}

+ 0 - 19
miniprogram/miniprogram_npm/weui-miniprogram/searchbar/searchbar.wxml

@@ -1,19 +0,0 @@
-<view class="weui-search-bar {{searchState ? 'weui-search-bar_focusing' : ''}} {{extClass}}">
-    <view class="weui-search-bar__form">
-        <view class="weui-search-bar__box">
-            <icon class="weui-icon-search" type="search" size="12"></icon>
-            <input type="text" class="weui-search-bar__input" placeholder="{{placeholder}}" value="{{value}}" focus="{{focus}}" bindblur="inputBlur" bindfocus="inputFocus" bindinput="inputChange" />
-            <text class="weui-icon-clear" hover-class="weui-active" wx:if="{{value.length > 0}}" bindtap="clearInput"></text>
-        </view>
-        <label class="weui-search-bar__label" bindtap="showInput">
-            <icon class="weui-icon-search" type="search" size="12"></icon>
-            <text class="weui-search-bar__text">搜索</text>
-        </label>
-    </view>
-    <view wx:if="{{cancel && searchState}}" class="weui-search-bar__cancel-btn" bindtap="hideInput">{{cancelText}}</view>
-</view>
-<mp-cells ext-class=" {{'searchbar-result ' + extClass}}" wx:if="{{searchState && result.length > 0}}">
-    <mp-cell class="result" bindtap="selectResult" body-class="weui-cell_primary" data-index="{{index}}" wx:for="{{result}}" wx:key="index" hover>
-        <view>{{item.text}}</view>
-    </mp-cell>
-</mp-cells>

+ 0 - 1
miniprogram/miniprogram_npm/weui-miniprogram/searchbar/searchbar.wxss

@@ -1 +0,0 @@
-.weui-search-bar__label text{display:inline-block;font-size:14px;vertical-align:middle}

+ 0 - 225
miniprogram/miniprogram_npm/weui-miniprogram/slideview/slideview.js

@@ -1,225 +0,0 @@
-module.exports =
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 18);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 18:
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Component({
-  /**
-   * 组件的属性列表
-   */
-  options: {
-    addGlobalClass: true,
-    multipleSlots: true
-  },
-  properties: {
-    extClass: {
-      type: String,
-      value: ''
-    },
-    buttons: {
-      type: Array,
-      value: [],
-
-      // type, data, text, src, extClass
-      observer() {
-        this.addClassNameForButton();
-      }
-
-    },
-    disable: {
-      type: Boolean,
-      value: false
-    },
-    icon: {
-      // 是否是icon
-      type: Boolean,
-      value: false
-    },
-    show: {
-      type: Boolean,
-      value: false
-    },
-    duration: {
-      type: Number,
-      value: 350 // 动画市场,单位ms
-
-    },
-    throttle: {
-      type: Number,
-      value: 40
-    },
-    rebounce: {
-      type: Number,
-      value: 0 // 回弹距离
-
-    }
-  },
-
-  /**
-   * 组件的初始数据
-   */
-  data: {
-    size: null
-  },
-
-  /**
-   * 组件的方法列表
-   */
-  ready() {
-    // @ts-ignore
-    this.updateRight();
-    this.addClassNameForButton();
-  },
-
-  methods: {
-    updateRight() {
-      // 获取右侧滑动显示区域的宽度
-      const data = this.data;
-      const query = wx.createSelectorQuery().in(this);
-      query.select('.left').boundingClientRect(res => {
-        const btnQuery = wx.createSelectorQuery().in(this);
-        btnQuery.selectAll('.btn').boundingClientRect(rects => {
-          this.setData({
-            size: {
-              buttons: rects,
-              button: res,
-              show: data.show,
-              disable: data.disable,
-              throttle: data.throttle,
-              rebounce: data.rebounce
-            }
-          });
-        }).exec();
-      }).exec();
-    },
-
-    addClassNameForButton() {
-      // @ts-ignore
-      const {
-        buttons,
-        icon
-      } = this.data;
-      buttons.forEach(btn => {
-        if (icon) {
-          btn.className = '';
-        } else if (btn.type === 'warn') {
-          btn.className = 'weui-slideview__btn-group_warn';
-        } else {
-          btn.className = 'weui-slideview__btn-group_default';
-        }
-      });
-      this.setData({
-        buttons
-      });
-    },
-
-    buttonTapByWxs(data) {
-      this.triggerEvent('buttontap', data, {});
-    },
-
-    hide() {
-      this.triggerEvent('hide', {}, {});
-    },
-
-    show() {
-      this.triggerEvent('show', {}, {});
-    },
-
-    transitionEnd() {}
-
-  }
-});
-
-/***/ })
-
-/******/ });

部分文件因文件數量過多而無法顯示