diff --git a/api/app/Http/Controllers/WeChatController.php b/api/app/Http/Controllers/WeChatController.php
deleted file mode 100644
index 40440bc..0000000
--- a/api/app/Http/Controllers/WeChatController.php
+++ /dev/null
@@ -1,68 +0,0 @@
-get('code');
- $state = request()->get('state');
- $we_chat = WeChat::where('app_id', $app_id)->where('type', 1)->first();
- if (!$we_chat) return Yo::error_echo(100001, ['公众号']);
- $url = $state . "code=$code";
- Yo::echo(['url' => $url]);
- header("Location: $url");
- exit();
- }
-
- public function gzh_login($we_chat, $code)
- {
- $url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='
- . $we_chat->app_id . '&secret='
- . $we_chat->app_secret . '&code='
- . $code . '&grant_type=authorization_code';
- $info = file_get_contents($url);
- return json_decode($info, true);
- }
-
- public function mp_login($we_chat, $code)
- {
- $url = 'https://api.weixin.qq.com/sns/jscode2session?appid='
- . $we_chat->app_id
- . '&secret=' . $we_chat->app_secret
- . '&js_code=' . $code . '&grant_type=authorization_code';
- $info = file_get_contents($url);
- $json = json_decode($info);
- return get_object_vars($json);
- }
-
- public function login($code, $app_id)
- {
- $we_chat = WeChat::where('app_id', $app_id)->first();
- $login = false;
- if (!$we_chat) return false;
- switch ($we_chat->type) {
- case 1:
- $login = $this->gzh_login($we_chat, $code);
- break;
- case 2:
- $login = $this->mp_login($we_chat, $code);
- break;
- }
- return ['login' => !!$login];
- }
-
- public function login_test(Request $request)
- {
- $code = $request->post('code');
- $app_id = $request->post('app_id');
- return Yo::echo([
- 'info' => $this->login($code, $app_id)
- ]);
- }
-}
diff --git a/api/database/migrations/2023_08_13_193614_create_we_chats_table.php b/api/database/migrations/2023_08_13_193614_create_we_chats_table.php
deleted file mode 100644
index 3fe68c7..0000000
--- a/api/database/migrations/2023_08_13_193614_create_we_chats_table.php
+++ /dev/null
@@ -1,30 +0,0 @@
-id();
- $table->string('name', 50)->comment('名称');
- $table->tinyInteger('type')->comment('1-公众号 2-小程序');
- $table->string('app_id', 80)->comment('小程序ID')->index();
- $table->string('app_secret', 100)->comment('小程序密钥')->index();
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('we_chats');
- }
-};
diff --git a/api/routes/web.php b/api/routes/web.php
index 048a34e..9345d7d 100644
--- a/api/routes/web.php
+++ b/api/routes/web.php
@@ -13,9 +13,6 @@ use Illuminate\Support\Facades\Route;
|
*/
$admin_path = 'Admin';
-Route::get("open/Gzh/auth/{app_id}", [\App\Http\Controllers\WeChatController::class, 'auth']);
-Route::post("api/Test/WeChat/login_test", [\App\Http\Controllers\WeChatController::class, 'login_test']);
-
Route::post("api/$admin_path/Admin/reset_password", [\App\Http\Controllers\AdminController::class, 'reset_password']);
Route::post("api/$admin_path/Config/create", [\App\Http\Controllers\ConfigController::class, 'create']);
Route::post("api/$admin_path/Config/update", [\App\Http\Controllers\ConfigController::class, 'update']);
diff --git a/uniapp/.gitignore b/uniapp/.gitignore
deleted file mode 100644
index 469ab49..0000000
--- a/uniapp/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-unpackage
-.hbuilderx
diff --git a/uniapp/App.vue b/uniapp/App.vue
deleted file mode 100644
index 48141ea..0000000
--- a/uniapp/App.vue
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/uniapp/api/index.js b/uniapp/api/index.js
deleted file mode 100644
index d833f7f..0000000
--- a/uniapp/api/index.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import {
- $post
-} from '@/lu/axios.js'
-import $config from '@/config.js'
-const app_path = 'App'
-let url = ''
-let gzh = {
- id: '',
- jump: '',
- auth: ''
-}
-const urlPick = () => {
- if ($config.config.length > 0) {
- url = $config.config[0].url
- gzh = $config.config[0].gzh
- for (let i in $config.config) {
- if (!!$config.config[i].active) {
- url = $config.config[i].url
- gzh = $config.config[i].gzh
- break
- }
- }
- }
-}
-urlPick()
-
-export const GzhConfig = gzh
-export const WeChatPayPayTestAction = async (data) => await $post({
- url: `${url}/api/Test/WeChatPay/pay_test`,
- data
-})
-export const WeChatLoginTestAction = async (data) => await $post({
- url: `${url}/api/Test/WeChat/login_test`,
- data
-})
-export const yo = async (data) => await $post({
- url: `${url}/api/yo`,
- data
-})
-
-export const $image = (path) => {
- const path_ret = ['http://', 'https://', ';base64,']
- for (let i = 0; i < path_ret.length; i++) {
- if (path.indexOf(path_ret[i]) !== -1) {
- return path
- }
- }
- return `${$config.url}${path}`
-}
-
-export const $response = (response, then, error = () => {}) => {
- if (response) {
- if (response.code != 200) {
- uni.$lu.toast(response.message);
- error()
- return
- }
- then()
- }
-}
\ No newline at end of file
diff --git a/uniapp/components/dev/dev.vue b/uniapp/components/dev/dev.vue
deleted file mode 100644
index 78d0767..0000000
--- a/uniapp/components/dev/dev.vue
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 示例
- 代理设置
- 退出开发者模式
-
-
-
-
-
\ No newline at end of file
diff --git a/uniapp/config.js b/uniapp/config.js
deleted file mode 100644
index 4928d1f..0000000
--- a/uniapp/config.js
+++ /dev/null
@@ -1,31 +0,0 @@
-const config = [{
- active: true,
- url: 'http://127.0.0.1:8000',
- gzh: {
- id: '',
- jump: 'http://127.0.0.1:5173/h5/#/pages/gzh/login/login?',
- auth: 'https://127.0.0.1:5173/open/Gzh/auth/{gzh.id}'
- },
-}, {
- active: false,
- url: 'http://127.0.0.1:8000',
- gzh: {
- id: '',
- jump: 'http://127.0.0.1:5173/h5/#/pages/gzh/login/login?',
- auth: 'https://127.0.0.1:5173/open/Gzh/auth/{gzh.id}'
- },
-}]
-uni.$config = JSON.parse(JSON.stringify(config))
-const config_str_key = "CONFIG_STR"
-let config_str = uni.getStorageSync(config_str_key)
-if (!config_str) {
- config_str = JSON.stringify(config)
- uni.setStorageSync(config_str_key, config_str)
-}
-const config_data = JSON.parse(config_str)
-export default {
- title: '入魔入佛',
- app_id: 'wx0d92d2990ec16a55',
- config: config_data,
- token: '9E84F543-15CB-4E29-8009-DA0CAE9CB2C3'
-}
\ No newline at end of file
diff --git a/uniapp/index.html b/uniapp/index.html
deleted file mode 100644
index c3ff205..0000000
--- a/uniapp/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/lu/axios.js b/uniapp/lu/axios.js
deleted file mode 100644
index aec3ddf..0000000
--- a/uniapp/lu/axios.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import {
- getToken
-} from './token.js'
-
-export const $post = async ({
- url,
- data = {}
-}) => {
- const token = getToken() ? getToken() : '';
- const res = await uni.request({
- url,
- method: 'POST',
- data,
- header: {
- Authorization: 'Bearer ' + token
- }
- });
- if (!!res && res.data != '') {
- return res.data
- } else {
- uni.$lu.toast("请求发生错误")
- return false
- }
-}
\ No newline at end of file
diff --git a/uniapp/lu/format.js b/uniapp/lu/format.js
deleted file mode 100644
index ab0dd20..0000000
--- a/uniapp/lu/format.js
+++ /dev/null
@@ -1,17 +0,0 @@
-const format = (value = Date.now(), format = "Y-M-D h:m:s") => {
- const formatNumber = n => `0${n}`.slice(-2);
- const date = new Date(value);
- const formatList = ["Y", "M", "D", "h", "m", "s"];
- const resultList = [];
- resultList.push(date.getFullYear().toString());
- resultList.push(formatNumber(date.getMonth() + 1));
- resultList.push(formatNumber(date.getDate()));
- resultList.push(formatNumber(date.getHours()));
- resultList.push(formatNumber(date.getMinutes()));
- resultList.push(formatNumber(date.getSeconds()));
- for (let i = 0; i < resultList.length; i++) {
- format = format.replace(formatList[i], resultList[i]);
- }
- return format;
-}
-export default format
diff --git a/uniapp/lu/index.js b/uniapp/lu/index.js
deleted file mode 100644
index af0fe90..0000000
--- a/uniapp/lu/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import config from '@/config.js'
-import toast from './toast.js';
-import format from './format.js';
-export default {
- toast,
- format,
- config,
-};
\ No newline at end of file
diff --git a/uniapp/lu/toast.js b/uniapp/lu/toast.js
deleted file mode 100644
index e437edd..0000000
--- a/uniapp/lu/toast.js
+++ /dev/null
@@ -1,9 +0,0 @@
-const toast = (title, duration = 1500) => {
- uni.showToast({
- title: title,
- icon: 'none',
- duration: duration
- })
-}
-
-export default toast
diff --git a/uniapp/lu/token.js b/uniapp/lu/token.js
deleted file mode 100644
index 0124348..0000000
--- a/uniapp/lu/token.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import $config from '@/config.js'
-const TokenKey = $config.token;
-export function getToken() {
- return uni.getStorageSync(TokenKey);
-}
-export function setToken(token) {
- uni.setStorageSync(TokenKey, token);
-}
-export function delToken() {
- uni.removeStorageSync(TokenKey);
-}
\ No newline at end of file
diff --git a/uniapp/main.js b/uniapp/main.js
deleted file mode 100644
index 04ab6c3..0000000
--- a/uniapp/main.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import {
- createSSRApp
-} from 'vue'
-import * as Pinia from 'pinia';
-import App from './App.vue'
-import $lu from './lu'
-
-uni.$lu = $lu
-export function createApp() {
- const app = createSSRApp(App)
- app.use(Pinia.createPinia())
- return {
- app,
- Pinia
- }
-}
diff --git a/uniapp/manifest.json b/uniapp/manifest.json
deleted file mode 100644
index 0f4457a..0000000
--- a/uniapp/manifest.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "name" : "鹿和开发模板",
- "appid" : "__UNI__54F7FDE",
- "description" : "",
- "versionName" : "1.0.0",
- "versionCode" : "100",
- "transformPx" : false,
- "app-plus" : {
- /* 5+App特有相关 */
- "usingComponents" : true,
- "nvueCompiler" : "uni-app",
- "nvueStyleCompiler" : "uni-app",
- "splashscreen" : {
- "alwaysShowBeforeRender" : true,
- "waiting" : true,
- "autoclose" : true,
- "delay" : 0
- },
- "modules" : {},
- /* 模块配置 */
- "distribute" : {
- /* 应用发布信息 */
- "android" : {
- /* android打包配置 */
- "permissions" : [
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- ""
- ]
- },
- "ios" : {},
- /* ios打包配置 */
- "sdkConfigs" : {}
- }
- },
- /* SDK配置 */
- "quickapp" : {},
- /* 快应用特有相关 */
- "mp-weixin" : {
- "appid" : "wx0d92d2990ec16a55",
- "setting" : {
- "urlCheck" : false
- },
- "usingComponents" : true
- },
- "vueVersion" : "3",
- "h5" : {
- "router" : {
- "base" : "/h5/"
- },
- "title" : "鹿和开发模板"
- }
-}
diff --git a/uniapp/pages.json b/uniapp/pages.json
deleted file mode 100644
index 0794097..0000000
--- a/uniapp/pages.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "pages": [{
- "path": "pages/main/index/index",
- "style": {
- "navigationBarTitleText": "鹿和开发模板",
- "navigationStyle": "custom"
- }
- }, {
- "path": "pages/main/my/my",
- "style": {
- "navigationBarTitleText": "我的"
- }
- }],
- "subPackages": [{
- "root": "pages/dev",
- "pages": [{
- "path": "example/example",
- "style": {
- "navigationBarTitleText": "示例",
- "enablePullDownRefresh": false,
- "navigationStyle": "custom"
- }
- }, {
- "path": "proxy/proxy",
- "style": {
- "navigationBarTitleText": "代理设置",
- "enablePullDownRefresh": false
- }
-
- }]
- }, {
- "root": "pages/gzh",
- "pages": [{
- "path": "login/login",
- "style": {
- "navigationBarTitleText": "公众号登录跳转",
- "enablePullDownRefresh": false,
- "navigationStyle": "custom"
- }
-
- }]
- }],
- "tabBar": {
- "color": "#7A7E83",
- "selectedColor": "#333333",
- "borderStyle": "white",
- "backgroundColor": "#ffffff",
- "list": [{
- "pagePath": "pages/main/index/index",
- "iconPath": "static/tabbar/tof.png",
- "selectedIconPath": "static/tabbar/ton.png",
- "text": "首页"
- }, {
- "pagePath": "pages/main/my/my",
- "iconPath": "static/tabbar/tof.png",
- "selectedIconPath": "static/tabbar/ton.png",
- "text": "我的"
- }]
- },
- "globalStyle": {
- "navigationBarTextStyle": "black",
- "navigationBarTitleText": "鹿和开发套件",
- "navigationBarBackgroundColor": "#F8F8F8",
- "backgroundColor": "#F8F8F8",
- "app-plus": {
- "background": "#efeff4"
- }
- }
-}
\ No newline at end of file
diff --git a/uniapp/pages/dev/example/Api/Api.vue b/uniapp/pages/dev/example/Api/Api.vue
deleted file mode 100644
index b38f2bd..0000000
--- a/uniapp/pages/dev/example/Api/Api.vue
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- {{ res }}
-
-
-
-
diff --git a/uniapp/pages/dev/example/Navbar/Navbar.vue b/uniapp/pages/dev/example/Navbar/Navbar.vue
deleted file mode 100644
index 103d2ec..0000000
--- a/uniapp/pages/dev/example/Navbar/Navbar.vue
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
diff --git a/uniapp/pages/dev/example/PayTest/PayTest.vue b/uniapp/pages/dev/example/PayTest/PayTest.vue
deleted file mode 100644
index 7996289..0000000
--- a/uniapp/pages/dev/example/PayTest/PayTest.vue
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/uniapp/pages/dev/example/Pinia/Pinia.vue b/uniapp/pages/dev/example/Pinia/Pinia.vue
deleted file mode 100644
index 7157ec1..0000000
--- a/uniapp/pages/dev/example/Pinia/Pinia.vue
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
- {{ $store.count }}
-
-
-
-
-
-
diff --git a/uniapp/pages/dev/example/RouterPush/RouterPush.vue b/uniapp/pages/dev/example/RouterPush/RouterPush.vue
deleted file mode 100644
index f0868a3..0000000
--- a/uniapp/pages/dev/example/RouterPush/RouterPush.vue
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/uniapp/pages/dev/example/RouterQuery/RouterQuery.vue b/uniapp/pages/dev/example/RouterQuery/RouterQuery.vue
deleted file mode 100644
index 65fdbc3..0000000
--- a/uniapp/pages/dev/example/RouterQuery/RouterQuery.vue
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- {"name":"{{ $props.name }}"}
-
-
-
diff --git a/uniapp/pages/dev/example/SonFather/Father.vue b/uniapp/pages/dev/example/SonFather/Father.vue
deleted file mode 100644
index c1b13be..0000000
--- a/uniapp/pages/dev/example/SonFather/Father.vue
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/pages/dev/example/SonFather/Son.vue b/uniapp/pages/dev/example/SonFather/Son.vue
deleted file mode 100644
index c5f6ab3..0000000
--- a/uniapp/pages/dev/example/SonFather/Son.vue
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
-
-
diff --git a/uniapp/pages/dev/example/UserAvatar/UserAvatar.vue b/uniapp/pages/dev/example/UserAvatar/UserAvatar.vue
deleted file mode 100644
index 3d95e27..0000000
--- a/uniapp/pages/dev/example/UserAvatar/UserAvatar.vue
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/pages/dev/example/UserCode/UserCode.vue b/uniapp/pages/dev/example/UserCode/UserCode.vue
deleted file mode 100644
index c9e11c6..0000000
--- a/uniapp/pages/dev/example/UserCode/UserCode.vue
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/uniapp/pages/dev/example/UserGzh/UserGzh.vue b/uniapp/pages/dev/example/UserGzh/UserGzh.vue
deleted file mode 100644
index 74a9362..0000000
--- a/uniapp/pages/dev/example/UserGzh/UserGzh.vue
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/uniapp/pages/dev/example/UserInfo/UserInfo.vue b/uniapp/pages/dev/example/UserInfo/UserInfo.vue
deleted file mode 100644
index 3bc8b43..0000000
--- a/uniapp/pages/dev/example/UserInfo/UserInfo.vue
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/pages/dev/example/UserNickname/UserNickname.vue b/uniapp/pages/dev/example/UserNickname/UserNickname.vue
deleted file mode 100644
index f7c005c..0000000
--- a/uniapp/pages/dev/example/UserNickname/UserNickname.vue
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/uniapp/pages/dev/example/UserPhone/UserPhone.vue b/uniapp/pages/dev/example/UserPhone/UserPhone.vue
deleted file mode 100644
index 60f625d..0000000
--- a/uniapp/pages/dev/example/UserPhone/UserPhone.vue
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/pages/dev/example/example.vue b/uniapp/pages/dev/example/example.vue
deleted file mode 100644
index 6e28974..0000000
--- a/uniapp/pages/dev/example/example.vue
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/uniapp/pages/dev/proxy/proxy.vue b/uniapp/pages/dev/proxy/proxy.vue
deleted file mode 100644
index 542b207..0000000
--- a/uniapp/pages/dev/proxy/proxy.vue
+++ /dev/null
@@ -1,270 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- URL
-
-
-
-
-
- 公众号
- 用不到可以不填
-
-
- APPID
-
-
-
-
-
- 跳转地址
-
-
-
-
-
- 授权地址
-
-
-
-
-
- 激活状态
-
- {switchChange(e,-1)}"
- style="transform:scale(0.7)" />
-
-
-
-
-
-
- 保存配置
- 重置配置
-
-
- URL
-
-
-
-
-
- 公众号
- 用不到可以不填
-
-
- APPID
-
-
-
-
-
- 跳转地址
-
-
-
-
-
- 授权地址
-
-
-
-
-
- 激活状态
-
- {switchChange(e,k)}"
- style="transform:scale(0.7)" />
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/uniapp/pages/gzh/login/login.vue b/uniapp/pages/gzh/login/login.vue
deleted file mode 100644
index 0460488..0000000
--- a/uniapp/pages/gzh/login/login.vue
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/uniapp/pages/main/index/index.vue b/uniapp/pages/main/index/index.vue
deleted file mode 100644
index 46746e5..0000000
--- a/uniapp/pages/main/index/index.vue
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
- Yo {{ title }}
-
-
-
-
-
\ No newline at end of file
diff --git a/uniapp/pages/main/my/my.vue b/uniapp/pages/main/my/my.vue
deleted file mode 100644
index 81e8598..0000000
--- a/uniapp/pages/main/my/my.vue
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
- Yo {{ title }}
-
-
-
\ No newline at end of file
diff --git a/uniapp/static/c1.png b/uniapp/static/c1.png
deleted file mode 100644
index 9d38fdc..0000000
Binary files a/uniapp/static/c1.png and /dev/null differ
diff --git a/uniapp/static/c2.png b/uniapp/static/c2.png
deleted file mode 100644
index ce956d7..0000000
Binary files a/uniapp/static/c2.png and /dev/null differ
diff --git a/uniapp/static/c3.png b/uniapp/static/c3.png
deleted file mode 100644
index 216202a..0000000
Binary files a/uniapp/static/c3.png and /dev/null differ
diff --git a/uniapp/static/c4.png b/uniapp/static/c4.png
deleted file mode 100644
index fb8b477..0000000
Binary files a/uniapp/static/c4.png and /dev/null differ
diff --git a/uniapp/static/c5.png b/uniapp/static/c5.png
deleted file mode 100644
index 310bfb1..0000000
Binary files a/uniapp/static/c5.png and /dev/null differ
diff --git a/uniapp/static/c6.png b/uniapp/static/c6.png
deleted file mode 100644
index c3c45d8..0000000
Binary files a/uniapp/static/c6.png and /dev/null differ
diff --git a/uniapp/static/c7.png b/uniapp/static/c7.png
deleted file mode 100644
index a1e7390..0000000
Binary files a/uniapp/static/c7.png and /dev/null differ
diff --git a/uniapp/static/c8.png b/uniapp/static/c8.png
deleted file mode 100644
index c32633c..0000000
Binary files a/uniapp/static/c8.png and /dev/null differ
diff --git a/uniapp/static/c9.png b/uniapp/static/c9.png
deleted file mode 100644
index 51bcf6a..0000000
Binary files a/uniapp/static/c9.png and /dev/null differ
diff --git a/uniapp/static/customicons.css b/uniapp/static/customicons.css
deleted file mode 100644
index 14ed5fa..0000000
--- a/uniapp/static/customicons.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@font-face {
- font-family: "customicons"; /* Project id 2878519 */
- src:url('/static/customicons.ttf') format('truetype');
-}
-
-.customicons {
- font-family: "customicons" !important;
-}
-
-.youxi:before {
- content: "\e60e";
-}
-
-.wenjian:before {
- content: "\e60f";
-}
-
-.zhuanfa:before {
- content: "\e610";
-}
diff --git a/uniapp/static/customicons.ttf b/uniapp/static/customicons.ttf
deleted file mode 100644
index a3c8ab9..0000000
Binary files a/uniapp/static/customicons.ttf and /dev/null differ
diff --git a/uniapp/static/logo.png b/uniapp/static/logo.png
deleted file mode 100644
index 9a6c5cb..0000000
Binary files a/uniapp/static/logo.png and /dev/null differ
diff --git a/uniapp/static/tabbar/tof.png b/uniapp/static/tabbar/tof.png
deleted file mode 100644
index 096773c..0000000
Binary files a/uniapp/static/tabbar/tof.png and /dev/null differ
diff --git a/uniapp/static/tabbar/ton.png b/uniapp/static/tabbar/ton.png
deleted file mode 100644
index c5dee2f..0000000
Binary files a/uniapp/static/tabbar/ton.png and /dev/null differ
diff --git a/uniapp/static/uni.png b/uniapp/static/uni.png
deleted file mode 100644
index 8e3a80f..0000000
Binary files a/uniapp/static/uni.png and /dev/null differ
diff --git a/uniapp/store/index.js b/uniapp/store/index.js
deleted file mode 100644
index 28ac1e5..0000000
--- a/uniapp/store/index.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import {
- defineStore
-} from 'pinia';
-
-export const useStore = defineStore('counter', {
- state: () => ({
- count: 1,
- loading: 0,
- }),
- actions: {
- loadingStart() {
- this.loading++
- },
- loadingDone() {
- this.loading--
- if (this.loading < 0) this.loading = 0
- }
- },
-});
diff --git a/uniapp/uni.scss b/uniapp/uni.scss
deleted file mode 100644
index c24ca6b..0000000
--- a/uniapp/uni.scss
+++ /dev/null
@@ -1 +0,0 @@
-@import '@/uni_modules/uni-scss/variables.scss';
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-badge/changelog.md b/uniapp/uni_modules/uni-badge/changelog.md
deleted file mode 100644
index e352c60..0000000
--- a/uniapp/uni_modules/uni-badge/changelog.md
+++ /dev/null
@@ -1,33 +0,0 @@
-## 1.2.2(2023-01-28)
-- 修复 运行/打包 控制台警告问题
-## 1.2.1(2022-09-05)
-- 修复 当 text 超过 max-num 时,badge 的宽度计算是根据 text 的长度计算,更改为 css 计算实际展示宽度,详见:[https://ask.dcloud.net.cn/question/150473](https://ask.dcloud.net.cn/question/150473)
-## 1.2.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-badge](https://uniapp.dcloud.io/component/uniui/uni-badge)
-## 1.1.7(2021-11-08)
-- 优化 升级ui
-- 修改 size 属性默认值调整为 small
-- 修改 type 属性,默认值调整为 error,info 替换 default
-## 1.1.6(2021-09-22)
-- 修复 在字节小程序上样式不生效的 bug
-## 1.1.5(2021-07-30)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 1.1.4(2021-07-29)
-- 修复 去掉 nvue 不支持css 的 align-self 属性,nvue 下不暂支持 absolute 属性
-## 1.1.3(2021-06-24)
-- 优化 示例项目
-## 1.1.1(2021-05-12)
-- 新增 组件示例地址
-## 1.1.0(2021-05-12)
-- 新增 uni-badge 的 absolute 属性,支持定位
-- 新增 uni-badge 的 offset 属性,支持定位偏移
-- 新增 uni-badge 的 is-dot 属性,支持仅显示有一个小点
-- 新增 uni-badge 的 max-num 属性,支持自定义封顶的数字值,超过 99 显示99+
-- 优化 uni-badge 属性 custom-style, 支持以对象形式自定义样式
-## 1.0.7(2021-05-07)
-- 修复 uni-badge 在 App 端,数字小于10时不是圆形的bug
-- 修复 uni-badge 在父元素不是 flex 布局时,宽度缩小的bug
-- 新增 uni-badge 属性 custom-style, 支持自定义样式
-## 1.0.6(2021-02-04)
-- 调整为uni_modules目录规范
diff --git a/uniapp/uni_modules/uni-badge/components/uni-badge/uni-badge.vue b/uniapp/uni_modules/uni-badge/components/uni-badge/uni-badge.vue
deleted file mode 100644
index 956354b..0000000
--- a/uniapp/uni_modules/uni-badge/components/uni-badge/uni-badge.vue
+++ /dev/null
@@ -1,268 +0,0 @@
-
-
-
- {{displayValue}}
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-badge/package.json b/uniapp/uni_modules/uni-badge/package.json
deleted file mode 100644
index b0bac93..0000000
--- a/uniapp/uni_modules/uni-badge/package.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "id": "uni-badge",
- "displayName": "uni-badge 数字角标",
- "version": "1.2.2",
- "description": "数字角标(徽章)组件,在元素周围展示消息提醒,一般用于列表、九宫格、按钮等地方。",
- "keywords": [
- "",
- "badge",
- "uni-ui",
- "uniui",
- "数字角标",
- "徽章"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
-"dcloudext": {
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
- "type": "component-vue"
- },
- "uni_modules": {
- "dependencies": ["uni-scss"],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "y",
- "联盟": "y"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-badge/readme.md b/uniapp/uni_modules/uni-badge/readme.md
deleted file mode 100644
index bdf175d..0000000
--- a/uniapp/uni_modules/uni-badge/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## Badge 数字角标
-> **组件名:uni-badge**
-> 代码块: `uBadge`
-
-数字角标一般和其它控件(列表、9宫格等)配合使用,用于进行数量提示,默认为实心灰色背景,
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-badge)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
-
-
diff --git a/uniapp/uni_modules/uni-breadcrumb/changelog.md b/uniapp/uni_modules/uni-breadcrumb/changelog.md
deleted file mode 100644
index 209e5c5..0000000
--- a/uniapp/uni_modules/uni-breadcrumb/changelog.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## 0.1.2(2022-06-08)
-- 修复 微信小程序 separator 不显示的Bug
-## 0.1.1(2022-06-02)
-- 新增 支持 uni.scss 修改颜色
-## 0.1.0(2022-04-21)
-- 初始化
diff --git a/uniapp/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue b/uniapp/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue
deleted file mode 100644
index b9edbd6..0000000
--- a/uniapp/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
-
- {{ separator }}
-
-
-
-
diff --git a/uniapp/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue b/uniapp/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue
deleted file mode 100644
index 94493a2..0000000
--- a/uniapp/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-breadcrumb/package.json b/uniapp/uni_modules/uni-breadcrumb/package.json
deleted file mode 100644
index 0a04e50..0000000
--- a/uniapp/uni_modules/uni-breadcrumb/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "id": "uni-breadcrumb",
- "displayName": "uni-breadcrumb 面包屑",
- "version": "0.1.2",
- "description": "Breadcrumb 面包屑",
- "keywords": [
- "uni-breadcrumb",
- "breadcrumb",
- "uni-ui",
- "面包屑导航",
- "面包屑"
-],
- "repository": "",
- "engines": {
- "HBuilderX": "^3.1.0"
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
- "dcloudext": {
- "category": [
- "前端组件",
- "通用组件"
- ],
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": ""
- },
- "uni_modules": {
- "dependencies": [],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- },
- "App": {
- "app-vue": "y",
- "app-nvue": "n"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "u",
- "百度": "u",
- "字节跳动": "u",
- "QQ": "u",
- "京东": "u"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- }
- }
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-breadcrumb/readme.md b/uniapp/uni_modules/uni-breadcrumb/readme.md
deleted file mode 100644
index 6976b8d..0000000
--- a/uniapp/uni_modules/uni-breadcrumb/readme.md
+++ /dev/null
@@ -1,66 +0,0 @@
-
-## breadcrumb 面包屑导航
-> **组件名:uni-breadcrumb**
-> 代码块: `ubreadcrumb`
-
-显示当前页面的路径,快速返回之前的任意页面。
-
-### 安装方式
-
-本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。
-
-如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55)
-
-### 基本用法
-
-在 ``template`` 中使用组件
-
-```html
-
- {{route.name}}
-
-```
-
-```js
-export default {
- name: "uni-stat-breadcrumb",
- data() {
- return {
- routes: [{
- to: '/A',
- name: 'A页面'
- }, {
- to: '/B',
- name: 'B页面'
- }, {
- to: '/C',
- name: 'C页面'
- }]
- };
- }
- }
-```
-
-
-## API
-
-### Breadcrumb Props
-
-|属性名 |类型 |默认值 |说明 |
-|:-: |:-: |:-: |:-: |
-|separator |String |斜杠'/' |分隔符 |
-|separatorClass |String | |图标分隔符 class |
-
-### Breadcrumb Item Props
-
-|属性名 |类型 |默认值 |说明 |
-|:-: |:-: |:-: |:-: |
-|to |String | |路由跳转页面路径 |
-|replace|Boolean | |在使用 to 进行路由跳转时,启用 replace 将不会向 history 添加新记录(仅 h5 支持) |
-
-
-
-
-## 组件示例
-
-点击查看:[https://hellouniapp.dcloud.net.cn/pages/extUI/breadcrumb/breadcrumb](https://hellouniapp.dcloud.net.cn/pages/extUI/breadcrumb/breadcrumb)
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-calendar/changelog.md b/uniapp/uni_modules/uni-calendar/changelog.md
deleted file mode 100644
index f291eec..0000000
--- a/uniapp/uni_modules/uni-calendar/changelog.md
+++ /dev/null
@@ -1,26 +0,0 @@
-## 1.4.10(2023-04-10)
-- 修复 某些情况 monthSwitch 未触发的Bug
-## 1.4.9(2023-02-02)
-- 修复 某些情况切换月份错误的Bug
-## 1.4.8(2023-01-30)
-- 修复 某些情况切换月份错误的Bug [详情](https://ask.dcloud.net.cn/question/161964)
-## 1.4.7(2022-09-16)
-- 优化 支持使用 uni-scss 控制主题色
-## 1.4.6(2022-09-08)
-- 修复 表头年月切换,导致改变当前日期为选择月1号,且未触发change事件的Bug
-## 1.4.5(2022-02-25)
-- 修复 条件编译 nvue 不支持的 css 样式的Bug
-## 1.4.4(2022-02-25)
-- 修复 条件编译 nvue 不支持的 css 样式的Bug
-## 1.4.3(2021-09-22)
-- 修复 startDate、 endDate 属性失效的Bug
-## 1.4.2(2021-08-24)
-- 新增 支持国际化
-## 1.4.1(2021-08-05)
-- 修复 弹出层被 tabbar 遮盖的Bug
-## 1.4.0(2021-07-30)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 1.3.16(2021-05-12)
-- 新增 组件示例地址
-## 1.3.15(2021-02-04)
-- 调整为uni_modules目录规范
diff --git a/uniapp/uni_modules/uni-calendar/components/uni-calendar/calendar.js b/uniapp/uni_modules/uni-calendar/components/uni-calendar/calendar.js
deleted file mode 100644
index b8d7d6f..0000000
--- a/uniapp/uni_modules/uni-calendar/components/uni-calendar/calendar.js
+++ /dev/null
@@ -1,546 +0,0 @@
-/**
-* @1900-2100区间内的公历、农历互转
-* @charset UTF-8
-* @github https://github.com/jjonline/calendar.js
-* @Author Jea杨(JJonline@JJonline.Cn)
-* @Time 2014-7-21
-* @Time 2016-8-13 Fixed 2033hex、Attribution Annals
-* @Time 2016-9-25 Fixed lunar LeapMonth Param Bug
-* @Time 2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year
-* @Version 1.0.3
-* @公历转农历:calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0]
-* @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0]
-*/
-/* eslint-disable */
-var calendar = {
-
- /**
- * 农历1900-2100的润大小信息表
- * @Array Of Property
- * @return Hex
- */
- lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, // 1900-1909
- 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, // 1910-1919
- 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, // 1920-1929
- 0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, // 1930-1939
- 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, // 1940-1949
- 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, // 1950-1959
- 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, // 1960-1969
- 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, // 1970-1979
- 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, // 1980-1989
- 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, // 1990-1999
- 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, // 2000-2009
- 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, // 2010-2019
- 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, // 2020-2029
- 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, // 2030-2039
- 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, // 2040-2049
- /** Add By JJonline@JJonline.Cn**/
- 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, // 2050-2059
- 0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, // 2060-2069
- 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, // 2070-2079
- 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, // 2080-2089
- 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, // 2090-2099
- 0x0d520], // 2100
-
- /**
- * 公历每个月份的天数普通表
- * @Array Of Property
- * @return Number
- */
- solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
-
- /**
- * 天干地支之天干速查表
- * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"]
- * @return Cn string
- */
- Gan: ['\u7532', '\u4e59', '\u4e19', '\u4e01', '\u620a', '\u5df1', '\u5e9a', '\u8f9b', '\u58ec', '\u7678'],
-
- /**
- * 天干地支之地支速查表
- * @Array Of Property
- * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"]
- * @return Cn string
- */
- Zhi: ['\u5b50', '\u4e11', '\u5bc5', '\u536f', '\u8fb0', '\u5df3', '\u5348', '\u672a', '\u7533', '\u9149', '\u620c', '\u4ea5'],
-
- /**
- * 天干地支之地支速查表<=>生肖
- * @Array Of Property
- * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
- * @return Cn string
- */
- Animals: ['\u9f20', '\u725b', '\u864e', '\u5154', '\u9f99', '\u86c7', '\u9a6c', '\u7f8a', '\u7334', '\u9e21', '\u72d7', '\u732a'],
-
- /**
- * 24节气速查表
- * @Array Of Property
- * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"]
- * @return Cn string
- */
- solarTerm: ['\u5c0f\u5bd2', '\u5927\u5bd2', '\u7acb\u6625', '\u96e8\u6c34', '\u60ca\u86f0', '\u6625\u5206', '\u6e05\u660e', '\u8c37\u96e8', '\u7acb\u590f', '\u5c0f\u6ee1', '\u8292\u79cd', '\u590f\u81f3', '\u5c0f\u6691', '\u5927\u6691', '\u7acb\u79cb', '\u5904\u6691', '\u767d\u9732', '\u79cb\u5206', '\u5bd2\u9732', '\u971c\u964d', '\u7acb\u51ac', '\u5c0f\u96ea', '\u5927\u96ea', '\u51ac\u81f3'],
-
- /**
- * 1900-2100各年的24节气日期速查表
- * @Array Of Property
- * @return 0x string For splice
- */
- sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f',
- '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
- '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa',
- '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f',
- 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f',
- '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa',
- '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2',
- '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f',
- '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e',
- '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
- '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722',
- '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f',
- '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
- '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
- '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722',
- '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f',
- '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
- '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
- '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722',
- '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
- '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
- '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
- '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722',
- '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
- '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
- '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
- '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722',
- '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
- '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
- '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
- '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
- '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
- '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
- '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
- '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
- '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
- '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
- '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
- '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721',
- '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2',
- '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
- '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
- '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd',
- '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
- '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
- '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
- '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd',
- '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
- '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
- '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721',
- '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5',
- '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722',
- '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
- '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
- '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35',
- '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
- '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721',
- '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd',
- '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35',
- '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
- '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721',
- '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5',
- '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35',
- '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
- '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
- '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35',
- '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'],
-
- /**
- * 数字转中文速查表
- * @Array Of Property
- * @trans ['日','一','二','三','四','五','六','七','八','九','十']
- * @return Cn string
- */
- nStr1: ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341'],
-
- /**
- * 日期转农历称呼速查表
- * @Array Of Property
- * @trans ['初','十','廿','卅']
- * @return Cn string
- */
- nStr2: ['\u521d', '\u5341', '\u5eff', '\u5345'],
-
- /**
- * 月份转农历称呼速查表
- * @Array Of Property
- * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊']
- * @return Cn string
- */
- nStr3: ['\u6b63', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341', '\u51ac', '\u814a'],
-
- /**
- * 返回农历y年一整年的总天数
- * @param lunar Year
- * @return Number
- * @eg:var count = calendar.lYearDays(1987) ;//count=387
- */
- lYearDays: function (y) {
- var i; var sum = 348
- for (i = 0x8000; i > 0x8; i >>= 1) { sum += (this.lunarInfo[y - 1900] & i) ? 1 : 0 }
- return (sum + this.leapDays(y))
- },
-
- /**
- * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0
- * @param lunar Year
- * @return Number (0-12)
- * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6
- */
- leapMonth: function (y) { // 闰字编码 \u95f0
- return (this.lunarInfo[y - 1900] & 0xf)
- },
-
- /**
- * 返回农历y年闰月的天数 若该年没有闰月则返回0
- * @param lunar Year
- * @return Number (0、29、30)
- * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29
- */
- leapDays: function (y) {
- if (this.leapMonth(y)) {
- return ((this.lunarInfo[y - 1900] & 0x10000) ? 30 : 29)
- }
- return (0)
- },
-
- /**
- * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法
- * @param lunar Year
- * @return Number (-1、29、30)
- * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29
- */
- monthDays: function (y, m) {
- if (m > 12 || m < 1) { return -1 }// 月份参数从1至12,参数错误返回-1
- return ((this.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29)
- },
-
- /**
- * 返回公历(!)y年m月的天数
- * @param solar Year
- * @return Number (-1、28、29、30、31)
- * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30
- */
- solarDays: function (y, m) {
- if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1
- var ms = m - 1
- if (ms == 1) { // 2月份的闰平规律测算后确认返回28或29
- return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28)
- } else {
- return (this.solarMonth[ms])
- }
- },
-
- /**
- * 农历年份转换为干支纪年
- * @param lYear 农历年的年份数
- * @return Cn string
- */
- toGanZhiYear: function (lYear) {
- var ganKey = (lYear - 3) % 10
- var zhiKey = (lYear - 3) % 12
- if (ganKey == 0) ganKey = 10// 如果余数为0则为最后一个天干
- if (zhiKey == 0) zhiKey = 12// 如果余数为0则为最后一个地支
- return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1]
- },
-
- /**
- * 公历月、日判断所属星座
- * @param cMonth [description]
- * @param cDay [description]
- * @return Cn string
- */
- toAstro: function (cMonth, cDay) {
- var s = '\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf'
- var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]
- return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + '\u5ea7'// 座
- },
-
- /**
- * 传入offset偏移量返回干支
- * @param offset 相对甲子的偏移量
- * @return Cn string
- */
- toGanZhi: function (offset) {
- return this.Gan[offset % 10] + this.Zhi[offset % 12]
- },
-
- /**
- * 传入公历(!)y年获得该年第n个节气的公历日期
- * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起
- * @return day Number
- * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春
- */
- getTerm: function (y, n) {
- if (y < 1900 || y > 2100) { return -1 }
- if (n < 1 || n > 24) { return -1 }
- var _table = this.sTermInfo[y - 1900]
- var _info = [
- parseInt('0x' + _table.substr(0, 5)).toString(),
- parseInt('0x' + _table.substr(5, 5)).toString(),
- parseInt('0x' + _table.substr(10, 5)).toString(),
- parseInt('0x' + _table.substr(15, 5)).toString(),
- parseInt('0x' + _table.substr(20, 5)).toString(),
- parseInt('0x' + _table.substr(25, 5)).toString()
- ]
- var _calday = [
- _info[0].substr(0, 1),
- _info[0].substr(1, 2),
- _info[0].substr(3, 1),
- _info[0].substr(4, 2),
-
- _info[1].substr(0, 1),
- _info[1].substr(1, 2),
- _info[1].substr(3, 1),
- _info[1].substr(4, 2),
-
- _info[2].substr(0, 1),
- _info[2].substr(1, 2),
- _info[2].substr(3, 1),
- _info[2].substr(4, 2),
-
- _info[3].substr(0, 1),
- _info[3].substr(1, 2),
- _info[3].substr(3, 1),
- _info[3].substr(4, 2),
-
- _info[4].substr(0, 1),
- _info[4].substr(1, 2),
- _info[4].substr(3, 1),
- _info[4].substr(4, 2),
-
- _info[5].substr(0, 1),
- _info[5].substr(1, 2),
- _info[5].substr(3, 1),
- _info[5].substr(4, 2)
- ]
- return parseInt(_calday[n - 1])
- },
-
- /**
- * 传入农历数字月份返回汉语通俗表示法
- * @param lunar month
- * @return Cn string
- * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月'
- */
- toChinaMonth: function (m) { // 月 => \u6708
- if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1
- var s = this.nStr3[m - 1]
- s += '\u6708'// 加上月字
- return s
- },
-
- /**
- * 传入农历日期数字返回汉字表示法
- * @param lunar day
- * @return Cn string
- * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一'
- */
- toChinaDay: function (d) { // 日 => \u65e5
- var s
- switch (d) {
- case 10:
- s = '\u521d\u5341'; break
- case 20:
- s = '\u4e8c\u5341'; break
- break
- case 30:
- s = '\u4e09\u5341'; break
- break
- default :
- s = this.nStr2[Math.floor(d / 10)]
- s += this.nStr1[d % 10]
- }
- return (s)
- },
-
- /**
- * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春”
- * @param y year
- * @return Cn string
- * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔'
- */
- getAnimal: function (y) {
- return this.Animals[(y - 4) % 12]
- },
-
- /**
- * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON
- * @param y solar year
- * @param m solar month
- * @param d solar day
- * @return JSON object
- * @eg:console.log(calendar.solar2lunar(1987,11,01));
- */
- solar2lunar: function (y, m, d) { // 参数区间1900.1.31~2100.12.31
- // 年份限定、上限
- if (y < 1900 || y > 2100) {
- return -1// undefined转换为数字变为NaN
- }
- // 公历传参最下限
- if (y == 1900 && m == 1 && d < 31) {
- return -1
- }
- // 未传参 获得当天
- if (!y) {
- var objDate = new Date()
- } else {
- var objDate = new Date(y, parseInt(m) - 1, d)
- }
- var i; var leap = 0; var temp = 0
- // 修正ymd参数
- var y = objDate.getFullYear()
- var m = objDate.getMonth() + 1
- var d = objDate.getDate()
- var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000
- for (i = 1900; i < 2101 && offset > 0; i++) {
- temp = this.lYearDays(i)
- offset -= temp
- }
- if (offset < 0) {
- offset += temp; i--
- }
-
- // 是否今天
- var isTodayObj = new Date()
- var isToday = false
- if (isTodayObj.getFullYear() == y && isTodayObj.getMonth() + 1 == m && isTodayObj.getDate() == d) {
- isToday = true
- }
- // 星期几
- var nWeek = objDate.getDay()
- var cWeek = this.nStr1[nWeek]
- // 数字表示周几顺应天朝周一开始的惯例
- if (nWeek == 0) {
- nWeek = 7
- }
- // 农历年
- var year = i
- var leap = this.leapMonth(i) // 闰哪个月
- var isLeap = false
-
- // 效验闰月
- for (i = 1; i < 13 && offset > 0; i++) {
- // 闰月
- if (leap > 0 && i == (leap + 1) && isLeap == false) {
- --i
- isLeap = true; temp = this.leapDays(year) // 计算农历闰月天数
- } else {
- temp = this.monthDays(year, i)// 计算农历普通月天数
- }
- // 解除闰月
- if (isLeap == true && i == (leap + 1)) { isLeap = false }
- offset -= temp
- }
- // 闰月导致数组下标重叠取反
- if (offset == 0 && leap > 0 && i == leap + 1) {
- if (isLeap) {
- isLeap = false
- } else {
- isLeap = true; --i
- }
- }
- if (offset < 0) {
- offset += temp; --i
- }
- // 农历月
- var month = i
- // 农历日
- var day = offset + 1
- // 天干地支处理
- var sm = m - 1
- var gzY = this.toGanZhiYear(year)
-
- // 当月的两个节气
- // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year`
- var firstNode = this.getTerm(y, (m * 2 - 1))// 返回当月「节」为几日开始
- var secondNode = this.getTerm(y, (m * 2))// 返回当月「节」为几日开始
-
- // 依据12节气修正干支月
- var gzM = this.toGanZhi((y - 1900) * 12 + m + 11)
- if (d >= firstNode) {
- gzM = this.toGanZhi((y - 1900) * 12 + m + 12)
- }
-
- // 传入的日期的节气与否
- var isTerm = false
- var Term = null
- if (firstNode == d) {
- isTerm = true
- Term = this.solarTerm[m * 2 - 2]
- }
- if (secondNode == d) {
- isTerm = true
- Term = this.solarTerm[m * 2 - 1]
- }
- // 日柱 当月一日与 1900/1/1 相差天数
- var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10
- var gzD = this.toGanZhi(dayCyclical + d - 1)
- // 该日期所属的星座
- var astro = this.toAstro(m, d)
-
- return { 'lYear': year, 'lMonth': month, 'lDay': day, 'Animal': this.getAnimal(year), 'IMonthCn': (isLeap ? '\u95f0' : '') + this.toChinaMonth(month), 'IDayCn': this.toChinaDay(day), 'cYear': y, 'cMonth': m, 'cDay': d, 'gzYear': gzY, 'gzMonth': gzM, 'gzDay': gzD, 'isToday': isToday, 'isLeap': isLeap, 'nWeek': nWeek, 'ncWeek': '\u661f\u671f' + cWeek, 'isTerm': isTerm, 'Term': Term, 'astro': astro }
- },
-
- /**
- * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON
- * @param y lunar year
- * @param m lunar month
- * @param d lunar day
- * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可]
- * @return JSON object
- * @eg:console.log(calendar.lunar2solar(1987,9,10));
- */
- lunar2solar: function (y, m, d, isLeapMonth) { // 参数区间1900.1.31~2100.12.1
- var isLeapMonth = !!isLeapMonth
- var leapOffset = 0
- var leapMonth = this.leapMonth(y)
- var leapDay = this.leapDays(y)
- if (isLeapMonth && (leapMonth != m)) { return -1 }// 传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同
- if (y == 2100 && m == 12 && d > 1 || y == 1900 && m == 1 && d < 31) { return -1 }// 超出了最大极限值
- var day = this.monthDays(y, m)
- var _day = day
- // bugFix 2016-9-25
- // if month is leap, _day use leapDays method
- if (isLeapMonth) {
- _day = this.leapDays(y, m)
- }
- if (y < 1900 || y > 2100 || d > _day) { return -1 }// 参数合法性效验
-
- // 计算农历的时间差
- var offset = 0
- for (var i = 1900; i < y; i++) {
- offset += this.lYearDays(i)
- }
- var leap = 0; var isAdd = false
- for (var i = 1; i < m; i++) {
- leap = this.leapMonth(y)
- if (!isAdd) { // 处理闰月
- if (leap <= i && leap > 0) {
- offset += this.leapDays(y); isAdd = true
- }
- }
- offset += this.monthDays(y, i)
- }
- // 转换闰月农历 需补充该年闰月的前一个月的时差
- if (isLeapMonth) { offset += day }
- // 1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点)
- var stmap = Date.UTC(1900, 1, 30, 0, 0, 0)
- var calObj = new Date((offset + d - 31) * 86400000 + stmap)
- var cY = calObj.getUTCFullYear()
- var cM = calObj.getUTCMonth() + 1
- var cD = calObj.getUTCDate()
-
- return this.solar2lunar(cY, cM, cD)
- }
-}
-
-export default calendar
diff --git a/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json b/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json
deleted file mode 100644
index fcbd13c..0000000
--- a/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "uni-calender.ok": "ok",
- "uni-calender.cancel": "cancel",
- "uni-calender.today": "today",
- "uni-calender.MON": "MON",
- "uni-calender.TUE": "TUE",
- "uni-calender.WED": "WED",
- "uni-calender.THU": "THU",
- "uni-calender.FRI": "FRI",
- "uni-calender.SAT": "SAT",
- "uni-calender.SUN": "SUN"
-}
diff --git a/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js b/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
- en,
- 'zh-Hans': zhHans,
- 'zh-Hant': zhHant
-}
diff --git a/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json b/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json
deleted file mode 100644
index 1ca43de..0000000
--- a/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "uni-calender.ok": "确定",
- "uni-calender.cancel": "取消",
- "uni-calender.today": "今日",
- "uni-calender.SUN": "日",
- "uni-calender.MON": "一",
- "uni-calender.TUE": "二",
- "uni-calender.WED": "三",
- "uni-calender.THU": "四",
- "uni-calender.FRI": "五",
- "uni-calender.SAT": "六"
-}
diff --git a/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json b/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json
deleted file mode 100644
index e0fe33b..0000000
--- a/uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "uni-calender.ok": "確定",
- "uni-calender.cancel": "取消",
- "uni-calender.today": "今日",
- "uni-calender.SUN": "日",
- "uni-calender.MON": "一",
- "uni-calender.TUE": "二",
- "uni-calender.WED": "三",
- "uni-calender.THU": "四",
- "uni-calender.FRI": "五",
- "uni-calender.SAT": "六"
-}
diff --git a/uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue b/uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue
deleted file mode 100644
index a54135e..0000000
--- a/uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue
+++ /dev/null
@@ -1,187 +0,0 @@
-
-
-
-
- {{weeks.date}}
- {{todayText}}
- {{weeks.isDay ? todayText : (weeks.lunar.IDayCn === '初一'?weeks.lunar.IMonthCn:weeks.lunar.IDayCn)}}
- {{weeks.extraInfo.info}}
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue b/uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue
deleted file mode 100644
index 17c958d..0000000
--- a/uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue
+++ /dev/null
@@ -1,566 +0,0 @@
-
-
-
-
-
-
-
-
- {{nowDate.month}}
-
-
-
- {{SUNText}}
-
-
- {{monText}}
-
-
- {{TUEText}}
-
-
- {{WEDText}}
-
-
- {{THUText}}
-
-
- {{FRIText}}
-
-
- {{SATText}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-calendar/components/uni-calendar/util.js b/uniapp/uni_modules/uni-calendar/components/uni-calendar/util.js
deleted file mode 100644
index 5ec8a92..0000000
--- a/uniapp/uni_modules/uni-calendar/components/uni-calendar/util.js
+++ /dev/null
@@ -1,360 +0,0 @@
-import CALENDAR from './calendar.js'
-
-class Calendar {
- constructor({
- date,
- selected,
- startDate,
- endDate,
- range
- } = {}) {
- // 当前日期
- this.date = this.getDate(new Date()) // 当前初入日期
- // 打点信息
- this.selected = selected || [];
- // 范围开始
- this.startDate = startDate
- // 范围结束
- this.endDate = endDate
- this.range = range
- // 多选状态
- this.cleanMultipleStatus()
- // 每周日期
- this.weeks = {}
- // this._getWeek(this.date.fullDate)
- }
- /**
- * 设置日期
- * @param {Object} date
- */
- setDate(date) {
- this.selectDate = this.getDate(date)
- this._getWeek(this.selectDate.fullDate)
- }
-
- /**
- * 清理多选状态
- */
- cleanMultipleStatus() {
- this.multipleStatus = {
- before: '',
- after: '',
- data: []
- }
- }
-
- /**
- * 重置开始日期
- */
- resetSatrtDate(startDate) {
- // 范围开始
- this.startDate = startDate
-
- }
-
- /**
- * 重置结束日期
- */
- resetEndDate(endDate) {
- // 范围结束
- this.endDate = endDate
- }
-
- /**
- * 获取任意时间
- */
- getDate(date, AddDayCount = 0, str = 'day') {
- if (!date) {
- date = new Date()
- }
- if (typeof date !== 'object') {
- date = date.replace(/-/g, '/')
- }
- const dd = new Date(date)
- switch (str) {
- case 'day':
- dd.setDate(dd.getDate() + AddDayCount) // 获取AddDayCount天后的日期
- break
- case 'month':
- if (dd.getDate() === 31 && AddDayCount>0) {
- dd.setDate(dd.getDate() + AddDayCount)
- } else {
- const preMonth = dd.getMonth()
- dd.setMonth(preMonth + AddDayCount) // 获取AddDayCount天后的日期
- const nextMonth = dd.getMonth()
- // 处理 pre 切换月份目标月份为2月没有当前日(30 31) 切换错误问题
- if(AddDayCount<0 && preMonth!==0 && nextMonth-preMonth>AddDayCount){
- dd.setMonth(nextMonth+(nextMonth-preMonth+AddDayCount))
- }
- // 处理 next 切换月份目标月份为2月没有当前日(30 31) 切换错误问题
- if(AddDayCount>0 && nextMonth-preMonth>AddDayCount){
- dd.setMonth(nextMonth-(nextMonth-preMonth-AddDayCount))
- }
- }
- break
- case 'year':
- dd.setFullYear(dd.getFullYear() + AddDayCount) // 获取AddDayCount天后的日期
- break
- }
- const y = dd.getFullYear()
- const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 获取当前月份的日期,不足10补0
- const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 获取当前几号,不足10补0
- return {
- fullDate: y + '-' + m + '-' + d,
- year: y,
- month: m,
- date: d,
- day: dd.getDay()
- }
- }
-
-
- /**
- * 获取上月剩余天数
- */
- _getLastMonthDays(firstDay, full) {
- let dateArr = []
- for (let i = firstDay; i > 0; i--) {
- const beforeDate = new Date(full.year, full.month - 1, -i + 1).getDate()
- dateArr.push({
- date: beforeDate,
- month: full.month - 1,
- lunar: this.getlunar(full.year, full.month - 1, beforeDate),
- disable: true
- })
- }
- return dateArr
- }
- /**
- * 获取本月天数
- */
- _currentMonthDys(dateData, full) {
- let dateArr = []
- let fullDate = this.date.fullDate
- for (let i = 1; i <= dateData; i++) {
- let nowDate = full.year + '-' + (full.month < 10 ?
- full.month : full.month) + '-' + (i < 10 ?
- '0' + i : i)
- // 是否今天
- let isDay = fullDate === nowDate
- // 获取打点信息
- let info = this.selected && this.selected.find((item) => {
- if (this.dateEqual(nowDate, item.date)) {
- return item
- }
- })
-
- // 日期禁用
- let disableBefore = true
- let disableAfter = true
- if (this.startDate) {
- // let dateCompBefore = this.dateCompare(this.startDate, fullDate)
- // disableBefore = this.dateCompare(dateCompBefore ? this.startDate : fullDate, nowDate)
- disableBefore = this.dateCompare(this.startDate, nowDate)
- }
-
- if (this.endDate) {
- // let dateCompAfter = this.dateCompare(fullDate, this.endDate)
- // disableAfter = this.dateCompare(nowDate, dateCompAfter ? this.endDate : fullDate)
- disableAfter = this.dateCompare(nowDate, this.endDate)
- }
- let multiples = this.multipleStatus.data
- let checked = false
- let multiplesStatus = -1
- if (this.range) {
- if (multiples) {
- multiplesStatus = multiples.findIndex((item) => {
- return this.dateEqual(item, nowDate)
- })
- }
- if (multiplesStatus !== -1) {
- checked = true
- }
- }
- let data = {
- fullDate: nowDate,
- year: full.year,
- date: i,
- multiple: this.range ? checked : false,
- beforeMultiple: this.dateEqual(this.multipleStatus.before, nowDate),
- afterMultiple: this.dateEqual(this.multipleStatus.after, nowDate),
- month: full.month,
- lunar: this.getlunar(full.year, full.month, i),
- disable: !(disableBefore && disableAfter),
- isDay
- }
- if (info) {
- data.extraInfo = info
- }
-
- dateArr.push(data)
- }
- return dateArr
- }
- /**
- * 获取下月天数
- */
- _getNextMonthDays(surplus, full) {
- let dateArr = []
- for (let i = 1; i < surplus + 1; i++) {
- dateArr.push({
- date: i,
- month: Number(full.month) + 1,
- lunar: this.getlunar(full.year, Number(full.month) + 1, i),
- disable: true
- })
- }
- return dateArr
- }
-
- /**
- * 获取当前日期详情
- * @param {Object} date
- */
- getInfo(date) {
- if (!date) {
- date = new Date()
- }
- const dateInfo = this.canlender.find(item => item.fullDate === this.getDate(date).fullDate)
- return dateInfo
- }
-
- /**
- * 比较时间大小
- */
- dateCompare(startDate, endDate) {
- // 计算截止时间
- startDate = new Date(startDate.replace('-', '/').replace('-', '/'))
- // 计算详细项的截止时间
- endDate = new Date(endDate.replace('-', '/').replace('-', '/'))
- if (startDate <= endDate) {
- return true
- } else {
- return false
- }
- }
-
- /**
- * 比较时间是否相等
- */
- dateEqual(before, after) {
- // 计算截止时间
- before = new Date(before.replace('-', '/').replace('-', '/'))
- // 计算详细项的截止时间
- after = new Date(after.replace('-', '/').replace('-', '/'))
- if (before.getTime() - after.getTime() === 0) {
- return true
- } else {
- return false
- }
- }
-
-
- /**
- * 获取日期范围内所有日期
- * @param {Object} begin
- * @param {Object} end
- */
- geDateAll(begin, end) {
- var arr = []
- var ab = begin.split('-')
- var ae = end.split('-')
- var db = new Date()
- db.setFullYear(ab[0], ab[1] - 1, ab[2])
- var de = new Date()
- de.setFullYear(ae[0], ae[1] - 1, ae[2])
- var unixDb = db.getTime() - 24 * 60 * 60 * 1000
- var unixDe = de.getTime() - 24 * 60 * 60 * 1000
- for (var k = unixDb; k <= unixDe;) {
- k = k + 24 * 60 * 60 * 1000
- arr.push(this.getDate(new Date(parseInt(k))).fullDate)
- }
- return arr
- }
- /**
- * 计算阴历日期显示
- */
- getlunar(year, month, date) {
- return CALENDAR.solar2lunar(year, month, date)
- }
- /**
- * 设置打点
- */
- setSelectInfo(data, value) {
- this.selected = value
- this._getWeek(data)
- }
-
- /**
- * 获取多选状态
- */
- setMultiple(fullDate) {
- let {
- before,
- after
- } = this.multipleStatus
-
- if (!this.range) return
- if (before && after) {
- this.multipleStatus.before = ''
- this.multipleStatus.after = ''
- this.multipleStatus.data = []
- } else {
- if (!before) {
- this.multipleStatus.before = fullDate
- } else {
- this.multipleStatus.after = fullDate
- if (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {
- this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after);
- } else {
- this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before);
- }
- }
- }
- this._getWeek(fullDate)
- }
-
- /**
- * 获取每周数据
- * @param {Object} dateData
- */
- _getWeek(dateData) {
- const {
- year,
- month
- } = this.getDate(dateData)
- let firstDay = new Date(year, month - 1, 1).getDay()
- let currentDay = new Date(year, month, 0).getDate()
- let dates = {
- lastMonthDays: this._getLastMonthDays(firstDay, this.getDate(dateData)), // 上个月末尾几天
- currentMonthDys: this._currentMonthDys(currentDay, this.getDate(dateData)), // 本月天数
- nextMonthDays: [], // 下个月开始几天
- weeks: []
- }
- let canlender = []
- const surplus = 42 - (dates.lastMonthDays.length + dates.currentMonthDys.length)
- dates.nextMonthDays = this._getNextMonthDays(surplus, this.getDate(dateData))
- canlender = canlender.concat(dates.lastMonthDays, dates.currentMonthDys, dates.nextMonthDays)
- let weeks = {}
- // 拼接数组 上个月开始几天 + 本月天数+ 下个月开始几天
- for (let i = 0; i < canlender.length; i++) {
- if (i % 7 === 0) {
- weeks[parseInt(i / 7)] = new Array(7)
- }
- weeks[parseInt(i / 7)][i % 7] = canlender[i]
- }
- this.canlender = canlender
- this.weeks = weeks
- }
-
- //静态方法
- // static init(date) {
- // if (!this.instance) {
- // this.instance = new Calendar(date);
- // }
- // return this.instance;
- // }
-}
-
-
-export default Calendar
diff --git a/uniapp/uni_modules/uni-calendar/package.json b/uniapp/uni_modules/uni-calendar/package.json
deleted file mode 100644
index fad841f..0000000
--- a/uniapp/uni_modules/uni-calendar/package.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "id": "uni-calendar",
- "displayName": "uni-calendar 日历",
- "version": "1.4.10",
- "description": "日历组件",
- "keywords": [
- "uni-ui",
- "uniui",
- "日历",
- "",
- "打卡",
- "日历选择"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
-"dcloudext": {
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
- "type": "component-vue"
- },
- "uni_modules": {
- "dependencies": [],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-calendar/readme.md b/uniapp/uni_modules/uni-calendar/readme.md
deleted file mode 100644
index 4e1748c..0000000
--- a/uniapp/uni_modules/uni-calendar/readme.md
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-## Calendar 日历
-> **组件名:uni-calendar**
-> 代码块: `uCalendar`
-
-
-日历组件
-
-> **注意事项**
-> 为了避免错误使用,给大家带来不好的开发体验,请在使用组件前仔细阅读下面的注意事项,可以帮你避免一些错误。
-> - 本组件农历转换使用的js是 [@1900-2100区间内的公历、农历互转](https://github.com/jjonline/calendar.js)
-> - 仅支持自定义组件模式
-> - `date`属性传入的应该是一个 String ,如: 2019-06-27 ,而不是 new Date()
-> - 通过 `insert` 属性来确定当前的事件是 @change 还是 @confirm 。理应合并为一个事件,但是为了区分模式,现使用两个事件,这里需要注意
-> - 弹窗模式下无法阻止后面的元素滚动,如有需要阻止,请在弹窗弹出后,手动设置滚动元素为不可滚动
-
-
-### 安装方式
-
-本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。
-
-如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55)
-
-### 基本用法
-
-在 ``template`` 中使用组件
-
-```html
-
-
-
-```
-
-### 通过方法打开日历
-
-需要设置 `insert` 为 `false`
-
-```html
-
-
-
-
-```
-
-```javascript
-
-export default {
- data() {
- return {};
- },
- methods: {
- open(){
- this.$refs.calendar.open();
- },
- confirm(e) {
- console.log(e);
- }
- }
-};
-
-```
-
-
-## API
-
-### Calendar Props
-
-| 属性名 | 类型 | 默认值| 说明 |
-| - | - | - | - |
-| date | String |- | 自定义当前时间,默认为今天 |
-| lunar | Boolean | false | 显示农历 |
-| startDate | String |- | 日期选择范围-开始日期 |
-| endDate | String |- | 日期选择范围-结束日期 |
-| range | Boolean | false | 范围选择 |
-| insert | Boolean | false | 插入模式,可选值,ture:插入模式;false:弹窗模式;默认为插入模式 |
-|clearDate |Boolean |true |弹窗模式是否清空上次选择内容 |
-| selected | Array |- | 打点,期待格式[{date: '2019-06-27', info: '签到', data: { custom: '自定义信息', name: '自定义消息头',xxx:xxx... }}] |
-|showMonth | Boolean | true | 是否显示月份为背景 |
-
-### Calendar Events
-
-| 事件名 | 说明 |返回值|
-| - | - | - |
-| open | 弹出日历组件,`insert :false` 时生效|- |
-
-
-
-
-
-## 组件示例
-
-点击查看:[https://hellouniapp.dcloud.net.cn/pages/extUI/calendar/calendar](https://hellouniapp.dcloud.net.cn/pages/extUI/calendar/calendar)
diff --git a/uniapp/uni_modules/uni-card/changelog.md b/uniapp/uni_modules/uni-card/changelog.md
deleted file mode 100644
index c3cd8c4..0000000
--- a/uniapp/uni_modules/uni-card/changelog.md
+++ /dev/null
@@ -1,26 +0,0 @@
-## 1.3.1(2021-12-20)
-- 修复 在vue页面下略缩图显示不正常的bug
-## 1.3.0(2021-11-19)
-- 重构插槽的用法 ,header 替换为 title
-- 新增 actions 插槽
-- 新增 cover 封面图属性和插槽
-- 新增 padding 内容默认内边距离
-- 新增 margin 卡片默认外边距离
-- 新增 spacing 卡片默认内边距
-- 新增 shadow 卡片阴影属性
-- 取消 mode 属性,可使用组合插槽代替
-- 取消 note 属性 ,使用actions插槽代替
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-card](https://uniapp.dcloud.io/component/uniui/uni-card)
-## 1.2.1(2021-07-30)
-- 优化 vue3下事件警告的问题
-## 1.2.0(2021-07-13)
-- 组件兼容 vue3,如何创建vue3项目详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 1.1.8(2021-07-01)
-- 优化 图文卡片无图片加载时,提供占位图标
-- 新增 header 插槽,自定义卡片头部( 图文卡片 mode="style" 时,不支持)
-- 修复 thumbnail 不存在仍然占位的 bug
-## 1.1.7(2021-05-12)
-- 新增 组件示例地址
-## 1.1.6(2021-02-04)
-- 调整为uni_modules目录规范
diff --git a/uniapp/uni_modules/uni-card/components/uni-card/uni-card.vue b/uniapp/uni_modules/uni-card/components/uni-card/uni-card.vue
deleted file mode 100644
index 88d8342..0000000
--- a/uniapp/uni_modules/uni-card/components/uni-card/uni-card.vue
+++ /dev/null
@@ -1,272 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-card/package.json b/uniapp/uni_modules/uni-card/package.json
deleted file mode 100644
index f16224d..0000000
--- a/uniapp/uni_modules/uni-card/package.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "id": "uni-card",
- "displayName": "uni-card 卡片",
- "version": "1.3.1",
- "description": "Card 组件,提供常见的卡片样式。",
- "keywords": [
- "uni-ui",
- "uniui",
- "card",
- "",
- "卡片"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
- "dcloudext": {
- "category": [
- "前端组件",
- "通用组件"
- ],
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
- },
- "uni_modules": {
- "dependencies": [
- "uni-icons",
- "uni-scss"
- ],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-card/readme.md b/uniapp/uni_modules/uni-card/readme.md
deleted file mode 100644
index 7434e71..0000000
--- a/uniapp/uni_modules/uni-card/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-## Card 卡片
-> **组件名:uni-card**
-> 代码块: `uCard`
-
-卡片视图组件。
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-card)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
-
-
diff --git a/uniapp/uni_modules/uni-collapse/changelog.md b/uniapp/uni_modules/uni-collapse/changelog.md
deleted file mode 100644
index 292e4c7..0000000
--- a/uniapp/uni_modules/uni-collapse/changelog.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## 1.4.3(2022-01-25)
-- 修复 初始化的时候 ,open 属性失效的bug
-## 1.4.2(2022-01-21)
-- 修复 微信小程序resize后组件收起的bug
-## 1.4.1(2021-11-22)
-- 修复 vue3中个别scss变量无法找到的问题
-## 1.4.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-collapse](https://uniapp.dcloud.io/component/uniui/uni-collapse)
-## 1.3.3(2021-08-17)
-- 优化 show-arrow 属性默认为true
-## 1.3.2(2021-08-17)
-- 新增 show-arrow 属性,控制是否显示右侧箭头
-## 1.3.1(2021-07-30)
-- 优化 vue3下小程序事件警告的问题
-## 1.3.0(2021-07-30)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 1.2.2(2021-07-21)
-- 修复 由1.2.0版本引起的 change 事件返回 undefined 的Bug
-## 1.2.1(2021-07-21)
-- 优化 组件示例
-## 1.2.0(2021-07-21)
-- 新增 组件折叠动画
-- 新增 value\v-model 属性 ,动态修改面板折叠状态
-- 新增 title 插槽 ,可定义面板标题
-- 新增 border 属性 ,显示隐藏面板内容分隔线
-- 新增 title-border 属性 ,显示隐藏面板标题分隔线
-- 修复 resize 方法失效的Bug
-- 修复 change 事件返回参数不正确的Bug
-- 优化 H5、App 平台自动更具内容更新高度,无需调用 reszie() 方法
-## 1.1.7(2021-05-12)
-- 新增 组件示例地址
-## 1.1.6(2021-02-05)
-- 优化 组件引用关系,通过uni_modules引用组件
-## 1.1.5(2021-02-05)
-- 调整为uni_modules目录规范
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue b/uniapp/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue
deleted file mode 100644
index d62a6a7..0000000
--- a/uniapp/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue
+++ /dev/null
@@ -1,402 +0,0 @@
-
-
-
-
-
-
-
-
- {{ title }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue b/uniapp/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue
deleted file mode 100644
index 384c39a..0000000
--- a/uniapp/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-collapse/package.json b/uniapp/uni_modules/uni-collapse/package.json
deleted file mode 100644
index 65349cf..0000000
--- a/uniapp/uni_modules/uni-collapse/package.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "id": "uni-collapse",
- "displayName": "uni-collapse 折叠面板",
- "version": "1.4.3",
- "description": "Collapse 组件,可以折叠 / 展开的内容区域。",
- "keywords": [
- "uni-ui",
- "折叠",
- "折叠面板",
- "手风琴"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
- "dcloudext": {
- "category": [
- "前端组件",
- "通用组件"
- ],
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
- },
- "uni_modules": {
- "dependencies": [
- "uni-scss",
- "uni-icons"
- ],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-collapse/readme.md b/uniapp/uni_modules/uni-collapse/readme.md
deleted file mode 100644
index bc758eb..0000000
--- a/uniapp/uni_modules/uni-collapse/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-## Collapse 折叠面板
-> **组件名:uni-collapse**
-> 代码块: `uCollapse`
-> 关联组件:`uni-collapse-item`、`uni-icons`。
-
-
-折叠面板用来折叠/显示过长的内容或者是列表。通常是在多内容分类项使用,折叠不重要的内容,显示重要内容。点击可以展开折叠部分。
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-collapse)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-combox/changelog.md b/uniapp/uni_modules/uni-combox/changelog.md
deleted file mode 100644
index 23c2748..0000000
--- a/uniapp/uni_modules/uni-combox/changelog.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## 1.0.1(2021-11-23)
-- 优化 label、label-width 属性
-## 1.0.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-combox](https://uniapp.dcloud.io/component/uniui/uni-combox)
-## 0.1.0(2021-07-30)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 0.0.6(2021-05-12)
-- 新增 组件示例地址
-## 0.0.5(2021-04-21)
-- 优化 添加依赖 uni-icons, 导入后自动下载依赖
-## 0.0.4(2021-02-05)
-- 优化 组件引用关系,通过uni_modules引用组件
-## 0.0.3(2021-02-04)
-- 调整为uni_modules目录规范
diff --git a/uniapp/uni_modules/uni-combox/components/uni-combox/uni-combox.vue b/uniapp/uni_modules/uni-combox/components/uni-combox/uni-combox.vue
deleted file mode 100644
index 83454e5..0000000
--- a/uniapp/uni_modules/uni-combox/components/uni-combox/uni-combox.vue
+++ /dev/null
@@ -1,294 +0,0 @@
-
-
-
- {{label}}
-
-
-
-
-
-
-
-
-
-
- {{emptyTips}}
-
-
- {{item}}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-combox/package.json b/uniapp/uni_modules/uni-combox/package.json
deleted file mode 100644
index 4a05c3f..0000000
--- a/uniapp/uni_modules/uni-combox/package.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "id": "uni-combox",
- "displayName": "uni-combox 组合框",
- "version": "1.0.1",
- "description": "可以选择也可以输入的表单项 ",
- "keywords": [
- "uni-ui",
- "uniui",
- "combox",
- "组合框",
- "select"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
- "dcloudext": {
- "category": [
- "前端组件",
- "通用组件"
- ],
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
- },
- "uni_modules": {
- "dependencies": [
- "uni-scss",
- "uni-icons"
- ],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "n"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-combox/readme.md b/uniapp/uni_modules/uni-combox/readme.md
deleted file mode 100644
index ffa2cc8..0000000
--- a/uniapp/uni_modules/uni-combox/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-## Combox 组合框
-> **组件名:uni-combox**
-> 代码块: `uCombox`
-
-
-组合框组件。
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-combox)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-countdown/changelog.md b/uniapp/uni_modules/uni-countdown/changelog.md
deleted file mode 100644
index f25beef..0000000
--- a/uniapp/uni_modules/uni-countdown/changelog.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## 1.2.2(2022-01-19)
-- 修复 在微信小程序中样式不生效的bug
-## 1.2.1(2022-01-18)
-- 新增 update 方法 ,在动态更新时间后,刷新组件
-## 1.2.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-countdown](https://uniapp.dcloud.io/component/uniui/uni-countdown)
-## 1.1.3(2021-10-18)
-- 重构
-- 新增 font-size 支持自定义字体大小
-## 1.1.2(2021-08-24)
-- 新增 支持国际化
-## 1.1.1(2021-07-30)
-- 优化 vue3下小程序事件警告的问题
-## 1.1.0(2021-07-30)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 1.0.5(2021-06-18)
-- 修复 uni-countdown 重复赋值跳两秒的 bug
-## 1.0.4(2021-05-12)
-- 新增 组件示例地址
-## 1.0.3(2021-05-08)
-- 修复 uni-countdown 不能控制倒计时的 bug
-## 1.0.2(2021-02-04)
-- 调整为uni_modules目录规范
diff --git a/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json b/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json
deleted file mode 100644
index 06309cb..0000000
--- a/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "uni-countdown.day": "day",
- "uni-countdown.h": "h",
- "uni-countdown.m": "m",
- "uni-countdown.s": "s"
-}
diff --git a/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js b/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
- en,
- 'zh-Hans': zhHans,
- 'zh-Hant': zhHant
-}
diff --git a/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json b/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json
deleted file mode 100644
index 358cdd1..0000000
--- a/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "uni-countdown.day": "天",
- "uni-countdown.h": "时",
- "uni-countdown.m": "分",
- "uni-countdown.s": "秒"
-}
diff --git a/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json b/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json
deleted file mode 100644
index e5a63de..0000000
--- a/uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "uni-countdown.day": "天",
- "uni-countdown.h": "時",
- "uni-countdown.m": "分",
- "uni-countdown.s": "秒"
-}
diff --git a/uniapp/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue b/uniapp/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue
deleted file mode 100644
index 65a1216..0000000
--- a/uniapp/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue
+++ /dev/null
@@ -1,267 +0,0 @@
-
-
- {{ d }}
- {{dayText}}
- {{ h }}
- {{ showColon ? ':' : hourText }}
- {{ i }}
- {{ showColon ? ':' : minuteText }}
- {{ s }}
- {{secondText}}
-
-
-
-
diff --git a/uniapp/uni_modules/uni-countdown/package.json b/uniapp/uni_modules/uni-countdown/package.json
deleted file mode 100644
index 70e99ee..0000000
--- a/uniapp/uni_modules/uni-countdown/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "id": "uni-countdown",
- "displayName": "uni-countdown 倒计时",
- "version": "1.2.2",
- "description": "CountDown 倒计时组件",
- "keywords": [
- "uni-ui",
- "uniui",
- "countdown",
- "倒计时"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
- "dcloudext": {
- "category": [
- "前端组件",
- "通用组件"
- ],
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
- },
- "uni_modules": {
- "dependencies": ["uni-scss"],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-countdown/readme.md b/uniapp/uni_modules/uni-countdown/readme.md
deleted file mode 100644
index 4bcb1aa..0000000
--- a/uniapp/uni_modules/uni-countdown/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-## CountDown 倒计时
-> **组件名:uni-countdown**
-> 代码块: `uCountDown`
-
-倒计时组件。
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-countdown)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-data-checkbox/changelog.md b/uniapp/uni_modules/uni-data-checkbox/changelog.md
deleted file mode 100644
index c7a468a..0000000
--- a/uniapp/uni_modules/uni-data-checkbox/changelog.md
+++ /dev/null
@@ -1,45 +0,0 @@
-## 1.0.3(2022-09-16)
-- 可以使用 uni-scss 控制主题色
-## 1.0.2(2022-06-30)
-- 优化 在 uni-forms 中的依赖注入方式
-## 1.0.1(2022-02-07)
-- 修复 multiple 为 true 时,v-model 的值为 null 报错的 bug
-## 1.0.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-data-checkbox](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox)
-## 0.2.5(2021-08-23)
-- 修复 在uni-forms中 modelValue 中不存在当前字段,当前字段必填写也不参与校验的问题
-## 0.2.4(2021-08-17)
-- 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题
-## 0.2.3(2021-08-11)
-- 修复 在 uni-forms 中重置表单,错误信息无法清除的问题
-## 0.2.2(2021-07-30)
-- 优化 在uni-forms组件,与label不对齐的问题
-## 0.2.1(2021-07-27)
-- 修复 单选默认值为0不能选中的Bug
-## 0.2.0(2021-07-13)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 0.1.11(2021-07-06)
-- 优化 删除无用日志
-## 0.1.10(2021-07-05)
-- 修复 由 0.1.9 引起的非 nvue 端图标不显示的问题
-## 0.1.9(2021-07-05)
-- 修复 nvue 黑框样式问题
-## 0.1.8(2021-06-28)
-- 修复 selectedTextColor 属性不生效的Bug
-## 0.1.7(2021-06-02)
-- 新增 map 属性,可以方便映射text/value属性
-## 0.1.6(2021-05-26)
-- 修复 不关联服务空间的情况下组件报错的Bug
-## 0.1.5(2021-05-12)
-- 新增 组件示例地址
-## 0.1.4(2021-04-09)
-- 修复 nvue 下无法选中的问题
-## 0.1.3(2021-03-22)
-- 新增 disabled属性
-## 0.1.2(2021-02-24)
-- 优化 默认颜色显示
-## 0.1.1(2021-02-24)
-- 新增 支持nvue
-## 0.1.0(2021-02-18)
-- “暂无数据”显示居中
diff --git a/uniapp/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue b/uniapp/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue
deleted file mode 100644
index 3c75d9f..0000000
--- a/uniapp/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue
+++ /dev/null
@@ -1,821 +0,0 @@
-
-
-
-
-
- {{mixinDatacomErrorMessage}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-data-checkbox/package.json b/uniapp/uni_modules/uni-data-checkbox/package.json
deleted file mode 100644
index 113c350..0000000
--- a/uniapp/uni_modules/uni-data-checkbox/package.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "id": "uni-data-checkbox",
- "displayName": "uni-data-checkbox 数据选择器",
- "version": "1.0.3",
- "description": "通过数据驱动的单选框和复选框",
- "keywords": [
- "uni-ui",
- "checkbox",
- "单选",
- "多选",
- "单选多选"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": "^3.1.1"
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
-"dcloudext": {
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
- "type": "component-vue"
- },
- "uni_modules": {
- "dependencies": ["uni-load-more","uni-scss"],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-data-checkbox/readme.md b/uniapp/uni_modules/uni-data-checkbox/readme.md
deleted file mode 100644
index 6eb253d..0000000
--- a/uniapp/uni_modules/uni-data-checkbox/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-## DataCheckbox 数据驱动的单选复选框
-> **组件名:uni-data-checkbox**
-> 代码块: `uDataCheckbox`
-
-
-本组件是基于uni-app基础组件checkbox的封装。本组件要解决问题包括:
-
-1. 数据绑定型组件:给本组件绑定一个data,会自动渲染一组候选内容。再以往,开发者需要编写不少代码实现类似功能
-2. 自动的表单校验:组件绑定了data,且符合[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)组件的表单校验规范,搭配使用会自动实现表单校验
-3. 本组件合并了单选多选
-4. 本组件有若干风格选择,如普通的单选多选框、并列button风格、tag风格。开发者可以快速选择需要的风格。但作为一个封装组件,样式代码虽然不用自己写了,却会牺牲一定的样式自定义性
-
-在uniCloud开发中,`DB Schema`中配置了enum枚举等类型后,在web控制台的[自动生成表单](https://uniapp.dcloud.io/uniCloud/schema?id=autocode)功能中,会自动生成``uni-data-checkbox``组件并绑定好data
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-data-picker/changelog.md b/uniapp/uni_modules/uni-data-picker/changelog.md
deleted file mode 100644
index 1dd79f7..0000000
--- a/uniapp/uni_modules/uni-data-picker/changelog.md
+++ /dev/null
@@ -1,75 +0,0 @@
-## 1.1.2(2023-04-11)
-- 修复 更改 modelValue 报错的 bug
-- 修复 v-for 未使用 key 值控制台 warning
-## 1.1.1(2023-02-21)
-- 修复代码合并时引发 value 属性为空时不渲染数据的问题
-## 1.1.0(2023-02-15)
-- 修复 localdata 不支持动态更新的bug
-## 1.0.9(2023-02-15)
-- 修复 localdata 不支持动态更新的bug
-## 1.0.8(2022-09-16)
-- 可以使用 uni-scss 控制主题色
-## 1.0.7(2022-07-06)
-- 优化 pc端图标位置不正确的问题
-## 1.0.6(2022-07-05)
-- 优化 显示样式
-## 1.0.5(2022-07-04)
-- 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug
-## 1.0.4(2022-04-19)
-- 修复 字节小程序 本地数据无法选择下一级的Bug
-## 1.0.3(2022-02-25)
-- 修复 nvue 不支持的 v-show 的 bug
-## 1.0.2(2022-02-25)
-- 修复 条件编译 nvue 不支持的 css 样式
-## 1.0.1(2021-11-23)
-- 修复 由上个版本引发的map、v-model等属性不生效的bug
-## 1.0.0(2021-11-19)
-- 优化 组件 UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-data-picker](https://uniapp.dcloud.io/component/uniui/uni-data-picker)
-## 0.4.9(2021-10-28)
-- 修复 VUE2 v-model 概率无效的 bug
-## 0.4.8(2021-10-27)
-- 修复 v-model 概率无效的 bug
-## 0.4.7(2021-10-25)
-- 新增 属性 spaceInfo 服务空间配置 HBuilderX 3.2.11+
-- 修复 树型 uniCloud 数据类型为 int 时报错的 bug
-## 0.4.6(2021-10-19)
-- 修复 非 VUE3 v-model 为 0 时无法选中的 bug
-## 0.4.5(2021-09-26)
-- 新增 清除已选项的功能(通过 clearIcon 属性配置是否显示按钮),同时提供 clear 方法以供调用,二者等效
-- 修复 readonly 为 true 时报错的 bug
-## 0.4.4(2021-09-26)
-- 修复 上一版本造成的 map 属性失效的 bug
-- 新增 ellipsis 属性,支持配置 tab 选项长度过长时是否自动省略
-## 0.4.3(2021-09-24)
-- 修复 某些情况下级联未触发的 bug
-## 0.4.2(2021-09-23)
-- 新增 提供 show 和 hide 方法,开发者可以通过 ref 调用
-- 新增 选项内容过长自动添加省略号
-## 0.4.1(2021-09-15)
-- 新增 map 属性 字段映射,将 text/value 映射到数据中的其他字段
-## 0.4.0(2021-07-13)
-- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 0.3.5(2021-06-04)
-- 修复 无法加载云端数据的问题
-## 0.3.4(2021-05-28)
-- 修复 v-model 无效问题
-- 修复 loaddata 为空数据组时加载时间过长问题
-- 修复 上个版本引出的本地数据无法选择带有 children 的 2 级节点
-## 0.3.3(2021-05-12)
-- 新增 组件示例地址
-## 0.3.2(2021-04-22)
-- 修复 非树形数据有 where 属性查询报错的问题
-## 0.3.1(2021-04-15)
-- 修复 本地数据概率无法回显时问题
-## 0.3.0(2021-04-07)
-- 新增 支持云端非树形表结构数据
-- 修复 根节点 parent_field 字段等于 null 时选择界面错乱问题
-## 0.2.0(2021-03-15)
-- 修复 nodeclick、popupopened、popupclosed 事件无法触发的问题
-## 0.1.9(2021-03-09)
-- 修复 微信小程序某些情况下无法选择的问题
-## 0.1.8(2021-02-05)
-- 优化 部分样式在 nvue 上的兼容表现
-## 0.1.7(2021-02-05)
-- 调整为 uni_modules 目录规范
diff --git a/uniapp/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js b/uniapp/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js
deleted file mode 100644
index 6ef26a2..0000000
--- a/uniapp/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// #ifdef H5
-export default {
- name: 'Keypress',
- props: {
- disable: {
- type: Boolean,
- default: false
- }
- },
- mounted () {
- const keyNames = {
- esc: ['Esc', 'Escape'],
- tab: 'Tab',
- enter: 'Enter',
- space: [' ', 'Spacebar'],
- up: ['Up', 'ArrowUp'],
- left: ['Left', 'ArrowLeft'],
- right: ['Right', 'ArrowRight'],
- down: ['Down', 'ArrowDown'],
- delete: ['Backspace', 'Delete', 'Del']
- }
- const listener = ($event) => {
- if (this.disable) {
- return
- }
- const keyName = Object.keys(keyNames).find(key => {
- const keyName = $event.key
- const value = keyNames[key]
- return value === keyName || (Array.isArray(value) && value.includes(keyName))
- })
- if (keyName) {
- // 避免和其他按键事件冲突
- setTimeout(() => {
- this.$emit(keyName, {})
- }, 0)
- }
- }
- document.addEventListener('keyup', listener)
- this.$once('hook:beforeDestroy', () => {
- document.removeEventListener('keyup', listener)
- })
- },
- render: () => {}
-}
-// #endif
diff --git a/uniapp/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue b/uniapp/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue
deleted file mode 100644
index 179a4e0..0000000
--- a/uniapp/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue
+++ /dev/null
@@ -1,551 +0,0 @@
-
-
-
-
-
- {{errorMessage}}
-
-
-
-
-
-
- {{item.text}}{{split}}
-
-
-
- {{placeholder}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{popupTitle}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js b/uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js
deleted file mode 100644
index cfae22a..0000000
--- a/uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js
+++ /dev/null
@@ -1,622 +0,0 @@
-export default {
- props: {
- localdata: {
- type: [Array, Object],
- default () {
- return []
- }
- },
- spaceInfo: {
- type: Object,
- default () {
- return {}
- }
- },
- collection: {
- type: String,
- default: ''
- },
- action: {
- type: String,
- default: ''
- },
- field: {
- type: String,
- default: ''
- },
- orderby: {
- type: String,
- default: ''
- },
- where: {
- type: [String, Object],
- default: ''
- },
- pageData: {
- type: String,
- default: 'add'
- },
- pageCurrent: {
- type: Number,
- default: 1
- },
- pageSize: {
- type: Number,
- default: 500
- },
- getcount: {
- type: [Boolean, String],
- default: false
- },
- getone: {
- type: [Boolean, String],
- default: false
- },
- gettree: {
- type: [Boolean, String],
- default: false
- },
- manual: {
- type: Boolean,
- default: false
- },
- value: {
- type: [Array, String, Number],
- default () {
- return []
- }
- },
- modelValue: {
- type: [Array, String, Number],
- default () {
- return []
- }
- },
- preload: {
- type: Boolean,
- default: false
- },
- stepSearh: {
- type: Boolean,
- default: true
- },
- selfField: {
- type: String,
- default: ''
- },
- parentField: {
- type: String,
- default: ''
- },
- multiple: {
- type: Boolean,
- default: false
- },
- map: {
- type: Object,
- default () {
- return {
- text: "text",
- value: "value"
- }
- }
- }
- },
- data() {
- return {
- loading: false,
- errorMessage: '',
- loadMore: {
- contentdown: '',
- contentrefresh: '',
- contentnomore: ''
- },
- dataList: [],
- selected: [],
- selectedIndex: 0,
- page: {
- current: this.pageCurrent,
- size: this.pageSize,
- count: 0
- }
- }
- },
- computed: {
- isLocalData() {
- return !this.collection.length;
- },
- isCloudData() {
- return this.collection.length > 0;
- },
- isCloudDataList() {
- return (this.isCloudData && (!this.parentField && !this.selfField));
- },
- isCloudDataTree() {
- return (this.isCloudData && this.parentField && this.selfField);
- },
- dataValue() {
- let isModelValue = Array.isArray(this.modelValue) ? (this.modelValue.length > 0) : (this.modelValue !== null ||
- this.modelValue !== undefined);
- return isModelValue ? this.modelValue : this.value;
- },
- hasValue() {
- if (typeof this.dataValue === 'number') {
- return true
- }
- return (this.dataValue != null) && (this.dataValue.length > 0)
- }
- },
- created() {
- this.$watch(() => {
- var al = [];
- ['pageCurrent',
- 'pageSize',
- 'spaceInfo',
- 'value',
- 'modelValue',
- 'localdata',
- 'collection',
- 'action',
- 'field',
- 'orderby',
- 'where',
- 'getont',
- 'getcount',
- 'gettree'
- ].forEach(key => {
- al.push(this[key])
- });
- return al
- }, (newValue, oldValue) => {
- let needReset = false
- for (let i = 2; i < newValue.length; i++) {
- if (newValue[i] != oldValue[i]) {
- needReset = true
- break
- }
- }
- if (newValue[0] != oldValue[0]) {
- this.page.current = this.pageCurrent
- }
- this.page.size = this.pageSize
-
- this.onPropsChange()
- })
- this._treeData = []
- },
- methods: {
- onPropsChange() {
- this._treeData = [];
- },
-
- // 填充 pickview 数据
- async loadData() {
- if (this.isLocalData) {
- this.loadLocalData();
- } else if (this.isCloudDataList) {
- this.loadCloudDataList();
- } else if (this.isCloudDataTree) {
- this.loadCloudDataTree();
- }
- },
-
- // 加载本地数据
- async loadLocalData() {
- this._treeData = [];
- this._extractTree(this.localdata, this._treeData);
-
- let inputValue = this.dataValue;
- if (inputValue === undefined) {
- return;
- }
-
- if (Array.isArray(inputValue)) {
- inputValue = inputValue[inputValue.length - 1];
- if (typeof inputValue === 'object' && inputValue[this.map.value]) {
- inputValue = inputValue[this.map.value];
- }
- }
-
- this.selected = this._findNodePath(inputValue, this.localdata);
- },
-
- // 加载 Cloud 数据 (单列)
- async loadCloudDataList() {
- if (this.loading) {
- return;
- }
- this.loading = true;
-
- try {
- let response = await this.getCommand();
- let responseData = response.result.data;
-
- this._treeData = responseData;
-
- this._updateBindData();
- this._updateSelected();
-
- this.onDataChange();
- } catch (e) {
- this.errorMessage = e;
- } finally {
- this.loading = false;
- }
- },
-
- // 加载 Cloud 数据 (树形)
- async loadCloudDataTree() {
- if (this.loading) {
- return;
- }
- this.loading = true;
-
- try {
- let commandOptions = {
- field: this._cloudDataPostField(),
- where: this._cloudDataTreeWhere()
- };
- if (this.gettree) {
- commandOptions.startwith = `${this.selfField}=='${this.dataValue}'`;
- }
-
- let response = await this.getCommand(commandOptions);
- let responseData = response.result.data;
-
- this._treeData = responseData;
- this._updateBindData();
- this._updateSelected();
-
- this.onDataChange();
- } catch (e) {
- this.errorMessage = e;
- } finally {
- this.loading = false;
- }
- },
-
- // 加载 Cloud 数据 (节点)
- async loadCloudDataNode(callback) {
- if (this.loading) {
- return;
- }
- this.loading = true;
-
- try {
- let commandOptions = {
- field: this._cloudDataPostField(),
- where: this._cloudDataNodeWhere()
- };
-
- let response = await this.getCommand(commandOptions);
- let responseData = response.result.data;
-
- callback(responseData);
- } catch (e) {
- this.errorMessage = e;
- } finally {
- this.loading = false;
- }
- },
-
- // 回显 Cloud 数据
- getCloudDataValue() {
- if (this.isCloudDataList) {
- return this.getCloudDataListValue();
- }
-
- if (this.isCloudDataTree) {
- return this.getCloudDataTreeValue();
- }
- },
-
- // 回显 Cloud 数据 (单列)
- getCloudDataListValue() {
- // 根据 field's as value标识匹配 where 条件
- let where = [];
- let whereField = this._getForeignKeyByField();
- if (whereField) {
- where.push(`${whereField} == '${this.dataValue}'`)
- }
-
- where = where.join(' || ');
-
- if (this.where) {
- where = `(${this.where}) && (${where})`
- }
-
- return this.getCommand({
- field: this._cloudDataPostField(),
- where
- }).then((res) => {
- this.selected = res.result.data;
- return res.result.data;
- });
- },
-
- // 回显 Cloud 数据 (树形)
- getCloudDataTreeValue() {
- return this.getCommand({
- field: this._cloudDataPostField(),
- getTreePath: {
- startWith: `${this.selfField}=='${this.dataValue}'`
- }
- }).then((res) => {
- let treePath = [];
- this._extractTreePath(res.result.data, treePath);
- this.selected = treePath;
- return treePath;
- });
- },
-
- getCommand(options = {}) {
- /* eslint-disable no-undef */
- let db = uniCloud.database(this.spaceInfo)
-
- const action = options.action || this.action
- if (action) {
- db = db.action(action)
- }
-
- const collection = options.collection || this.collection
- db = db.collection(collection)
-
- const where = options.where || this.where
- if (!(!where || !Object.keys(where).length)) {
- db = db.where(where)
- }
-
- const field = options.field || this.field
- if (field) {
- db = db.field(field)
- }
-
- const orderby = options.orderby || this.orderby
- if (orderby) {
- db = db.orderBy(orderby)
- }
-
- const current = options.pageCurrent !== undefined ? options.pageCurrent : this.page.current
- const size = options.pageSize !== undefined ? options.pageSize : this.page.size
- const getCount = options.getcount !== undefined ? options.getcount : this.getcount
- const getTree = options.gettree !== undefined ? options.gettree : this.gettree
-
- const getOptions = {
- getCount,
- getTree
- }
- if (options.getTreePath) {
- getOptions.getTreePath = options.getTreePath
- }
-
- db = db.skip(size * (current - 1)).limit(size).get(getOptions)
-
- return db
- },
-
- _cloudDataPostField() {
- let fields = [this.field];
- if (this.parentField) {
- fields.push(`${this.parentField} as parent_value`);
- }
- return fields.join(',');
- },
-
- _cloudDataTreeWhere() {
- let result = []
- let selected = this.selected
- let parentField = this.parentField
- if (parentField) {
- result.push(`${parentField} == null || ${parentField} == ""`)
- }
- if (selected.length) {
- for (var i = 0; i < selected.length - 1; i++) {
- result.push(`${parentField} == '${selected[i].value}'`)
- }
- }
-
- let where = []
- if (this.where) {
- where.push(`(${this.where})`)
- }
-
- if (result.length) {
- where.push(`(${result.join(' || ')})`)
- }
-
- return where.join(' && ')
- },
-
- _cloudDataNodeWhere() {
- let where = []
- let selected = this.selected;
- if (selected.length) {
- where.push(`${this.parentField} == '${selected[selected.length - 1].value}'`);
- }
-
- where = where.join(' || ');
-
- if (this.where) {
- return `(${this.where}) && (${where})`
- }
-
- return where
- },
-
- _getWhereByForeignKey() {
- let result = []
- let whereField = this._getForeignKeyByField();
- if (whereField) {
- result.push(`${whereField} == '${this.dataValue}'`)
- }
-
- if (this.where) {
- return `(${this.where}) && (${result.join(' || ')})`
- }
-
- return result.join(' || ')
- },
-
- _getForeignKeyByField() {
- let fields = this.field.split(',');
- let whereField = null;
- for (let i = 0; i < fields.length; i++) {
- const items = fields[i].split('as');
- if (items.length < 2) {
- continue;
- }
- if (items[1].trim() === 'value') {
- whereField = items[0].trim();
- break;
- }
- }
- return whereField;
- },
-
- _updateBindData(node) {
- const {
- dataList,
- hasNodes
- } = this._filterData(this._treeData, this.selected)
-
- let isleaf = this._stepSearh === false && !hasNodes
-
- if (node) {
- node.isleaf = isleaf
- }
-
- this.dataList = dataList
- this.selectedIndex = dataList.length - 1
-
- if (!isleaf && this.selected.length < dataList.length) {
- this.selected.push({
- value: null,
- text: "请选择"
- })
- }
-
- return {
- isleaf,
- hasNodes
- }
- },
-
- _updateSelected() {
- let dl = this.dataList
- let sl = this.selected
- let textField = this.map.text
- let valueField = this.map.value
- for (let i = 0; i < sl.length; i++) {
- let value = sl[i].value
- let dl2 = dl[i]
- for (let j = 0; j < dl2.length; j++) {
- let item2 = dl2[j]
- if (item2[valueField] === value) {
- sl[i].text = item2[textField]
- break
- }
- }
- }
- },
-
- _filterData(data, paths) {
- let dataList = []
- let hasNodes = true
-
- dataList.push(data.filter((item) => {
- return (item.parent_value === null || item.parent_value === undefined || item.parent_value === '')
- }))
- for (let i = 0; i < paths.length; i++) {
- let value = paths[i].value
- let nodes = data.filter((item) => {
- return item.parent_value === value
- })
-
- if (nodes.length) {
- dataList.push(nodes)
- } else {
- hasNodes = false
- }
- }
-
- return {
- dataList,
- hasNodes
- }
- },
-
- _extractTree(nodes, result, parent_value) {
- let list = result || []
- let valueField = this.map.value
- for (let i = 0; i < nodes.length; i++) {
- let node = nodes[i]
-
- let child = {}
- for (let key in node) {
- if (key !== 'children') {
- child[key] = node[key]
- }
- }
- if (parent_value !== null && parent_value !== undefined && parent_value !== '') {
- child.parent_value = parent_value
- }
- result.push(child)
-
- let children = node.children
- if (children) {
- this._extractTree(children, result, node[valueField])
- }
- }
- },
-
- _extractTreePath(nodes, result) {
- let list = result || []
- for (let i = 0; i < nodes.length; i++) {
- let node = nodes[i]
-
- let child = {}
- for (let key in node) {
- if (key !== 'children') {
- child[key] = node[key]
- }
- }
- result.push(child)
-
- let children = node.children
- if (children) {
- this._extractTreePath(children, result)
- }
- }
- },
-
- _findNodePath(key, nodes, path = []) {
- let textField = this.map.text
- let valueField = this.map.value
- for (let i = 0; i < nodes.length; i++) {
- let node = nodes[i]
- let children = node.children
- let text = node[textField]
- let value = node[valueField]
-
- path.push({
- value,
- text
- })
-
- if (value === key) {
- return path
- }
-
- if (children) {
- const p = this._findNodePath(key, children, path)
- if (p.length) {
- return p
- }
- }
-
- path.pop()
- }
- return []
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue b/uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue
deleted file mode 100644
index 6ebced9..0000000
--- a/uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue
+++ /dev/null
@@ -1,323 +0,0 @@
-
-
-
-
-
- {{item.text || ''}}
-
-
-
-
-
-
- {{item[map.text]}}
-
-
-
-
-
-
-
-
- {{errorMessage}}
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-data-picker/package.json b/uniapp/uni_modules/uni-data-picker/package.json
deleted file mode 100644
index 038f9ce..0000000
--- a/uniapp/uni_modules/uni-data-picker/package.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "id": "uni-data-picker",
- "displayName": "uni-data-picker 数据驱动的picker选择器",
- "version": "1.1.2",
- "description": "单列、多列级联选择器,常用于省市区城市选择、公司部门选择、多级分类等场景",
- "keywords": [
- "uni-ui",
- "uniui",
- "picker",
- "级联",
- "省市区",
- ""
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
-"dcloudext": {
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
- "type": "component-vue"
- },
- "uni_modules": {
- "dependencies": [
- "uni-load-more",
- "uni-icons",
- "uni-scss"
- ],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "u"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y",
- "京东": "u"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-data-picker/readme.md b/uniapp/uni_modules/uni-data-picker/readme.md
deleted file mode 100644
index 6cda224..0000000
--- a/uniapp/uni_modules/uni-data-picker/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-## DataPicker 级联选择
-> **组件名:uni-data-picker**
-> 代码块: `uDataPicker`
-> 关联组件:`uni-data-pickerview`、`uni-load-more`。
-
-
-`` 是一个选择类[datacom组件](https://uniapp.dcloud.net.cn/component/datacom)。
-
-支持单列、和多列级联选择。列数没有限制,如果屏幕显示不全,顶部tab区域会左右滚动。
-
-候选数据支持一次性加载完毕,也支持懒加载,比如示例图中,选择了“北京”后,动态加载北京的区县数据。
-
-`` 组件尤其适用于地址选择、分类选择等选择类。
-
-`` 支持本地数据、云端静态数据(json),uniCloud云数据库数据。
-
-`` 可以通过JQL直连uniCloud云数据库,配套[DB Schema](https://uniapp.dcloud.net.cn/uniCloud/schema),可在schema2code中自动生成前端页面,还支持服务器端校验。
-
-在uniCloud数据表中新建表“uni-id-address”和“opendb-city-china”,这2个表的schema自带foreignKey关联。在“uni-id-address”表的表结构页面使用schema2code生成前端页面,会自动生成地址管理的维护页面,自动从“opendb-city-china”表包含的中国所有省市区信息里选择地址。
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-picker)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-data-select/changelog.md b/uniapp/uni_modules/uni-data-select/changelog.md
deleted file mode 100644
index eb3d1ce..0000000
--- a/uniapp/uni_modules/uni-data-select/changelog.md
+++ /dev/null
@@ -1,35 +0,0 @@
-## 1.0.6(2023-04-12)
-- 修复 微信小程序点击时会改变背景颜色的 bug
-## 1.0.5(2023-02-03)
-- 修复 禁用时会显示清空按钮
-## 1.0.4(2023-02-02)
-- 优化 查询条件短期内多次变更只查询最后一次变更后的结果
-- 调整 内部缓存键名调整为 uni-data-select-lastSelectedValue
-## 1.0.3(2023-01-16)
-- 修复 不关联服务空间报错的问题
-## 1.0.2(2023-01-14)
-- 新增 属性 `format` 可用于格式化显示选项内容
-## 1.0.1(2022-12-06)
-- 修复 当where变化时,数据不会自动更新的问题
-## 0.1.9(2022-09-05)
-- 修复 微信小程序下拉框出现后选择会点击到蒙板后面的输入框
-## 0.1.8(2022-08-29)
-- 修复 点击的位置不准确
-## 0.1.7(2022-08-12)
-- 新增 支持 disabled 属性
-## 0.1.6(2022-07-06)
-- 修复 pc端宽度异常的bug
-## 0.1.5
-- 修复 pc端宽度异常的bug
-## 0.1.4(2022-07-05)
-- 优化 显示样式
-## 0.1.3(2022-06-02)
-- 修复 localdata 赋值不生效的 bug
-- 新增 支持 uni.scss 修改颜色
-- 新增 支持选项禁用(数据选项设置 disabled: true 即禁用)
-## 0.1.2(2022-05-08)
-- 修复 当 value 为 0 时选择不生效的 bug
-## 0.1.1(2022-05-07)
-- 新增 记住上次的选项(仅 collection 存在时有效)
-## 0.1.0(2022-04-22)
-- 初始化
diff --git a/uniapp/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue b/uniapp/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue
deleted file mode 100644
index 9b32348..0000000
--- a/uniapp/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue
+++ /dev/null
@@ -1,517 +0,0 @@
-
-
- {{label + ':'}}
-
-
-
- {{current}}
- {{typePlaceholder}}
-
-
-
-
-
-
-
-
-
-
-
-
- {{emptyTips}}
-
-
- {{formatItemName(item)}}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-data-select/package.json b/uniapp/uni_modules/uni-data-select/package.json
deleted file mode 100644
index 0187429..0000000
--- a/uniapp/uni_modules/uni-data-select/package.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "id": "uni-data-select",
- "displayName": "uni-data-select 下拉框选择器",
- "version": "1.0.6",
- "description": "通过数据驱动的下拉框选择器",
- "keywords": [
- "uni-ui",
- "select",
- "uni-data-select",
- "下拉框",
- "下拉选"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": "^3.1.1"
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
-"dcloudext": {
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
- "type": "component-vue"
- },
- "uni_modules": {
- "dependencies": ["uni-load-more"],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "u",
- "app-nvue": "n"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "u",
- "百度": "u",
- "字节跳动": "u",
- "QQ": "u",
- "京东": "u"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-data-select/readme.md b/uniapp/uni_modules/uni-data-select/readme.md
deleted file mode 100644
index eb58de3..0000000
--- a/uniapp/uni_modules/uni-data-select/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## DataSelect 下拉框选择器
-> **组件名:uni-data-select**
-> 代码块: `uDataSelect`
-
-当选项过多时,使用下拉菜单展示并选择内容
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-select)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
diff --git a/uniapp/uni_modules/uni-dateformat/changelog.md b/uniapp/uni_modules/uni-dateformat/changelog.md
deleted file mode 100644
index d551d7b..0000000
--- a/uniapp/uni_modules/uni-dateformat/changelog.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## 1.0.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-dateformat](https://uniapp.dcloud.io/component/uniui/uni-dateformat)
-## 0.0.5(2021-07-08)
-- 调整 默认时间不再是当前时间,而是显示'-'字符
-## 0.0.4(2021-05-12)
-- 新增 组件示例地址
-## 0.0.3(2021-02-04)
-- 调整为uni_modules目录规范
-- 修复 iOS 平台日期格式化出错的问题
diff --git a/uniapp/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js b/uniapp/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js
deleted file mode 100644
index e00d559..0000000
--- a/uniapp/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js
+++ /dev/null
@@ -1,200 +0,0 @@
-// yyyy-MM-dd hh:mm:ss.SSS 所有支持的类型
-function pad(str, length = 2) {
- str += ''
- while (str.length < length) {
- str = '0' + str
- }
- return str.slice(-length)
-}
-
-const parser = {
- yyyy: (dateObj) => {
- return pad(dateObj.year, 4)
- },
- yy: (dateObj) => {
- return pad(dateObj.year)
- },
- MM: (dateObj) => {
- return pad(dateObj.month)
- },
- M: (dateObj) => {
- return dateObj.month
- },
- dd: (dateObj) => {
- return pad(dateObj.day)
- },
- d: (dateObj) => {
- return dateObj.day
- },
- hh: (dateObj) => {
- return pad(dateObj.hour)
- },
- h: (dateObj) => {
- return dateObj.hour
- },
- mm: (dateObj) => {
- return pad(dateObj.minute)
- },
- m: (dateObj) => {
- return dateObj.minute
- },
- ss: (dateObj) => {
- return pad(dateObj.second)
- },
- s: (dateObj) => {
- return dateObj.second
- },
- SSS: (dateObj) => {
- return pad(dateObj.millisecond, 3)
- },
- S: (dateObj) => {
- return dateObj.millisecond
- },
-}
-
-// 这都n年了iOS依然不认识2020-12-12,需要转换为2020/12/12
-function getDate(time) {
- if (time instanceof Date) {
- return time
- }
- switch (typeof time) {
- case 'string':
- {
- // 2020-12-12T12:12:12.000Z、2020-12-12T12:12:12.000
- if (time.indexOf('T') > -1) {
- return new Date(time)
- }
- return new Date(time.replace(/-/g, '/'))
- }
- default:
- return new Date(time)
- }
-}
-
-export function formatDate(date, format = 'yyyy/MM/dd hh:mm:ss') {
- if (!date && date !== 0) {
- return ''
- }
- date = getDate(date)
- const dateObj = {
- year: date.getFullYear(),
- month: date.getMonth() + 1,
- day: date.getDate(),
- hour: date.getHours(),
- minute: date.getMinutes(),
- second: date.getSeconds(),
- millisecond: date.getMilliseconds()
- }
- const tokenRegExp = /yyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S/
- let flag = true
- let result = format
- while (flag) {
- flag = false
- result = result.replace(tokenRegExp, function(matched) {
- flag = true
- return parser[matched](dateObj)
- })
- }
- return result
-}
-
-export function friendlyDate(time, {
- locale = 'zh',
- threshold = [60000, 3600000],
- format = 'yyyy/MM/dd hh:mm:ss'
-}) {
- if (time === '-') {
- return time
- }
- if (!time && time !== 0) {
- return ''
- }
- const localeText = {
- zh: {
- year: '年',
- month: '月',
- day: '天',
- hour: '小时',
- minute: '分钟',
- second: '秒',
- ago: '前',
- later: '后',
- justNow: '刚刚',
- soon: '马上',
- template: '{num}{unit}{suffix}'
- },
- en: {
- year: 'year',
- month: 'month',
- day: 'day',
- hour: 'hour',
- minute: 'minute',
- second: 'second',
- ago: 'ago',
- later: 'later',
- justNow: 'just now',
- soon: 'soon',
- template: '{num} {unit} {suffix}'
- }
- }
- const text = localeText[locale] || localeText.zh
- let date = getDate(time)
- let ms = date.getTime() - Date.now()
- let absMs = Math.abs(ms)
- if (absMs < threshold[0]) {
- return ms < 0 ? text.justNow : text.soon
- }
- if (absMs >= threshold[1]) {
- return formatDate(date, format)
- }
- let num
- let unit
- let suffix = text.later
- if (ms < 0) {
- suffix = text.ago
- ms = -ms
- }
- const seconds = Math.floor((ms) / 1000)
- const minutes = Math.floor(seconds / 60)
- const hours = Math.floor(minutes / 60)
- const days = Math.floor(hours / 24)
- const months = Math.floor(days / 30)
- const years = Math.floor(months / 12)
- switch (true) {
- case years > 0:
- num = years
- unit = text.year
- break
- case months > 0:
- num = months
- unit = text.month
- break
- case days > 0:
- num = days
- unit = text.day
- break
- case hours > 0:
- num = hours
- unit = text.hour
- break
- case minutes > 0:
- num = minutes
- unit = text.minute
- break
- default:
- num = seconds
- unit = text.second
- break
- }
-
- if (locale === 'en') {
- if (num === 1) {
- num = 'a'
- } else {
- unit += 's'
- }
- }
-
- return text.template.replace(/{\s*num\s*}/g, num + '').replace(/{\s*unit\s*}/g, unit).replace(/{\s*suffix\s*}/g,
- suffix)
-}
diff --git a/uniapp/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue b/uniapp/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue
deleted file mode 100644
index c5ed030..0000000
--- a/uniapp/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue
+++ /dev/null
@@ -1,88 +0,0 @@
-
- {{dateShow}}
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-dateformat/package.json b/uniapp/uni_modules/uni-dateformat/package.json
deleted file mode 100644
index 786a670..0000000
--- a/uniapp/uni_modules/uni-dateformat/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "id": "uni-dateformat",
- "displayName": "uni-dateformat 日期格式化",
- "version": "1.0.0",
- "description": "日期格式化组件,可以将日期格式化为1分钟前、刚刚等形式",
- "keywords": [
- "uni-ui",
- "uniui",
- "日期格式化",
- "时间格式化",
- "格式化时间",
- ""
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
- "dcloudext": {
- "category": [
- "前端组件",
- "通用组件"
- ],
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
- },
- "uni_modules": {
- "dependencies": ["uni-scss"],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "y",
- "联盟": "y"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-dateformat/readme.md b/uniapp/uni_modules/uni-dateformat/readme.md
deleted file mode 100644
index 37ddb6e..0000000
--- a/uniapp/uni_modules/uni-dateformat/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-### DateFormat 日期格式化
-> **组件名:uni-dateformat**
-> 代码块: `uDateformat`
-
-
-日期格式化组件。
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-dateformat)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-datetime-picker/changelog.md b/uniapp/uni_modules/uni-datetime-picker/changelog.md
deleted file mode 100644
index 1f1a554..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/changelog.md
+++ /dev/null
@@ -1,133 +0,0 @@
-## 2.2.22(2023-03-30)
-- 修复 日历 picker 修改年月后,自动选中当月1日 [详情](https://ask.dcloud.net.cn/question/165937)
-- 修复 小程序端 低版本 ios NaN [详情](https://ask.dcloud.net.cn/question/162979)
-## 2.2.21(2023-02-20)
-- 修复 firefox 浏览器显示区域点击无法拉起日历弹框的Bug [详情](https://ask.dcloud.net.cn/question/163362)
-## 2.2.20(2023-02-17)
-- 优化 值为空依然选中当天问题
-- 优化 提供 default-value 属性支持配置选择器打开时默认显示的时间
-- 优化 非范围选择未选择日期时间,点击确认按钮选中当前日期时间
-- 优化 字节小程序日期时间范围选择,底部日期换行问题
-## 2.2.19(2023-02-09)
-- 修复 2.2.18 引起范围选择配置 end 选择无效的Bug [详情](https://github.com/dcloudio/uni-ui/issues/686)
-## 2.2.18(2023-02-08)
-- 修复 移动端范围选择change事件触发异常的Bug [详情](https://github.com/dcloudio/uni-ui/issues/684)
-- 优化 PC端输入日期格式错误时返回当前日期时间
-- 优化 PC端输入日期时间超出 start、end 限制的Bug
-- 优化 移动端日期时间范围用法时间展示不完整问题
-## 2.2.17(2023-02-04)
-- 修复 小程序端绑定 Date 类型报错的Bug [详情](https://github.com/dcloudio/uni-ui/issues/679)
-- 修复 vue3 time-picker 无法显示绑定时分秒的Bug
-## 2.2.16(2023-02-02)
-- 修复 字节小程序报错的Bug
-## 2.2.15(2023-02-02)
-- 修复 某些情况切换月份错误的Bug
-## 2.2.14(2023-01-30)
-- 修复 某些情况切换月份错误的Bug [详情](https://ask.dcloud.net.cn/question/162033)
-## 2.2.13(2023-01-10)
-- 修复 多次加载组件造成内存占用的Bug
-## 2.2.12(2022-12-01)
-- 修复 vue3 下 i18n 国际化初始值不正确的Bug
-## 2.2.11(2022-09-19)
-- 修复 支付宝小程序样式错乱的Bug [详情](https://github.com/dcloudio/uni-app/issues/3861)
-## 2.2.10(2022-09-19)
-- 修复 反向选择日期范围,日期显示异常的Bug [详情](https://ask.dcloud.net.cn/question/153401?item_id=212892&rf=false)
-## 2.2.9(2022-09-16)
-- 可以使用 uni-scss 控制主题色
-## 2.2.8(2022-09-08)
-- 修复 close事件无效的Bug
-## 2.2.7(2022-09-05)
-- 修复 移动端 maskClick 无效的Bug [详情](https://ask.dcloud.net.cn/question/140824)
-## 2.2.6(2022-06-30)
-- 优化 组件样式,调整了组件图标大小、高度、颜色等,与uni-ui风格保持一致
-## 2.2.5(2022-06-24)
-- 修复 日历顶部年月及底部确认未国际化的Bug
-## 2.2.4(2022-03-31)
-- 修复 Vue3 下动态赋值,单选类型未响应的Bug
-## 2.2.3(2022-03-28)
-- 修复 Vue3 下动态赋值未响应的Bug
-## 2.2.2(2021-12-10)
-- 修复 clear-icon 属性在小程序平台不生效的Bug
-## 2.2.1(2021-12-10)
-- 修复 日期范围选在小程序平台,必须多点击一次才能取消选中状态的Bug
-## 2.2.0(2021-11-19)
-- 优化 组件UI,并提供设计资源 [详情](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移 [https://uniapp.dcloud.io/component/uniui/uni-datetime-picker](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker)
-## 2.1.5(2021-11-09)
-- 新增 提供组件设计资源,组件样式调整
-## 2.1.4(2021-09-10)
-- 修复 hide-second 在移动端的Bug
-- 修复 单选赋默认值时,赋值日期未高亮的Bug
-- 修复 赋默认值时,移动端未正确显示时间的Bug
-## 2.1.3(2021-09-09)
-- 新增 hide-second 属性,支持只使用时分,隐藏秒
-## 2.1.2(2021-09-03)
-- 优化 取消选中时(范围选)直接开始下一次选择, 避免多点一次
-- 优化 移动端支持清除按钮,同时支持通过 ref 调用组件的 clear 方法
-- 优化 调整字号大小,美化日历界面
-- 修复 因国际化导致的 placeholder 失效的Bug
-## 2.1.1(2021-08-24)
-- 新增 支持国际化
-- 优化 范围选择器在 pc 端过宽的问题
-## 2.1.0(2021-08-09)
-- 新增 适配 vue3
-## 2.0.19(2021-08-09)
-- 新增 支持作为 uni-forms 子组件相关功能
-- 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的Bug
-## 2.0.18(2021-08-05)
-- 修复 type 属性动态赋值无效的Bug
-- 修复 ‘确认’按钮被 tabbar 遮盖 bug
-- 修复 组件未赋值时范围选左、右日历相同的Bug
-## 2.0.17(2021-08-04)
-- 修复 范围选未正确显示当前值的Bug
-- 修复 h5 平台(移动端)报错 'cale' of undefined 的Bug
-## 2.0.16(2021-07-21)
-- 新增 return-type 属性支持返回 date 日期对象
-## 2.0.15(2021-07-14)
-- 修复 单选日期类型,初始赋值后不在当前日历的Bug
-- 新增 clearIcon 属性,显示框的清空按钮可配置显示隐藏(仅 pc 有效)
-- 优化 移动端移除显示框的清空按钮,无实际用途
-## 2.0.14(2021-07-14)
-- 修复 组件赋值为空,界面未更新的Bug
-- 修复 start 和 end 不能动态赋值的Bug
-- 修复 范围选类型,用户选择后再次选择右侧日历(结束日期)显示不正确的Bug
-## 2.0.13(2021-07-08)
-- 修复 范围选择不能动态赋值的Bug
-## 2.0.12(2021-07-08)
-- 修复 范围选择的初始时间在一个月内时,造成无法选择的bug
-## 2.0.11(2021-07-08)
-- 优化 弹出层在超出视窗边缘定位不准确的问题
-## 2.0.10(2021-07-08)
-- 修复 范围起始点样式的背景色与今日样式的字体前景色融合,导致日期字体看不清的Bug
-- 优化 弹出层在超出视窗边缘被遮盖的问题
-## 2.0.9(2021-07-07)
-- 新增 maskClick 事件
-- 修复 特殊情况日历 rpx 布局错误的Bug,rpx -> px
-- 修复 范围选择时清空返回值不合理的bug,['', ''] -> []
-## 2.0.8(2021-07-07)
-- 新增 日期时间显示框支持插槽
-## 2.0.7(2021-07-01)
-- 优化 添加 uni-icons 依赖
-## 2.0.6(2021-05-22)
-- 修复 图标在小程序上不显示的Bug
-- 优化 重命名引用组件,避免潜在组件命名冲突
-## 2.0.5(2021-05-20)
-- 优化 代码目录扁平化
-## 2.0.4(2021-05-12)
-- 新增 组件示例地址
-## 2.0.3(2021-05-10)
-- 修复 ios 下不识别 '-' 日期格式的Bug
-- 优化 pc 下弹出层添加边框和阴影
-## 2.0.2(2021-05-08)
-- 修复 在 admin 中获取弹出层定位错误的bug
-## 2.0.1(2021-05-08)
-- 修复 type 属性向下兼容,默认值从 date 变更为 datetime
-## 2.0.0(2021-04-30)
-- 支持日历形式的日期+时间的范围选择
- > 注意:此版本不向后兼容,不再支持单独时间选择(type=time)及相关的 hide-second 属性(时间选可使用内置组件 picker)
-## 1.0.6(2021-03-18)
-- 新增 hide-second 属性,时间支持仅选择时、分
-- 修复 选择跟显示的日期不一样的Bug
-- 修复 chang事件触发2次的Bug
-- 修复 分、秒 end 范围错误的Bug
-- 优化 更好的 nvue 适配
diff --git a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue b/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue
deleted file mode 100644
index dba9887..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
-
-
- {{weeks.date}}
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue b/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue
deleted file mode 100644
index 3418f49..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue
+++ /dev/null
@@ -1,928 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {{nowDate.month}}
-
-
-
-
- {{SUNText}}
-
-
- {{MONText}}
-
-
- {{TUEText}}
-
-
- {{WEDText}}
-
-
- {{THUText}}
-
-
- {{FRIText}}
-
-
- {{SATText}}
-
-
-
-
-
-
-
-
-
-
-
-
- {{tempSingleDate ? tempSingleDate : selectDateText}}
-
-
-
-
-
-
- {{tempRange.before ? tempRange.before : startDateText}}
-
-
-
-
-
-
-
-
- {{tempRange.after ? tempRange.after : endDateText}}
-
-
-
-
-
-
- {{confirmText}}
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json b/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json
deleted file mode 100644
index 024f22f..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "uni-datetime-picker.selectDate": "select date",
- "uni-datetime-picker.selectTime": "select time",
- "uni-datetime-picker.selectDateTime": "select date and time",
- "uni-datetime-picker.startDate": "start date",
- "uni-datetime-picker.endDate": "end date",
- "uni-datetime-picker.startTime": "start time",
- "uni-datetime-picker.endTime": "end time",
- "uni-datetime-picker.ok": "ok",
- "uni-datetime-picker.clear": "clear",
- "uni-datetime-picker.cancel": "cancel",
- "uni-datetime-picker.year": "-",
- "uni-datetime-picker.month": "",
- "uni-calender.MON": "MON",
- "uni-calender.TUE": "TUE",
- "uni-calender.WED": "WED",
- "uni-calender.THU": "THU",
- "uni-calender.FRI": "FRI",
- "uni-calender.SAT": "SAT",
- "uni-calender.SUN": "SUN",
- "uni-calender.confirm": "confirm"
-}
diff --git a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js b/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
- en,
- 'zh-Hans': zhHans,
- 'zh-Hant': zhHant
-}
diff --git a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json b/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json
deleted file mode 100644
index d2df5e7..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "uni-datetime-picker.selectDate": "选择日期",
- "uni-datetime-picker.selectTime": "选择时间",
- "uni-datetime-picker.selectDateTime": "选择日期时间",
- "uni-datetime-picker.startDate": "开始日期",
- "uni-datetime-picker.endDate": "结束日期",
- "uni-datetime-picker.startTime": "开始时间",
- "uni-datetime-picker.endTime": "结束时间",
- "uni-datetime-picker.ok": "确定",
- "uni-datetime-picker.clear": "清除",
- "uni-datetime-picker.cancel": "取消",
- "uni-datetime-picker.year": "年",
- "uni-datetime-picker.month": "月",
- "uni-calender.SUN": "日",
- "uni-calender.MON": "一",
- "uni-calender.TUE": "二",
- "uni-calender.WED": "三",
- "uni-calender.THU": "四",
- "uni-calender.FRI": "五",
- "uni-calender.SAT": "六",
- "uni-calender.confirm": "确认"
-}
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json b/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json
deleted file mode 100644
index d23fa3c..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "uni-datetime-picker.selectDate": "選擇日期",
- "uni-datetime-picker.selectTime": "選擇時間",
- "uni-datetime-picker.selectDateTime": "選擇日期時間",
- "uni-datetime-picker.startDate": "開始日期",
- "uni-datetime-picker.endDate": "結束日期",
- "uni-datetime-picker.startTime": "開始时间",
- "uni-datetime-picker.endTime": "結束时间",
- "uni-datetime-picker.ok": "確定",
- "uni-datetime-picker.clear": "清除",
- "uni-datetime-picker.cancel": "取消",
- "uni-datetime-picker.year": "年",
- "uni-datetime-picker.month": "月",
- "uni-calender.SUN": "日",
- "uni-calender.MON": "一",
- "uni-calender.TUE": "二",
- "uni-calender.WED": "三",
- "uni-calender.THU": "四",
- "uni-calender.FRI": "五",
- "uni-calender.SAT": "六",
- "uni-calender.confirm": "確認"
-}
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue b/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue
deleted file mode 100644
index 81a042a..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue
+++ /dev/null
@@ -1,934 +0,0 @@
-
-
-
-
-
- {{time}}
-
- {{selectTimeText}}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue b/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue
deleted file mode 100644
index bd96488..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue
+++ /dev/null
@@ -1,1026 +0,0 @@
-
-
-
-
-
-
-
- {{ displayValue || singlePlaceholderText }}
-
-
-
-
- {{ displayRangeValue.startDate || startPlaceholderText }}
-
- {{rangeSeparator}}
-
- {{ displayRangeValue.endDate || endPlaceholderText }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js b/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js
deleted file mode 100644
index 7dc34c4..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js
+++ /dev/null
@@ -1,403 +0,0 @@
-class Calendar {
- constructor({
- selected,
- startDate,
- endDate,
- range,
- } = {}) {
- // 当前日期
- this.date = this.getDateObj(new Date()) // 当前初入日期
- // 打点信息
- this.selected = selected || [];
- // 起始时间
- this.startDate = startDate
- // 终止时间
- this.endDate = endDate
- // 是否范围选择
- this.range = range
- // 多选状态
- this.cleanMultipleStatus()
- // 每周日期
- this.weeks = {}
- this.lastHover = false
- }
- /**
- * 设置日期
- * @param {Object} date
- */
- setDate(date) {
- const selectDate = this.getDateObj(date)
- this.getWeeks(selectDate.fullDate)
- }
-
- /**
- * 清理多选状态
- */
- cleanMultipleStatus() {
- this.multipleStatus = {
- before: '',
- after: '',
- data: []
- }
- }
-
- setStartDate(startDate) {
- this.startDate = startDate
- }
-
- setEndDate(endDate) {
- this.endDate = endDate
- }
-
- getPreMonthObj(date){
- date = fixIosDateFormat(date)
- date = new Date(date)
-
- const oldMonth = date.getMonth()
- date.setMonth(oldMonth - 1)
- const newMonth = date.getMonth()
- if(oldMonth !== 0 && newMonth - oldMonth === 0){
- date.setMonth(newMonth - 1)
- }
- return this.getDateObj(date)
- }
- getNextMonthObj(date){
- date = fixIosDateFormat(date)
- date = new Date(date)
-
- const oldMonth = date.getMonth()
- date.setMonth(oldMonth + 1)
- const newMonth = date.getMonth()
- if(newMonth - oldMonth > 1){
- date.setMonth(newMonth - 1)
- }
- return this.getDateObj(date)
- }
-
- /**
- * 获取指定格式Date对象
- */
- getDateObj(date) {
- date = fixIosDateFormat(date)
- date = new Date(date)
-
- return {
- fullDate: getDate(date),
- year: date.getFullYear(),
- month: addZero(date.getMonth() + 1),
- date: addZero(date.getDate()),
- day: date.getDay()
- }
- }
-
- /**
- * 获取上一个月日期集合
- */
- getPreMonthDays(amount, dateObj) {
- const result = []
- for (let i = amount - 1; i >= 0; i--) {
- const month = dateObj.month - 1
- result.push({
- date: new Date(dateObj.year, month, -i).getDate(),
- month,
- disable: true
- })
- }
- return result
- }
- /**
- * 获取本月日期集合
- */
- getCurrentMonthDays(amount, dateObj) {
- const result = []
- const fullDate = this.date.fullDate
- for (let i = 1; i <= amount; i++) {
- const currentDate = `${dateObj.year}-${dateObj.month}-${addZero(i)}`
- const isToday = fullDate === currentDate
- // 获取打点信息
- const info = this.selected && this.selected.find((item) => {
- if (this.dateEqual(currentDate, item.date)) {
- return item
- }
- })
-
- // 日期禁用
- let disableBefore = true
- let disableAfter = true
- if (this.startDate) {
- disableBefore = dateCompare(this.startDate, currentDate)
- }
-
- if (this.endDate) {
- disableAfter = dateCompare(currentDate, this.endDate)
- }
-
- let multiples = this.multipleStatus.data
- let multiplesStatus = -1
- if (this.range && multiples) {
- multiplesStatus = multiples.findIndex((item) => {
- return this.dateEqual(item, currentDate)
- })
- }
- const checked = multiplesStatus !== -1
-
- result.push({
- fullDate: currentDate,
- year: dateObj.year,
- date: i,
- multiple: this.range ? checked : false,
- beforeMultiple: this.isLogicBefore(currentDate, this.multipleStatus.before, this.multipleStatus.after),
- afterMultiple: this.isLogicAfter(currentDate, this.multipleStatus.before, this.multipleStatus.after),
- month: dateObj.month,
- disable: (this.startDate && !dateCompare(this.startDate, currentDate)) || (this.endDate && !dateCompare(currentDate,this.endDate)),
- isToday,
- userChecked: false,
- extraInfo: info
- })
- }
- return result
- }
- /**
- * 获取下一个月日期集合
- */
- _getNextMonthDays(amount, dateObj) {
- const result = []
- const month = dateObj.month + 1
- for (let i = 1; i <= amount; i++) {
- result.push({
- date: i,
- month,
- disable: true
- })
- }
- return result
- }
-
- /**
- * 获取当前日期详情
- * @param {Object} date
- */
- getInfo(date) {
- if (!date) {
- date = new Date()
- }
-
- return this.calendar.find(item => item.fullDate === this.getDateObj(date).fullDate)
- }
-
- /**
- * 比较时间是否相等
- */
- dateEqual(before, after) {
- before = new Date(fixIosDateFormat(before))
- after = new Date(fixIosDateFormat(after))
- return before.valueOf() === after.valueOf()
- }
-
- /**
- * 比较真实起始日期
- */
-
- isLogicBefore(currentDate, before, after) {
- let logicBefore = before
- if (before && after) {
- logicBefore = dateCompare(before, after) ? before : after
- }
- return this.dateEqual(logicBefore, currentDate)
- }
-
- isLogicAfter(currentDate, before, after) {
- let logicAfter = after
- if (before && after) {
- logicAfter = dateCompare(before, after) ? after : before
- }
- return this.dateEqual(logicAfter, currentDate)
- }
-
- /**
- * 获取日期范围内所有日期
- * @param {Object} begin
- * @param {Object} end
- */
- geDateAll(begin, end) {
- var arr = []
- var ab = begin.split('-')
- var ae = end.split('-')
- var db = new Date()
- db.setFullYear(ab[0], ab[1] - 1, ab[2])
- var de = new Date()
- de.setFullYear(ae[0], ae[1] - 1, ae[2])
- var unixDb = db.getTime() - 24 * 60 * 60 * 1000
- var unixDe = de.getTime() - 24 * 60 * 60 * 1000
- for (var k = unixDb; k <= unixDe;) {
- k = k + 24 * 60 * 60 * 1000
- arr.push(this.getDateObj(new Date(parseInt(k))).fullDate)
- }
- return arr
- }
-
- /**
- * 获取多选状态
- */
- setMultiple(fullDate) {
- if (!this.range) return
-
- let {
- before,
- after
- } = this.multipleStatus
- if (before && after) {
- if (!this.lastHover) {
- this.lastHover = true
- return
- }
- this.multipleStatus.before = fullDate
- this.multipleStatus.after = ''
- this.multipleStatus.data = []
- this.multipleStatus.fulldate = ''
- this.lastHover = false
- } else {
- if (!before) {
- this.multipleStatus.before = fullDate
- this.lastHover = false
- } else {
- this.multipleStatus.after = fullDate
- if (dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {
- this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus
- .after);
- } else {
- this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus
- .before);
- }
- this.lastHover = true
- }
- }
- this.getWeeks(fullDate)
- }
-
- /**
- * 鼠标 hover 更新多选状态
- */
- setHoverMultiple(fullDate) {
- if (!this.range || this.lastHover) return
-
- const { before } = this.multipleStatus
-
- if (!before) {
- this.multipleStatus.before = fullDate
- } else {
- this.multipleStatus.after = fullDate
- if (dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {
- this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after);
- } else {
- this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before);
- }
- }
- this.getWeeks(fullDate)
- }
-
- /**
- * 更新默认值多选状态
- */
- setDefaultMultiple(before, after) {
- this.multipleStatus.before = before
- this.multipleStatus.after = after
- if (before && after) {
- if (dateCompare(before, after)) {
- this.multipleStatus.data = this.geDateAll(before, after);
- this.getWeeks(after)
- } else {
- this.multipleStatus.data = this.geDateAll(after, before);
- this.getWeeks(before)
- }
- }
- }
-
- /**
- * 获取每周数据
- * @param {Object} dateData
- */
- getWeeks(dateData) {
- const {
- year,
- month,
- } = this.getDateObj(dateData)
-
- const preMonthDayAmount = new Date(year, month - 1, 1).getDay()
- const preMonthDays = this.getPreMonthDays(preMonthDayAmount, this.getDateObj(dateData))
-
- const currentMonthDayAmount = new Date(year, month, 0).getDate()
- const currentMonthDays = this.getCurrentMonthDays(currentMonthDayAmount, this.getDateObj(dateData))
-
- const nextMonthDayAmount = 42 - preMonthDayAmount - currentMonthDayAmount
- const nextMonthDays = this._getNextMonthDays(nextMonthDayAmount, this.getDateObj(dateData))
-
- const calendarDays = [...preMonthDays, ...currentMonthDays, ...nextMonthDays]
-
- const weeks = new Array(6)
- for (let i = 0; i < calendarDays.length; i++) {
- const index = Math.floor(i / 7)
- if(!weeks[index]){
- weeks[index] = new Array(7)
- }
- weeks[index][i % 7] = calendarDays[i]
- }
-
- this.calendar = calendarDays
- this.weeks = weeks
- }
-}
-
-function getDateTime(date, hideSecond){
- return `${getDate(date)} ${getTime(date, hideSecond)}`
-}
-
-function getDate(date) {
- date = fixIosDateFormat(date)
- date = new Date(date)
- const year = date.getFullYear()
- const month = date.getMonth()+1
- const day = date.getDate()
- return `${year}-${addZero(month)}-${addZero(day)}`
-}
-
-function getTime(date, hideSecond){
- date = fixIosDateFormat(date)
- date = new Date(date)
- const hour = date.getHours()
- const minute = date.getMinutes()
- const second = date.getSeconds()
- return hideSecond ? `${addZero(hour)}:${addZero(minute)}` : `${addZero(hour)}:${addZero(minute)}:${addZero(second)}`
-}
-
-function addZero(num) {
- if(num < 10){
- num = `0${num}`
- }
- return num
-}
-
-function getDefaultSecond(hideSecond) {
- return hideSecond ? '00:00' : '00:00:00'
-}
-
-function dateCompare(startDate, endDate) {
- startDate = new Date(fixIosDateFormat(startDate))
- endDate = new Date(fixIosDateFormat(endDate))
- return startDate <= endDate
-}
-
-function checkDate(date){
- const dateReg = /((19|20)\d{2})(-|\/)\d{1,2}(-|\/)\d{1,2}/g
- return date.match(dateReg)
-}
-
-const dateTimeReg = /^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])( [0-5][0-9]:[0-5][0-9]:[0-5][0-9])?$/
-function fixIosDateFormat(value) {
- if (typeof value === 'string' && dateTimeReg.test(value)) {
- value = value.replace(/-/g, '/')
- }
- return value
-}
-
-export {Calendar, getDateTime, getDate, getTime, addZero, getDefaultSecond, dateCompare, checkDate, fixIosDateFormat}
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-datetime-picker/package.json b/uniapp/uni_modules/uni-datetime-picker/package.json
deleted file mode 100644
index 8abed63..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "id": "uni-datetime-picker",
- "displayName": "uni-datetime-picker 日期选择器",
- "version": "2.2.22",
- "description": "uni-datetime-picker 日期时间选择器,支持日历,支持范围选择",
- "keywords": [
- "uni-datetime-picker",
- "uni-ui",
- "uniui",
- "日期时间选择器",
- "日期时间"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
-"dcloudext": {
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
- "type": "component-vue"
- },
- "uni_modules": {
- "dependencies": [
- "uni-scss",
- "uni-icons"
- ],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "n"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-datetime-picker/readme.md b/uniapp/uni_modules/uni-datetime-picker/readme.md
deleted file mode 100644
index 162fbef..0000000
--- a/uniapp/uni_modules/uni-datetime-picker/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-> `重要通知:组件升级更新 2.0.0 后,支持日期+时间范围选择,组件 ui 将使用日历选择日期,ui 变化较大,同时支持 PC 和 移动端。此版本不向后兼容,不再支持单独的时间选择(type=time)及相关的 hide-second 属性(时间选可使用内置组件 picker)。若仍需使用旧版本,可在插件市场下载*非uni_modules版本*,旧版本将不再维护`
-
-## DatetimePicker 时间选择器
-
-> **组件名:uni-datetime-picker**
-> 代码块: `uDatetimePicker`
-
-
-该组件的优势是,支持**时间戳**输入和输出(起始时间、终止时间也支持时间戳),可**同时选择**日期和时间。
-
-若只是需要单独选择日期和时间,不需要时间戳输入和输出,可使用原生的 picker 组件。
-
-**_点击 picker 默认值规则:_**
-
-- 若设置初始值 value, 会显示在 picker 显示框中
-- 若无初始值 value,则初始值 value 为当前本地时间 Date.now(), 但不会显示在 picker 显示框中
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-drawer/changelog.md b/uniapp/uni_modules/uni-drawer/changelog.md
deleted file mode 100644
index 6d2488c..0000000
--- a/uniapp/uni_modules/uni-drawer/changelog.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## 1.2.1(2021-11-22)
-- 修复 vue3中个别scss变量无法找到的问题
-## 1.2.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-drawer](https://uniapp.dcloud.io/component/uniui/uni-drawer)
-## 1.1.1(2021-07-30)
-- 优化 vue3下事件警告的问题
-## 1.1.0(2021-07-13)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 1.0.7(2021-05-12)
-- 新增 组件示例地址
-## 1.0.6(2021-02-04)
-- 调整为uni_modules目录规范
diff --git a/uniapp/uni_modules/uni-drawer/components/uni-drawer/keypress.js b/uniapp/uni_modules/uni-drawer/components/uni-drawer/keypress.js
deleted file mode 100644
index 62dda46..0000000
--- a/uniapp/uni_modules/uni-drawer/components/uni-drawer/keypress.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// #ifdef H5
-export default {
- name: 'Keypress',
- props: {
- disable: {
- type: Boolean,
- default: false
- }
- },
- mounted () {
- const keyNames = {
- esc: ['Esc', 'Escape'],
- tab: 'Tab',
- enter: 'Enter',
- space: [' ', 'Spacebar'],
- up: ['Up', 'ArrowUp'],
- left: ['Left', 'ArrowLeft'],
- right: ['Right', 'ArrowRight'],
- down: ['Down', 'ArrowDown'],
- delete: ['Backspace', 'Delete', 'Del']
- }
- const listener = ($event) => {
- if (this.disable) {
- return
- }
- const keyName = Object.keys(keyNames).find(key => {
- const keyName = $event.key
- const value = keyNames[key]
- return value === keyName || (Array.isArray(value) && value.includes(keyName))
- })
- if (keyName) {
- // 避免和其他按键事件冲突
- setTimeout(() => {
- this.$emit(keyName, {})
- }, 0)
- }
- }
- document.addEventListener('keyup', listener)
- // this.$once('hook:beforeDestroy', () => {
- // document.removeEventListener('keyup', listener)
- // })
- },
- render: () => {}
-}
-// #endif
diff --git a/uniapp/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue b/uniapp/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue
deleted file mode 100644
index 82331a8..0000000
--- a/uniapp/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue
+++ /dev/null
@@ -1,183 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-drawer/package.json b/uniapp/uni_modules/uni-drawer/package.json
deleted file mode 100644
index dd056e4..0000000
--- a/uniapp/uni_modules/uni-drawer/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "id": "uni-drawer",
- "displayName": "uni-drawer 抽屉",
- "version": "1.2.1",
- "description": "抽屉式导航,用于展示侧滑菜单,侧滑导航。",
- "keywords": [
- "uni-ui",
- "uniui",
- "drawer",
- "抽屉",
- "侧滑导航"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
- "dcloudext": {
- "category": [
- "前端组件",
- "通用组件"
- ],
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
- },
- "uni_modules": {
- "dependencies": ["uni-scss"],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-drawer/readme.md b/uniapp/uni_modules/uni-drawer/readme.md
deleted file mode 100644
index dcf6e6b..0000000
--- a/uniapp/uni_modules/uni-drawer/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-## Drawer 抽屉
-> **组件名:uni-drawer**
-> 代码块: `uDrawer`
-
-抽屉侧滑菜单。
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-drawer)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-easyinput/changelog.md b/uniapp/uni_modules/uni-easyinput/changelog.md
deleted file mode 100644
index 765401a..0000000
--- a/uniapp/uni_modules/uni-easyinput/changelog.md
+++ /dev/null
@@ -1,97 +0,0 @@
-## 1.1.9(2023-04-11)
-- 修复 vue3 下 keyboardheightchange 事件报错的bug
-## 1.1.8(2023-03-29)
-- 优化 trim 属性默认值
-## 1.1.7(2023-03-29)
-- 新增 cursor-spacing 属性
-## 1.1.6(2023-01-28)
-- 新增 keyboardheightchange 事件,可监听键盘高度变化
-## 1.1.5(2022-11-29)
-- 优化 主题样式
-## 1.1.4(2022-10-27)
-- 修复 props 中背景颜色无默认值的bug
-## 1.1.0(2022-06-30)
-
-- 新增 在 uni-forms 1.4.0 中使用可以在 blur 时校验内容
-- 新增 clear 事件,点击右侧叉号图标触发
-- 新增 change 事件 ,仅在输入框失去焦点或用户按下回车时触发
-- 优化 组件样式,组件获取焦点时高亮显示,图标颜色调整等
-
-## 1.0.5(2022-06-07)
-
-- 优化 clearable 显示策略
-
-## 1.0.4(2022-06-07)
-
-- 优化 clearable 显示策略
-
-## 1.0.3(2022-05-20)
-
-- 修复 关闭图标某些情况下无法取消的 bug
-
-## 1.0.2(2022-04-12)
-
-- 修复 默认值不生效的 bug
-
-## 1.0.1(2022-04-02)
-
-- 修复 value 不能为 0 的 bug
-
-## 1.0.0(2021-11-19)
-
-- 优化 组件 UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-easyinput](https://uniapp.dcloud.io/component/uniui/uni-easyinput)
-
-## 0.1.4(2021-08-20)
-
-- 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug
-
-## 0.1.3(2021-08-11)
-
-- 修复 在 uni-forms 中重置表单,错误信息无法清除的问题
-
-## 0.1.2(2021-07-30)
-
-- 优化 vue3 下事件警告的问题
-
-## 0.1.1
-
-- 优化 errorMessage 属性支持 Boolean 类型
-
-## 0.1.0(2021-07-13)
-
-- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-
-## 0.0.16(2021-06-29)
-
-- 修复 confirmType 属性(仅 type="text" 生效)导致多行文本框无法换行的 bug
-
-## 0.0.15(2021-06-21)
-
-- 修复 passwordIcon 属性拼写错误的 bug
-
-## 0.0.14(2021-06-18)
-
-- 新增 passwordIcon 属性,当 type=password 时是否显示小眼睛图标
-- 修复 confirmType 属性不生效的问题
-
-## 0.0.13(2021-06-04)
-
-- 修复 disabled 状态可清出内容的 bug
-
-## 0.0.12(2021-05-12)
-
-- 新增 组件示例地址
-
-## 0.0.11(2021-05-07)
-
-- 修复 input-border 属性不生效的问题
-
-## 0.0.10(2021-04-30)
-
-- 修复 ios 遮挡文字、显示一半的问题
-
-## 0.0.9(2021-02-05)
-
-- 调整为 uni_modules 目录规范
-- 优化 兼容 nvue 页面
diff --git a/uniapp/uni_modules/uni-easyinput/components/uni-easyinput/common.js b/uniapp/uni_modules/uni-easyinput/components/uni-easyinput/common.js
deleted file mode 100644
index df9abe1..0000000
--- a/uniapp/uni_modules/uni-easyinput/components/uni-easyinput/common.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * @desc 函数防抖
- * @param func 目标函数
- * @param wait 延迟执行毫秒数
- * @param immediate true - 立即执行, false - 延迟执行
- */
-export const debounce = function(func, wait = 1000, immediate = true) {
- let timer;
- console.log(1);
- return function() {
- console.log(123);
- let context = this,
- args = arguments;
- if (timer) clearTimeout(timer);
- if (immediate) {
- let callNow = !timer;
- timer = setTimeout(() => {
- timer = null;
- }, wait);
- if (callNow) func.apply(context, args);
- } else {
- timer = setTimeout(() => {
- func.apply(context, args);
- }, wait)
- }
- }
-}
-/**
- * @desc 函数节流
- * @param func 函数
- * @param wait 延迟执行毫秒数
- * @param type 1 使用表时间戳,在时间段开始的时候触发 2 使用表定时器,在时间段结束的时候触发
- */
-export const throttle = (func, wait = 1000, type = 1) => {
- let previous = 0;
- let timeout;
- return function() {
- let context = this;
- let args = arguments;
- if (type === 1) {
- let now = Date.now();
-
- if (now - previous > wait) {
- func.apply(context, args);
- previous = now;
- }
- } else if (type === 2) {
- if (!timeout) {
- timeout = setTimeout(() => {
- timeout = null;
- func.apply(context, args)
- }, wait)
- }
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue b/uniapp/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue
deleted file mode 100644
index 2c7993a..0000000
--- a/uniapp/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue
+++ /dev/null
@@ -1,657 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-easyinput/package.json b/uniapp/uni_modules/uni-easyinput/package.json
deleted file mode 100644
index bd128e1..0000000
--- a/uniapp/uni_modules/uni-easyinput/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "id": "uni-easyinput",
- "displayName": "uni-easyinput 增强输入框",
- "version": "1.1.9",
- "description": "Easyinput 组件是对原生input组件的增强",
- "keywords": [
- "uni-ui",
- "uniui",
- "input",
- "uni-easyinput",
- "输入框"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
-"dcloudext": {
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
- "type": "component-vue"
- },
- "uni_modules": {
- "dependencies": [
- "uni-scss",
- "uni-icons"
- ],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-easyinput/readme.md b/uniapp/uni_modules/uni-easyinput/readme.md
deleted file mode 100644
index f1faf8f..0000000
--- a/uniapp/uni_modules/uni-easyinput/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-### Easyinput 增强输入框
-> **组件名:uni-easyinput**
-> 代码块: `uEasyinput`
-
-
-easyinput 组件是对原生input组件的增强 ,是专门为配合表单组件[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)而设计的,easyinput 内置了边框,图标等,同时包含 input 所有功能
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-easyinput)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-fab/changelog.md b/uniapp/uni_modules/uni-fab/changelog.md
deleted file mode 100644
index 9bd4729..0000000
--- a/uniapp/uni_modules/uni-fab/changelog.md
+++ /dev/null
@@ -1,23 +0,0 @@
-## 1.2.5(2023-03-29)
-- 新增 pattern.icon 属性,可自定义图标
-## 1.2.4(2022-09-07)
-小程序端由于 style 使用了对象导致报错,[详情](https://ask.dcloud.net.cn/question/152790?item_id=211778&rf=false)
-## 1.2.3(2022-09-05)
-- 修复 nvue 环境下,具有 tabBar 时,fab 组件下部位置无法正常获取 --window-bottom 的bug,详见:[https://ask.dcloud.net.cn/question/110638?notification_id=826310](https://ask.dcloud.net.cn/question/110638?notification_id=826310)
-## 1.2.2(2021-12-29)
-- 更新 组件依赖
-## 1.2.1(2021-11-19)
-- 修复 阴影颜色不正确的bug
-## 1.2.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fab](https://uniapp.dcloud.io/component/uniui/uni-fab)
-## 1.1.1(2021-11-09)
-- 新增 提供组件设计资源,组件样式调整
-## 1.1.0(2021-07-30)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 1.0.7(2021-05-12)
-- 新增 组件示例地址
-## 1.0.6(2021-02-05)
-- 调整为uni_modules目录规范
-- 优化 按钮背景色调整
-- 优化 兼容pc端
diff --git a/uniapp/uni_modules/uni-fab/components/uni-fab/uni-fab.vue b/uniapp/uni_modules/uni-fab/components/uni-fab/uni-fab.vue
deleted file mode 100644
index dfa65c1..0000000
--- a/uniapp/uni_modules/uni-fab/components/uni-fab/uni-fab.vue
+++ /dev/null
@@ -1,491 +0,0 @@
-
-
-
-
-
-
-
- {{ item.text }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-fab/package.json b/uniapp/uni_modules/uni-fab/package.json
deleted file mode 100644
index 18c0810..0000000
--- a/uniapp/uni_modules/uni-fab/package.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "id": "uni-fab",
- "displayName": "uni-fab 悬浮按钮",
- "version": "1.2.5",
- "description": "悬浮按钮 fab button ,点击可展开一个图标按钮菜单。",
- "keywords": [
- "uni-ui",
- "uniui",
- "按钮",
- "悬浮按钮",
- "fab"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
-"dcloudext": {
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
- "type": "component-vue"
- },
- "uni_modules": {
- "dependencies": ["uni-scss","uni-icons"],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-fab/readme.md b/uniapp/uni_modules/uni-fab/readme.md
deleted file mode 100644
index 9a444e8..0000000
--- a/uniapp/uni_modules/uni-fab/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## Fab 悬浮按钮
-> **组件名:uni-fab**
-> 代码块: `uFab`
-
-
-点击可展开一个图形按钮菜单
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fab)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-fav/changelog.md b/uniapp/uni_modules/uni-fav/changelog.md
deleted file mode 100644
index d8a08d4..0000000
--- a/uniapp/uni_modules/uni-fav/changelog.md
+++ /dev/null
@@ -1,19 +0,0 @@
-## 1.2.1(2022-05-30)
-- 新增 stat 属性 ,是否开启uni统计功能
-## 1.2.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fav](https://uniapp.dcloud.io/component/uniui/uni-fav)
-## 1.1.1(2021-08-24)
-- 新增 支持国际化
-## 1.1.0(2021-07-13)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 1.0.6(2021-05-12)
-- 新增 组件示例地址
-## 1.0.5(2021-04-21)
-- 优化 添加依赖 uni-icons, 导入后自动下载依赖
-## 1.0.4(2021-02-05)
-- 优化 组件引用关系,通过uni_modules引用组件
-## 1.0.3(2021-02-05)
-- 优化 组件引用关系,通过uni_modules引用组件
-## 1.0.2(2021-02-05)
-- 调整为uni_modules目录规范
diff --git a/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/en.json b/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/en.json
deleted file mode 100644
index 9a0759e..0000000
--- a/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/en.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "uni-fav.collect": "collect",
- "uni-fav.collected": "collected"
-}
diff --git a/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/index.js b/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
- en,
- 'zh-Hans': zhHans,
- 'zh-Hant': zhHant
-}
diff --git a/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json b/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json
deleted file mode 100644
index 67c89bf..0000000
--- a/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "uni-fav.collect": "收藏",
- "uni-fav.collected": "已收藏"
-}
diff --git a/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json b/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json
deleted file mode 100644
index 67c89bf..0000000
--- a/uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "uni-fav.collect": "收藏",
- "uni-fav.collected": "已收藏"
-}
diff --git a/uniapp/uni_modules/uni-fav/components/uni-fav/uni-fav.vue b/uniapp/uni_modules/uni-fav/components/uni-fav/uni-fav.vue
deleted file mode 100644
index d2c58df..0000000
--- a/uniapp/uni_modules/uni-fav/components/uni-fav/uni-fav.vue
+++ /dev/null
@@ -1,161 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {{ checked ? contentFav : contentDefault }}
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-fav/package.json b/uniapp/uni_modules/uni-fav/package.json
deleted file mode 100644
index cc14697..0000000
--- a/uniapp/uni_modules/uni-fav/package.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "id": "uni-fav",
- "displayName": "uni-fav 收藏按钮",
- "version": "1.2.1",
- "description": " Fav 收藏组件,可自定义颜色、大小。",
- "keywords": [
- "fav",
- "uni-ui",
- "uniui",
- "收藏"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
- "dcloudext": {
- "category": [
- "前端组件",
- "通用组件"
- ],
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
- },
- "uni_modules": {
- "dependencies": [
- "uni-scss",
- "uni-icons"
- ],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-fav/readme.md b/uniapp/uni_modules/uni-fav/readme.md
deleted file mode 100644
index 4de125d..0000000
--- a/uniapp/uni_modules/uni-fav/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-## Fav 收藏按钮
-> **组件名:uni-fav**
-> 代码块: `uFav`
-
-用于收藏功能,可点击切换选中、不选中的状态。
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fav)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-file-picker/changelog.md b/uniapp/uni_modules/uni-file-picker/changelog.md
deleted file mode 100644
index b8230e9..0000000
--- a/uniapp/uni_modules/uni-file-picker/changelog.md
+++ /dev/null
@@ -1,67 +0,0 @@
-## 1.0.4(2023-03-29)
-- 修复 手动上传删除一个文件后不能再上传的bug
-## 1.0.3(2022-12-19)
-- 新增 sourceType 属性, 可以自定义图片和视频选择的来源
-## 1.0.2(2022-07-04)
-- 修复 在uni-forms下样式不生效的bug
-## 1.0.1(2021-11-23)
-- 修复 参数为对象的情况下,url在某些情况显示错误的bug
-## 1.0.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-file-picker](https://uniapp.dcloud.io/component/uniui/uni-file-picker)
-## 0.2.16(2021-11-08)
-- 修复 传入空对象 ,显示错误的Bug
-## 0.2.15(2021-08-30)
-- 修复 return-type="object" 时且存在v-model时,无法删除文件的Bug
-## 0.2.14(2021-08-23)
-- 新增 参数中返回 fileID 字段
-## 0.2.13(2021-08-23)
-- 修复 腾讯云传入fileID 不能回显的bug
-- 修复 选择图片后,不能放大的问题
-## 0.2.12(2021-08-17)
-- 修复 由于 0.2.11 版本引起的不能回显图片的Bug
-## 0.2.11(2021-08-16)
-- 新增 clearFiles(index) 方法,可以手动删除指定文件
-- 修复 v-model 值设为 null 报错的Bug
-## 0.2.10(2021-08-13)
-- 修复 return-type="object" 时,无法删除文件的Bug
-## 0.2.9(2021-08-03)
-- 修复 auto-upload 属性失效的Bug
-## 0.2.8(2021-07-31)
-- 修复 fileExtname属性不指定值报错的Bug
-## 0.2.7(2021-07-31)
-- 修复 在某种场景下图片不回显的Bug
-## 0.2.6(2021-07-30)
-- 修复 return-type为object下,返回值不正确的Bug
-## 0.2.5(2021-07-30)
-- 修复(重要) H5 平台下如果和uni-forms组件一同使用导致页面卡死的问题
-## 0.2.3(2021-07-28)
-- 优化 调整示例代码
-## 0.2.2(2021-07-27)
-- 修复 vue3 下赋值错误的Bug
-- 优化 h5平台下上传文件导致页面卡死的问题
-## 0.2.0(2021-07-13)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 0.1.1(2021-07-02)
-- 修复 sourceType 缺少默认值导致 ios 无法选择文件
-## 0.1.0(2021-06-30)
-- 优化 解耦与uniCloud的强绑定关系 ,如不绑定服务空间,默认autoUpload为false且不可更改
-## 0.0.11(2021-06-30)
-- 修复 由 0.0.10 版本引发的 returnType 属性失效的问题
-## 0.0.10(2021-06-29)
-- 优化 文件上传后进度条消失时机
-## 0.0.9(2021-06-29)
-- 修复 在uni-forms 中,删除文件 ,获取的值不对的Bug
-## 0.0.8(2021-06-15)
-- 修复 删除文件时无法触发 v-model 的Bug
-## 0.0.7(2021-05-12)
-- 新增 组件示例地址
-## 0.0.6(2021-04-09)
-- 修复 选择的文件非 file-extname 字段指定的扩展名报错的Bug
-## 0.0.5(2021-04-09)
-- 优化 更新组件示例
-## 0.0.4(2021-04-09)
-- 优化 file-extname 字段支持字符串写法,多个扩展名需要用逗号分隔
-## 0.0.3(2021-02-05)
-- 调整为uni_modules目录规范
-- 修复 微信小程序不指定 fileExtname 属性选择失败的Bug
diff --git a/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js b/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js
deleted file mode 100644
index aff0864..0000000
--- a/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js
+++ /dev/null
@@ -1,224 +0,0 @@
-'use strict';
-
-const ERR_MSG_OK = 'chooseAndUploadFile:ok';
-const ERR_MSG_FAIL = 'chooseAndUploadFile:fail';
-
-function chooseImage(opts) {
- const {
- count,
- sizeType = ['original', 'compressed'],
- sourceType,
- extension
- } = opts
- return new Promise((resolve, reject) => {
- uni.chooseImage({
- count,
- sizeType,
- sourceType,
- extension,
- success(res) {
- resolve(normalizeChooseAndUploadFileRes(res, 'image'));
- },
- fail(res) {
- reject({
- errMsg: res.errMsg.replace('chooseImage:fail', ERR_MSG_FAIL),
- });
- },
- });
- });
-}
-
-function chooseVideo(opts) {
- const {
- camera,
- compressed,
- maxDuration,
- sourceType,
- extension
- } = opts;
- return new Promise((resolve, reject) => {
- uni.chooseVideo({
- camera,
- compressed,
- maxDuration,
- sourceType,
- extension,
- success(res) {
- const {
- tempFilePath,
- duration,
- size,
- height,
- width
- } = res;
- resolve(normalizeChooseAndUploadFileRes({
- errMsg: 'chooseVideo:ok',
- tempFilePaths: [tempFilePath],
- tempFiles: [
- {
- name: (res.tempFile && res.tempFile.name) || '',
- path: tempFilePath,
- size,
- type: (res.tempFile && res.tempFile.type) || '',
- width,
- height,
- duration,
- fileType: 'video',
- cloudPath: '',
- }, ],
- }, 'video'));
- },
- fail(res) {
- reject({
- errMsg: res.errMsg.replace('chooseVideo:fail', ERR_MSG_FAIL),
- });
- },
- });
- });
-}
-
-function chooseAll(opts) {
- const {
- count,
- extension
- } = opts;
- return new Promise((resolve, reject) => {
- let chooseFile = uni.chooseFile;
- if (typeof wx !== 'undefined' &&
- typeof wx.chooseMessageFile === 'function') {
- chooseFile = wx.chooseMessageFile;
- }
- if (typeof chooseFile !== 'function') {
- return reject({
- errMsg: ERR_MSG_FAIL + ' 请指定 type 类型,该平台仅支持选择 image 或 video。',
- });
- }
- chooseFile({
- type: 'all',
- count,
- extension,
- success(res) {
- resolve(normalizeChooseAndUploadFileRes(res));
- },
- fail(res) {
- reject({
- errMsg: res.errMsg.replace('chooseFile:fail', ERR_MSG_FAIL),
- });
- },
- });
- });
-}
-
-function normalizeChooseAndUploadFileRes(res, fileType) {
- res.tempFiles.forEach((item, index) => {
- if (!item.name) {
- item.name = item.path.substring(item.path.lastIndexOf('/') + 1);
- }
- if (fileType) {
- item.fileType = fileType;
- }
- item.cloudPath =
- Date.now() + '_' + index + item.name.substring(item.name.lastIndexOf('.'));
- });
- if (!res.tempFilePaths) {
- res.tempFilePaths = res.tempFiles.map((file) => file.path);
- }
- return res;
-}
-
-function uploadCloudFiles(files, max = 5, onUploadProgress) {
- files = JSON.parse(JSON.stringify(files))
- const len = files.length
- let count = 0
- let self = this
- return new Promise(resolve => {
- while (count < max) {
- next()
- }
-
- function next() {
- let cur = count++
- if (cur >= len) {
- !files.find(item => !item.url && !item.errMsg) && resolve(files)
- return
- }
- const fileItem = files[cur]
- const index = self.files.findIndex(v => v.uuid === fileItem.uuid)
- fileItem.url = ''
- delete fileItem.errMsg
-
- uniCloud
- .uploadFile({
- filePath: fileItem.path,
- cloudPath: fileItem.cloudPath,
- fileType: fileItem.fileType,
- onUploadProgress: res => {
- res.index = index
- onUploadProgress && onUploadProgress(res)
- }
- })
- .then(res => {
- fileItem.url = res.fileID
- fileItem.index = index
- if (cur < len) {
- next()
- }
- })
- .catch(res => {
- fileItem.errMsg = res.errMsg || res.message
- fileItem.index = index
- if (cur < len) {
- next()
- }
- })
- }
- })
-}
-
-
-
-
-
-function uploadFiles(choosePromise, {
- onChooseFile,
- onUploadProgress
-}) {
- return choosePromise
- .then((res) => {
- if (onChooseFile) {
- const customChooseRes = onChooseFile(res);
- if (typeof customChooseRes !== 'undefined') {
- return Promise.resolve(customChooseRes).then((chooseRes) => typeof chooseRes === 'undefined' ?
- res : chooseRes);
- }
- }
- return res;
- })
- .then((res) => {
- if (res === false) {
- return {
- errMsg: ERR_MSG_OK,
- tempFilePaths: [],
- tempFiles: [],
- };
- }
- return res
- })
-}
-
-function chooseAndUploadFile(opts = {
- type: 'all'
-}) {
- if (opts.type === 'image') {
- return uploadFiles(chooseImage(opts), opts);
- }
- else if (opts.type === 'video') {
- return uploadFiles(chooseVideo(opts), opts);
- }
- return uploadFiles(chooseAll(opts), opts);
-}
-
-export {
- chooseAndUploadFile,
- uploadCloudFiles
-};
diff --git a/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue b/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue
deleted file mode 100644
index 370441d..0000000
--- a/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue
+++ /dev/null
@@ -1,667 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue b/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue
deleted file mode 100644
index 625d92e..0000000
--- a/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue
+++ /dev/null
@@ -1,325 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{item.name}}
-
-
-
-
-
-
-
-
-
- 点击重试
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue b/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue
deleted file mode 100644
index 2a29bc2..0000000
--- a/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue
+++ /dev/null
@@ -1,292 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- 点击重试
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/utils.js b/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/utils.js
deleted file mode 100644
index 60aaa3e..0000000
--- a/uniapp/uni_modules/uni-file-picker/components/uni-file-picker/utils.js
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- * 获取文件名和后缀
- * @param {String} name
- */
-export const get_file_ext = (name) => {
- const last_len = name.lastIndexOf('.')
- const len = name.length
- return {
- name: name.substring(0, last_len),
- ext: name.substring(last_len + 1, len)
- }
-}
-
-/**
- * 获取扩展名
- * @param {Array} fileExtname
- */
-export const get_extname = (fileExtname) => {
- if (!Array.isArray(fileExtname)) {
- let extname = fileExtname.replace(/(\[|\])/g, '')
- return extname.split(',')
- } else {
- return fileExtname
- }
- return []
-}
-
-/**
- * 获取文件和检测是否可选
- */
-export const get_files_and_is_max = (res, _extname) => {
- let filePaths = []
- let files = []
- if(!_extname || _extname.length === 0){
- return {
- filePaths,
- files
- }
- }
- res.tempFiles.forEach(v => {
- let fileFullName = get_file_ext(v.name)
- const extname = fileFullName.ext.toLowerCase()
- if (_extname.indexOf(extname) !== -1) {
- files.push(v)
- filePaths.push(v.path)
- }
- })
- if (files.length !== res.tempFiles.length) {
- uni.showToast({
- title: `当前选择了${res.tempFiles.length}个文件 ,${res.tempFiles.length - files.length} 个文件格式不正确`,
- icon: 'none',
- duration: 5000
- })
- }
-
- return {
- filePaths,
- files
- }
-}
-
-
-/**
- * 获取图片信息
- * @param {Object} filepath
- */
-export const get_file_info = (filepath) => {
- return new Promise((resolve, reject) => {
- uni.getImageInfo({
- src: filepath,
- success(res) {
- resolve(res)
- },
- fail(err) {
- reject(err)
- }
- })
- })
-}
-/**
- * 获取封装数据
- */
-export const get_file_data = async (files, type = 'image') => {
- // 最终需要上传数据库的数据
- let fileFullName = get_file_ext(files.name)
- const extname = fileFullName.ext.toLowerCase()
- let filedata = {
- name: files.name,
- uuid: files.uuid,
- extname: extname || '',
- cloudPath: files.cloudPath,
- fileType: files.fileType,
- url: files.path || files.path,
- size: files.size, //单位是字节
- image: {},
- path: files.path,
- video: {}
- }
- if (type === 'image') {
- const imageinfo = await get_file_info(files.path)
- delete filedata.video
- filedata.image.width = imageinfo.width
- filedata.image.height = imageinfo.height
- filedata.image.location = imageinfo.path
- } else {
- delete filedata.image
- }
- return filedata
-}
diff --git a/uniapp/uni_modules/uni-file-picker/package.json b/uniapp/uni_modules/uni-file-picker/package.json
deleted file mode 100644
index 35c926c..0000000
--- a/uniapp/uni_modules/uni-file-picker/package.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "id": "uni-file-picker",
- "displayName": "uni-file-picker 文件选择上传",
- "version": "1.0.4",
- "description": "文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间",
- "keywords": [
- "uni-ui",
- "uniui",
- "图片上传",
- "文件上传"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
-"dcloudext": {
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
- "type": "component-vue"
- },
- "uni_modules": {
- "dependencies": ["uni-scss"],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "n"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-file-picker/readme.md b/uniapp/uni_modules/uni-file-picker/readme.md
deleted file mode 100644
index c8399a5..0000000
--- a/uniapp/uni_modules/uni-file-picker/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-## FilePicker 文件选择上传
-
-> **组件名:uni-file-picker**
-> 代码块: `uFilePicker`
-
-
-文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-file-picker)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uniapp/uni_modules/uni-forms/changelog.md b/uniapp/uni_modules/uni-forms/changelog.md
deleted file mode 100644
index 8218df5..0000000
--- a/uniapp/uni_modules/uni-forms/changelog.md
+++ /dev/null
@@ -1,92 +0,0 @@
-## 1.4.9(2023-02-10)
-- 修复 required 参数无法动态绑定
-## 1.4.8(2022-08-23)
-- 优化 根据 rules 自动添加 required 的问题
-## 1.4.7(2022-08-22)
-- 修复 item 未设置 require 属性,rules 设置 require 后,星号也显示的 bug,详见:[https://ask.dcloud.net.cn/question/151540](https://ask.dcloud.net.cn/question/151540)
-## 1.4.6(2022-07-13)
-- 修复 model 需要校验的值没有声明对应字段时,导致第一次不触发校验的bug
-## 1.4.5(2022-07-05)
-- 新增 更多表单示例
-- 优化 子表单组件过期提示的问题
-- 优化 子表单组件uni-datetime-picker、uni-data-select、uni-data-picker的显示样式
-## 1.4.4(2022-07-04)
-- 更新 删除组件日志
-## 1.4.3(2022-07-04)
-- 修复 由 1.4.0 引发的 label 插槽不生效的bug
-## 1.4.2(2022-07-04)
-- 修复 子组件找不到 setValue 报错的bug
-## 1.4.1(2022-07-04)
-- 修复 uni-data-picker 在 uni-forms-item 中报错的bug
-- 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug
-## 1.4.0(2022-06-30)
-- 【重要】组件逻辑重构,部分用法用旧版本不兼容,请注意兼容问题
-- 【重要】组件使用 Provide/Inject 方式注入依赖,提供了自定义表单组件调用 uni-forms 校验表单的能力
-- 新增 model 属性,等同于原 value/modelValue 属性,旧属性即将废弃
-- 新增 validateTrigger 属性的 blur 值,仅 uni-easyinput 生效
-- 新增 onFieldChange 方法,可以对子表单进行校验,可替代binddata方法
-- 新增 子表单的 setRules 方法,配合自定义校验函数使用
-- 新增 uni-forms-item 的 setRules 方法,配置动态表单使用可动态更新校验规则
-- 优化 动态表单校验方式,废弃拼接name的方式
-## 1.3.3(2022-06-22)
-- 修复 表单校验顺序无序问题
-## 1.3.2(2021-12-09)
--
-## 1.3.1(2021-11-19)
-- 修复 label 插槽不生效的bug
-## 1.3.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-forms](https://uniapp.dcloud.io/component/uniui/uni-forms)
-## 1.2.7(2021-08-13)
-- 修复 没有添加校验规则的字段依然报错的Bug
-## 1.2.6(2021-08-11)
-- 修复 重置表单错误信息无法清除的问题
-## 1.2.5(2021-08-11)
-- 优化 组件文档
-## 1.2.4(2021-08-11)
-- 修复 表单验证只生效一次的问题
-## 1.2.3(2021-07-30)
-- 优化 vue3下事件警告的问题
-## 1.2.2(2021-07-26)
-- 修复 vue2 下条件编译导致destroyed生命周期失效的Bug
-- 修复 1.2.1 引起的示例在小程序平台报错的Bug
-## 1.2.1(2021-07-22)
-- 修复 动态校验表单,默认值为空的情况下校验失效的Bug
-- 修复 不指定name属性时,运行报错的Bug
-- 优化 label默认宽度从65调整至70,使required为true且四字时不换行
-- 优化 组件示例,新增动态校验示例代码
-- 优化 组件文档,使用方式更清晰
-## 1.2.0(2021-07-13)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 1.1.2(2021-06-25)
-- 修复 pattern 属性在微信小程序平台无效的问题
-## 1.1.1(2021-06-22)
-- 修复 validate-trigger属性为submit且err-show-type属性为toast时不能弹出的Bug
-## 1.1.0(2021-06-22)
-- 修复 只写setRules方法而导致校验不生效的Bug
-- 修复 由上个办法引发的错误提示文字错位的Bug
-## 1.0.48(2021-06-21)
-- 修复 不设置 label 属性 ,无法设置label插槽的问题
-## 1.0.47(2021-06-21)
-- 修复 不设置label属性,label-width属性不生效的bug
-- 修复 setRules 方法与rules属性冲突的问题
-## 1.0.46(2021-06-04)
-- 修复 动态删减数据导致报错的问题
-## 1.0.45(2021-06-04)
-- 新增 modelValue 属性 ,value 即将废弃
-## 1.0.44(2021-06-02)
-- 新增 uni-forms-item 可以设置单独的 rules
-- 新增 validate 事件增加 keepitem 参数,可以选择那些字段不过滤
-- 优化 submit 事件重命名为 validate
-## 1.0.43(2021-05-12)
-- 新增 组件示例地址
-## 1.0.42(2021-04-30)
-- 修复 自定义检验器失效的问题
-## 1.0.41(2021-03-05)
-- 更新 校验器
-- 修复 表单规则设置类型为 number 的情况下,值为0校验失败的Bug
-## 1.0.40(2021-03-04)
-- 修复 动态显示uni-forms-item的情况下,submit 方法获取值错误的Bug
-## 1.0.39(2021-02-05)
-- 调整为uni_modules目录规范
-- 修复 校验器传入 int 等类型 ,返回String类型的Bug
diff --git a/uniapp/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue b/uniapp/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue
deleted file mode 100644
index 91fe351..0000000
--- a/uniapp/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue
+++ /dev/null
@@ -1,627 +0,0 @@
-
-
-
-
- *
- {{label}}
-
-
-
-
-
-
- {{msg}}
-
-
-
-
-
-
-
-
-
- {{msg}}
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-forms/components/uni-forms/uni-forms.vue b/uniapp/uni_modules/uni-forms/components/uni-forms/uni-forms.vue
deleted file mode 100644
index ed2f6d9..0000000
--- a/uniapp/uni_modules/uni-forms/components/uni-forms/uni-forms.vue
+++ /dev/null
@@ -1,397 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/uniapp/uni_modules/uni-forms/components/uni-forms/utils.js b/uniapp/uni_modules/uni-forms/components/uni-forms/utils.js
deleted file mode 100644
index 6da2421..0000000
--- a/uniapp/uni_modules/uni-forms/components/uni-forms/utils.js
+++ /dev/null
@@ -1,293 +0,0 @@
-/**
- * 简单处理对象拷贝
- * @param {Obejct} 被拷贝对象
- * @@return {Object} 拷贝对象
- */
-export const deepCopy = (val) => {
- return JSON.parse(JSON.stringify(val))
-}
-/**
- * 过滤数字类型
- * @param {String} format 数字类型
- * @@return {Boolean} 返回是否为数字类型
- */
-export const typeFilter = (format) => {
- return format === 'int' || format === 'double' || format === 'number' || format === 'timestamp';
-}
-
-/**
- * 把 value 转换成指定的类型,用于处理初始值,原因是初始值需要入库不能为 undefined
- * @param {String} key 字段名
- * @param {any} value 字段值
- * @param {Object} rules 表单校验规则
- */
-export const getValue = (key, value, rules) => {
- const isRuleNumType = rules.find(val => val.format && typeFilter(val.format));
- const isRuleBoolType = rules.find(val => (val.format && val.format === 'boolean') || val.format === 'bool');
- // 输入类型为 number
- if (!!isRuleNumType) {
- if (!value && value !== 0) {
- value = null
- } else {
- value = isNumber(Number(value)) ? Number(value) : value
- }
- }
-
- // 输入类型为 boolean
- if (!!isRuleBoolType) {
- value = isBoolean(value) ? value : false
- }
-
- return value;
-}
-
-/**
- * 获取表单数据
- * @param {String|Array} name 真实名称,需要使用 realName 获取
- * @param {Object} data 原始数据
- * @param {any} value 需要设置的值
- */
-export const setDataValue = (field, formdata, value) => {
- formdata[field] = value
- return value || ''
-}
-
-/**
- * 获取表单数据
- * @param {String|Array} field 真实名称,需要使用 realName 获取
- * @param {Object} data 原始数据
- */
-export const getDataValue = (field, data) => {
- return objGet(data, field)
-}
-
-/**
- * 获取表单类型
- * @param {String|Array} field 真实名称,需要使用 realName 获取
- */
-export const getDataValueType = (field, data) => {
- const value = getDataValue(field, data)
- return {
- type: type(value),
- value
- }
-}
-
-/**
- * 获取表单可用的真实name
- * @param {String|Array} name 表单name
- * @@return {String} 表单可用的真实name
- */
-export const realName = (name, data = {}) => {
- const base_name = _basePath(name)
- if (typeof base_name === 'object' && Array.isArray(base_name) && base_name.length > 1) {
- const realname = base_name.reduce((a, b) => a += `#${b}`, '_formdata_')
- return realname
- }
- return base_name[0] || name
-}
-
-/**
- * 判断是否表单可用的真实name
- * @param {String|Array} name 表单name
- * @@return {String} 表单可用的真实name
- */
-export const isRealName = (name) => {
- const reg = /^_formdata_#*/
- return reg.test(name)
-}
-
-/**
- * 获取表单数据的原始格式
- * @@return {Object|Array} object 需要解析的数据
- */
-export const rawData = (object = {}, name) => {
- let newData = JSON.parse(JSON.stringify(object))
- let formData = {}
- for(let i in newData){
- let path = name2arr(i)
- objSet(formData,path,newData[i])
- }
- return formData
-}
-
-/**
- * 真实name还原为 array
- * @param {*} name
- */
-export const name2arr = (name) => {
- let field = name.replace('_formdata_#', '')
- field = field.split('#').map(v => (isNumber(v) ? Number(v) : v))
- return field
-}
-
-/**
- * 对象中设置值
- * @param {Object|Array} object 源数据
- * @param {String| Array} path 'a.b.c' 或 ['a',0,'b','c']
- * @param {String} value 需要设置的值
- */
-export const objSet = (object, path, value) => {
- if (typeof object !== 'object') return object;
- _basePath(path).reduce((o, k, i, _) => {
- if (i === _.length - 1) {
- // 若遍历结束直接赋值
- o[k] = value
- return null
- } else if (k in o) {
- // 若存在对应路径,则返回找到的对象,进行下一次遍历
- return o[k]
- } else {
- // 若不存在对应路径,则创建对应对象,若下一路径是数字,新对象赋值为空数组,否则赋值为空对象
- o[k] = /^[0-9]{1,}$/.test(_[i + 1]) ? [] : {}
- return o[k]
- }
- }, object)
- // 返回object
- return object;
-}
-
-// 处理 path, path有三种形式:'a[0].b.c'、'a.0.b.c' 和 ['a','0','b','c'],需要统一处理成数组,便于后续使用
-function _basePath(path) {
- // 若是数组,则直接返回
- if (Array.isArray(path)) return path
- // 若有 '[',']',则替换成将 '[' 替换成 '.',去掉 ']'
- return path.replace(/\[/g, '.').replace(/\]/g, '').split('.')
-}
-
-/**
- * 从对象中获取值
- * @param {Object|Array} object 源数据
- * @param {String| Array} path 'a.b.c' 或 ['a',0,'b','c']
- * @param {String} defaultVal 如果无法从调用链中获取值的默认值
- */
-export const objGet = (object, path, defaultVal = 'undefined') => {
- // 先将path处理成统一格式
- let newPath = _basePath(path)
- // 递归处理,返回最后结果
- let val = newPath.reduce((o, k) => {
- return (o || {})[k]
- }, object);
- return !val || val !== undefined ? val : defaultVal
-}
-
-
-/**
- * 是否为 number 类型
- * @param {any} num 需要判断的值
- * @return {Boolean} 是否为 number
- */
-export const isNumber = (num) => {
- return !isNaN(Number(num))
-}
-
-/**
- * 是否为 boolean 类型
- * @param {any} bool 需要判断的值
- * @return {Boolean} 是否为 boolean
- */
-export const isBoolean = (bool) => {
- return (typeof bool === 'boolean')
-}
-/**
- * 是否有必填字段
- * @param {Object} rules 规则
- * @return {Boolean} 是否有必填字段
- */
-export const isRequiredField = (rules) => {
- let isNoField = false;
- for (let i = 0; i < rules.length; i++) {
- const ruleData = rules[i];
- if (ruleData.required) {
- isNoField = true;
- break;
- }
- }
- return isNoField;
-}
-
-
-/**
- * 获取数据类型
- * @param {Any} obj 需要获取数据类型的值
- */
-export const type = (obj) => {
- var class2type = {};
-
- // 生成class2type映射
- "Boolean Number String Function Array Date RegExp Object Error".split(" ").map(function(item, index) {
- class2type["[object " + item + "]"] = item.toLowerCase();
- })
- if (obj == null) {
- return obj + "";
- }
- return typeof obj === "object" || typeof obj === "function" ?
- class2type[Object.prototype.toString.call(obj)] || "object" :
- typeof obj;
-}
-
-/**
- * 判断两个值是否相等
- * @param {any} a 值
- * @param {any} b 值
- * @return {Boolean} 是否相等
- */
-export const isEqual = (a, b) => {
- //如果a和b本来就全等
- if (a === b) {
- //判断是否为0和-0
- return a !== 0 || 1 / a === 1 / b;
- }
- //判断是否为null和undefined
- if (a == null || b == null) {
- return a === b;
- }
- //接下来判断a和b的数据类型
- var classNameA = toString.call(a),
- classNameB = toString.call(b);
- //如果数据类型不相等,则返回false
- if (classNameA !== classNameB) {
- return false;
- }
- //如果数据类型相等,再根据不同数据类型分别判断
- switch (classNameA) {
- case '[object RegExp]':
- case '[object String]':
- //进行字符串转换比较
- return '' + a === '' + b;
- case '[object Number]':
- //进行数字转换比较,判断是否为NaN
- if (+a !== +a) {
- return +b !== +b;
- }
- //判断是否为0或-0
- return +a === 0 ? 1 / +a === 1 / b : +a === +b;
- case '[object Date]':
- case '[object Boolean]':
- return +a === +b;
- }
- //如果是对象类型
- if (classNameA == '[object Object]') {
- //获取a和b的属性长度
- var propsA = Object.getOwnPropertyNames(a),
- propsB = Object.getOwnPropertyNames(b);
- if (propsA.length != propsB.length) {
- return false;
- }
- for (var i = 0; i < propsA.length; i++) {
- var propName = propsA[i];
- //如果对应属性对应值不相等,则返回false
- if (a[propName] !== b[propName]) {
- return false;
- }
- }
- return true;
- }
- //如果是数组类型
- if (classNameA == '[object Array]') {
- if (a.toString() == b.toString()) {
- return true;
- }
- return false;
- }
-}
diff --git a/uniapp/uni_modules/uni-forms/components/uni-forms/validate.js b/uniapp/uni_modules/uni-forms/components/uni-forms/validate.js
deleted file mode 100644
index 1834c6c..0000000
--- a/uniapp/uni_modules/uni-forms/components/uni-forms/validate.js
+++ /dev/null
@@ -1,486 +0,0 @@
-var pattern = {
- email: /^\S+?@\S+?\.\S+?$/,
- idcard: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
- url: new RegExp(
- "^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$",
- 'i')
-};
-
-const FORMAT_MAPPING = {
- "int": 'integer',
- "bool": 'boolean',
- "double": 'number',
- "long": 'number',
- "password": 'string'
- // "fileurls": 'array'
-}
-
-function formatMessage(args, resources = '') {
- var defaultMessage = ['label']
- defaultMessage.forEach((item) => {
- if (args[item] === undefined) {
- args[item] = ''
- }
- })
-
- let str = resources
- for (let key in args) {
- let reg = new RegExp('{' + key + '}')
- str = str.replace(reg, args[key])
- }
- return str
-}
-
-function isEmptyValue(value, type) {
- if (value === undefined || value === null) {
- return true;
- }
-
- if (typeof value === 'string' && !value) {
- return true;
- }
-
- if (Array.isArray(value) && !value.length) {
- return true;
- }
-
- if (type === 'object' && !Object.keys(value).length) {
- return true;
- }
-
- return false;
-}
-
-const types = {
- integer(value) {
- return types.number(value) && parseInt(value, 10) === value;
- },
- string(value) {
- return typeof value === 'string';
- },
- number(value) {
- if (isNaN(value)) {
- return false;
- }
- return typeof value === 'number';
- },
- "boolean": function(value) {
- return typeof value === 'boolean';
- },
- "float": function(value) {
- return types.number(value) && !types.integer(value);
- },
- array(value) {
- return Array.isArray(value);
- },
- object(value) {
- return typeof value === 'object' && !types.array(value);
- },
- date(value) {
- return value instanceof Date;
- },
- timestamp(value) {
- if (!this.integer(value) || Math.abs(value).toString().length > 16) {
- return false
- }
- return true;
- },
- file(value) {
- return typeof value.url === 'string';
- },
- email(value) {
- return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;
- },
- url(value) {
- return typeof value === 'string' && !!value.match(pattern.url);
- },
- pattern(reg, value) {
- try {
- return new RegExp(reg).test(value);
- } catch (e) {
- return false;
- }
- },
- method(value) {
- return typeof value === 'function';
- },
- idcard(value) {
- return typeof value === 'string' && !!value.match(pattern.idcard);
- },
- 'url-https'(value) {
- return this.url(value) && value.startsWith('https://');
- },
- 'url-scheme'(value) {
- return value.startsWith('://');
- },
- 'url-web'(value) {
- return false;
- }
-}
-
-class RuleValidator {
-
- constructor(message) {
- this._message = message
- }
-
- async validateRule(fieldKey, fieldValue, value, data, allData) {
- var result = null
-
- let rules = fieldValue.rules
-
- let hasRequired = rules.findIndex((item) => {
- return item.required
- })
- if (hasRequired < 0) {
- if (value === null || value === undefined) {
- return result
- }
- if (typeof value === 'string' && !value.length) {
- return result
- }
- }
-
- var message = this._message
-
- if (rules === undefined) {
- return message['default']
- }
-
- for (var i = 0; i < rules.length; i++) {
- let rule = rules[i]
- let vt = this._getValidateType(rule)
-
- Object.assign(rule, {
- label: fieldValue.label || `["${fieldKey}"]`
- })
-
- if (RuleValidatorHelper[vt]) {
- result = RuleValidatorHelper[vt](rule, value, message)
- if (result != null) {
- break
- }
- }
-
- if (rule.validateExpr) {
- let now = Date.now()
- let resultExpr = rule.validateExpr(value, allData, now)
- if (resultExpr === false) {
- result = this._getMessage(rule, rule.errorMessage || this._message['default'])
- break
- }
- }
-
- if (rule.validateFunction) {
- result = await this.validateFunction(rule, value, data, allData, vt)
- if (result !== null) {
- break
- }
- }
- }
-
- if (result !== null) {
- result = message.TAG + result
- }
-
- return result
- }
-
- async validateFunction(rule, value, data, allData, vt) {
- let result = null
- try {
- let callbackMessage = null
- const res = await rule.validateFunction(rule, value, allData || data, (message) => {
- callbackMessage = message
- })
- if (callbackMessage || (typeof res === 'string' && res) || res === false) {
- result = this._getMessage(rule, callbackMessage || res, vt)
- }
- } catch (e) {
- result = this._getMessage(rule, e.message, vt)
- }
- return result
- }
-
- _getMessage(rule, message, vt) {
- return formatMessage(rule, message || rule.errorMessage || this._message[vt] || message['default'])
- }
-
- _getValidateType(rule) {
- var result = ''
- if (rule.required) {
- result = 'required'
- } else if (rule.format) {
- result = 'format'
- } else if (rule.arrayType) {
- result = 'arrayTypeFormat'
- } else if (rule.range) {
- result = 'range'
- } else if (rule.maximum !== undefined || rule.minimum !== undefined) {
- result = 'rangeNumber'
- } else if (rule.maxLength !== undefined || rule.minLength !== undefined) {
- result = 'rangeLength'
- } else if (rule.pattern) {
- result = 'pattern'
- } else if (rule.validateFunction) {
- result = 'validateFunction'
- }
- return result
- }
-}
-
-const RuleValidatorHelper = {
- required(rule, value, message) {
- if (rule.required && isEmptyValue(value, rule.format || typeof value)) {
- return formatMessage(rule, rule.errorMessage || message.required);
- }
-
- return null
- },
-
- range(rule, value, message) {
- const {
- range,
- errorMessage
- } = rule;
-
- let list = new Array(range.length);
- for (let i = 0; i < range.length; i++) {
- const item = range[i];
- if (types.object(item) && item.value !== undefined) {
- list[i] = item.value;
- } else {
- list[i] = item;
- }
- }
-
- let result = false
- if (Array.isArray(value)) {
- result = (new Set(value.concat(list)).size === list.length);
- } else {
- if (list.indexOf(value) > -1) {
- result = true;
- }
- }
-
- if (!result) {
- return formatMessage(rule, errorMessage || message['enum']);
- }
-
- return null
- },
-
- rangeNumber(rule, value, message) {
- if (!types.number(value)) {
- return formatMessage(rule, rule.errorMessage || message.pattern.mismatch);
- }
-
- let {
- minimum,
- maximum,
- exclusiveMinimum,
- exclusiveMaximum
- } = rule;
- let min = exclusiveMinimum ? value <= minimum : value < minimum;
- let max = exclusiveMaximum ? value >= maximum : value > maximum;
-
- if (minimum !== undefined && min) {
- return formatMessage(rule, rule.errorMessage || message['number'][exclusiveMinimum ?
- 'exclusiveMinimum' : 'minimum'
- ])
- } else if (maximum !== undefined && max) {
- return formatMessage(rule, rule.errorMessage || message['number'][exclusiveMaximum ?
- 'exclusiveMaximum' : 'maximum'
- ])
- } else if (minimum !== undefined && maximum !== undefined && (min || max)) {
- return formatMessage(rule, rule.errorMessage || message['number'].range)
- }
-
- return null
- },
-
- rangeLength(rule, value, message) {
- if (!types.string(value) && !types.array(value)) {
- return formatMessage(rule, rule.errorMessage || message.pattern.mismatch);
- }
-
- let min = rule.minLength;
- let max = rule.maxLength;
- let val = value.length;
-
- if (min !== undefined && val < min) {
- return formatMessage(rule, rule.errorMessage || message['length'].minLength)
- } else if (max !== undefined && val > max) {
- return formatMessage(rule, rule.errorMessage || message['length'].maxLength)
- } else if (min !== undefined && max !== undefined && (val < min || val > max)) {
- return formatMessage(rule, rule.errorMessage || message['length'].range)
- }
-
- return null
- },
-
- pattern(rule, value, message) {
- if (!types['pattern'](rule.pattern, value)) {
- return formatMessage(rule, rule.errorMessage || message.pattern.mismatch);
- }
-
- return null
- },
-
- format(rule, value, message) {
- var customTypes = Object.keys(types);
- var format = FORMAT_MAPPING[rule.format] ? FORMAT_MAPPING[rule.format] : (rule.format || rule.arrayType);
-
- if (customTypes.indexOf(format) > -1) {
- if (!types[format](value)) {
- return formatMessage(rule, rule.errorMessage || message.typeError);
- }
- }
-
- return null
- },
-
- arrayTypeFormat(rule, value, message) {
- if (!Array.isArray(value)) {
- return formatMessage(rule, rule.errorMessage || message.typeError);
- }
-
- for (let i = 0; i < value.length; i++) {
- const element = value[i];
- let formatResult = this.format(rule, element, message)
- if (formatResult !== null) {
- return formatResult
- }
- }
-
- return null
- }
-}
-
-class SchemaValidator extends RuleValidator {
-
- constructor(schema, options) {
- super(SchemaValidator.message);
-
- this._schema = schema
- this._options = options || null
- }
-
- updateSchema(schema) {
- this._schema = schema
- }
-
- async validate(data, allData) {
- let result = this._checkFieldInSchema(data)
- if (!result) {
- result = await this.invokeValidate(data, false, allData)
- }
- return result.length ? result[0] : null
- }
-
- async validateAll(data, allData) {
- let result = this._checkFieldInSchema(data)
- if (!result) {
- result = await this.invokeValidate(data, true, allData)
- }
- return result
- }
-
- async validateUpdate(data, allData) {
- let result = this._checkFieldInSchema(data)
- if (!result) {
- result = await this.invokeValidateUpdate(data, false, allData)
- }
- return result.length ? result[0] : null
- }
-
- async invokeValidate(data, all, allData) {
- let result = []
- let schema = this._schema
- for (let key in schema) {
- let value = schema[key]
- let errorMessage = await this.validateRule(key, value, data[key], data, allData)
- if (errorMessage != null) {
- result.push({
- key,
- errorMessage
- })
- if (!all) break
- }
- }
- return result
- }
-
- async invokeValidateUpdate(data, all, allData) {
- let result = []
- for (let key in data) {
- let errorMessage = await this.validateRule(key, this._schema[key], data[key], data, allData)
- if (errorMessage != null) {
- result.push({
- key,
- errorMessage
- })
- if (!all) break
- }
- }
- return result
- }
-
- _checkFieldInSchema(data) {
- var keys = Object.keys(data)
- var keys2 = Object.keys(this._schema)
- if (new Set(keys.concat(keys2)).size === keys2.length) {
- return ''
- }
-
- var noExistFields = keys.filter((key) => {
- return keys2.indexOf(key) < 0;
- })
- var errorMessage = formatMessage({
- field: JSON.stringify(noExistFields)
- }, SchemaValidator.message.TAG + SchemaValidator.message['defaultInvalid'])
- return [{
- key: 'invalid',
- errorMessage
- }]
- }
-}
-
-function Message() {
- return {
- TAG: "",
- default: '验证错误',
- defaultInvalid: '提交的字段{field}在数据库中并不存在',
- validateFunction: '验证无效',
- required: '{label}必填',
- 'enum': '{label}超出范围',
- timestamp: '{label}格式无效',
- whitespace: '{label}不能为空',
- typeError: '{label}类型无效',
- date: {
- format: '{label}日期{value}格式无效',
- parse: '{label}日期无法解析,{value}无效',
- invalid: '{label}日期{value}无效'
- },
- length: {
- minLength: '{label}长度不能少于{minLength}',
- maxLength: '{label}长度不能超过{maxLength}',
- range: '{label}必须介于{minLength}和{maxLength}之间'
- },
- number: {
- minimum: '{label}不能小于{minimum}',
- maximum: '{label}不能大于{maximum}',
- exclusiveMinimum: '{label}不能小于等于{minimum}',
- exclusiveMaximum: '{label}不能大于等于{maximum}',
- range: '{label}必须介于{minimum}and{maximum}之间'
- },
- pattern: {
- mismatch: '{label}格式不匹配'
- }
- };
-}
-
-
-SchemaValidator.message = new Message();
-
-export default SchemaValidator
diff --git a/uniapp/uni_modules/uni-forms/package.json b/uniapp/uni_modules/uni-forms/package.json
deleted file mode 100644
index 1925611..0000000
--- a/uniapp/uni_modules/uni-forms/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "id": "uni-forms",
- "displayName": "uni-forms 表单",
- "version": "1.4.9",
- "description": "由输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据",
- "keywords": [
- "uni-ui",
- "表单",
- "校验",
- "表单校验",
- "表单验证"
-],
- "repository": "https://github.com/dcloudio/uni-ui",
- "engines": {
- "HBuilderX": ""
- },
- "directories": {
- "example": "../../temps/example_temps"
- },
-"dcloudext": {
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
- "type": "component-vue"
- },
- "uni_modules": {
- "dependencies": [
- "uni-scss",
- "uni-icons"
- ],
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y"
- },
- "client": {
- "App": {
- "app-vue": "y",
- "app-nvue": "y"
- },
- "H5-mobile": {
- "Safari": "y",
- "Android Browser": "y",
- "微信浏览器(Android)": "y",
- "QQ浏览器(Android)": "y"
- },
- "H5-pc": {
- "Chrome": "y",
- "IE": "y",
- "Edge": "y",
- "Firefox": "y",
- "Safari": "y"
- },
- "小程序": {
- "微信": "y",
- "阿里": "y",
- "百度": "y",
- "字节跳动": "y",
- "QQ": "y",
- "京东": "u"
- },
- "快应用": {
- "华为": "u",
- "联盟": "u"
- },
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- }
- }
- }
- }
-}
diff --git a/uniapp/uni_modules/uni-forms/readme.md b/uniapp/uni_modules/uni-forms/readme.md
deleted file mode 100644
index 63d5a04..0000000
--- a/uniapp/uni_modules/uni-forms/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-## Forms 表单
-
-> **组件名:uni-forms**
-> 代码块: `uForms`、`uni-forms-item`
-> 关联组件:`uni-forms-item`、`uni-easyinput`、`uni-data-checkbox`、`uni-group`。
-
-
-uni-app的内置组件已经有了 `