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 @@ 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 @@ + + + + + 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 @@ @@ -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 @@ + + + + + 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 @@

logo

-

uView

+

uView 2.0

多平台快速开发的UI框架

+[![stars](https://img.shields.io/github/stars/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0) +[![forks](https://img.shields.io/github/forks/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0) +[![issues](https://img.shields.io/github/issues/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0/issues) +[![Website](https://img.shields.io/badge/uView-up-blue?style=flat-square)](https://uviewui.com) +[![release](https://img.shields.io/github/v/release/umicro/uView2.0?style=flat-square)](https://gitee.com/umicro/uView2.0/releases) +[![license](https://img.shields.io/github/license/umicro/uView2.0?style=flat-square)](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 @@