diff --git a/App.vue b/App.vue
index 6a5b11e..6d5f849 100644
--- a/App.vue
+++ b/App.vue
@@ -19,18 +19,22 @@ export default {
diff --git a/components/tabBar/tabBar.vue b/components/tabBar/tabBar.vue
index 255034a..8375a02 100644
--- a/components/tabBar/tabBar.vue
+++ b/components/tabBar/tabBar.vue
@@ -1,195 +1,215 @@
-
diff --git a/main.js b/main.js
index ac85317..cb66f03 100644
--- a/main.js
+++ b/main.js
@@ -12,10 +12,10 @@ import ZH from './utils/language/zh.js'
// 自定义底部导航栏
-// import tabBar from 'components/tabBar/tabBar.vue'
-// Vue.component('tab-bar', tabBar)
+import tabBar from 'components/tabBar/tabBar.vue'
+Vue.component('tab-bar', tabBar)
-Vue.use(uView)
+Vue.use(uView);
uni.$u.config.unit = 'rpx'
Vue.use(VueI18n);
diff --git a/manifest.json b/manifest.json
index c26e100..f3cc131 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,5 +1,5 @@
{
- "name" : "massfitnes",
+ "name" : "samehome",
"appid" : "__UNI__2B017B1",
"description" : "",
"versionName" : "1.0.0",
diff --git a/package-lock.json b/package-lock.json
index d662963..7c02663 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5 +1,5 @@
{
- "name": "massfitnes",
+ "name": "samehome",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
@@ -93,6 +93,11 @@
"mime-types": "^2.1.12"
}
},
+ "js-md5": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.7.3.tgz",
+ "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
+ },
"mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
@@ -111,6 +116,11 @@
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
+ "uview-ui": {
+ "version": "2.0.33",
+ "resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.33.tgz",
+ "integrity": "sha512-M3NsLFAY0z95NGMnTCDUR/TvJb6a/UYZzi1km5Gi6TkBCaoHdbmtQymkc1C4eszeoQOrpEIhit/2V47UglzHRw=="
+ },
"vue-i18n": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz",
diff --git a/package.json b/package.json
index 49cc338..a8c8d62 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "massfitnes",
+ "name": "samehome",
"version": "1.0.0",
"description": "",
"main": "main.js",
@@ -11,6 +11,8 @@
"license": "ISC",
"dependencies": {
"axios": "^0.27.2",
+ "js-md5": "^0.7.3",
+ "uview-ui": "^2.0.33",
"vue-i18n": "^9.2.2"
}
}
diff --git a/pages.json b/pages.json
index 9748621..34075ab 100644
--- a/pages.json
+++ b/pages.json
@@ -1,14 +1,36 @@
{
"easycom": {
- "^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
+ "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
"pages": [ //pages数组中第一项表示应用启动页
+ {
+ "path": "pages/index/index",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+
+
+
{
"path": "pages/login/index",
"style": {
"navigationStyle": "custom"
}
},
+ {
+ "path": "pages/login/forget",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+
+ {
+ "path": "pages/login/register",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
{
"path": "pages/index/index",
"style": {
@@ -19,8 +41,8 @@
],
"globalStyle": {
"navigationBarTextStyle": "black",
- "navigationBarBackgroundColor": "#F8F8F8",
- "backgroundColor": "#F8F8F8",
+ "navigationBarBackgroundColor": "#15141F",
+ "backgroundColor": "#15141F",
"style": {
"app-plus": {
"titleNView": false
@@ -28,4 +50,4 @@
}
},
"uniIdRouter": {}
-}
+}
\ No newline at end of file
diff --git a/pages/index/index.vue b/pages/index/index.vue
index af0d143..d57965a 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -1,51 +1,252 @@
-
-
- {{title}}
+
+
+ {{ i18n.HOME }}
+ {{ i18n.customerService }}
+
+
+
+
+ {{ i18n.homeMessage }}
+
+
+
+
+ {{ i18n.Recharge }}
+
+
+
+ {{ i18n.Mine }}
+
+
+
+ {{ i18n.Subcription }}
+
+
+
+
+ {{ i18n.TodaySteps }}
+ {{ i18n.ReceiveEarnings }}
+
+
+
+
+
+
diff --git a/pages/login/forget.vue b/pages/login/forget.vue
new file mode 100644
index 0000000..caddd38
--- /dev/null
+++ b/pages/login/forget.vue
@@ -0,0 +1,161 @@
+
+
+ {{ i18n.ForgotPassword }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ i18n.Save }}
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/login/index.vue b/pages/login/index.vue
index 748050d..61ae08f 100644
--- a/pages/login/index.vue
+++ b/pages/login/index.vue
@@ -1,13 +1,28 @@
- 111
{{ i18n.welcomeText }}
{{ i18n.signInText }}
-
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+ {{ i18n.forgotText }}
+ {{ i18n.Login }}
+ {{ i18n.notAccountText }}{{ i18n.SignUp }}
@@ -17,7 +32,24 @@ export default {
name: 'login',
data() {
return {
-
+ userInfo: {
+ name: '',
+ password: '',
+ },
+ rules: {
+ email: {
+ type: 'string',
+ required: true,
+ message: this.$t('login.emailInputMessage'),
+ trigger: ['blur', 'change'],
+ },
+ password: {
+ type: 'string',
+ required: true,
+ message: this.$t('login.passwordInputMessage'),
+ trigger: ['blur', 'change']
+ },
+ },
}
},
computed: {
@@ -26,7 +58,7 @@ export default {
},
},
onLoad() {
- console.log(this.i18n);
+ // console.log(this.$t('login.emailInputMessage'));
},
onShow() { },
methods: {
@@ -37,4 +69,78 @@ export default {
diff --git a/pages/login/register.vue b/pages/login/register.vue
new file mode 100644
index 0000000..e799d71
--- /dev/null
+++ b/pages/login/register.vue
@@ -0,0 +1,237 @@
+
+
+ {{ i18n.SignUp }}
+
+ {{ i18n.registerWelcomeText }}
+ {{ i18n.registerCreate }}
+
+
+
+
+
+
+
+
+
+
+
+
+ Get code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ i18n.agreeText }}{{ i18n.Terms }}{{ i18n.and }}{{
+ i18n.Conditions
+ }}
+
+ {{ i18n.SignUp }}
+
+ {{ i18n.haveAccount }}{{ i18n.Login }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/register/index.vue b/pages/register/index.vue
deleted file mode 100644
index e69de29..0000000
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..cf8fc25
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,13 @@
+
+从git下拉带代码后
+项目中的 \node_modules\uview-ui\components\u-form\u-form.vue 第17行要添加下面这行代码
+this.errorType === 'toast' ?uni.$u.toast(errors[0].message):
+
+添加后是这样的:
+if (uni.$u.test.array(errors)) {
+ errorsRes.push(...errors);
+ childErrors.push(...errors);
+}
+this.errorType === 'toast' ?uni.$u.toast(errors[0].message):
+child.message =
+ childErrors[0]?.message ?? null;
\ No newline at end of file
diff --git a/static/home/ic_arrow_down.png b/static/home/ic_arrow_down.png
new file mode 100644
index 0000000..018ce44
Binary files /dev/null and b/static/home/ic_arrow_down.png differ
diff --git a/static/home/ic_arrow_up.png b/static/home/ic_arrow_up.png
new file mode 100644
index 0000000..d39284a
Binary files /dev/null and b/static/home/ic_arrow_up.png differ
diff --git a/static/home/ic_increase.png b/static/home/ic_increase.png
new file mode 100644
index 0000000..f13dafc
Binary files /dev/null and b/static/home/ic_increase.png differ
diff --git a/static/home/ic_ma_arrow_down.png b/static/home/ic_ma_arrow_down.png
new file mode 100644
index 0000000..7722716
Binary files /dev/null and b/static/home/ic_ma_arrow_down.png differ
diff --git a/static/home/ic_play.png b/static/home/ic_play.png
new file mode 100644
index 0000000..81f1683
Binary files /dev/null and b/static/home/ic_play.png differ
diff --git a/static/home/ic_proclamation.png b/static/home/ic_proclamation.png
new file mode 100644
index 0000000..a6590fb
Binary files /dev/null and b/static/home/ic_proclamation.png differ
diff --git a/static/home/img_Mine.png b/static/home/img_Mine.png
new file mode 100644
index 0000000..d1c8605
Binary files /dev/null and b/static/home/img_Mine.png differ
diff --git a/static/home/img_People.png b/static/home/img_People.png
new file mode 100644
index 0000000..e0cbc41
Binary files /dev/null and b/static/home/img_People.png differ
diff --git a/static/home/img_Speaker.png b/static/home/img_Speaker.png
new file mode 100644
index 0000000..4b29c32
Binary files /dev/null and b/static/home/img_Speaker.png differ
diff --git a/static/home/img_Subcription.png b/static/home/img_Subcription.png
new file mode 100644
index 0000000..f48e5ca
Binary files /dev/null and b/static/home/img_Subcription.png differ
diff --git a/static/home/img_recharge.png b/static/home/img_recharge.png
new file mode 100644
index 0000000..6941dac
Binary files /dev/null and b/static/home/img_recharge.png differ
diff --git a/static/login/Checkbox_de.png b/static/login/Checkbox_de.png
new file mode 100644
index 0000000..fda0062
Binary files /dev/null and b/static/login/Checkbox_de.png differ
diff --git a/static/login/Checkbox_pr.png b/static/login/Checkbox_pr.png
new file mode 100644
index 0000000..619bee1
Binary files /dev/null and b/static/login/Checkbox_pr.png differ
diff --git a/static/login/Invitation_de.png b/static/login/Invitation_de.png
new file mode 100644
index 0000000..09b6615
Binary files /dev/null and b/static/login/Invitation_de.png differ
diff --git a/static/login/Invitation_pr.png b/static/login/Invitation_pr.png
new file mode 100644
index 0000000..60d14cf
Binary files /dev/null and b/static/login/Invitation_pr.png differ
diff --git a/static/login/Password_de.png b/static/login/Password_de.png
new file mode 100644
index 0000000..5595fd0
Binary files /dev/null and b/static/login/Password_de.png differ
diff --git a/static/login/Password_pr.png b/static/login/Password_pr.png
new file mode 100644
index 0000000..440428c
Binary files /dev/null and b/static/login/Password_pr.png differ
diff --git a/static/login/WithdrawalPassword_de.png b/static/login/WithdrawalPassword_de.png
new file mode 100644
index 0000000..5c761fc
Binary files /dev/null and b/static/login/WithdrawalPassword_de.png differ
diff --git a/static/login/WithdrawalPassword_pr.png b/static/login/WithdrawalPassword_pr.png
new file mode 100644
index 0000000..47e0f0d
Binary files /dev/null and b/static/login/WithdrawalPassword_pr.png differ
diff --git a/static/login/code_de.png b/static/login/code_de.png
new file mode 100644
index 0000000..b23d0eb
Binary files /dev/null and b/static/login/code_de.png differ
diff --git a/static/login/code_pr.png b/static/login/code_pr.png
new file mode 100644
index 0000000..daaa742
Binary files /dev/null and b/static/login/code_pr.png differ
diff --git a/static/login/email_de.png b/static/login/email_de.png
new file mode 100644
index 0000000..3a11aa9
Binary files /dev/null and b/static/login/email_de.png differ
diff --git a/static/login/email_pr.png b/static/login/email_pr.png
new file mode 100644
index 0000000..39f723f
Binary files /dev/null and b/static/login/email_pr.png differ
diff --git a/static/login/ic_tips.png b/static/login/ic_tips.png
new file mode 100644
index 0000000..5736018
Binary files /dev/null and b/static/login/ic_tips.png differ
diff --git a/static/public/BG.png b/static/public/BG.png
new file mode 100644
index 0000000..4601188
Binary files /dev/null and b/static/public/BG.png differ
diff --git a/static/public/back.png b/static/public/back.png
new file mode 100644
index 0000000..c4daa04
Binary files /dev/null and b/static/public/back.png differ
diff --git a/static/tabBar/ic_charity_de.png b/static/tabBar/ic_charity_de.png
new file mode 100644
index 0000000..6972160
Binary files /dev/null and b/static/tabBar/ic_charity_de.png differ
diff --git a/static/tabBar/ic_charity_pr.png b/static/tabBar/ic_charity_pr.png
new file mode 100644
index 0000000..1081fa0
Binary files /dev/null and b/static/tabBar/ic_charity_pr.png differ
diff --git a/static/tabBar/ic_chart_de.png b/static/tabBar/ic_chart_de.png
new file mode 100644
index 0000000..9380777
Binary files /dev/null and b/static/tabBar/ic_chart_de.png differ
diff --git a/static/tabBar/ic_chart_pr.png b/static/tabBar/ic_chart_pr.png
new file mode 100644
index 0000000..510e2fb
Binary files /dev/null and b/static/tabBar/ic_chart_pr.png differ
diff --git a/static/tabBar/ic_home_de.png b/static/tabBar/ic_home_de.png
new file mode 100644
index 0000000..2388fa6
Binary files /dev/null and b/static/tabBar/ic_home_de.png differ
diff --git a/static/tabBar/ic_home_pr.png b/static/tabBar/ic_home_pr.png
new file mode 100644
index 0000000..b1d78cd
Binary files /dev/null and b/static/tabBar/ic_home_pr.png differ
diff --git a/static/tabBar/ic_me_de.png b/static/tabBar/ic_me_de.png
new file mode 100644
index 0000000..1e6b6dd
Binary files /dev/null and b/static/tabBar/ic_me_de.png differ
diff --git a/static/tabBar/ic_me_pr.png b/static/tabBar/ic_me_pr.png
new file mode 100644
index 0000000..5188fe5
Binary files /dev/null and b/static/tabBar/ic_me_pr.png differ
diff --git a/static/tabBar/ic_subcription_de.png b/static/tabBar/ic_subcription_de.png
new file mode 100644
index 0000000..52aadb0
Binary files /dev/null and b/static/tabBar/ic_subcription_de.png differ
diff --git a/static/tabBar/ic_subcription_pr.png b/static/tabBar/ic_subcription_pr.png
new file mode 100644
index 0000000..41890d9
Binary files /dev/null and b/static/tabBar/ic_subcription_pr.png differ
diff --git a/static/tabbar/dorder.png b/static/tabbar/dorder.png
deleted file mode 100644
index 6dc617d..0000000
Binary files a/static/tabbar/dorder.png and /dev/null differ
diff --git a/static/tabbar/dorderS.png b/static/tabbar/dorderS.png
deleted file mode 100644
index 7ab097c..0000000
Binary files a/static/tabbar/dorderS.png and /dev/null differ
diff --git a/static/tabbar/meun_icon_game_nor@2x.png b/static/tabbar/meun_icon_game_nor@2x.png
deleted file mode 100644
index 7b6a385..0000000
Binary files a/static/tabbar/meun_icon_game_nor@2x.png and /dev/null differ
diff --git a/static/tabbar/meun_icon_game_sel@2x.png b/static/tabbar/meun_icon_game_sel@2x.png
deleted file mode 100644
index e600da9..0000000
Binary files a/static/tabbar/meun_icon_game_sel@2x.png and /dev/null differ
diff --git a/static/tabbar/meun_icon_home_nor@3x.png b/static/tabbar/meun_icon_home_nor@3x.png
deleted file mode 100644
index ab36731..0000000
Binary files a/static/tabbar/meun_icon_home_nor@3x.png and /dev/null differ
diff --git a/static/tabbar/meun_icon_home_sel@3x.png b/static/tabbar/meun_icon_home_sel@3x.png
deleted file mode 100644
index 6a6c6a6..0000000
Binary files a/static/tabbar/meun_icon_home_sel@3x.png and /dev/null differ
diff --git a/static/tabbar/meun_icon_my_nor@2x.png b/static/tabbar/meun_icon_my_nor@2x.png
deleted file mode 100644
index 3967983..0000000
Binary files a/static/tabbar/meun_icon_my_nor@2x.png and /dev/null differ
diff --git a/static/tabbar/meun_icon_my_sel@2x.png b/static/tabbar/meun_icon_my_sel@2x.png
deleted file mode 100644
index 4e2fb91..0000000
Binary files a/static/tabbar/meun_icon_my_sel@2x.png and /dev/null differ
diff --git a/static/tabbar/meun_icon_promotion_nor@2x.png b/static/tabbar/meun_icon_promotion_nor@2x.png
deleted file mode 100644
index c9f5d5d..0000000
Binary files a/static/tabbar/meun_icon_promotion_nor@2x.png and /dev/null differ
diff --git a/static/tabbar/meun_icon_promotion_sel@2x.png b/static/tabbar/meun_icon_promotion_sel@2x.png
deleted file mode 100644
index 475376b..0000000
Binary files a/static/tabbar/meun_icon_promotion_sel@2x.png and /dev/null differ
diff --git a/static/tabbar/meun_icon_search_nor@3x.png b/static/tabbar/meun_icon_search_nor@3x.png
deleted file mode 100644
index 0c340ce..0000000
Binary files a/static/tabbar/meun_icon_search_nor@3x.png and /dev/null differ
diff --git a/static/tabbar/meun_icon_search_sel@3x.png b/static/tabbar/meun_icon_search_sel@3x.png
deleted file mode 100644
index 274ebc0..0000000
Binary files a/static/tabbar/meun_icon_search_sel@3x.png and /dev/null differ
diff --git a/static/tongyonh/Profile_icon.png b/static/tongyonh/Profile_icon.png
deleted file mode 100644
index 82448a7..0000000
Binary files a/static/tongyonh/Profile_icon.png and /dev/null differ
diff --git a/static/tongyonh/Profile_icona.png b/static/tongyonh/Profile_icona.png
deleted file mode 100644
index 87d538c..0000000
Binary files a/static/tongyonh/Profile_icona.png and /dev/null differ
diff --git a/static/tongyonh/Union.png b/static/tongyonh/Union.png
deleted file mode 100644
index a35e0f2..0000000
Binary files a/static/tongyonh/Union.png and /dev/null differ
diff --git a/static/tongyonh/Uniona.png b/static/tongyonh/Uniona.png
deleted file mode 100644
index 77ca658..0000000
Binary files a/static/tongyonh/Uniona.png and /dev/null differ
diff --git a/static/tongyonh/market_icona.png b/static/tongyonh/market_icona.png
deleted file mode 100644
index 80f747a..0000000
Binary files a/static/tongyonh/market_icona.png and /dev/null differ
diff --git a/static/tongyonh/nft_icon.png b/static/tongyonh/nft_icon.png
deleted file mode 100644
index 4f51bf0..0000000
Binary files a/static/tongyonh/nft_icon.png and /dev/null differ
diff --git a/static/tongyonh/nft_icon2.png b/static/tongyonh/nft_icon2.png
deleted file mode 100644
index cba8c23..0000000
Binary files a/static/tongyonh/nft_icon2.png and /dev/null differ
diff --git a/uni.scss b/uni.scss
index 4c48c17..682b86f 100644
--- a/uni.scss
+++ b/uni.scss
@@ -17,10 +17,11 @@
/* 颜色变量 */
-$u-type-warning: #F2FE8D;
-$u-type-success: #00E8A2;
-$u-type-error: #F4506A;
-$u-type-info: #A1A0A8;
+
+$assistYellow: #F2FE8D;
+$mainColor: #00E8A2;
+$assistRed: #F4506A;
+$assistGrey: #A1A0A8;
/* 行为相关颜色 */
$uni-color-primary: #007aff;
$uni-color-success: #4cd964;
diff --git a/utils/api.js b/utils/api.js
index 8416f71..31560e8 100644
--- a/utils/api.js
+++ b/utils/api.js
@@ -1,28 +1,81 @@
import Vue from 'vue';
import qs from 'qs'
const api = {
- //获取NFT项目列表
- getNftProjectList: (params) => Vue.prototype.$axios.get('/api/nft/getNftProjectList?' + qs.stringify(params)),
- //添加NFT收藏品
- addNftCollection: (params) => Vue.prototype.$axios.post('/api/nft/addNftCollection', qs.stringify(params)),
- getNftCollectionList: (params) => Vue.prototype.$axios.get('/api/nft/getNftCollectionList?' + qs.stringify(
- params)),
- getContractInfoList: (params) => Vue.prototype.$axios.get('/api/contract/getContractInfoList?' + qs.stringify(params)),
- //获取汇率
- getCoinRate: (params) => Vue.prototype.$axios.get('/api/coinRate/getCoinRate?' + qs.stringify(params)),
- getChainDataList: (params) => Vue.prototype.$axios.get('/api/chainData/getChainDataList?' + qs.stringify(params)),
- getCoinTickerList: (params) => Vue.prototype.$axios.get('/api/coinTicker/getCoinTickerList'),
- getBalance: (params) => Vue.prototype.$axios.get('/api/balance/getBalance?' + qs.stringify(params)),
- versionUpgrade: (params) => Vue.prototype.$axios.get('/api/home/versionUpgrade?' + qs.stringify(params)),
- checkIp: () => Vue.prototype.$axios.get('/x/resource/ip'),
- getConfig: (params) => Vue.prototype.$axios.get('/api/home/getConfig?'+ qs.stringify(params)),
- //--------------------------------- free ---------------------------------
- getSearchContract: (params) => Vue.prototype.$axios.get('/api/contract/getSearchContract?' + qs.stringify(params)),
-
- getAuAdList: (params) => Vue.prototype.$axios.get('/api/home/getAuAdList?'+ qs.stringify(params)),
- // 令牌token接口
- addTokenInfo: (params) => Vue.prototype.$axios.post('/api/token/addTokenInfo', qs.stringify(params)),
-}
+ //---------------------------------account---------------------------------
+ siteInfo: () => Vue.prototype.$axios.get('/api/home/siteInfo'),
+ register: (params) => Vue.prototype.$axios.post('/api/home/register',params),
+ login: (params) => Vue.prototype.$axios.post('/api/user/login',params),
+ loginOut: (params) => Vue.prototype.$axios.post('/api/user/loginOut',params),
+ forgotPassword: (params) => Vue.prototype.$axios.post('/api/user/forgotPassword',params),
+ updatePassword: (params) => Vue.prototype.$axios.post('/api/user/updatePassword',params),
+ userInfo: (params) => Vue.prototype.$axios.post('/api/user/userInfo',params),
+ updateNickname: (params) => Vue.prototype.$axios.post('/api/user/updateNickname',params),
+ updateGender: (params) => Vue.prototype.$axios.post('/api/user/updateGender',params),
+
+
+ //--------------------------------- free ---------------------------------
+ imgCode: () => Vue.prototype.$axios.get('/api/home/imgCode'),
+ sendSmsCode: (params) => Vue.prototype.$axios.post('/api/home/sendSmsCode',params),
+ article: (params) => Vue.prototype.$axios.post('/api/index/article',params),
+appVersion: (params) => Vue.prototype.$axios.post('/api/index/appVersion',params),
+
+info: () => Vue.prototype.$axios.post('/api/index/info'),
+ //--------------------------------- bet ---------------------------------
+ lotteryClassList: (params) => Vue.prototype.$axios.post('/api/lottery/lotteryClassList',params),
+ nextLotteryPeriod: (params) => Vue.prototype.$axios.post('/api/lottery/nextLotteryPeriod',params),
+ bettingConfig: (params) => Vue.prototype.$axios.post('/api/lottery/bettingConfig',params),
+ betting: (params) => Vue.prototype.$axios.post('/api/lottery/betting',params),
+ lotteryRecords: (params) => Vue.prototype.$axios.post('/api/lottery/lotteryRecords',params),
+ myLotteryRecords: (params) => Vue.prototype.$axios.post('/api/lottery/myLotteryRecords',params),
+
+
+ //--------------------------------- me ---------------------------------
+ getPayType: (params) => Vue.prototype.$axios.post('/api/recharge/getPayType',params),
+ rechargeConfig: (params) => Vue.prototype.$axios.post('/api/recharge/rechargeConfig',params),
+ recharge: (params) => Vue.prototype.$axios.post('/api/recharge/recharge',params),
+ rechargeList: (params) => Vue.prototype.$axios.post('/api/recharge/rechargeList',params),
+ toPay: (params) => Vue.prototype.$axios.post('/api/recharge/toPay',params),
+ withdrawConfig: (params) => Vue.prototype.$axios.post('/api/withdraw/withdrawConfig',params),
+ withdrawServiceCharge: (params) => Vue.prototype.$axios.post('/api/withdraw/withdrawServiceCharge',params),
+ withdraw: (params) => Vue.prototype.$axios.post('/api/withdraw/withdraw',params),
+ withdrawList: (params) => Vue.prototype.$axios.post('/api/withdraw/withdrawList',params),
+ billList: (params) => Vue.prototype.$axios.post('/api/summary/billList',params),
+
+ //--------------------------------- invite ---------------------------------
+ inviteCode: (params) => Vue.prototype.$axios.post('/api/user/inviteCode',params),
+ bonusOut: (params) => Vue.prototype.$axios.post('/api/summary/bonusOut',params),
+ bonusOutRecords: (params) => Vue.prototype.$axios.post('/api/summary/bonusOutRecords',params),
+ promotionRecords: (params) => Vue.prototype.$axios.post('/api/summary/promotionRecords',params),
+ bonusRecords: (params) => Vue.prototype.$axios.post('/api/summary/bonusRecords',params),
+ bonusSummary: (params) => Vue.prototype.$axios.post('/api/summary/bonusSummary',params),
+ //--------------------------------- bankCard ---------------------------------
+ bankcardList: (params) => Vue.prototype.$axios.post('/api/user/bankcardList',params),
+ bindBank: (params) => Vue.prototype.$axios.post('/api/user/bindBank',params),
+ delBankCard: (params) => Vue.prototype.$axios.post('/api/user/delBankCard',params),
+
+ //--------------------------------- address ---------------------------------
+ addressList: (params) => Vue.prototype.$axios.post('/api/user/addressList',params),
+ addressSave: (params) => Vue.prototype.$axios.post('/api/user/addressSave',params),
+ delAddress: (params) => Vue.prototype.$axios.post('/api/user/delAddress',params),
+ //--------------------------------- goods ---------------------------------
+ banner: () => Vue.prototype.$axios.get('/api/home/banner'),
+ goodsList: (params) => Vue.prototype.$axios.post('/api/index/goodsList',params),
+ goodsDetail: (params) => Vue.prototype.$axios.post('/api/index/goods',params),
+
+ //--------------------------------- moni ---------------------------------
+ // lotteryClassListM: (params) => Vue.prototype.$axios.post('/api/demo/lotteryClassListDemo',params),
+ nextLotteryPeriodM: (params) => Vue.prototype.$axios.post('/api/demo/nextLotteryPeriodDemo',params),
+ bettingConfigM: (params) => Vue.prototype.$axios.post('/api/demo/bettingConfigDemo',params),
+ bettingM: (params) => Vue.prototype.$axios.post('/api/demo/bettingDemo',params),
+ lotteryRecordsM: (params) => Vue.prototype.$axios.post('/api/demo/lotteryRecordsDemo',params),
+ myLotteryRecordsM: (params) => Vue.prototype.$axios.post('/api/demo/myLotteryRecordsDemo',params),
+ //--------------------------------- hongbao ---------------------------------
+ launchRedEnvelop: (params) => Vue.prototype.$axios.post('/api/user/launchRedEnvelop',params),
+ redEnvelopList: (params) => Vue.prototype.$axios.post('/api/user/redEnvelopList',params),
+ cancelRedEnvelop: (params) => Vue.prototype.$axios.post('/api/user/cancelRedEnvelop',params),
+ redEnvelop: (params) => Vue.prototype.$axios.post('/api/user/redEnvelop',params),
+ receiveRedEnvelop: (params) => Vue.prototype.$axios.post('/api/user/receiveRedEnvelop',params),
+ }
export default api
diff --git a/utils/axios.js b/utils/axios.js
index ef36ecd..0e35d97 100644
--- a/utils/axios.js
+++ b/utils/axios.js
@@ -1,107 +1,202 @@
import Vue from 'vue'
import axios from 'axios'
+import qs from 'qs'
+import md5 from 'js-md5';
+import constant from './constant.js';
let baseURL = '';
+let key = '';
+// #ifdef H5
+baseURL = constant.H5
+key = constant.H5_KEY
+// #endif
+// #ifdef APP-PLUS
+baseURL = constant.APP
+key = constant.APP_KEY
+// #endif
const service = axios.create({
- withCredentials: false, //表示跨域请求时是否需要使用凭证
+ withCredentials: true,
crossDomain: true,
- // baseURL,
+ baseURL,
timeout: 160000
})
-// request请求拦截器,在请求之前做一些处理
+// request拦截器,在请求之前做一些处理
service.interceptors.request.use(
config => {
-
- console.log(config,777777777777)
- let isWallet= uni.getStorageSync('isWallet');
- if(!isWallet){
+ // console.log('showDialog' + Vue.prototype.$showDialog)
+ if (Vue.prototype.$showDialog) {
uni.showLoading({
title: 'loading',
mask: true
})
}
-
- console.log('============================')
- // if (config.urlType=='eth') {
- // config.url = config.url
-
- // } else {
-
- // config.url = baseURL.serverUrl + config.url
- // }
-
- if (config.url.indexOf('/x/resource/ip')>-1 ){
-
- config.baseURL = baseURL.checkIp
- }else{
- config.baseURL = baseURL.serverUrl
-
+ const ticket = uni.getStorageSync('ticket')
+ let dataStr = [];
+ if (config.method == 'get') {
+ if (config.url.split('?').length > 1) {
+ dataStr = config.url.split('?')[1].split('&');
+ }
+
+ }
+ if (config.method == 'post') {
+ dataStr = qs.stringify(config.data).split('&');
+ // dataStr = JSON.stringify(config.data);
+ // dataStr = config.data;
+
+ // dataStr = config.data.name;
+
+ }
+ config.data = {};
+ dataStr.forEach(function (e) {
+ console.log(e, 666666)
+ config.data[e.split('=')[0]] = e.split('=')[1];
+ });
+ // console.log(ticket)
+ if (ticket != '') {
+ config.data['ticket'] = ticket
}
- config.sslVerify=false
-
- config.url = config.url
-
- // if (token) {
- // // config.headers['Authori-zation'] = token
- // config.headers['Authorization'] = token
- // }
- // console.log(config)
- // if (store.state.token) {
- // // 给请求头添加user-token
- // config.headers["user-token"] = store.state.token;
- // }
+ var keys = [];
+ let sign = '';
+ for (var k in config.data)
+ keys.push(k);
+ keys.sort(function (a, b) {
+ return a < b ? -1 : 1;
+ })
+ // console.log("keys===========");
+ keys.forEach(function (e) {
+ if (config.data[e] || config.data[e] == '') {
+ sign += e + '=' + config.data[e] + '&'
+ }
+
+ });
+
+ // console.log("签名参数===========");
+ // console.log(config.url);
+ // console.log(sign + key);
+ sign = md5(sign + key);
+ // console.log("提交参数===========");
+ // console.log(qs.stringify(config.data));
+ if (config.method == 'post') {
+ // console.log(config.data,666666)
+ config.data['sign'] = sign
+ config.data = qs.stringify(config.data)
+ // config.data = config.data.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
+ // if(config.url == ){
+
+ // #ifdef H5
+ if (config.url == '/api/index/goodsList') {
+ config.data = config.data.replaceAll('20', "");
+ config.data = config.data.replaceAll('26', "");
+ config.data = config.data.replaceAll('2F', "/");
+ config.data = config.data.replaceAll('28', "");
+ config.data = config.data.replaceAll('29', "");
+ // config.data = config.data.replaceAll('%C2%AE', "®");
+ }
+ // #endif
+ // #ifdef APP-PLUS
+ if (config.url == '/api/index/goodsList') {
+ config.data = config.data.replace(new RegExp('20', "gm"), "");
+ config.data = config.data.replace(new RegExp('26', "gm"), "");
+ config.data = config.data.replace(new RegExp('2F', "gm"), "/");
+ config.data = config.data.replace(new RegExp('28', "gm"), "");
+ config.data = config.data.replace(new RegExp('29', "gm"), "");
+ // config.data = config.data.replaceAll('%C2%AE', "®");
+ }
+ // #endif
+
+
+ // config.data = config.data.replaceAll('2528',"(");
+ // config.data = config.data.replaceAll('2529',")");
+ // config.data = config.data.replaceAll('252',"%2F");
+
+ // }
+ }
+ if (config.method == 'get') {
+ if (ticket != '') {
+ config.url = config.url + '&ticket=' + ticket + '&sign=' + sign
+ } else {
+ config.url = config.url + '?sign=' + sign
+ }
+ }
+ // console.log(config)
return config;
},
error => {
- console.log(error); // for debug
+ // console.log(error); // for debug
return Promise.reject(error);
}
);
-// 配置成功后的响应拦截器
+//配置成功后的拦截器
service.interceptors.response.use(res => {
+ console.log('过期了吗')
uni.hideLoading()
- console.log(res)
- if (res.status == 200) {
+ // console.log(res)
+ // console.log(res.data)
+ // console.log(res.data.data[0].nameAlias)
+ if (res.data.success || res.data.errCode === 'USER.0017') {
+ // console.log(res.data.success)
return res.data
} else {
- return Promise.reject(res.msg);
+ uni.showToast({
+ title: res.data.errMsg,
+ icon: 'none',
+ duration: 1500
+ })
+ if (res.data.errCode === 'USER.0010') {
+
+ uni.removeStorage({
+ key: 'logInfo',
+ success: function (res) {
+ uni.reLaunch({ url: '/pages/login/index' })
+ },
+ fail: (err) => {
+ }
+ });
+
+
+ // #ifdef H5
+ var url = location.href;
+ if (url.indexOf('pages') > -1) {
+ uni.setStorage({
+ key: 'url',
+ data: url,
+ success: function () {
+ console.log('success')
+ }
+ });
+ } else {
+ uni.removeStorageSync('url')
+ }
+ // #endif
+
+
+ }
+ uni.$emit('refreshQrCode')
+ return Promise.reject(res.data.errMsg);
}
}, error => {
- // if (error.response.status) {
- // switch (error.response.status) {
- // case 401:
- // break;
- // default:
- // break;
- // }
- // }
return Promise.reject(error)
})
-// 在main.js中放入这段自定义适配器的代码,就可以实现uniapp的app和小程序开发中能使用axios进行跨域网络请求,并支持携带cookie
-axios.defaults.adapter = function(config) { //自己定义个适配器,用来适配uniapp的语法
+axios.defaults.adapter = function (config) { //自己定义个适配器,用来适配uniapp的语法
return new Promise((resolve, reject) => {
-
- console.log(config, '我请求的',config)
+ // console.log(config)
var settle = require('axios/lib/core/settle');
var buildURL = require('axios/lib/helpers/buildURL');
-
uni.request({
method: config.method.toUpperCase(),
- url: config.baseURL + '/' + buildURL(config.url, config.params, config
- .paramsSerializer),
-
+ url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),
header: config.headers,
data: config.data,
dataType: config.dataType,
responseType: config.responseType,
sslVerify: config.sslVerify,
complete: function complete(response) {
- //console.log("执行完成:",config.baseURL+'/' + buildURL(config.url, config.params, config.paramsSerializer),response.data)
+ //console.log("执行完成:",config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),response.data)
response = {
data: response.data,
status: response.statusCode,
@@ -113,7 +208,6 @@ axios.defaults.adapter = function(config) { //自己定义个适配器,用来
settle(resolve, reject, response);
},
fail: res => {
- uni.hideLoading()
uni.showToast({
title: res,
icon: 'none',
@@ -123,5 +217,4 @@ axios.defaults.adapter = function(config) { //自己定义个适配器,用来
})
})
}
-
export default service
diff --git a/utils/constant.js b/utils/constant.js
new file mode 100644
index 0000000..4b23699
--- /dev/null
+++ b/utils/constant.js
@@ -0,0 +1,14 @@
+const H5 = '/start';
+const H5_KEY = 'key=PBcGdWvA7dUintx7WNOR11cOdCrEpasM';
+
+const APP = 'https://api.wingold6.com'; //正式
+// const APP = 'https://apitest.luck-work.com'; //测试
+const APP_KEY = 'key=PBcGdWvA7dUintx7WNOR11cOdCrEpasM';
+const showDialog = true
+export default {
+ H5,
+ H5_KEY,
+ APP,
+ APP_KEY,
+ showDialog,
+}
\ No newline at end of file
diff --git a/utils/index.js b/utils/index.js
new file mode 100644
index 0000000..2b377b6
--- /dev/null
+++ b/utils/index.js
@@ -0,0 +1,100 @@
+var utils = {
+ checkEmail: function(email) {
+ return RegExp(
+ /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/)
+ .test(email);
+ },
+ checkMobile: function(mobile) {
+ return RegExp(/^1[34578]\d{9}$/).test(mobile);
+ },
+ caculateTime: function(timeZome, time) {
+ return time + (timeZome * 1000 * 60 * 60);
+ },
+ formatyymmdd: function(time) {
+ var date = new Date(time)
+ console.log(date,5555655)
+ var localTime = date.getTime();
+ var localOffset = date.getTimezoneOffset() * 60000 //获得当地时间偏移的毫秒数
+ var utc = localTime + localOffset //utc即GMT时间
+ var offset = 8; //东8区
+ var beijing = utc + (3600000 * offset);
+ date = new Date(beijing);
+ var Y = date.getFullYear()
+ var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
+ var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
+ var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
+ var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
+ var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
+ console.log( M + '/' + D + '/' + Y,5454545454);
+ return M + '/' + D + '/' + Y;
+
+ },
+ formatyymmdd2: function(time) {
+ var date = new Date(time)
+ var localTime = date.getTime();
+ var localOffset = date.getTimezoneOffset() * 60000 ; //获得当地时间偏移的毫秒数
+ var utc = localTime + localOffset; //utc即GMT时间
+ var offset = 8; //东8区
+ var beijing = utc + (3600000 * offset);
+ date = new Date(beijing);
+ var Y = date.getFullYear()
+ var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
+ var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
+ var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
+ var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
+ var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
+ return Y + M + D;
+ },
+ formatyymmddhhmmss: function(time) {
+ var date = new Date(time)
+ var localTime = date.getTime()
+ var localOffset = date.getTimezoneOffset() * 60000 //获得当地时间偏移的毫秒数
+ var utc = localTime + localOffset; //utc即GMT时间
+ var offset = 8 //东8区
+ var beijing = utc + (3600000 * offset);
+ date = new Date(beijing)
+ var Y = date.getFullYear()
+ var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
+ var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
+ var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
+ var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
+ var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
+ // return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s;
+ return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s;
+ },
+ formathhmm: function(time) {
+ var date = new Date(time)
+ var localTime = date.getTime();
+ var localOffset = date.getTimezoneOffset() * 60000 ; //获得当地时间偏移的毫秒数
+ var utc = localTime + localOffset; //utc即GMT时间
+ var offset = 8; //东8区
+ var beijing = utc + (3600000 * offset);
+ date = new Date(beijing);
+ var Y = date.getFullYear()
+ var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
+ var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
+ var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
+ var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
+ var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
+ return h + ':' + m;
+ },
+ //客户端时间转换为北京时间
+ getBeijingtime: function() {
+ //获得当前运行环境时间
+ let d = new Date();
+ let currentDate = new Date();
+ let tmpHours = currentDate.getHours();
+ //算得时区
+ let time_zone = -d.getTimezoneOffset() / 60;
+ if (time_zone < 0) {
+ time_zone = Math.abs(time_zone) + 8;
+ currentDate.setHours(tmpHours + time_zone);
+ } else {
+ time_zone -= 8;
+ currentDate.setHours(tmpHours - time_zone);
+ }
+ return currentDate;
+ },
+}
+
+export default utils
diff --git a/utils/language/en.js b/utils/language/en.js
index 947f3b6..3a22a2e 100644
--- a/utils/language/en.js
+++ b/utils/language/en.js
@@ -1,16 +1,66 @@
// en.js
export default {
+ // tab bar 相关
+ tabBar:{
+ Home:'Home',
+ Markets:'Markets',
+ Charity:'Charity',
+ Subscription:'Subscription',
+ Me:'Me',
+ },
+ // 登陆相关页面
login: {
- welcomeText:'Hi, Welcome Back!',
- signInText:'Sign in to your account.',
- emailInputText:'Enter email address',
- passwordInputText:'Password',
- forgotText:'Forgot Password?',
- loginText:'Login',
- notAccountText:'Don’t have account?',
- signUpText:'Sign Up',
+ // 公共字段
+ Login: 'Login',
+ SignUp: 'Sign Up',
+ ForgotPassword: 'Forgot password',
+ // login
+ welcomeText: 'Hi, Welcome Back!',
+ signInText: 'Sign in to your account.',
+ emailInputText: 'Enter email address',
+ emailInputMessage: 'Please enter your email address',
+ passwordInputText: 'Password',
+ passwordInputMessage: 'Please enter your password',
+ forgotText: 'Forgot Password?',
+ notAccountText: 'Don’t have account?',
agreeToBackup: 'Please check the prompt to agree to backup',
checkTheTermsOfService: 'Please review and agree to the terms of service',
+ // register
+ registerWelcomeText: "Getting Started",
+ registerCreate: "Create an account to continue!",
+ verificationCodeText: 'Verification Code',
+ verificationCodeMessage: 'Please enter verification code',
+ passwordText: 'Create The Login Password',
+ passwordMessage: 'Please enter your password',
+ confirmPasswordText: 'Confirm Login Password',
+ confirmPasswordMessage: 'Please confirm login password',
+ withdrawalPasswordText: 'Create The Withdrawal Password',
+ withdrawalPasswordMessage: 'Please enter the withdrawal password',
+ InvitationCodeText: 'Invitation code',
+ InvitationCodeMessage: 'Please enter the invitation code',
+ agreeText: 'By creating an account, you agree to our ',
+ Terms: 'Terms',
+ and: 'and',
+ Conditions: 'Conditions',
+ haveAccount: 'Already have an account?',
+
+ // forget
+ Save: 'Save',
+ },
+
+ // 首页相关页面
+ home: {
+ // 公共字段
+ HOME: 'HOME',
+ // 首页
+ customerService: 'Customer Service',
+ homeMessage: `Please contact customer service on the top-left corner for identity verification on your first...
+ Please contact customer service on the top-left corner for identity verification on your first...Please contact customer service on the top-left corner for identity verification on your first...`,
+ Recharge: 'Recharge',
+ Mine: 'Mine',
+ Subcription: 'Subcription',
+ TodaySteps:"Today's steps",
+ ReceiveEarnings:"Receive yesterday's earnings",
}
}
diff --git a/utils/language/zh.js b/utils/language/zh.js
index 180453d..9f9d8e6 100644
--- a/utils/language/zh.js
+++ b/utils/language/zh.js
@@ -1,16 +1,38 @@
// zh.js
export default {
login: {
- welcomeText:'Hi, Welcome Back!',
- signInText:'Sign in to your account.',
- emailInputText:'Enter email address',
- passwordInputText:'Password',
- forgotText:'Forgot Password?',
- loginText:'Login',
+ // 公共字段
+ Login:'Login',
+ SignUp:'Sign Up',
+ //login
+ welcomeText:'你好,欢迎回来!',
+ signInText:'请登录您的账户.',
+ emailInputText:'请输入邮箱',
+ emailInputMessage:'邮箱密码不能为空',
+ passwordInputText:'请输入密码',
+ passwordInputMessage:'密码不能为空',
+ forgotText:'忘记密码?',
notAccountText:'Don’t have account?',
- signUpText:'Sign Up',
agreeToBackup: '请勾选同意备份的提示',
checkTheTermsOfService: '请查看并同意服务条款',
+ // register
+ registerWelcomeText: "Getting Started",
+ registerCreate: "Create an account to continue!",
+ verificationCodeText: 'Verification Code',
+ verificationCodeMessage: 'Please enter verification code',
+ passwordText: 'Create The Login Password',
+ passwordMessage: 'Please enter your password',
+ confirmPasswordText: 'Confirm Login Password',
+ confirmPasswordMessage: 'Please confirm login password',
+ withdrawalPasswordText: 'Create The Withdrawal Password',
+ withdrawalPasswordMessage: 'Please enter the withdrawal password',
+ InvitationCodeText: 'Invitation code',
+ InvitationCodeMessage: 'Please enter the invitation code',
+ aggreeText :'By creating an account, you aggree to our ',
+ Terms:'Terms',
+ and:'and',
+ Conditions:'Conditions',
+
}
}
\ No newline at end of file
diff --git a/uview-ui/README.md b/uview-ui/README.md
index 31bd594..c78ff47 100644
--- a/uview-ui/README.md
+++ b/uview-ui/README.md
@@ -1,73 +1,56 @@
-uView
+uView 2.0
多平台快速开发的UI框架
+[](https://github.com/umicro/uView2.0)
+[](https://github.com/umicro/uView2.0)
+[](https://github.com/umicro/uView2.0/issues)
+[](https://uviewui.com)
+[](https://gitee.com/umicro/uView2.0/releases)
+[](https://en.wikipedia.org/wiki/MIT_License)
+
## 说明
-uView UI,是[uni-app](https://uniapp.dcloud.io/)生态优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水
+uView UI,是[uni-app](https://uniapp.dcloud.io/)全面兼容nvue的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水
-## 特性
+## [官方文档:https://uviewui.com](https://uviewui.com)
-- 兼容安卓,iOS,微信小程序,H5,QQ小程序,百度小程序,支付宝小程序,头条小程序
-- 60+精选组件,功能丰富,多端兼容,让您快速集成,开箱即用
-- 众多贴心的JS利器,让您飞镖在手,召之即来,百步穿杨
-- 众多的常用页面和布局,让您专注逻辑,事半功倍
-- 详尽的文档支持,现代化的演示效果
-- 按需引入,精简打包体积
+## 预览
-## 安装
+您可以通过**微信**扫码,查看最佳的演示效果。
+
+
+
-```bash
-# npm方式安装,插件市场导入无需执行此命令
-npm i uview-ui
-```
-## 快速上手
+## 链接
-1. `main.js`引入uView库
-```js
-// main.js
-import uView from 'uview-ui';
-Vue.use(uView);
-```
+- [官方文档](https://www.uviewui.com/)
+- [更新日志](https://www.uviewui.com/components/changelog.html)
+- [升级指南](https://www.uviewui.com/components/changeGuide.html)
+- [关于我们](https://www.uviewui.com/cooperation/about.html)
-2. `App.vue`引入基础样式(注意style标签需声明scss属性支持)
-```css
-/* App.vue */
-
-```
+## 交流反馈
-3. `uni.scss`引入全局scss变量文件
-```css
-/* uni.scss */
-@import "uview-ui/theme.scss";
-```
+欢迎加入我们的QQ群交流反馈:[点此跳转](https://www.uviewui.com/components/addQQGroup.html)
-4. `pages.json`配置easycom规则(按需引入)
-
-```js
-// pages.json
-{
- "easycom": {
- // npm安装的方式不需要前面的"@/",下载安装的方式需要"@/"
- // npm安装方式
- "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
- // 下载安装方式
- // "^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
- },
- // 此为本身已有的内容
- "pages": [
- // ......
- ]
-}
-```
+## 关于PR
+
+> 我们非常乐意接受各位的优质PR,但在此之前我希望您了解uView2.0是一个需要兼容多个平台的(小程序、h5、ios app、android app)包括nvue页面、vue页面。
+> 所以希望在您修复bug并提交之前尽可能的去这些平台测试一下兼容性。最好能携带测试截图以方便审核。非常感谢!
+
+## 安装
+
+#### **uni-app插件市场链接** —— [https://ext.dcloud.net.cn/plugin?id=1593](https://ext.dcloud.net.cn/plugin?id=1593)
-请通过[快速上手](https://www.uviewui.com/components/quickstart.html)了解更详细的内容
+请通过[官网安装文档](https://www.uviewui.com/components/install.html)了解更详细的内容
+
+## 快速上手
+
+请通过[快速上手](https://uviewui.com/components/quickstart.html)了解更详细的内容
## 使用方法
配置easycom规则后,自动按需引入,无需`import`组件,直接引用即可。
@@ -78,27 +61,6 @@ Vue.use(uView);
```
-请通过[快速上手](https://www.uviewui.com/components/quickstart.html)了解更详细的内容
-
-## 链接
-
-- [官方文档](https://www.uviewui.com/)
-- [更新日志](https://www.www.uviewui.com/components/changelog.html)
-- [升级指南](https://www.uviewui.com/components/changelog.html)
-- [关于我们](https://www.uviewui.com/cooperation/about.html)
-
-## 预览
-
-您可以通过**微信**扫码,查看最佳的演示效果。
-
-
-
-
-## 捐赠uView的研发
-
-uView文档和源码全部开源免费,如果您认为uView帮到了您的开发工作,您可以捐赠uView的研发工作,捐赠无门槛,哪怕是一杯可乐也好(相信这比打赏主播更有意义)。
-
-
-
## 版权信息
uView遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议,意味着您无需支付任何费用,也无需授权,即可将uView应用到您的产品中。
+
diff --git a/uview-ui/changelog.md b/uview-ui/changelog.md
index c9b76c9..817d403 100644
--- a/uview-ui/changelog.md
+++ b/uview-ui/changelog.md
@@ -1,3 +1,21 @@
+## 2.0.33(2022-06-17)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 修复`loadmore`组件`lineColor`类型错误问题
+2. 修复`u-parse`组件`imgtap`、`linktap`不生效问题
+## 2.0.32(2022-06-16)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+1. `u-loadmore`新增自定义颜色、虚/实线
+2. 修复`u-swiper-action`组件部分平台不能上下滑动的问题
+3. 修复`u-list`回弹问题
+4. 修复`notice-bar`组件动画在低端安卓机可能会抖动的问题
+5. `u-loading-page`添加控制图标大小的属性`iconSize`
+6. 修复`u-tooltip`组件`color`参数不生效的问题
+7. 修复`u--input`组件使用`blur`事件输出为`undefined`的bug
+8. `u-code-input`组件新增键盘弹起时,是否自动上推页面参数`adjustPosition`
+9. 修复`image`组件`load`事件无回调对象问题
+10. 修复`button`组件`loadingSize`设置无效问题
+10. 其他修复
## 2.0.31(2022-04-19)
# uView2.0重磅发布,利剑出鞘,一统江湖
diff --git a/uview-ui/components/u--input/u--input.vue b/uview-ui/components/u--input/u--input.vue
index 2887e4c..2fc1213 100644
--- a/uview-ui/components/u--input/u--input.vue
+++ b/uview-ui/components/u--input/u--input.vue
@@ -36,7 +36,7 @@
:customStyle="customStyle"
:formatter="formatter"
@focus="$emit('focus')"
- @blur="$emit('blur')"
+ @blur="e => $emit('blur', e)"
@keyboardheightchange="$emit('keyboardheightchange')"
@change="e => $emit('change', e)"
@input="e => $emit('input', e)"
diff --git a/uview-ui/components/u-button/u-button.vue b/uview-ui/components/u-button/u-button.vue
index 29001b0..5494351 100644
--- a/uview-ui/components/u-button/u-button.vue
+++ b/uview-ui/components/u-button/u-button.vue
@@ -28,7 +28,7 @@
-
+
diff --git a/uview-ui/components/u-loading-page/props.js b/uview-ui/components/u-loading-page/props.js
index 438ab64..e239b61 100644
--- a/uview-ui/components/u-loading-page/props.js
+++ b/uview-ui/components/u-loading-page/props.js
@@ -35,6 +35,11 @@ export default {
type: [String, Number],
default: uni.$u.props.loadingPage.fontSize
},
+ // 图标大小
+ iconSize: {
+ type: [String, Number],
+ default: uni.$u.props.loadingPage.fontSize
+ },
// 加载中图标的颜色,只能rgb或者十六进制颜色值
loadingColor: {
type: String,
diff --git a/uview-ui/components/u-loading-page/u-loading-page.vue b/uview-ui/components/u-loading-page/u-loading-page.vue
index c6b51b9..03a78ad 100644
--- a/uview-ui/components/u-loading-page/u-loading-page.vue
+++ b/uview-ui/components/u-loading-page/u-loading-page.vue
@@ -19,11 +19,15 @@
:src="image"
class="u-loading-page__warpper__loading-icon__img"
mode="widthFit"
+ :style="{
+ width: $u.addUnit(iconSize),
+ height: $u.addUnit(iconSize)
+ }"
>
@@ -55,6 +59,7 @@ import props from "./props.js";
* @property {String} bgColor 背景色 (默认 '#ffffff' )
* @property {String} color 文字颜色 (默认 '#C8C8C8' )
* @property {String | Number} fontSize 文字大小 (默认 19 )
+ * @property {String | Number} iconSize 图标大小 (默认 28 )
* @property {String} loadingColor 加载中图标的颜色,只能rgb或者十六进制颜色值 (默认 '#C8C8C8' )
* @property {Object} customStyle 自定义样式
* @example
diff --git a/uview-ui/components/u-loadmore/props.js b/uview-ui/components/u-loadmore/props.js
index 125ad3e..1e67d89 100644
--- a/uview-ui/components/u-loadmore/props.js
+++ b/uview-ui/components/u-loadmore/props.js
@@ -19,13 +19,17 @@ export default {
fontSize: {
type: [String, Number],
default: uni.$u.props.loadmore.fontSize
+ },
+ // 图标大小
+ iconSize: {
+ type: [String, Number],
+ default: uni.$u.props.loadmore.iconSize
},
// 字体颜色
color: {
type: String,
default: uni.$u.props.loadmore.color
},
-
// 加载中状态的图标,spinner-花朵状图标,circle-圆圈状,semicircle-半圆
loadingIcon: {
type: String,
@@ -75,6 +79,16 @@ export default {
line: {
type: Boolean,
default: uni.$u.props.loadmore.line
+ },
+ // 线条颜色
+ lineColor: {
+ type: String,
+ default: uni.$u.props.loadmore.lineColor
+ },
+ // 是否虚线,true-虚线,false-实线
+ dashed: {
+ type: Boolean,
+ default: uni.$u.props.loadmore.dashed
}
}
}
diff --git a/uview-ui/components/u-loadmore/u-loadmore.vue b/uview-ui/components/u-loadmore/u-loadmore.vue
index 24fb4b6..73c79fe 100644
--- a/uview-ui/components/u-loadmore/u-loadmore.vue
+++ b/uview-ui/components/u-loadmore/u-loadmore.vue
@@ -13,8 +13,9 @@
>
@@ -28,7 +29,7 @@
>
@@ -42,8 +43,9 @@
@@ -60,6 +62,7 @@
* @property {String} bgColor 组件背景颜色,在页面是非白色时会用到(默认 'transparent' )
* @property {Boolean} icon 加载中时是否显示图标(默认 true )
* @property {String | Number} fontSize 字体大小(默认 14 )
+ * @property {String | Number} iconSize 图标大小(默认 17 )
* @property {String} color 字体颜色(默认 '#606266' )
* @property {String} loadingIcon 加载图标(默认 'circle' )
* @property {String} loadmoreText 加载前的提示语(默认 '加载更多' )
@@ -67,10 +70,12 @@
* @property {String} nomoreText 没有更多的提示语(默认 '没有更多了' )
* @property {Boolean} isDot 到上一个相邻元素的距离 (默认 false )
* @property {String} iconColor 加载中图标的颜色 (默认 '#b7b7b7' )
+ * @property {String} lineColor 线条颜色(默认 #E6E8EB )
* @property {String | Number} marginTop 上边距 (默认 10 )
* @property {String | Number} marginBottom 下边距 (默认 10 )
* @property {String | Number} height 高度,单位px (默认 'auto' )
* @property {Boolean} line 是否显示左边分割线 (默认 false )
+ * @property {Boolean} dashed // 是否虚线,true-虚线,false-实线 (默认 false )
* @event {Function} loadmore status为loadmore时,点击组件会发出此事件
* @example
*/
diff --git a/uview-ui/components/u-parse/node/node.vue b/uview-ui/components/u-parse/node/node.vue
index e2a9f7b..73e30fd 100644
--- a/uview-ui/components/u-parse/node/node.vue
+++ b/uview-ui/components/u-parse/node/node.vue
@@ -201,7 +201,7 @@ export default {
// #ifdef H5 || APP-PLUS
node.attrs.src = node.attrs.src || node.attrs['data-src']
// #endif
- this.root.$emit('imgtap', node.attrs)
+ this.root.$emit('imgTap', node.attrs)
// 自动预览图片
if (this.root.previewImg)
uni.previewImage({
@@ -262,7 +262,7 @@ export default {
linkTap(e) {
var attrs = e.currentTarget ? this.childs[e.currentTarget.dataset.i].attrs : e,
href = attrs.href
- this.root.$emit('linktap', attrs)
+ this.root.$emit('linkTap', attrs)
if (href) {
// 跳转锚点
if (href[0] == '#')
@@ -496,4 +496,4 @@ export default {
height: 225px;
}
/* #endif */
-
\ No newline at end of file
+
diff --git a/uview-ui/components/u-picker/props.js b/uview-ui/components/u-picker/props.js
index ca0d0f9..7b5d091 100644
--- a/uview-ui/components/u-picker/props.js
+++ b/uview-ui/components/u-picker/props.js
@@ -50,11 +50,6 @@ export default {
type: String,
default: uni.$u.props.picker.confirmColor
},
- // 选择器只有一列时,默认选中项的索引,从0开始
- singleIndex: {
- type: [String, Number],
- default: uni.$u.props.picker.singleIndex
- },
// 每列中可见选项的数量
visibleItemCount: {
type: [String, Number],
diff --git a/uview-ui/components/u-picker/u-picker.vue b/uview-ui/components/u-picker/u-picker.vue
index 0fbe22c..8885917 100644
--- a/uview-ui/components/u-picker/u-picker.vue
+++ b/uview-ui/components/u-picker/u-picker.vue
@@ -66,7 +66,6 @@
* @property {String} confirmText 确认按钮的文字(默认 '确定' )
* @property {String} cancelColor 取消按钮的颜色(默认 '#909193' )
* @property {String} confirmColor 确认按钮的颜色(默认 '#3c9cff' )
- * @property {Array} singleIndex 选择器只有一列时,默认选中项的索引,从0开始(默认 0 )
* @property {String | Number} visibleItemCount 每列中可见选项的数量(默认 5 )
* @property {String} keyName 选项对象中,需要展示的属性键名(默认 'text' )
* @property {Boolean} closeOnClickOverlay 是否允许点击遮罩关闭选择器(默认 false )
@@ -161,7 +160,7 @@ export default {
this.setIndexs(value)
this.$emit('change', {
- // #ifndef MP-WEIXIN
+ // #ifndef MP-WEIXIN || MP-LARK
// 微信小程序不能传递this,会因为循环引用而报错
picker: this,
// #endif
diff --git a/uview-ui/components/u-row-notice/u-row-notice.vue b/uview-ui/components/u-row-notice/u-row-notice.vue
index e5a2f4a..20f43c3 100644
--- a/uview-ui/components/u-row-notice/u-row-notice.vue
+++ b/uview-ui/components/u-row-notice/u-row-notice.vue
@@ -19,11 +19,17 @@
class="u-notice__content"
ref="u-notice__content"
>
- {{text}}
+ :style="[animationStyle]"
+ >
+ {{item}}
+
{{ text }}
@@ -312,7 +313,6 @@
/* #endif */
&__text {
- color: $u-content-color;
font-size: 14px;
}
diff --git a/uview-ui/libs/config/config.js b/uview-ui/libs/config/config.js
index ae15921..6f3e2f3 100644
--- a/uview-ui/libs/config/config.js
+++ b/uview-ui/libs/config/config.js
@@ -1,5 +1,5 @@
-// 此版本发布于2022-04-19
-const version = '2.0.31'
+// 此版本发布于2022-06-17
+const version = '2.0.33'
// 开发环境才提示,生产环境不会提示
if (process.env.NODE_ENV === 'development') {
diff --git a/uview-ui/libs/config/props/codeInput.js b/uview-ui/libs/config/props/codeInput.js
index 008f4d5..cac9265 100644
--- a/uview-ui/libs/config/props/codeInput.js
+++ b/uview-ui/libs/config/props/codeInput.js
@@ -10,6 +10,7 @@
export default {
// codeInput 组件
codeInput: {
+ adjustPosition: true,
maxlength: 6,
dot: false,
mode: 'box',
diff --git a/uview-ui/libs/config/props/loadingPage.js b/uview-ui/libs/config/props/loadingPage.js
index 7546b31..dc53109 100644
--- a/uview-ui/libs/config/props/loadingPage.js
+++ b/uview-ui/libs/config/props/loadingPage.js
@@ -17,6 +17,7 @@ export default {
bgColor: '#ffffff',
color: '#C8C8C8',
fontSize: 19,
+ iconSize: 28,
loadingColor: '#C8C8C8'
}
}
diff --git a/uview-ui/libs/config/props/loadmore.js b/uview-ui/libs/config/props/loadmore.js
index 465842f..67c1160 100644
--- a/uview-ui/libs/config/props/loadmore.js
+++ b/uview-ui/libs/config/props/loadmore.js
@@ -14,6 +14,7 @@ export default {
bgColor: 'transparent',
icon: true,
fontSize: 14,
+ iconSize: 17,
color: '#606266',
loadingIcon: 'spinner',
loadmoreText: '加载更多',
@@ -24,6 +25,8 @@ export default {
marginTop: 10,
marginBottom: 10,
height: 'auto',
- line: false
+ line: false,
+ lineColor: '#E6E8EB',
+ dashed: false,
}
}
diff --git a/uview-ui/libs/config/props/picker.js b/uview-ui/libs/config/props/picker.js
index 711e690..f06b321 100644
--- a/uview-ui/libs/config/props/picker.js
+++ b/uview-ui/libs/config/props/picker.js
@@ -20,7 +20,6 @@ export default {
confirmText: '确定',
cancelColor: '#909193',
confirmColor: '#3c9cff',
- singleIndex: 0,
visibleItemCount: 5,
keyName: 'text',
closeOnClickOverlay: false,
diff --git a/uview-ui/libs/mixin/mixin.js b/uview-ui/libs/mixin/mixin.js
index cd8f773..f41a178 100644
--- a/uview-ui/libs/mixin/mixin.js
+++ b/uview-ui/libs/mixin/mixin.js
@@ -77,7 +77,7 @@ module.exports = {
}
return Object.keys(classes)
// 支付宝,头条小程序无法动态绑定一个数组类名,否则解析出来的结果会带有",",而导致失效
- // #ifdef MP-ALIPAY || MP-TOUTIAO
+ // #ifdef MP-ALIPAY || MP-TOUTIAO || MP-LARK
.join(' ')
// #endif
}
diff --git a/uview-ui/package.json b/uview-ui/package.json
index 350a6e1..f5c5a22 100644
--- a/uview-ui/package.json
+++ b/uview-ui/package.json
@@ -1,28 +1,28 @@
{
- "_from": "uview-ui@2.0.31",
- "_id": "uview-ui@2.0.31",
+ "_from": "uview-ui@2.0.33",
+ "_id": "uview-ui@2.0.33",
"_inBundle": false,
- "_integrity": "sha512-I/0fGuvtiKHH/mBb864SGYk+SJ7WaF32tsBgYgeBOsxlUp+Th+Ac2tgz2cTvsQJl6eZYWsKZ3ixiSXCAcxZ8Sw==",
+ "_integrity": "sha512-M3NsLFAY0z95NGMnTCDUR/TvJb6a/UYZzi1km5Gi6TkBCaoHdbmtQymkc1C4eszeoQOrpEIhit/2V47UglzHRw==",
"_location": "/uview-ui",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "uview-ui@2.0.31",
+ "raw": "uview-ui@2.0.33",
"name": "uview-ui",
"escapedName": "uview-ui",
- "rawSpec": "2.0.31",
+ "rawSpec": "2.0.33",
"saveSpec": null,
- "fetchSpec": "2.0.31"
+ "fetchSpec": "2.0.33"
},
"_requiredBy": [
"#USER",
"/"
],
- "_resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.31.tgz",
- "_shasum": "85679c0ef7ecfde0672d4ef74af813506ea1bcca",
- "_spec": "uview-ui@2.0.31",
- "_where": "C:\\Users\\yu\\Desktop\\massfitnes",
+ "_resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.33.tgz",
+ "_shasum": "229c222b60846190f45e935c3661b9c8affb84a1",
+ "_spec": "uview-ui@2.0.33",
+ "_where": "C:\\Users\\yu\\Desktop\\samehome",
"bugs": {
"url": "https://github.com/umicro/uView2.0/issues"
},
@@ -116,5 +116,5 @@
}
}
},
- "version": "2.0.31"
+ "version": "2.0.33"
}