Compare commits
10 Commits
9e48545607
...
ec59edc7f9
| Author | SHA1 | Date | |
|---|---|---|---|
| ec59edc7f9 | |||
| 774bab3655 | |||
| a7ef77145c | |||
| 51e6d98827 | |||
| 6d7bc01f6f | |||
| 96d730d6c2 | |||
| 5975ee836c | |||
| c00771ec5a | |||
| 5005d00a48 | |||
| 990007f340 |
6
.idea/MarsCodeWorkspaceAppSettings.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="com.codeverse.userSettings.MarscodeWorkspaceAppSettingsState">
|
||||
<option name="progress" value="1.0" />
|
||||
</component>
|
||||
</project>
|
||||
@ -2,5 +2,15 @@
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="HtmlUnknownAttribute" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="myValues">
|
||||
<value>
|
||||
<list size="1">
|
||||
<item index="0" class="java.lang.String" itemvalue="v-if" />
|
||||
</list>
|
||||
</value>
|
||||
</option>
|
||||
<option name="myCustomValuesEnabled" value="true" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
||||
6484
package-lock.json
generated
91
package.json
@ -1,46 +1,107 @@
|
||||
{
|
||||
"name": "ufutx_dma",
|
||||
"name": "ufutx_fulllink",
|
||||
"version": "0.0.1",
|
||||
"description": "A WePY project",
|
||||
"description": "ufutx 微信小程序项目(基于wepy 2.x)",
|
||||
"main": "weapp/app.js",
|
||||
"scripts": {
|
||||
"start": "npm run dev",
|
||||
"dev": "./node_modules/.bin/wepy build --watch",
|
||||
"build": "cross-env NODE_ENV=production ./node_modules/.bin/wepy build --no-cache",
|
||||
"build": "cross-env NODE_ENV=production ./node_modules/.bin/wepy build --no-cache ",
|
||||
"clean": "rm -rf weapp",
|
||||
"lint": "eslint --ext .js,.wpy src/",
|
||||
"lint:fix": "eslint --ext .js,.wpy src/ --fix",
|
||||
"preview": "npm run build && wx-tools preview",
|
||||
"deploy": "npm run build && wx-tools upload --version $npm_package_version --desc '自动上传'",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"wepy": {
|
||||
"module-a": false,
|
||||
"./src/components/list": "./src/components/wepy-list.wpy"
|
||||
"resolve": {
|
||||
"alias": {
|
||||
"@": "./src"
|
||||
}
|
||||
},
|
||||
"compiler": {
|
||||
"babel": {
|
||||
"presets": [
|
||||
[
|
||||
"@babel/preset-env",
|
||||
{
|
||||
"modules": false
|
||||
}
|
||||
]
|
||||
],
|
||||
"plugins": [
|
||||
"@wepy/babel-plugin-import-regenerator"
|
||||
]
|
||||
},
|
||||
"less": {
|
||||
"paths": [
|
||||
"./src/styles"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"author": "mamba <dengzhifeng_63@163.com>",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@wepy/core": "^2.0.0-alpha.16",
|
||||
"@wepy/core": "^2.1.0",
|
||||
"@wepy/use-promisify": "^2.1.0",
|
||||
"@wepy/x": "^2.0.2",
|
||||
"@wepy/x": "^2.1.0",
|
||||
"@yolanda-qn/four-electrodes-report-lib-pe": "^1.1.5",
|
||||
"dayjs": "^1.11.7",
|
||||
"dayjs": "^1.11.10",
|
||||
"miniprogram-slide-view": "0.0.3",
|
||||
"nim-web-sdk-ng": "^10.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.1.0",
|
||||
"@babel/preset-env": "^7.1.0",
|
||||
"@babel/core": "^7.23.0",
|
||||
"@babel/preset-env": "^7.23.0",
|
||||
"@wepy/babel-plugin-import-regenerator": "0.0.2",
|
||||
"@wepy/cli": "^2.0.0-alpha.28",
|
||||
"@wepy/compiler-babel": "^2.0.1",
|
||||
"@wepy/compiler-less": "^2.0.1",
|
||||
"babel-eslint": "^7.2.1",
|
||||
"cross-env": "^5.1.3",
|
||||
"@wepy/cli": "^2.1.0",
|
||||
"@wepy/compiler-babel": "^2.1.0",
|
||||
"@wepy/compiler-less": "^2.1.0",
|
||||
"babel-eslint": "^7.2.3",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^3.18.0",
|
||||
"eslint-config-standard": "^7.1.0",
|
||||
"eslint-friendly-formatter": "^2.0.7",
|
||||
"eslint-plugin-html": "^2.0.1",
|
||||
"eslint-plugin-promise": "^3.5.0",
|
||||
"eslint-plugin-standard": "^2.0.1",
|
||||
"less": "^3.8.1",
|
||||
"husky": "^7.0.4",
|
||||
"less": "^3.13.1",
|
||||
"lint-staged": "^11.2.6",
|
||||
"prettier": "^2.8.8",
|
||||
"wepy-cli-extend": "^1.0.3",
|
||||
"wepy-eslint": "^1.5.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0 <17.0.0",
|
||||
"npm": ">=6.0.0"
|
||||
},
|
||||
"browserslist": [
|
||||
"iOS >= 9",
|
||||
"Android >= 5",
|
||||
"last 2 versions",
|
||||
"not dead"
|
||||
],
|
||||
"overrides": {
|
||||
"nim-web-sdk-ng": {
|
||||
"vue": "^2.6.14"
|
||||
}
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
}
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{js,wpy}": [
|
||||
"eslint --fix",
|
||||
"prettier --write"
|
||||
],
|
||||
"*.less": [
|
||||
"prettier --write"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
48
src/app.wpy
@ -35,7 +35,7 @@ wepy.app({
|
||||
}
|
||||
},
|
||||
globalData: {
|
||||
versions: 'v5.5.83', // 版本号
|
||||
versions: 'v5.6.3', // 版本号
|
||||
navBarHeight: 0, // 导航栏高度
|
||||
navRight: 0, // 胶囊距右方间距(方保持左、右间距一致)
|
||||
navTop: 0, // 胶囊距顶部间距
|
||||
@ -48,9 +48,15 @@ wepy.app({
|
||||
bottomHeight: 0 // 底部小黑条的高度
|
||||
},
|
||||
|
||||
onLaunch() {
|
||||
onLaunch(e) {
|
||||
let vm = this
|
||||
console.log(e, 'uuu=')
|
||||
vm.appLogin()
|
||||
console.log(e, 'e=')
|
||||
console.log(decodeURIComponent(e.query.scene), 'e=')
|
||||
// if (e.path === 'pages/home/informationV2') {
|
||||
// wx.redirectTo({ url: `/pages/home/information?${decodeURIComponent(e.query.scene)}` })
|
||||
// }
|
||||
initEid()
|
||||
wx.getSystemInfo({
|
||||
success: res => {
|
||||
@ -83,6 +89,12 @@ wepy.app({
|
||||
|
||||
onShow(options) {
|
||||
console.log('路径携带参数:', options)
|
||||
// if (options.path === 'pages/home/informationV2') {
|
||||
// wx.redirectTo({ url: `/pages/home/information?${decodeURIComponent(options.query.scene)}` })
|
||||
// }
|
||||
if (options.path === 'pages/tabBar/home1') {
|
||||
wx.switchTab({ url: `/pages/tabBar/home?${decodeURIComponent(options.query.scene)}` })
|
||||
}
|
||||
if (options.query.scene) {
|
||||
let sceneList = decodeURIComponent(options.query.scene).split(/[= &]/)
|
||||
sceneList.forEach((item, index) => {
|
||||
@ -100,7 +112,16 @@ wepy.app({
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
onPageNotFound(res) {
|
||||
console.log(res, '错误res')
|
||||
if (res.path === 'pages/home/informationV2') {
|
||||
wx.redirectTo({ url: `/pages/home/information?${decodeURIComponent(res.query.scene)}` })
|
||||
} else {
|
||||
wx.switchTab({
|
||||
url: `/pages/tabBar/home?${decodeURIComponent(res.query.scene)}`
|
||||
}) // 如果是 tabbar 页面,请使用 wx.switchTab
|
||||
}
|
||||
},
|
||||
onHide() {},
|
||||
|
||||
methods: {
|
||||
@ -136,7 +157,6 @@ pages: [
|
||||
'pages/tabBar/home',
|
||||
'pages/tabBar/news',
|
||||
'pages/tabBar/user',
|
||||
'pages/login',
|
||||
'mp_ecard_sdk/index/index',
|
||||
'mp_ecard_sdk/protocol/service/index',
|
||||
'mp_ecard_sdk/protocol/privacy/index',
|
||||
@ -218,6 +238,8 @@ subPackages: [
|
||||
'ImageCropper',
|
||||
'myDynamicDetail',
|
||||
'groupMember',
|
||||
'blacklistDefault',
|
||||
'freeze',
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -236,29 +258,29 @@ navigationBarTextStyle: 'black'
|
||||
},
|
||||
tabBar: {
|
||||
color: '#999999',
|
||||
selectedColor: '#333333',
|
||||
selectedColor: '#fa4d76',
|
||||
backgroundColor: '#ffffff',
|
||||
borderStyle: 'black',
|
||||
list: [
|
||||
{
|
||||
pagePath: 'pages/tabBar/home',
|
||||
selectedIconPath: './images/tabbar/homeActive.png',
|
||||
iconPath: './images/tabbar/home.png',
|
||||
selectedIconPath: './images/tabBar/tab_recommend_active.png',
|
||||
iconPath: './images/tabBar/tab_recommend_normal.png',
|
||||
text: '推荐'
|
||||
}, {
|
||||
pagePath: 'pages/tabBar/dynamic',
|
||||
selectedIconPath: './images/tabbar/attentionActive.png',
|
||||
iconPath: './images/tabbar/attention.png',
|
||||
selectedIconPath: './images/tabBar/tab_discover_active.png',
|
||||
iconPath: './images/tabBar/tab_discover_normal.png',
|
||||
text: '发现'
|
||||
}, {
|
||||
pagePath: 'pages/tabBar/news',
|
||||
selectedIconPath: './images/tabbar/messageActive.png',
|
||||
iconPath: './images/tabbar/message.png',
|
||||
selectedIconPath: './images/tabBar/tab_message_active.png',
|
||||
iconPath: './images/tabBar/tab_message_normal.png',
|
||||
text: '消息'
|
||||
}, {
|
||||
pagePath: 'pages/tabBar/user',
|
||||
selectedIconPath: './images/tabbar/myActive.png',
|
||||
iconPath: './images/tabbar/my.png',
|
||||
selectedIconPath: './images/tabBar/tab_mine_active.png',
|
||||
iconPath: './images/tabBar/tab_mine_normal.png',
|
||||
text: '我的'
|
||||
}]
|
||||
},
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<view :class="{'~show':modalName == 'unlockModal'}" class="~cu-modal">
|
||||
<view class="open_unlock_box" style="padding-top: 126rpx;">
|
||||
<image class="unlockPrompt_bg" src="https://images.ufutx.com/202106/01/3ae4aefd9aed69d6800ed12cac94fbb2.png" mode="widthFix"></image>
|
||||
<image v-if="ios" class="unlock_bg" src="https://images.ufutx.com/202106/02/d398cbcc114dbfce26470db15d47716c.png" mode="widthFix" @tap="goTo('/pages/users/upgradeVIP?chat_user_id={{chat_user_id}}')"></image>
|
||||
<image v-if="ios" class="unlock_bg" src="https://images.ufutx.com/202106/02/d398cbcc114dbfce26470db15d47716c.png" mode="widthFix" @tap="goTo('pages/users/upgradeVIP?chat_user_id={{chat_user_id}}')"></image>
|
||||
<image v-else class="unlock_bg" src="https://images.ufutx.com/202106/02/d398cbcc114dbfce26470db15d47716c.png" mode="widthFix" @tap="determine('vipModal')"></image>
|
||||
<view class="font_24 color-666" style="padding: 16rpx 0 24rpx 0">
|
||||
</view>
|
||||
@ -79,6 +79,8 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<loginDialog :loginShow="loginShow" @hiddenLogin="hiddenLogin"></loginDialog>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
@ -116,8 +118,8 @@ import https from '../mixins/https'
|
||||
active: 1,
|
||||
selectedVal: '',
|
||||
rankList: [],
|
||||
payId: ''
|
||||
|
||||
payId: '',
|
||||
loginShow: false
|
||||
},
|
||||
watch: {
|
||||
modalName(e) {
|
||||
@ -177,7 +179,16 @@ import https from '../mixins/https'
|
||||
this.active = index
|
||||
this.payId = val
|
||||
},
|
||||
hiddenLogin() {
|
||||
let vm = this
|
||||
vm.loginShow = false
|
||||
},
|
||||
conversion(item) {
|
||||
// 校验是否完成注册资料
|
||||
if (!this.$signInVerify()) {
|
||||
this.$emit('signInVerify')
|
||||
return
|
||||
}
|
||||
let that = this,
|
||||
url = `${service.host}/rank/buy`
|
||||
that.modalName = ''
|
||||
|
||||
@ -364,12 +364,17 @@
|
||||
showReplyView: true,
|
||||
inputBoxH: 86,
|
||||
modalName: '',
|
||||
userInfo: {}
|
||||
userInfo: {},
|
||||
loginShow: false
|
||||
},
|
||||
mixins: [https, base],
|
||||
methods: {
|
||||
// 评论
|
||||
send() {
|
||||
if (!this.$signInVerify()) {
|
||||
this.$emit('signInVerify')
|
||||
return
|
||||
}
|
||||
let vm = this
|
||||
let comment = vm.replyId ? vm.inputVal.split(`回复@${vm.name}:`)[1] : vm.inputVal
|
||||
let data = {
|
||||
|
||||
@ -406,10 +406,10 @@ scroll-view {
|
||||
jumpPath(url, type) {
|
||||
let vm = this
|
||||
// 校验是否完成注册资料
|
||||
if (!vm.$signInVerify()) {
|
||||
vm.$emit('signInVerify')
|
||||
return
|
||||
}
|
||||
// if (!vm.$signInVerify()) {
|
||||
// vm.$emit('signInVerify')
|
||||
// return
|
||||
// }
|
||||
console.log(vm.from, url, type, '7777')
|
||||
if (vm.from != 'dynamic' && vm.from != 'myDynamic' && type != 'vote' && vm.from != 'hotTopic') {
|
||||
console.log('44---')
|
||||
@ -421,10 +421,10 @@ scroll-view {
|
||||
jumpPathV2(url, type) {
|
||||
let vm = this
|
||||
// 校验是否完成注册资料
|
||||
if (!vm.$signInVerify()) {
|
||||
vm.$emit('signInVerify')
|
||||
return
|
||||
}
|
||||
// if (!vm.$signInVerify()) {
|
||||
// vm.$emit('signInVerify')
|
||||
// return
|
||||
// }
|
||||
console.log(vm.from, url, type, '7777')
|
||||
if (vm.from != 'dynamicDetail' && vm.from != 'dynamic') {
|
||||
console.log('44---')
|
||||
|
||||
@ -168,7 +168,7 @@
|
||||
<view class="~cu-modal {{inreviewShow?'~show':''}}">
|
||||
<view class="intention_confirm_box animation-slide-top">
|
||||
<view class="intentionContent_1 font_34 ~color333 ~bold">你的资料正在审核中</view>
|
||||
<view class="~font_32 ~color333" style="padding-bottom: 60rpx">如有紧急,请拨打<span style="color: #f33b6c;">18922809346</span></view>
|
||||
<view class="~font_32 ~color333" style="padding-bottom: 60rpx">如有紧急,请拨打<span style="color: #f33b6c;">18194063294</span></view>
|
||||
<view class="intentionOperation">
|
||||
<image @tap.stop="inreviewModal" class="operationButton" src="https://images.ufutx.com/202103/17/4281e92bc8b727bae08099a3015225b1.png" mode="widthFix"></image>
|
||||
<image @tap.stop="clickPhone" class="operationButton" src="https://images.ufutx.com/202104/15/91fea69fdff1cfeaac369ddd5dd591f0.png" mode="widthFix"></image>
|
||||
@ -271,7 +271,7 @@
|
||||
},
|
||||
clickPhone() {
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: '18922809346'
|
||||
phoneNumber: '18194063294'
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
@ -36,7 +36,7 @@ export const service = {
|
||||
// 添加好友
|
||||
addFriend: `${host}/friend/users`,
|
||||
// 关注某人
|
||||
follow: `${host}/follow/users`,
|
||||
follow: `${host}/follow/user`,
|
||||
// 我的粉丝
|
||||
followers: `${host}/followers`,
|
||||
// 我的好友
|
||||
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
BIN
src/images/tabBar/tab_discover_active.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
src/images/tabBar/tab_discover_normal.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
src/images/tabBar/tab_message_active.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/images/tabBar/tab_message_normal.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/images/tabBar/tab_mine_active.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/images/tabBar/tab_mine_normal.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/images/tabBar/tab_recommend_active.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/images/tabBar/tab_recommend_normal.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
16
src/mixins/aliyun-upload-sdk-1.0.1.min.js
vendored
@ -1,5 +1,6 @@
|
||||
import utils from '../utils/util'
|
||||
import {service} from '../config'
|
||||
import { IM } from '../utils/im'
|
||||
|
||||
export default {
|
||||
data: {
|
||||
@ -103,27 +104,8 @@ export default {
|
||||
wx.removeStorageSync('formId')
|
||||
resolve({statusCode, ...data})
|
||||
} else if (data.code == 1) {
|
||||
// resolve({statusCode, ...data})
|
||||
reject(new Error(`error ${data.message}`))
|
||||
if (this.$is == 'pages/service/GroupChatPage' && data.message.includes('已断开连接')) {
|
||||
let vm = this
|
||||
wx.showModal({ // 使用模态框提示用户进行操作
|
||||
title: `温馨提示`,
|
||||
content: `UpdatePromptText5`,
|
||||
showCancel: false,
|
||||
confirmText: `UpdatePromptText5`,
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
wx.hideLoading()
|
||||
wx.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
// console.log('开始尝试连接WebSocket!readyState=' + vm.$app.$options.globalData.localSocket.readyState)
|
||||
vm.$app.initSocket('http')
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
|
||||
vm.errorOne += 1
|
||||
if (vm.errorOne <= 2) {
|
||||
wx.showModal({ // 使用模态框提示用户进行操作
|
||||
@ -135,54 +117,76 @@ export default {
|
||||
if (res.confirm) {
|
||||
vm.errorOne = 1
|
||||
wx.hideLoading()
|
||||
// wx.navigateBack({
|
||||
// delta: 1
|
||||
// })
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
let errorMessage = {message: '错误,请寻找开发人员协助'}
|
||||
throw errorMessage
|
||||
}
|
||||
wx.hideLoading()
|
||||
} else if (data.code === 2) {
|
||||
console.error(data.message)
|
||||
vm.errorTwo += 1
|
||||
if (vm.errorTwo <= 2) {
|
||||
utils.wx_login().then(({code, data}) => {
|
||||
if (code === 0) {
|
||||
vm.errorTwo = 1
|
||||
if (currentPage.route == 'pages/service/healthMGT') {
|
||||
wx.redirectTo({url: `/${currentPage.route}?${url}`})
|
||||
} else if (data.mobile && data.is_complete_profile) {
|
||||
if (currentPage.route == 'pages/tabBar/home') {
|
||||
wx.reLaunch({url: '/pages/tabBar/home'})
|
||||
utils.wx_login().then((data) => {
|
||||
console.log(data, '444')
|
||||
let route = `/${currentPage.route}?${url}`
|
||||
if (!data.data.token) {
|
||||
wx.removeStorageSync('information')
|
||||
wx.switchTab({
|
||||
url: '/pages/tabBar/home'
|
||||
})
|
||||
} else {
|
||||
wx.redirectTo({url: `/${currentPage.route}?${url}`})
|
||||
}
|
||||
} else if (!data.mobile) {
|
||||
wx.redirectTo({url: `/pages/login`})
|
||||
} else if (!data.is_complete_profile) {
|
||||
wx.redirectTo({url: `/pages/user/registrationMaterial`})
|
||||
currentPage.onShow()
|
||||
if (route.includes('tabBar')) {
|
||||
route = route.split('?')[0]
|
||||
wx.switchTab({url: route})
|
||||
} else {
|
||||
console.log('222')
|
||||
wx.redirectTo({url: route})
|
||||
}
|
||||
}
|
||||
let {accid, token} = data.data.im_user // wyy_user
|
||||
vm.$app.$options.globalData.nim = IM(accid, token)
|
||||
wx.hideLoading()
|
||||
})
|
||||
}
|
||||
let errorMessage = {message: '错误,需要重新登录'}
|
||||
throw errorMessage
|
||||
} else if (code === 3) {
|
||||
vm.errorThree += 1
|
||||
if (vm.errorThree <= 2) {
|
||||
utils.wx_login().then(({code, data}) => {
|
||||
if (code === 0) {
|
||||
vm.errorThree = 1
|
||||
currentPage.onLoad()
|
||||
currentPage.onShow()
|
||||
}
|
||||
utils.wx_login().then((data) => {
|
||||
console.log(data, '444')
|
||||
let route = `/${currentPage.route}?${url}`
|
||||
if (!data.data.token) {
|
||||
wx.removeStorageSync('information')
|
||||
wx.switchTab({
|
||||
url: '/pages/tabBar/home'
|
||||
})
|
||||
} else {
|
||||
currentPage.onShow()
|
||||
if (route.includes('tabBar')) {
|
||||
route = route.split('?')[0]
|
||||
wx.switchTab({url: route})
|
||||
} else {
|
||||
console.log('222')
|
||||
wx.redirectTo({url: route})
|
||||
}
|
||||
}
|
||||
let {accid, token} = data.data.im_user // wyy_user
|
||||
vm.$app.$options.globalData.nim = IM(accid, token)
|
||||
wx.hideLoading()
|
||||
})
|
||||
// vm.errorThree += 1
|
||||
// if (vm.errorThree <= 2) {
|
||||
// utils.wx_login().then(({code, data}) => {
|
||||
// if (code === 0) {
|
||||
// vm.errorThree = 1
|
||||
// currentPage.onLoad()
|
||||
// currentPage.onShow()
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
// eslint-disable-next-line prefer-promise-reject-errors
|
||||
@ -191,7 +195,7 @@ export default {
|
||||
},
|
||||
complete: (res) => {
|
||||
setTimeout(() => {
|
||||
wx.hideLoading() // loading只展示一会就被去除了
|
||||
wx.hideLoading() // loading只展示一会就被去除了,加1s的时间延迟
|
||||
}, 1000)
|
||||
if (res.errMsg.indexOf('timeout') > -1) {
|
||||
vm.errorOne += 1
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="page-user">
|
||||
<web-view src="{{url}}"></web-view>
|
||||
<web-view src="{{url}}" bindmessage="onMessage"></web-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@ -60,13 +60,42 @@
|
||||
|
||||
onLoad(e) {
|
||||
console.log(e)
|
||||
console.log(wx, 'wx===')
|
||||
this.url = decodeURIComponent(e.url)
|
||||
console.log(this.url)
|
||||
this.from_openid = wx.getStorageSync('openid')
|
||||
wx.showShareMenu({
|
||||
withShareTicket: true
|
||||
})
|
||||
},
|
||||
// wx.onMessage({
|
||||
// onMessage: (msg) => {
|
||||
// console.log(msg, 'gggg')
|
||||
// if (msg.action === 'pay') {
|
||||
// // 调用支付API
|
||||
// wx.requestPayment({
|
||||
// timeStamp: msg.payInfo.timeStamp,
|
||||
// nonceStr: msg.payInfo.nonceStr,
|
||||
// package: msg.payInfo.package,
|
||||
// signType: msg.payInfo.signType,
|
||||
// paySign: msg.payInfo.paySign,
|
||||
// success(res) {
|
||||
// console.log('支付成功', res)
|
||||
// // 将支付结果返回给H5页面
|
||||
// wx.postMessage({
|
||||
// data: {
|
||||
// action: 'payResult',
|
||||
// data: res
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
// fail(err) {
|
||||
// console.log('支付失败', err)
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
},
|
||||
|
||||
onPullDownRefresh() {
|
||||
// this.initPageData()
|
||||
@ -100,7 +129,35 @@
|
||||
},
|
||||
goto(url) {
|
||||
wx.navigateTo({url: url})
|
||||
},
|
||||
onMessage(data) {
|
||||
console.log(data.$wx.detail.data[0], 'gggg')
|
||||
let msg = data.$wx.detail.data[0]
|
||||
if (msg.action === 'pay') {
|
||||
// 调用支付API
|
||||
wx.requestPayment({
|
||||
timeStamp: msg.payInfo.timestamp,
|
||||
nonceStr: msg.payInfo.nonceStr,
|
||||
package: msg.payInfo.package,
|
||||
signType: msg.payInfo.signType,
|
||||
paySign: msg.payInfo.paySign,
|
||||
success(res) {
|
||||
console.log('支付成功', res)
|
||||
// 将支付结果返回给H5页面
|
||||
wx.postMessage({
|
||||
data: {
|
||||
action: 'payResult',
|
||||
data: res
|
||||
}
|
||||
})
|
||||
},
|
||||
fail(err) {
|
||||
console.log('支付失败', err)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@ -11,7 +11,9 @@ page {
|
||||
<!--动态操作功能,selectData选择的动态数据、selectIndex选中的动态下标、admin是否管理员、from来自哪个父组件-->
|
||||
<dynamicOperation :selectData="selectData" :chooseShow.sync="chooseShow" :selectIndex="selectIndex" :admin="admin" :from="'home'" @hideModal="hideModal" @changeOperation="changeOperation"></dynamicOperation>
|
||||
<!--评论数据-->
|
||||
<dynamicDiscuss :list="list" :detail="detail" @getList="getList" @changLiker="changLiker" :type="'dynamic'" @deleteComment="deleteComment"></dynamicDiscuss>
|
||||
<dynamicDiscuss :list="list" :detail="detail" @getList="getList" @changLiker="changLiker" :type="'dynamic'" @signInVerify="signInVerify" @deleteComment="deleteComment"></dynamicDiscuss>
|
||||
<loginDialog :loginShow="loginShow" @hiddenLogin="hiddenLogin"></loginDialog>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -32,7 +34,9 @@ wepy.page({
|
||||
selectIndex: null,
|
||||
detail: {},
|
||||
dynamicList: [],
|
||||
list: [] // 评论列表数据
|
||||
list: [], // 评论列表数据
|
||||
loginShow: false
|
||||
|
||||
},
|
||||
async onShareAppMessage(res) {
|
||||
let that = this
|
||||
@ -68,6 +72,14 @@ wepy.page({
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
signInVerify() {
|
||||
let vm = this
|
||||
vm.loginShow = true
|
||||
},
|
||||
hiddenLogin() {
|
||||
let vm = this
|
||||
vm.loginShow = false
|
||||
},
|
||||
getDetail() {
|
||||
let vm = this
|
||||
vm.$get({url: `${service.host}/moment/${vm.id}`}).then(({code, data}) => {
|
||||
@ -183,6 +195,8 @@ usingComponents: {
|
||||
dynamicList: '~@/components/dynamicList',
|
||||
dynamicOperation: '~@/components/dynamicOperation',
|
||||
dynamicDiscuss: '~@/components/dynamicDiscuss',
|
||||
}
|
||||
loginDialog: '~@/components/loginDialog',
|
||||
|
||||
}
|
||||
}
|
||||
</config>
|
||||
|
||||
@ -178,7 +178,8 @@ wepy.page({
|
||||
navTop: 0,
|
||||
StatusBar: 0,
|
||||
CustomBar: 0,
|
||||
navHeight: 0
|
||||
navHeight: 0,
|
||||
user_id: wx.getStorageSync('user_id')
|
||||
},
|
||||
methods: {
|
||||
getDetail() {
|
||||
@ -279,6 +280,9 @@ wepy.page({
|
||||
vm.dynamicList.splice(vm.selectIndex, 1)
|
||||
}
|
||||
},
|
||||
gotoRedirect (url) {
|
||||
wx.redirectTo({url: url})
|
||||
},
|
||||
// 下拉加载中
|
||||
onPulling() {
|
||||
let vm = this
|
||||
@ -353,6 +357,34 @@ wepy.page({
|
||||
}
|
||||
vm.getDetail()
|
||||
vm.getList()
|
||||
},
|
||||
async onShareAppMessage(res) {
|
||||
let that = this
|
||||
let openid = wx.getStorageSync('openid')
|
||||
let fromUserID = wx.getStorageSync('user_id')
|
||||
let imgUrl = `${that.detail.back_image}`
|
||||
let url = `/pages/dynamic/hotTopic?id=${that.id}&from_openid=${openid}&share_user_id=${that.user_id}&from_user_id=${fromUserID}`
|
||||
console.log(url)
|
||||
return {
|
||||
title: `#${that.detail.name}#`,
|
||||
path: url,
|
||||
// imageUrl: 'https://images.ufutx.com/202004/29/baac955e5878e0cb03c17eef0c92f473.jpeg',
|
||||
imageUrl: imgUrl,
|
||||
success: function (res) {
|
||||
wx.showToast({
|
||||
title: '转发成功',
|
||||
icon: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
var shareTickets = res.shareTickets
|
||||
if (shareTickets.length == 0) {
|
||||
return false
|
||||
}
|
||||
},
|
||||
fail: function (res) {
|
||||
// 转发失败
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@ -349,11 +349,15 @@ wepy.page({
|
||||
methods: {
|
||||
saveIssue() {
|
||||
let vm = this
|
||||
if (!vm.$signInVerify()) {
|
||||
vm.loginShow = true
|
||||
return
|
||||
}
|
||||
let data = {
|
||||
topic_id: vm.id * 1,
|
||||
content: vm.value,
|
||||
photos: vm.imgList,
|
||||
aliyun_video_id: vm.videoId,
|
||||
aliyun_video_id: vm.imgList.length > 0 ? '' : vm.videoId,
|
||||
address: vm.address == '我在哪里' ? '' : vm.address,
|
||||
is_hot: vm.hot * 1
|
||||
}
|
||||
@ -441,6 +445,7 @@ wepy.page({
|
||||
success(res) {
|
||||
vm.latitude = res.latitude
|
||||
vm.longitude = res.longitude
|
||||
vm.showCon = false
|
||||
wx.chooseLocation({
|
||||
latitude: res.latitude,
|
||||
longitude: res.longitude,
|
||||
|
||||
@ -101,16 +101,19 @@ wepy.page({
|
||||
list: [], // 列表数据
|
||||
arr: [],
|
||||
loading: false,
|
||||
show: false
|
||||
show: false,
|
||||
search: ''
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
getList(type) {
|
||||
let vm = this
|
||||
vm.$showLoading('加载中...')
|
||||
vm.$get({url: `${service.host}/moment/topic/list`}).then(({code, data}) => {
|
||||
vm.$get({url: `${service.host}/moment/topic/list?keyword=${vm.search}`}).then(({code, data}) => {
|
||||
if (code === 0) {
|
||||
vm.list = data.data
|
||||
if (type == 'init') {
|
||||
vm.arr = data.data
|
||||
}
|
||||
vm.loading = true
|
||||
}
|
||||
wx.hideLoading()
|
||||
@ -132,19 +135,21 @@ wepy.page({
|
||||
inputTyping(e) {
|
||||
let vm = this
|
||||
let key = e.$wx.detail.value
|
||||
vm.search = key
|
||||
if (key == '') {
|
||||
vm.list = vm.arr
|
||||
vm.show = false
|
||||
} else {
|
||||
vm.list = []
|
||||
vm.arr.forEach(ele => {
|
||||
if (ele.name.indexOf(key) >= 0) {
|
||||
vm.list = vm.list.concat([ele])
|
||||
}
|
||||
})
|
||||
if (vm.list && vm.list.length == 0) {
|
||||
vm.show = true
|
||||
}
|
||||
vm.getList()
|
||||
// vm.arr.forEach(ele => {
|
||||
// if (ele.name.indexOf(key) >= 0) {
|
||||
// vm.list = vm.list.concat([ele])
|
||||
// }
|
||||
// })
|
||||
// if (vm.list && vm.list.length == 0) {
|
||||
// vm.show = true
|
||||
// }
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -152,7 +157,7 @@ wepy.page({
|
||||
},
|
||||
onLoad() {
|
||||
let vm = this
|
||||
vm.getList()
|
||||
vm.getList('init')
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@ -643,10 +643,24 @@ page {
|
||||
<image src="https://images.ufutx.com/202011/26/7645858a1ae55dd7c3ef90ec7a42bfa3.png" mode="aspectFill" class="icon"></image>
|
||||
<span class="font_30 bold color-333">期望对方</span>
|
||||
</view>
|
||||
<view class="m_idCon f-fc" v-if="conditionArr && conditionArr.length > 0">
|
||||
<view class="m_idCon f-fc" >
|
||||
<block v-if="userInfo.other_profile">
|
||||
<block v-if="userInfo.other_profile.mate_conditon">
|
||||
<view class="u_idCon font_26 color333" v-if="userInfo.other_profile.mate_conditon.age">{{ userInfo.other_profile.mate_conditon.age }}</view>
|
||||
<view class="u_idCon font_26 color333" v-if="userInfo.other_profile.mate_conditon.belief">{{ userInfo.other_profile.mate_conditon.belief }}</view>
|
||||
<view class="u_idCon font_26 color333" v-if="userInfo.other_profile.mate_conditon.degree">{{ userInfo.other_profile.mate_conditon.degree }}</view>
|
||||
<view class="u_idCon font_26 color333" v-if="userInfo.other_profile.mate_conditon.income">{{ userInfo.other_profile.mate_conditon.income }}</view>
|
||||
<view class="u_idCon font_26 color333" v-if="userInfo.other_profile.mate_conditon.location">{{ userInfo.other_profile.mate_conditon.location }}</view>
|
||||
<view class="u_idCon font_26 color333" v-if="userInfo.other_profile.mate_conditon.state">{{ userInfo.other_profile.mate_conditon.state }}</view>
|
||||
<view class="u_idCon font_26 color333" v-if="userInfo.other_profile.mate_conditon.stature">{{ userInfo.other_profile.mate_conditon.stature }}</view>
|
||||
</block>
|
||||
</block>
|
||||
<block v-if="conditionArr && conditionArr.length > 0">
|
||||
<block v-for="(item,index) in conditionArr" :key="index">
|
||||
<view class="u_idCon font_26 color333" v-if="item">{{ item }}</view>
|
||||
</block>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
<view class="font_26 color333 ui-ml-40 ui-mr-40 ui-mt-4">{{ userInfo.other_profile.ideal_mate || 'ta什么也没有留下' }}</view>
|
||||
</view>
|
||||
@ -1344,6 +1358,7 @@ wepy.page({
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
console.log(e, 'e==')
|
||||
let vm = this
|
||||
vm.userData = wx.getStorageSync('userInfo')
|
||||
vm.userId = wx.getStorageSync('user_id')
|
||||
@ -1365,6 +1380,9 @@ wepy.page({
|
||||
}
|
||||
} else {
|
||||
vm.id = e.id
|
||||
if (e.from_user_id) {
|
||||
wx.setStorageSync('from_user_id', e.from_user_id)
|
||||
}
|
||||
}
|
||||
vm.getDetail()
|
||||
vm.getDynamic()
|
||||
|
||||
@ -581,6 +581,7 @@ wepy.page({
|
||||
onShow() {
|
||||
},
|
||||
onLoad(e) {
|
||||
console.log(e, 'e=')
|
||||
let vm = this
|
||||
let app = vm.$app.$options
|
||||
vm.id = e.id
|
||||
|
||||
@ -39,7 +39,7 @@ page {
|
||||
}
|
||||
._list{
|
||||
padding: 0 50rpx;
|
||||
margin-top: 80rpx;
|
||||
margin-top: 42rpx;
|
||||
.getMobile{
|
||||
height: 55rpx;
|
||||
padding: 0 16rpx !important;
|
||||
@ -53,6 +53,49 @@ page {
|
||||
margin-right: 6rpx;
|
||||
}
|
||||
}
|
||||
.ui-phone-box{
|
||||
margin-top: 40rpx;
|
||||
padding: 8rpx 32rpx;
|
||||
border-radius: 32rpx;
|
||||
background: #F8F8F8;
|
||||
.ui-phone-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding:32rpx 0rpx;
|
||||
border-bottom: 2rpx solid rgba(221, 221, 221, .7);
|
||||
}
|
||||
.ui-phone-item:nth-child(2){
|
||||
border-bottom: 0;
|
||||
}
|
||||
.ui-phone-item-v2{
|
||||
justify-content: space-between;
|
||||
}
|
||||
.ui-phone-code{
|
||||
padding:16rpx 20rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color:#FF5380;
|
||||
border-radius: 20rpx;
|
||||
background: #FFE9EF;
|
||||
white-space: nowrap
|
||||
}
|
||||
.ui-phone-code-send{
|
||||
color: #ececec;
|
||||
background: #f8f8f8;
|
||||
border: 2rpx solid #ececec;
|
||||
|
||||
}
|
||||
}
|
||||
.radio-group{
|
||||
.radio-left{
|
||||
margin-right: 100rpx;
|
||||
}
|
||||
.itemRadio{
|
||||
transform: scale(.8);
|
||||
background: #f8f8f8;
|
||||
}
|
||||
}
|
||||
._listItem{
|
||||
margin-top: 30rpx;
|
||||
position: relative;
|
||||
@ -106,7 +149,7 @@ page {
|
||||
height: 88rpx;
|
||||
background: rgba(255, 83, 128, 0.6);
|
||||
border-radius: 100rpx;
|
||||
margin-top: 124rpx;
|
||||
margin-top: 82rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.btn-box.sel {
|
||||
@ -138,57 +181,85 @@ button::after{
|
||||
</view>
|
||||
</view>
|
||||
<view class="_list">
|
||||
<view class="_listItem animation-slide-bottom" style="animation-delay: 0.2s;">
|
||||
<input type="text" class="font_28 color-333 name ui-mb-12" placeholder="昵称|请输入2-10个字符" @change="typeing('name', $wx)" maxlength="10" />
|
||||
<view class="_listItem animation-slide-bottom f-fbc" style="animation-delay: 0.2s;">
|
||||
<view class="font_30 color-333">昵称</view>
|
||||
<view class="" style="flex:1">
|
||||
<input type="text" class="font_30 color-333 name ui-mb-12 text-r" placeholder="请输入2-10个字符" placeholder-class="text-r" @change="typeing('name', $wx)" maxlength="10" />
|
||||
</view>
|
||||
</view>
|
||||
<picker mode="date" :value="startDate" end="{{endDate}}" @change="typeing('birthday', $wx)">
|
||||
<view class="_listItem animation-slide-bottom f-fbc" style="animation-delay: 0.3s;">
|
||||
<view class="font_28 color-333">你的生日</view>
|
||||
<view class="f-fc">
|
||||
<input type="text" class="font_28 color-333 text inline-block" placeholder-class="font_24" v-model="birthday" disabled placeholder="真实信息提高你的自身魅力" />
|
||||
<view class="font_family icon-jiantoubeifen7 font_24 ui-mt-4"></view>
|
||||
<view class="font_30 color-333">你的生日</view>
|
||||
<view class="f-fc" style="flex:1">
|
||||
<input type="text" class="font_30 color-333 text inline-block" placeholder-class="font_30" v-model="birthday" disabled placeholder="真实信息提高你的自身魅力" />
|
||||
<view class="font_family icon-jiantoubeifen7 font_24 ui-mt-4" ></view>
|
||||
</view>
|
||||
</view>
|
||||
</picker>
|
||||
<button class="btn" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">
|
||||
<view class="_listItem animation-slide-bottom f-fbc" style="animation-delay: 0.3s;">
|
||||
<view class="font_28 color-333">绑定手机</view>
|
||||
<view class="f-fc">
|
||||
<input type="text" class="font_28 color-333 text inline-block" placeholder-class="font_24" v-model="mobile" disabled placeholder="获取微信绑定手机号" />
|
||||
<view class="font_family icon-jiantoubeifen7 font_24 ui-mt-4"></view>
|
||||
</view>
|
||||
</view>
|
||||
</button>
|
||||
<view class="g_gender animation-slide-bottom" style="animation-delay: 0.4s;">
|
||||
<view class="u_gender_tt font_26 color999">性别|保存后不可更改</view>
|
||||
<view class="f-fc font_28 color333">
|
||||
<view class="u_gender f-fcc {{sex == '男' ? 'male' : ''}}" @tap="changeSex('男')">男</view>
|
||||
<view class="u_gender f-fcc {{sex == '女' ? 'female' : ''}}" @tap="changeSex('女')">女</view>
|
||||
<view class="ui-phone-box">
|
||||
<div class="ui-phone-item">
|
||||
<input type="number" class="font_30 color-333 text inline-block" placeholder-class="font_30" v-model="mobile" placeholder="填写手机号" />
|
||||
</div>
|
||||
<div class="ui-phone-item-v2 ui-phone-item" >
|
||||
<input type="number" class="font_30 color-333 text inline-block" maxlength="6" placeholder-class="font_30" v-model="code" placeholder="请输入验证码" />
|
||||
<view class="ui-phone-code font_30 {{time == 0 ? '' : ''}}" style="flex:1" @tap="getCode">{{time == 0 ? '获取验证码' : btnText}}</view>
|
||||
</div>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <button class="btn" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">-->
|
||||
<!-- <view class="_listItem animation-slide-bottom f-fbc" style="animation-delay: 0.3s;">-->
|
||||
<!-- <view class="font_28 color-333">绑定手机</view>-->
|
||||
<!-- <view class="f-fc">-->
|
||||
<!-- <input type="text" class="font_28 color-333 text inline-block" placeholder-class="font_24" v-model="mobile" disabled placeholder="获取微信绑定手机号" />-->
|
||||
<!-- <view class="font_family icon-jiantoubeifen7 font_24 ui-mt-4"></view>-->
|
||||
<!-- </view>-->
|
||||
<!-- </view>-->
|
||||
<!-- </button>-->
|
||||
<view class="_listItem animation-slide-bottom f-fbc" style="animation-delay: 0.3s;">
|
||||
<view class="font_30 color-333">性别</view>
|
||||
<view class="f-fec text-r" style="flex:1">
|
||||
<radio-group class="radio-group" bindchange="sexChange">
|
||||
<label class="radio radio-left">
|
||||
<radio value="男" class="itemRadio mainColor ui-mr-20" color="#f8f8f8" :checked="sex=='男'" />男
|
||||
</label>
|
||||
<label class="radio">
|
||||
<radio value="女" class="itemRadio mainColor ui-mr-20" color="#f8f8f8" :checked="sex=='女'" />女
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
<view class="u_gender_tt font_26 color999 ui-mt-12 animation-slide-bottom f-fbc" style="animation-delay: 0.3s;">保存后不可更改</view>
|
||||
<!-- <view class="g_gender animation-slide-bottom" style="animation-delay: 0.4s;">-->
|
||||
<!-- <view class="u_gender_tt font_26 color999">性别|保存后不可更改</view>-->
|
||||
<!-- <view class="f-fc font_28 color333">-->
|
||||
<!-- <view class="u_gender f-fcc {{sex == '男' ? 'male' : ''}}" @tap="changeSex('男')">男</view>-->
|
||||
<!-- <view class="u_gender f-fcc {{sex == '女' ? 'female' : ''}}" @tap="changeSex('女')">女</view>-->
|
||||
<!-- </view>-->
|
||||
<!-- </view>-->
|
||||
<view class="_listItem animation-slide-bottom f-fbc" style="animation-delay: 0.5s;">
|
||||
<view class="f-fbc m_ct" @tap="residenceShow = true">
|
||||
<view class="font_28 color-333">目前居住地</view>
|
||||
<view class="f-fc">
|
||||
<input type="text" class="font_28 color-333 text inline-block" placeholder-class="font_24" disabled placeholder="匹配度提高90%" value="{{displayCity}}"/>
|
||||
<view class="font_30 color-333">目前居住地</view>
|
||||
<view class="f-fc" style="flex:1">
|
||||
<input type="text" class="font_30 color-333 text inline-block" placeholder-class="font_24" disabled placeholder="匹配度提高90%" value="{{displayCity}}"/>
|
||||
<view class="font_family icon-jiantoubeifen7 font_24"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<picker :value="emotionIndex" range="{{emotionList}}" @change="typeListing('emotion', 'emotionList', $wx)" >
|
||||
<view class="_listItem animation-slide-bottom f-fbc" style="animation-delay: 0.6s;">
|
||||
<view class="font_28 color-333">情感状况</view>
|
||||
<view class="f-fc">
|
||||
<input type="text" class="font_28 color-333 text inline-block" disabled placeholder="请选择你的情感状况" v-model="emotion" />
|
||||
<view class="font_30 color-333">情感状况</view>
|
||||
<view class="f-fc" style="flex:1">
|
||||
<input type="text" class="font_30 color-333 text inline-block" disabled placeholder="请选择你的情感状况" v-model="emotion" />
|
||||
<view class="font_family icon-jiantoubeifen7 font_24"></view>
|
||||
</view>
|
||||
</view>
|
||||
</picker>
|
||||
<picker :value="beliefIndex" range="{{beliefList}}" @change="typeListing('belief', 'beliefList', $wx)" >
|
||||
<view class="_listItem animation-slide-bottom f-fbc" style="animation-delay: 0.7s;">
|
||||
<view class="font_28 color-333">信仰</view>
|
||||
<view class="f-fc">
|
||||
<input type="text" class="font_28 color-333 text inline-block" disabled placeholder="请选择你的信仰" v-model="belief" />
|
||||
<view class="font_30 color-333">信仰</view>
|
||||
<view class="f-fc" style="flex:1">
|
||||
<input type="text" class="font_30 color-333 text inline-block" disabled placeholder="请选择你的信仰" v-model="belief" />
|
||||
<view class="font_family icon-jiantoubeifen7 font_24"></view>
|
||||
</view>
|
||||
</view>
|
||||
@ -226,6 +297,11 @@ wepy.page({
|
||||
endDate: '', // 出生日期结束时间
|
||||
|
||||
mobile: '',
|
||||
code: '',
|
||||
time: 0,
|
||||
timer: null,
|
||||
loading: false,
|
||||
btnText: '',
|
||||
sex: '',
|
||||
|
||||
address: {country: '', province: '', city: ''},
|
||||
@ -259,6 +335,11 @@ wepy.page({
|
||||
vm.endDate = `${Y - 12}-01-01`
|
||||
vm.beginData = `${Y - 120}-01-01`
|
||||
},
|
||||
computed: {
|
||||
btnText() {
|
||||
return +this.time > 0 ? `${this.time}s` : `获取验证码`
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
hideCut(e) {
|
||||
wx.showTabBar({
|
||||
@ -266,6 +347,48 @@ wepy.page({
|
||||
})
|
||||
this.chooseShow = e.chooseShow
|
||||
},
|
||||
// 获取验证码
|
||||
getCode() {
|
||||
let vm = this
|
||||
if (!vm.mobile) {
|
||||
vm.$showToast('请输入手机号')
|
||||
return
|
||||
}
|
||||
// 防抖
|
||||
if (vm.loading || vm.time > 0) return
|
||||
// 开防抖
|
||||
vm.loading = true
|
||||
// 根据业务接口处理:发送验证码
|
||||
let data = {
|
||||
mobile: vm.mobile
|
||||
}
|
||||
vm.$showLoading('加载中...')
|
||||
vm.$post({url: `${service.host}/register/sms/code`, data}).then(res => {
|
||||
wx.hideLoading()
|
||||
if (res.code === 1) {
|
||||
return
|
||||
}
|
||||
// 开倒计时
|
||||
vm.timing(60)
|
||||
vm.$showToast(`发送成功`)
|
||||
})
|
||||
},
|
||||
timing(time) {
|
||||
this.time = time
|
||||
this.timer = setTimeout(() => {
|
||||
if (time > 0) {
|
||||
this.timing(time - 1)
|
||||
} else {
|
||||
this.loading = false
|
||||
}
|
||||
}, 1000)
|
||||
},
|
||||
// 选择性别
|
||||
sexChange(e) {
|
||||
console.log(e, 'e===')
|
||||
this.sex = e.$wx.detail.value
|
||||
console.log(this.sex, 'sex==')
|
||||
},
|
||||
complete() {
|
||||
let vm = this
|
||||
console.log(this.photo, vm.photo, 'vm.photo==')
|
||||
@ -292,6 +415,9 @@ wepy.page({
|
||||
if (!vm.mobile) {
|
||||
return vm.$showToast('请选择绑定手机号')
|
||||
}
|
||||
if (!vm.code) {
|
||||
return vm.$showToast('请输入验证码')
|
||||
}
|
||||
if (!vm.birthday) {
|
||||
return vm.$showToast('请选择你的生日')
|
||||
}
|
||||
@ -315,7 +441,8 @@ wepy.page({
|
||||
country: vm.address.country,
|
||||
province: vm.address.province,
|
||||
city: vm.address.city,
|
||||
birthday: vm.birthday
|
||||
birthday: vm.birthday,
|
||||
code: vm.code
|
||||
// userInfo: vm.userInfo,
|
||||
// openid: vm.openid,
|
||||
// unionid: vm.unionid,
|
||||
@ -327,6 +454,7 @@ wepy.page({
|
||||
console.log(userInfo, '===')
|
||||
userInfo.is_base_profile = true
|
||||
wx.setStorageSync('userInfo', userInfo)
|
||||
wx.setStorageSync('mobile', vm.mobile) // 用户手机号
|
||||
vm.$showToast('注册成功')
|
||||
setTimeout(() => {
|
||||
wx.hideLoading()
|
||||
|
||||
@ -1,416 +0,0 @@
|
||||
<style lang="less" scoped>
|
||||
@import url(../styles/theme.less);
|
||||
page {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.login-container{
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
background-color: #ffffff;
|
||||
overflow: hidden;
|
||||
.ui-tabBar-box{
|
||||
width: 100vw;
|
||||
.ui-tabBar-list{
|
||||
padding: 100rpx 142rpx 80rpx 142rpx;
|
||||
.ui-tabBar-line{
|
||||
position: absolute;
|
||||
bottom: 8rpx;
|
||||
z-index: 2;
|
||||
width: 100%;
|
||||
height: 10rpx;
|
||||
background: linear-gradient(90deg, rgba(95,226,175,0.1) 0%, #41D5A9 100%);
|
||||
border-radius: 5rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.ui-icon-box{
|
||||
margin-left: 184rpx;
|
||||
width: 100vw;
|
||||
.ui-radio-icon{
|
||||
height: 120rpx;
|
||||
width: 120rpx;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
.ui-next-icon{
|
||||
margin: 0 50rpx;
|
||||
width: 56rpx;
|
||||
height: 32rpx;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
.ui-next-img{
|
||||
background-image: url("https://image.fulllinkai.com/202211/22/57641b9443b43fa228b393ba4c346897.png");
|
||||
}
|
||||
.ui-wx-img{
|
||||
background-image: url("https://image.fulllinkai.com/202307/08/b8e7997ac2ff19757a56a72f282abc28.png");
|
||||
}
|
||||
.ui-wxapp-img{
|
||||
background-image: url("https://image.fulllinkai.com/202211/22/28c5c5401a7b35da09ac5c079a861819.png");
|
||||
}
|
||||
|
||||
}
|
||||
.ui-btn{
|
||||
margin: 150rpx 40rpx 0;
|
||||
height: 100rpx;
|
||||
line-height: 100rpx;
|
||||
border: none;
|
||||
color: #e3fbf3;
|
||||
background-color: @theme_color;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
.ui-btn-v2{
|
||||
background-color: #c2c2c2;
|
||||
color: #ffffff;
|
||||
}
|
||||
.m_inp {
|
||||
margin: 0 40rpx 40rpx 40rpx;
|
||||
padding: 0 20rpx;
|
||||
height: 98rpx;
|
||||
border: 2rpx solid #ededed;
|
||||
border-radius: 16rpx;
|
||||
position: relative;
|
||||
input{
|
||||
width: 284rpx;
|
||||
}
|
||||
.m_wo {
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
.u_coll_img {
|
||||
height: 12rpx;
|
||||
width: 20rpx;
|
||||
margin: 0rpx 20rpx 0 8rpx;
|
||||
}
|
||||
}
|
||||
.m_woPho {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 78rpx;
|
||||
width: 210rpx;
|
||||
padding-left: 10rpx;
|
||||
//height: 416rpx;
|
||||
background: #fff;
|
||||
border: 2rpx solid #f5f5f5;
|
||||
border-radius: 8rpx;
|
||||
z-index: 222;
|
||||
overflow-y: scroll;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.ui-input-box{
|
||||
padding: 0 40rpx;
|
||||
position: relative;
|
||||
.ui-input-class{
|
||||
padding: 0 246rpx 0 20rpx;
|
||||
height: 98rpx;
|
||||
border: 2rpx solid #ededed;
|
||||
border-radius: 16rpx;
|
||||
}
|
||||
.ui-code-box{
|
||||
position: absolute;
|
||||
top: 24rpx;
|
||||
right: 64rpx;
|
||||
padding: 0 20rpx;
|
||||
height: 52rpx;
|
||||
border-radius: 26rpx;
|
||||
border: 2rpx solid #B2E3D2;
|
||||
z-index: 22;
|
||||
}
|
||||
.ui-code-border{
|
||||
border: 2rpx solid #ececec;
|
||||
}
|
||||
}
|
||||
.ui-code-btn-box{
|
||||
width: 650rpx;
|
||||
height: 100rpx;
|
||||
border-radius: 50rpx;
|
||||
background: #5AC7A0;
|
||||
margin: 90rpx auto 0 auto;
|
||||
}
|
||||
.ui-agree-box{
|
||||
margin: 50rpx auto;
|
||||
padding: 0 90rpx;
|
||||
display: flex;
|
||||
justify-items: left;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
.ui-agree-icon{
|
||||
margin-right: 16rpx;
|
||||
margin-top: 2rpx;
|
||||
height: 32rpx;
|
||||
width: 32rpx;
|
||||
min-width: 32rpx;
|
||||
background-image: url("https://image.fulllinkai.com/202211/24/6ecbd7d3cb7c8d5bfcea6546dc6d7af0.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.ui-agree-icon-change{
|
||||
background-image: url("https://image.fulllinkai.com/202211/24/1956379959ca1cc109880daaa97ce70a.png");
|
||||
}
|
||||
.ui-agree-text{
|
||||
color: @theme_color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<template>
|
||||
<view class="login-container">
|
||||
<view class="ui-tabBar-box">
|
||||
<view class="ui-tabBar-list f-fbc">
|
||||
<view class="font_30 ui-relative {{tabBarIndex == index ? 'color-theme bold' : 'color666'}}" v-for="(item,index) in tabBarList" :key="index" @tap="selectTabBar(index)">
|
||||
{{item}}
|
||||
<view class="ui-tabBar-line" v-if="tabBarIndex == index"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<block v-if="tabBarIndex == 0">
|
||||
<view class="ui-icon-box f-fc">
|
||||
<view class="ui-radio-icon ui-wx-img"></view>
|
||||
<view class="ui-next-icon ui-next-img"></view>
|
||||
<view class="ui-radio-icon ui-wxapp-img"></view>
|
||||
</view>
|
||||
<button v-if="selectIcon" class="ui-btn font_32" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">
|
||||
{{ i18nL.login.Ace2 }}
|
||||
</button>
|
||||
<view v-else class="ui-btn ui-btn-v2 text-c colorfff font_32" @tap="toSelect">{{ i18nL.login.Ace2 }}</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="m_inp f-fc">
|
||||
<scroll-view scroll-into-view="{{toView}}" scroll-y class="m_woPho" v-if="!showChooseArea">
|
||||
<block v-for="(item,index) in areaList" wx:key="index">
|
||||
<view id="in_{{index}}" class="font_28 {{item.nation_code == AreaValue ? 'color-theme' : 'color333'}}" style="text-align: left;padding: 12rpx 10rpx;" @tap="selectedArea(item, index)">{{item.nation_code}} {{item.nation_name}}</view>
|
||||
</block>
|
||||
</scroll-view>
|
||||
<view class="m_wo f-fcl" @tap.stop="showWorldPhone">
|
||||
<view>{{AreaValue}}</view>
|
||||
<image class="u_coll_img" v-if="showChooseArea" src="https://image.fulllinkai.com/202111/29/526faa3d99616f1faba1cde44c7ee204.png" mode="aspectFill"></image>
|
||||
<image class="u_coll_img" v-else src="https://image.fulllinkai.com/202111/29/f1e9aff7554cb0207f045b9d15388f61.png" mode="aspectFill"></image>
|
||||
</view>
|
||||
<input class="font_30 ui-input-class color333 ui-letter-2" v-model="mobile" type="number" maxlength="16" :placeholder="i18nL.pages.service.detail.inputMobile" />
|
||||
</view>
|
||||
<view class="ui-input-box">
|
||||
<input style="margin-left: 0;" :placeholder="i18nL.pages.user.bindMobile.Ace10" type="number" v-model="code" maxlength="6" class="font_30 ui-input-class color333 ui-letter-2"/>
|
||||
<view class="font_24 ui-code-box f-fcc {{time == 0 ? 'color-theme' : 'color999 ui-code-border'}}" @tap="getCode">{{time == 0 ? i18nL.pages.user.bindMobile.Ace7 : btnText}}</view>
|
||||
</view>
|
||||
<view class="font_32 f-fcc ui-code-btn-box white" @tap="bindMobile">{{i18nL.pages.user.bindMobile.Ace16}}</view>
|
||||
</block>
|
||||
<view class="ui-agree-box">
|
||||
<view class="ui-agree-icon {{selectIcon ? 'ui-agree-icon-change': ''}}" @tap="selectDegree"></view>
|
||||
<view class="f-fc">
|
||||
<view class="color999 font_26" @tap="selectDegree">{{ i18nL.login.Ace3 }}《<span class="ui-agree-text font_26" @tap.stop="gotoH5('https://love.ufutx.com/h5/#/healthAgreement')">{{ i18nL.login.Ace4 }}</span>》</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import wepy from '@wepy/core'
|
||||
import https from '../mixins/https'
|
||||
import base from '../mixins/base'
|
||||
import {getPhoneNumber} from '../utils/util'
|
||||
import {service} from '../config'
|
||||
|
||||
wepy.page({
|
||||
config: {},
|
||||
mixins: [https, base],
|
||||
|
||||
data: {
|
||||
modalName: '',
|
||||
fileList: [],
|
||||
tabBarList: ['微信快捷登录', '手机号登录'],
|
||||
tabBarIndex: 0,
|
||||
showChooseArea: true,
|
||||
AreaIndex: 0,
|
||||
areaList: [
|
||||
{nation_code: '86', nation_name: '中国大陆'},
|
||||
{nation_code: '886', nation_name: '中国台湾'},
|
||||
{nation_code: '852', nation_name: '中国香港'},
|
||||
{nation_code: '853', nation_name: '中国澳门'},
|
||||
{nation_code: '65', nation_name: '新加坡'},
|
||||
{nation_code: '66', nation_name: '泰国'},
|
||||
{nation_code: '61', nation_name: '澳大利亚'}
|
||||
],
|
||||
toView: 'in_',
|
||||
AreaValue: '中国大陆 86',
|
||||
code: '',
|
||||
time: 0,
|
||||
timer: null,
|
||||
loading: false,
|
||||
btnText: '',
|
||||
photo: '',
|
||||
list: [],
|
||||
mobile: '',
|
||||
nickName: '',
|
||||
phoneNumber: '',
|
||||
user: {},
|
||||
selectIcon: false
|
||||
},
|
||||
|
||||
computed: {
|
||||
btnText() {
|
||||
if (this.i18nL) {
|
||||
return +this.time > 0 ? `${this.time}s ${this.i18nL.pages.user.bindMobile.Ace6}` : `${this.i18nL.pages.user.bindMobile.Ace7}`
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
getPhoneNumber({$wx: e}) { // 获取手机号
|
||||
let vm = this
|
||||
if (e.detail.iv) {
|
||||
getPhoneNumber(e).then(({phone}) => {
|
||||
console.log(phone, '11111')
|
||||
if (phone) {
|
||||
vm.mobile = phone
|
||||
console.log(vm.mobile)
|
||||
vm.bindMobile()
|
||||
}
|
||||
}).catch((Error) => {
|
||||
wx.showModal({ // 使用模态框提示用户进行操作
|
||||
title: `${this.i18nL.pages.user.user1ace13}`,
|
||||
content: Error,
|
||||
showCancel: false,
|
||||
confirmText: `${this.i18nL.pages.user.user1ace15}`,
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
wx.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
bindMobile() {
|
||||
let vm = this
|
||||
let data = {
|
||||
mobile: vm.mobile,
|
||||
type: vm.tabBarIndex == 0 ? 'wechat' : 'code',
|
||||
code: vm.tabBarIndex == 0 ? '' : vm.code
|
||||
}
|
||||
if (!vm.mobile) {
|
||||
vm.$showToast(`${vm.i18nL.pages.user.bindMobile.Ace3}`)
|
||||
return
|
||||
}
|
||||
if (vm.AreaIndex == 0 && (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(vm.mobile)))) {
|
||||
this.$showToast(`${this.i18nL.pages.user.bindMobile.Ace8}`)
|
||||
return
|
||||
}
|
||||
if (vm.tabBarIndex == 1 && !vm.code) {
|
||||
vm.$showToast(`${vm.i18nL.pages.user.bindMobile.Ace10}`)
|
||||
return
|
||||
}
|
||||
if (!vm.selectIcon) {
|
||||
vm.$showToast(`${vm.i18nL.login.Ace6}`)
|
||||
return
|
||||
}
|
||||
vm.$showLoading(`${vm.i18nL.pages.tabBar.home.Ace26}`)
|
||||
vm.$post({url: service.bindMobile, data}).then(res => {
|
||||
wx.hideLoading()
|
||||
if (res.code === 1) {
|
||||
return
|
||||
}
|
||||
wx.setStorageSync('mobile', vm.mobile)
|
||||
vm.$showToast(`${vm.i18nL.login.Ace5}`)
|
||||
setTimeout(() => {
|
||||
vm.$redirectTo(`/pages/user/registrationMaterial`)
|
||||
}, 1200)
|
||||
})
|
||||
},
|
||||
selectTabBar(index) {
|
||||
let vm = this
|
||||
vm.tabBarIndex = index
|
||||
},
|
||||
// 获取验证码
|
||||
getCode() {
|
||||
let vm = this
|
||||
if (!vm.mobile) {
|
||||
vm.$showToast(`${vm.i18nL.pages.user.bindMobile.Ace3}`)
|
||||
return
|
||||
}
|
||||
// 防抖
|
||||
if (vm.loading || vm.time > 0) return
|
||||
// 开防抖
|
||||
vm.loading = true
|
||||
// 根据业务接口处理:发送验证码
|
||||
let data = {
|
||||
mobile: vm.mobile,
|
||||
area_code: vm.areaList[vm.AreaIndex].nation_code
|
||||
}
|
||||
vm.$showLoading(`${vm.i18nL.pages.tabBar.home.Ace26}`)
|
||||
vm.$get({url: `${service.host}/mobile/code`, data}).then(res => {
|
||||
wx.hideLoading()
|
||||
if (res.code === 1) {
|
||||
return
|
||||
}
|
||||
// 开倒计时
|
||||
vm.timing(60)
|
||||
vm.$showToast(`${vm.i18nL.pages.user.bindMobile.Ace9}`)
|
||||
})
|
||||
},
|
||||
timing(time) {
|
||||
this.time = time
|
||||
this.timer = setTimeout(() => {
|
||||
if (time > 0) {
|
||||
this.timing(time - 1)
|
||||
} else {
|
||||
this.loading = false
|
||||
}
|
||||
}, 1000)
|
||||
},
|
||||
showWorldPhone() {
|
||||
this.toView = `in_${this.AreaIndex}`
|
||||
this.showChooseArea = !this.showChooseArea
|
||||
},
|
||||
selectedArea(e, index) {
|
||||
this.AreaValue = `${e.nation_name} ${e.nation_code}`
|
||||
this.AreaIndex = index
|
||||
this.showChooseArea = !this.showChooseArea
|
||||
},
|
||||
selectDegree() {
|
||||
this.selectIcon = !this.selectIcon
|
||||
},
|
||||
toSelect() {
|
||||
this.$showToast(`${this.i18nL.login.Ace6}`)
|
||||
},
|
||||
gotoH5(item) {
|
||||
wx.navigateTo({ url: '/pages/sub_page/bookDetail?url=' + encodeURIComponent(item) })
|
||||
}
|
||||
},
|
||||
onPullDownRefresh() { // 下拉刷新
|
||||
// this.getUserInfo()
|
||||
},
|
||||
onShow() {
|
||||
this.i18nL = this.$app.$options.globalData.i18nL // 切换赋值- 娄底
|
||||
this.$setNavigationBarTitleI18n(this.i18nL.login.title) // 设置顶部title
|
||||
this.tabBarList[0] = this.i18nL.login.Ace7
|
||||
this.tabBarList[1] = this.i18nL.login.Ace8
|
||||
this.tabBarList = JSON.parse(JSON.stringify(this.tabBarList))
|
||||
this.areaList[0].nation_name = this.i18nL.pages.user.bindMobile.Ace12
|
||||
this.areaList[1].nation_name = this.i18nL.pages.user.bindMobile.Ace13
|
||||
this.areaList[2].nation_name = this.i18nL.pages.user.bindMobile.Ace14
|
||||
this.areaList[3].nation_name = this.i18nL.pages.user.bindMobile.Ace15
|
||||
this.areaList[4].nation_name = this.i18nL.pages.user.bindMobile.Ace18
|
||||
this.areaList[5].nation_name = this.i18nL.pages.user.bindMobile.Ace17
|
||||
this.areaList[6].nation_name = this.i18nL.pages.user.bindMobile.Ace19
|
||||
this.areaList = JSON.parse(JSON.stringify(this.areaList))
|
||||
this.AreaValue = `${this.i18nL.pages.user.bindMobile.Ace12} 86`
|
||||
},
|
||||
created() {
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<config>
|
||||
{
|
||||
navigationBarTitleText: '友福DMA',
|
||||
<!--navigationStyle: 'custom',-->
|
||||
enablePullDownRefresh: false,
|
||||
backgroundColorTop: '#F4F7FC',
|
||||
backgroundColorBottom: '#F4F7FC'
|
||||
}
|
||||
</config>
|
||||
@ -705,7 +705,7 @@ page {
|
||||
</view>
|
||||
<view class="g_bt_tips_two" v-if="userInfo.is_real_approved == 2 && !hiddenHtml">
|
||||
<view class="font_24 color333 text-center ui-pr-40 ui-pl-40">认证已提交审核,审核结果将在1~3个工作日内通知,请耐心等待;如有需要,请直接联系客服
|
||||
<text class="color-theme">18922809346</text>
|
||||
<text class="color-theme">18194063294</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="g_bt_tips_one f-fcc f-fdc" v-else-if="userInfo.is_real_approved != 1 && !hiddenHtml">
|
||||
@ -860,8 +860,12 @@ wepy.page({
|
||||
vm.lastTime = format(msg.time)
|
||||
vm.callbackSend('text')
|
||||
})
|
||||
}
|
||||
},
|
||||
done: sendMsgDone
|
||||
})
|
||||
function sendMsgDone(error, file) {
|
||||
console.log('上传' + (!error ? '成功' : '失败'), file)
|
||||
}
|
||||
// })
|
||||
},
|
||||
// 发送图片消息
|
||||
|
||||
@ -382,6 +382,8 @@ wepy.page({
|
||||
vm.$refs.pageScroll.showBackTopBtn = top > 380
|
||||
},
|
||||
onShow() {
|
||||
this.userInfo = wx.getStorageSync('userInfo')
|
||||
console.log(this.userInfo, 'dd--')
|
||||
},
|
||||
onLoad(e) {
|
||||
let vm = this
|
||||
@ -389,7 +391,6 @@ wepy.page({
|
||||
vm.buImg = 'https://images.ufutx.com/202106/21/42c2796abf4217cd79871c29ec794ca4.png'
|
||||
vm.dialogIng = 'https://images.ufutx.com/202106/21/0e7d701cd1280a9b2ecffd1287c9abd1.png'
|
||||
vm.getList()
|
||||
vm.userInfo = wx.getStorageSync('userInfo')
|
||||
console.log(vm.userInfo.rank_id, '7777777777')
|
||||
}
|
||||
})
|
||||
|
||||
@ -582,6 +582,7 @@ wepy.page({
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.userInfo = wx.getStorageSync('userInfo')
|
||||
},
|
||||
onLoad(e) {
|
||||
let vm = this
|
||||
@ -590,7 +591,6 @@ wepy.page({
|
||||
}
|
||||
vm.getList()
|
||||
vm.getFansList()
|
||||
vm.userInfo = wx.getStorageSync('userInfo')
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@ -394,10 +394,10 @@ wepy.page({
|
||||
jumpPath(url) {
|
||||
let vm = this
|
||||
// 校验是否完成注册资料
|
||||
if (!vm.$signInVerify()) {
|
||||
vm.loginShow = true
|
||||
return
|
||||
}
|
||||
// if (!vm.$signInVerify()) {
|
||||
// vm.loginShow = true
|
||||
// return
|
||||
// }
|
||||
wx.navigateTo({url: url})
|
||||
},
|
||||
signInVerify() {
|
||||
|
||||
@ -8,6 +8,19 @@ page {
|
||||
padding-bottom: 45rpx;
|
||||
}
|
||||
|
||||
.ui-swiper-box{
|
||||
margin:32rpx 32rpx 0;
|
||||
height: 200rpx;
|
||||
border-radius:32rpx!important;
|
||||
overflow: hidden;
|
||||
}
|
||||
.ui-swiper-list{
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
height: 200rpx;
|
||||
border-radius:32rpx;
|
||||
}
|
||||
|
||||
.ui-top-up{
|
||||
width: 174rpx;
|
||||
height: 36rpx;
|
||||
@ -15,7 +28,7 @@ page {
|
||||
}
|
||||
|
||||
.ui-top-box{
|
||||
display: fiex;
|
||||
display: flex;
|
||||
overflow-x: auto;
|
||||
margin-left: 6rpx;
|
||||
|
||||
@ -283,10 +296,111 @@ page {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
.ui-adv-box{
|
||||
position: fixed;
|
||||
bottom: 270rpx;
|
||||
right: 8rpx;
|
||||
width: 120rpx;
|
||||
height: 144rpx;
|
||||
color:#ffffff;
|
||||
z-index: 1000;
|
||||
background: url('https://images.health.ufutx.com/202502/21/5f8a2d1d65bec51b00ff04f268b93e16.png');
|
||||
background-size: cover;
|
||||
}
|
||||
.ui-adv-message{
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
background: url('https://image.fulllinkai.com/202501/07/2294cafbfe5261dad430371f0aed9b52.png');
|
||||
background-size: cover;
|
||||
}
|
||||
.ui-adv-close{
|
||||
position: absolute;
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
bottom: -44rpx;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
background: url('https://image.fulllinkai.com/202501/07/3a14b8cc539285e3ba96b0977749bfc5.png');
|
||||
background-size: cover;
|
||||
}
|
||||
.ui--message-fade{
|
||||
animation: adv-message-shake 1s infinite linear;
|
||||
}
|
||||
@keyframes adv-message-shake {
|
||||
0% {
|
||||
transform:rotate(0deg);
|
||||
}
|
||||
25% {
|
||||
transform:rotate(15deg);
|
||||
}
|
||||
50% {
|
||||
transform:rotate(0deg);
|
||||
}
|
||||
75% {
|
||||
transform:rotate(-15deg);
|
||||
}
|
||||
//100% {
|
||||
// transform:rotate(0deg);
|
||||
//}
|
||||
}
|
||||
.ui-fade-in {
|
||||
opacity: 0;
|
||||
animation: enter-x-left 0.4s ease-in-out 0.3s;
|
||||
animation-fill-mode: forwards;
|
||||
transform: translateX(120rpx);
|
||||
}
|
||||
.ui-fade-out {
|
||||
opacity: 1;
|
||||
animation: enter-x-right 0.4s ease-in-out 0.3s;
|
||||
animation-fill-mode: forwards;
|
||||
}
|
||||
@keyframes enter-x-left {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
@keyframes enter-x-right {
|
||||
to {
|
||||
opacity: 0;
|
||||
transform: translateX(120rpx);
|
||||
}
|
||||
}
|
||||
.login_prompt_box {
|
||||
position: fixed;
|
||||
top:50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%,-50%);
|
||||
.ui-adv-modal{
|
||||
width: 600rpx;
|
||||
height: auto;
|
||||
}
|
||||
.loginCancelIcon {
|
||||
width: 56rpx;
|
||||
height: 56rpx;
|
||||
position: absolute;
|
||||
bottom:-60rpx;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
z-index: 99;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<view class="ui-home" v-if="pageLoading">
|
||||
<!-- <scroll-view scroll-y="true" bindscroll="" class="scroll-content">-->
|
||||
<view class="ui-home" v-if="pageLoading" @scroll="onPageScroll">
|
||||
<cuCustom :searchName="'寻找心仪的Ta'" @tap="jumpPath('/pages/home/searchUsers')"></cuCustom>
|
||||
<swiper class="ui-swiper-box" circular="true" autoplay="true" indicator-dots="true" indicator-color="#c5c5c5" indicator-active-color="#ffffff">
|
||||
<block v-for="(item,index) in swiperList" :key="index">
|
||||
<swiper-item class=" ui-relative ">
|
||||
<image :src="item.img" class="ui-swiper-list" mode="aspectFill" @tap.stop="goToShop(item)"></image>
|
||||
</swiper-item>
|
||||
</block>
|
||||
</swiper>
|
||||
<view :class="{'ui-fade-out': isScroll,'ui-fade-in': !isScroll}" class="ui-adv-box" v-if="!isClickClose" @tap="goToShop">
|
||||
<!-- <view class="ui-adv-message ui--message-fade"></view>-->
|
||||
<div class="ui-adv-close" @tap.stop="isClickClose = true"></div>
|
||||
</view>
|
||||
<view class="f-fbc ui-pl-30 ui-pt-40 ui-pr-30">
|
||||
<view class="font_34 color333 bold">置顶推荐</view>
|
||||
<image class="ui-top-up" src="https://image.fulllinkai.com/202409/24/9c5a93366fc9e24dec02ba62c87ecf15.png" mode="widthFix" @tap="applyTopUp" v-if="topUpState != 2"></image>
|
||||
@ -445,7 +559,16 @@ page {
|
||||
</view>
|
||||
</view>
|
||||
<loginDialog :loginShow="loginShow" @hiddenLogin="hiddenLogin"></loginDialog>
|
||||
<view :class="{'show':modalName=='showAdv'}" class="cu-modal">
|
||||
<view class="login_prompt_box">
|
||||
<image class="ui-adv-modal" :src="advModal.pic"
|
||||
mode="widthFix" @tap="goToShop(advModal)">
|
||||
</image><image class="loginCancelIcon" src="https://image.fulllinkai.com/202501/07/3a14b8cc539285e3ba96b0977749bfc5.png"
|
||||
mode="widthFix" @tap="hideModal"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- </scroll-view>-->
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -472,16 +595,47 @@ wepy.page({
|
||||
noMoreSquare: false, // 单身广场更多
|
||||
squarePage: 1,
|
||||
no_more: false,
|
||||
isScroll: false,
|
||||
isClickClose: false, // 是否点击关闭了
|
||||
cardCur: 0, // 为你推荐轮播下标
|
||||
referrals: [], // 为你推荐
|
||||
countdown: {d: '0', h: '00', m: '00', s: '00'},
|
||||
timer: null,
|
||||
swiperList: [
|
||||
// {url: 'https://health.ufutx.com/go_html/store_common#/agentHome', img: 'https://images.health.ufutx.com/202501/10/77128459dc40babf165f8bb2cc44be1d.jpeg'},
|
||||
{url: 'https://health.ufutx.com/go_html/store_common#/agentHome', img: 'https://images.health.ufutx.com/202501/09/cd369bc6aa8ca9cb9626bb75e9d5ab6c.jpeg'},
|
||||
// {url: 'https://health.ufutx.com/go_html/store_common#/agentHome', img: 'https://images.health.ufutx.com/202412/31/81b8f50c7e8a03a5aaf9310f02470660.jpeg'},
|
||||
{url: 'https://health.ufutx.com/go_html/store_common#/agentHome', img: 'https://images.health.ufutx.com/202412/20/68a61ecd8f5255ab557747d95cf2cae6.jpeg'}
|
||||
],
|
||||
modalName: '', //
|
||||
advModal: {
|
||||
id: 0,
|
||||
pic: '',
|
||||
shop_id: null
|
||||
}, //
|
||||
url: 'other/user/square' // 精准推荐
|
||||
|
||||
},
|
||||
methods: {
|
||||
hideModal() {
|
||||
this.modalName = ''
|
||||
},
|
||||
onPageScroll(e) {
|
||||
let vm = this.$wepy
|
||||
// 根据滚动位置来设置按钮的隐藏状态
|
||||
// 这里的scrollTop是滚动条垂直滚动的距离
|
||||
vm.isScroll = true
|
||||
clearTimeout(this.scrollTimeout)
|
||||
this.scrollTimeout = setTimeout(() => {
|
||||
// 定时器时间到后,如果没有新的滚动事件触发,则认为滚动停止
|
||||
vm.isScroll = false
|
||||
// 这里可以执行滚动停止后的逻辑,比如显示某个按钮
|
||||
}, 200) // 200毫秒后判断滚动是否停止,这个时间可以根据需要调整
|
||||
},
|
||||
// 获取置顶推荐用户
|
||||
getTopUser() {
|
||||
let vm = this
|
||||
console.log(this, 'topthis')
|
||||
vm.$get({url: `${service.host}/area/top/users`}).then(({code, data}) => {
|
||||
if (code === 0) {
|
||||
vm.topList = data || []
|
||||
@ -647,16 +801,57 @@ wepy.page({
|
||||
},
|
||||
jumpPath(url) {
|
||||
let vm = this
|
||||
// 校验是否完成注册资料
|
||||
if (!vm.$signInVerify()) {
|
||||
vm.loginShow = true
|
||||
return
|
||||
}
|
||||
// // 校验是否完成注册资料
|
||||
// if (!vm.$signInVerify()) {
|
||||
// vm.loginShow = true
|
||||
// return
|
||||
// }
|
||||
wx.navigateTo({url: url})
|
||||
},
|
||||
hiddenLogin() {
|
||||
let vm = this
|
||||
vm.loginShow = false
|
||||
},
|
||||
getBannerList() {
|
||||
let vm = this
|
||||
vm.$get({url: `${service.host}/dma/carousel/list`}).then(({code, data}) => {
|
||||
if (code === 0) {
|
||||
vm.swiperList = data.map(item => {
|
||||
return {
|
||||
img: item.icon,
|
||||
shop_id: item.shop_id,
|
||||
program: item.program
|
||||
}
|
||||
}).filter((item) => {
|
||||
return !item.program
|
||||
})
|
||||
}
|
||||
wx.hideLoading()
|
||||
}).catch(err => {
|
||||
wx.hideLoading()
|
||||
console.log(err)
|
||||
})
|
||||
},
|
||||
goToShop(item) {
|
||||
let name = wx.getStorageSync('userInfo').name || ''
|
||||
let mobile = wx.getStorageSync('mobile') || ''
|
||||
console.log(item, 'ite-==')
|
||||
if (item && item.shop_id) {
|
||||
wx.navigateToMiniProgram({
|
||||
appId: 'wxe486777f4379507e',
|
||||
path: `/pages/sub_page/shopDetail?id=${item.shop_id}&name=${name}&mobile=${mobile}`
|
||||
})
|
||||
return
|
||||
}
|
||||
wx.navigateToMiniProgram({
|
||||
appId: 'wxe486777f4379507e',
|
||||
path: `/pages/sub_page/shopListV2?name=${name}&mobile=${mobile}`
|
||||
})
|
||||
return
|
||||
console.log('111')
|
||||
// wx.navigateTo({url: item.url})
|
||||
// wx.navigateTo({url: '/pages/books/bookDetail?url=' + encodeURIComponent(item.url)})
|
||||
wx.navigateTo({url: '/pages/books/bookDetail?url=' + encodeURIComponent('https://health.ufutx.com/go_html/store_common#/agentHome')})
|
||||
}
|
||||
},
|
||||
// 上拉获取更多数据
|
||||
@ -680,15 +875,43 @@ wepy.page({
|
||||
if (wx.getStorageSync('logoutCode')) {
|
||||
wx.redirectTo({url: '/pages/users/logoutDefault'})
|
||||
}
|
||||
// if (vm.userInfo) {
|
||||
// console.log('444')
|
||||
// setTimeout(() => {
|
||||
// wx.switchTab({url: '/pages/tabBar/home'})
|
||||
// }, 3000)
|
||||
// }
|
||||
},
|
||||
onLoad() {
|
||||
let vm = this
|
||||
vm.userInfo = wx.getStorageSync('userInfo')
|
||||
console.log(vm.userInfo, 'vm.userInfo')
|
||||
if (!vm.userInfo) {
|
||||
console.log('444')
|
||||
setTimeout(() => {
|
||||
vm.getTopUser()
|
||||
vm.getArea()
|
||||
vm.getEveryday()
|
||||
vm.getSquare()
|
||||
vm.applyTopUpState()
|
||||
vm.getBannerList()
|
||||
vm.advModal = wx.getStorageSync('adv')
|
||||
if ((vm.advModal.id - 0) > 0) {
|
||||
vm.modalName = 'showAdv'
|
||||
}
|
||||
}, 1200)
|
||||
} else {
|
||||
vm.getTopUser()
|
||||
vm.getArea()
|
||||
vm.getEveryday()
|
||||
vm.getSquare()
|
||||
vm.applyTopUpState()
|
||||
vm.getBannerList()
|
||||
vm.advModal = wx.getStorageSync('adv')
|
||||
if ((vm.advModal.id - 0) > 0) {
|
||||
vm.modalName = 'showAdv'
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@ -446,10 +446,10 @@ wepy.page({
|
||||
jumpPath(e) {
|
||||
let vm = this
|
||||
// 校验是否完成注册资料
|
||||
if (!vm.$signInVerify()) {
|
||||
vm.loginShow = true
|
||||
return
|
||||
}
|
||||
// if (!vm.$signInVerify()) {
|
||||
// vm.loginShow = true
|
||||
// return
|
||||
// }
|
||||
wx.navigateTo({url: e.path})
|
||||
},
|
||||
hiddenLogin() {
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
<template>
|
||||
<view class="page-user">
|
||||
<view class=" bgs" style="background: #fff">
|
||||
<userTitle :user.sync="user" :token.sync="token" :is_base_info.sync="is_base_info" @modalCity="modalCity" @modalInit="modalInit"></userTitle>
|
||||
<userTitle :user.sync="user" :token.sync="token" :is_base_info.sync="is_base_info" @modalCity="modalCity"
|
||||
@modalInit="modalInit"></userTitle>
|
||||
<view class="bc_tab color-333">
|
||||
<view class="text-center flo_l mainF" @tap="goto('/pages/users/friendlist?type=friend','好友')">
|
||||
<view class="bold font_32 text-black">{{ listCount.friend_count || '0' }}</view>
|
||||
@ -21,27 +22,29 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="Vipimgs"
|
||||
style="background-image: url('https://image.fulllinkai.com/202201/12/4c83d3da9e0e2018f548755036c86a30.png');">
|
||||
style="background-image: url('https://image.fulllinkai.com/202201/12/4c83d3da9e0e2018f548755036c86a30.png');"
|
||||
@tap="goto('/pages/users/upgradeVIP')">
|
||||
<block v-if="user.rank_id > 0">
|
||||
<view class="member">升级VIP尊贵特权</view>
|
||||
<veiw class="equities">{{ user.deadline }}到期</veiw>
|
||||
<view class="dredge bold" @tap="goto('/pages/users/upgradeVIP')">去续费</view>
|
||||
<view class="dredge bold">去续费</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="member">开通VIP超级会员</view>
|
||||
<view class="equities">专享超值权益 >></view>
|
||||
<view class="dredge bold" @tap="goto('/pages/users/upgradeVIP')">去开通</view>
|
||||
<view class="dredge bold">去开通</view>
|
||||
</block>
|
||||
</view>
|
||||
<view style="background: #FAF9F9;width: 100%;padding-top: 12rpx;position:relative;">
|
||||
<view class="d_close" @tap="hideIphoneBtn"></view>
|
||||
<button class="u_lst f-fbc btn getUserIphone" v-if="isShowIphoneBtn" open-type="getPhoneNumber"
|
||||
bindgetphonenumber="getPhoneNumber"></button>
|
||||
</view>
|
||||
<!-- <view style="background: #FAF9F9;width: 100%;padding-top: 12rpx;position:relative;">-->
|
||||
<!-- <view class="d_close" @tap="hideIphoneBtn"></view>-->
|
||||
<!-- <button class="u_lst f-fbc btn getUserIphone" v-if="isShowIphoneBtn" open-type="getPhoneNumber"-->
|
||||
<!-- bindgetphonenumber="getPhoneNumber"></button>-->
|
||||
<!-- </view>-->
|
||||
</view>
|
||||
<view class="m_spr">
|
||||
<view class="u_spr f-fbc">
|
||||
<view class=" ui-sprite-one f-fcc f-fdc" v-for="(item,index) in spriteList" :key="index" @tap="goto(item.path,item.title)">
|
||||
<view class=" ui-sprite-one f-fcc f-fdc" v-for="(item,index) in spriteList" :key="index"
|
||||
@tap="goto(item.path,item.title)">
|
||||
<view class="ui-sprite-dot white text-center" v-if="item.count">{{ item.count }}</view>
|
||||
<image class="u_spr_img" src="{{item.icon}}" mode="aspectFit"></image>
|
||||
<view class="u_spr_tt font_24 color333">{{ item.title }}</view>
|
||||
@ -103,7 +106,9 @@
|
||||
<view class="m_mod_tips">
|
||||
<image class="u_mod_tips_img" src="https://images.ufutx.com/202106/25/b7b7d83be51f8edb348effe59f187435.png"
|
||||
mode="aspectFit" lazy-load="false"></image>
|
||||
<view class="font_32 color-333">“自我描述”、“期望对方”、“兴趣爱好”、“上传图片”不可留下个人联系方式,否则将会禁用你的账号,请及时修改</view>
|
||||
<view class="font_32 color-333">
|
||||
“自我描述”、“期望对方”、“兴趣爱好”、“上传图片”不可留下个人联系方式,否则将会禁用你的账号,请及时修改
|
||||
</view>
|
||||
<view class="m_mod_tips_bu f-fcc">
|
||||
<view class="u_mod_tips_bu f-fcc font_32 white" @tap="gotoPage(2,'/pages/users/unmarriV2')">修改</view>
|
||||
</view>
|
||||
@ -123,7 +128,9 @@
|
||||
mode="aspectFill"></image>
|
||||
</view>
|
||||
<view class="font_36 color-333 bold">头像未通过审核</view>
|
||||
<view class="reason_prompt font_28 color-666">由于头像不真实或模糊或非正脸或含有违规,将无法得到配对,赶紧换个新头像吧!</view>
|
||||
<view class="reason_prompt font_28 color-666">
|
||||
由于头像不真实或模糊或非正脸或含有违规,将无法得到配对,赶紧换个新头像吧!
|
||||
</view>
|
||||
<view class="replace_avatar" @tap="replacePhoto">更换头像</view>
|
||||
<view style="padding-bottom: 52rpx;">
|
||||
<view class="symbol">*</view>
|
||||
@ -166,13 +173,30 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- iOS支持购买提示弹框 -->
|
||||
<view :class="{'show':showIOSSupportModal}" class="cu-modal">
|
||||
<view class="ios_support_modal_box">
|
||||
<view class="promptTitle font_34 color-333 bold">💖 苹果端小程序购买功能上线啦</view>
|
||||
<view class="font_32 color-333"
|
||||
style="margin: 0 50rpx; text-align: center; letter-spacing:2em;line-height: 1.5; text-align: left;">
|
||||
谢谢家人们一直以来的支持与陪伴🥰 福恋小程序苹果端现已全面开放全部服务购买,快来解锁专属权益,助力脱单吧!
|
||||
</view>
|
||||
<view class="ios_support_btn_box">
|
||||
<view class="ios_support_button_known font_30" @tap="hideIOSSupportModal">知道啦</view>
|
||||
<view class="ios_support_button_buy font_30 white" @tap="goToBuyService">前往购买</view>
|
||||
</view>
|
||||
<image class="loginCancelIcon" src="https://images.ufutx.com/202103/17/1033c7b52cacddcebe999cefc6ad2c9b.png"
|
||||
mode="widthFix" @tap="hideIOSSupportModal"></image>
|
||||
</view>
|
||||
</view>
|
||||
<block v-if="posterConfig">
|
||||
<!-- 生成海报-->
|
||||
<poster type="2d" id="poster" hide-loading="{{false}}" preload="{{false}}" config="{{posterConfig}}" bind:success="onPosterSuccess" bind:fail="onPosterFail">
|
||||
<poster type="2d" id="poster" hide-loading="{{false}}" preload="{{false}}" config="{{posterConfig}}"
|
||||
bind:success="onPosterSuccess" bind:fail="onPosterFail">
|
||||
</poster>
|
||||
<!-- 分享微信卡片-->
|
||||
<poster type="2d" id="posterV1" hide-loading="{{false}}" preload="{{false}}" config="{{posterConfig1}}"
|
||||
bind:success="onPosterSuccessWx" >
|
||||
bind:success="onPosterSuccessWx">
|
||||
</poster>
|
||||
</block>
|
||||
<block v-if="!hide && posterConfig">
|
||||
@ -181,28 +205,31 @@
|
||||
<visitorModel :showVisitorModel="showVisitorModel" @closeFn="visitorClose">
|
||||
<!-- 访客弹框-->
|
||||
</visitorModel>
|
||||
<canvas canvas-id="shareCanvas" class="canvas" style="width: {{width}}px; height: {{height}}px; position: fixed; top: -999999px;"></canvas>
|
||||
<!-- <loginTips :tokenShow.sync="tokenShow" @loginCut.user="loginCut"></loginTips>-->
|
||||
<canvas canvas-id="shareCanvas" class="canvas"
|
||||
style="width: {{width}}px; height: {{height}}px; position: fixed; top: -999999px;"></canvas>
|
||||
<!-- <loginTips :tokenShow.sync="tokenShow" @loginCut.user="loginCut"></loginTips>-->
|
||||
|
||||
<chooseImageTips :chooseShow.sync="chooseShow" :jumpString.sync="jumpString" :photo.sync="user.photo" @hideCut.user="hideCut"></chooseImageTips>
|
||||
<chooseImageTips :chooseShow.sync="chooseShow" :jumpString.sync="jumpString" :photo.sync="user.photo"
|
||||
@hideCut.user="hideCut"></chooseImageTips>
|
||||
<loginDialog :loginShow="loginShow" @hiddenLogin="hiddenLogin"></loginDialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import wepy from '@wepy/core'
|
||||
import https from '../../mixins/https'
|
||||
import base from '../../mixins/base'
|
||||
import {service} from '../../config.js'
|
||||
import wepy from '@wepy/core'
|
||||
import https from '../../mixins/https'
|
||||
import base from '../../mixins/base'
|
||||
import {service} from '../../config.js'
|
||||
import {getPhoneNumber} from '../../utils/util'
|
||||
|
||||
const app = getApp().$wepy.$options
|
||||
import {getPhoneNumber} from '../../utils/util'
|
||||
const app = getApp().$wepy.$options
|
||||
|
||||
wepy.page({
|
||||
mixins: [base, https ],
|
||||
wepy.page({
|
||||
mixins: [base, https],
|
||||
data: {
|
||||
posterConfig: null,
|
||||
posterConfig1: null,
|
||||
hide: true,
|
||||
showIOSSupportModal: false,
|
||||
shareConfig: {
|
||||
width: 750,
|
||||
height: 1334,
|
||||
@ -387,6 +414,7 @@
|
||||
vm.token = wx.getStorageSync('token')
|
||||
console.log(vm.token, 'token====')
|
||||
vm.is_base_info = getApp().$wepy.$options.globalData.is_base_info
|
||||
this.checkAndShowIOSSupportModal()
|
||||
// vm.getorderDetail()
|
||||
console.log('33333JJJJ')
|
||||
// if (!vm.token) {
|
||||
@ -454,7 +482,36 @@
|
||||
},
|
||||
|
||||
methods: {
|
||||
// 在 methods 中添加
|
||||
goToBuyService() {
|
||||
this.showIOSSupportModal = false
|
||||
// 记录已经展示过
|
||||
wx.setStorageSync('has_shown_ios_support_modal', true)
|
||||
// 跳转到会员中心/服务购买页面
|
||||
wx.navigateTo({
|
||||
url: '/pages/users/upgradeVIP' // 或者升级VIP2页面:'/pages/users/upgradeVIP2'
|
||||
})
|
||||
},
|
||||
checkAndShowIOSSupportModal() {
|
||||
// 获取系统信息
|
||||
const systemInfo = wx.getSystemInfoSync()
|
||||
const isIOS = systemInfo.system.toLowerCase().includes('ios')
|
||||
// 检查是否已经展示过
|
||||
const hasShown = wx.getStorageSync('has_shown_ios_support_modal')
|
||||
|
||||
// 只在iOS设备且未展示过时显示
|
||||
if (isIOS && !hasShown) {
|
||||
// 延迟显示,避免与其他弹框冲突
|
||||
setTimeout(() => {
|
||||
this.showIOSSupportModal = true
|
||||
}, 500)
|
||||
}
|
||||
},
|
||||
hideIOSSupportModal() {
|
||||
this.showIOSSupportModal = false
|
||||
// 记录已经展示过
|
||||
wx.setStorageSync('has_shown_ios_support_modal', true)
|
||||
},
|
||||
getNewCount() {
|
||||
let vm = this
|
||||
vm.$get({url: `${service.host}/notice/count`}).then(({code, data}) => {
|
||||
@ -697,16 +754,16 @@
|
||||
vm = this, {id} = wx.getStorageSync('userInfo')
|
||||
// 校验是否完成注册资料
|
||||
console.log(vm.$signInVerify(), 'vm.$signInVerify()===')
|
||||
if (!vm.$signInVerify()) {
|
||||
console.log('000')
|
||||
vm.loginShow = true
|
||||
return
|
||||
}
|
||||
if (titles.includes(text) && !is_base_info) {
|
||||
vm.showVisitorModel = true
|
||||
return
|
||||
// return vm.$invoke('visitorModel', 'showModal', '0') // 游客模式,无法查看
|
||||
}
|
||||
// if (!vm.$signInVerify()) {
|
||||
// console.log('000')
|
||||
// vm.loginShow = true
|
||||
// return
|
||||
// }
|
||||
// if (titles.includes(text) && !is_base_info) {
|
||||
// vm.showVisitorModel = true
|
||||
// return
|
||||
// // return vm.$invoke('visitorModel', 'showModal', '0') // 游客模式,无法查看
|
||||
// }
|
||||
// vm.$parent.getEvent(vm.config.navigationBarTitleText, `点击${text}`, `userID=${id}`)
|
||||
vm.modalName = ''
|
||||
vm.hide = true
|
||||
@ -772,13 +829,13 @@
|
||||
// this.loginShow = true
|
||||
// }
|
||||
// }
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
|
||||
|
||||
page {
|
||||
page {
|
||||
background: #f4f5f9;
|
||||
|
||||
::-webkit-scrollbar {
|
||||
@ -943,7 +1000,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.list_box{
|
||||
.list_box {
|
||||
margin: 30rpx;
|
||||
border-radius: 20rpx;
|
||||
background: #FFFFFF;
|
||||
@ -1022,23 +1079,23 @@
|
||||
// ._list:first-of-type{
|
||||
// border-radius: 20rpx 20rpx 0 0;
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
.btn-box {
|
||||
.btn-box {
|
||||
width: 80%;
|
||||
background: #D92553;
|
||||
border-radius: 6rpx;
|
||||
padding: 16rpx;
|
||||
margin: 16rpx auto;
|
||||
letter-spacing: 8rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.send {
|
||||
.send {
|
||||
margin: 50rpx auto;
|
||||
margin-bottom: -12rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.more_task_box {
|
||||
.more_task_box {
|
||||
background: #fff;
|
||||
|
||||
.more_task_title {
|
||||
@ -1062,9 +1119,9 @@
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.task_list_box {
|
||||
.task_list_box {
|
||||
// margin-bottom: 12rpx;
|
||||
.task_li {
|
||||
overflow: hidden;
|
||||
@ -1106,9 +1163,9 @@
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.audit_photo_box {
|
||||
.audit_photo_box {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
@ -1203,16 +1260,16 @@
|
||||
margin-top: 8rpx;
|
||||
color: #F33B6C;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 样式重置
|
||||
.animation-slide-bottom {
|
||||
// 样式重置
|
||||
.animation-slide-bottom {
|
||||
margin: 30rpx;
|
||||
border-radius: 24rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.page-user {
|
||||
.page-user {
|
||||
min-height: 100vh;
|
||||
background: #FAF9F9;
|
||||
overflow: hidden;
|
||||
@ -1274,9 +1331,9 @@
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.login_prompt_box {
|
||||
.login_prompt_box {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
@ -1290,7 +1347,7 @@
|
||||
padding-bottom: 30rpx;
|
||||
|
||||
.promptTitle {
|
||||
padding: 40rpx 0;
|
||||
padding: 40rpx 0 20px 0;
|
||||
}
|
||||
|
||||
.login_button {
|
||||
@ -1313,12 +1370,12 @@
|
||||
margin-left: -24rpx;
|
||||
z-index: 99;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//.cu-modal {
|
||||
// z-index: 9999999 !important;
|
||||
//}
|
||||
.m_mod_tips {
|
||||
//.cu-modal {
|
||||
// z-index: 9999999 !important;
|
||||
//}
|
||||
.m_mod_tips {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
@ -1357,9 +1414,9 @@
|
||||
margin-left: -24rpx;
|
||||
z-index: 99;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.d_close {
|
||||
.d_close {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
//background: red;
|
||||
@ -1367,9 +1424,9 @@
|
||||
left: 50rpx;
|
||||
z-index: 100;
|
||||
top: 34rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.getUserIphone {
|
||||
.getUserIphone {
|
||||
background-image: url("https://image.fulllinkai.com/202203/24/381396e112b87ef956137aaf71c9f31a.png");
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
@ -1380,9 +1437,9 @@
|
||||
border-radius: 12rpx;
|
||||
margin-bottom: -12rpx;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.spellGroup {
|
||||
.spellGroup {
|
||||
margin: 30rpx;
|
||||
|
||||
.spellGroup_spr {
|
||||
@ -1421,18 +1478,20 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.m_spr {
|
||||
.m_spr {
|
||||
padding: 0 30rpx;
|
||||
|
||||
.u_spr {
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
padding: 24rpx 30rpx 26rpx;
|
||||
.ui-sprite-one{
|
||||
|
||||
.ui-sprite-one {
|
||||
position: relative;
|
||||
.ui-sprite-dot{
|
||||
|
||||
.ui-sprite-dot {
|
||||
height: 32rpx;
|
||||
line-height: 34rpx;
|
||||
padding: 0 12rpx;
|
||||
@ -1445,6 +1504,7 @@
|
||||
z-index: 99;
|
||||
}
|
||||
}
|
||||
|
||||
.u_spr_img {
|
||||
width: 74rpx;
|
||||
height: 74rpx;
|
||||
@ -1455,23 +1515,79 @@
|
||||
line-height: 24rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ios_support_modal_box {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 600rpx;
|
||||
max-width: 100%;
|
||||
background-color: #ffffff;
|
||||
border-radius: 24rpx;
|
||||
overflow: hidden;
|
||||
padding-bottom: 30rpx;
|
||||
|
||||
.promptTitle {
|
||||
padding: 40rpx 0 20rpx 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.ios_support_btn_box {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 30rpx;
|
||||
margin: 32rpx auto 30rpx auto;
|
||||
padding: 0 30rpx;
|
||||
}
|
||||
|
||||
.ios_support_button_known {
|
||||
flex: 1;
|
||||
height: 72rpx;
|
||||
line-height: 72rpx;
|
||||
border-radius: 36rpx;
|
||||
background: #f5f5f5;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
border: 1rpx solid #e5e5e5;
|
||||
}
|
||||
|
||||
.ios_support_button_buy {
|
||||
flex: 1;
|
||||
height: 72rpx;
|
||||
line-height: 72rpx;
|
||||
border-radius: 36rpx;
|
||||
background: #ff5380;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.loginCancelIcon {
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
position: fixed;
|
||||
margin-top: 80rpx;
|
||||
margin-left: -24rpx;
|
||||
z-index: 99;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<config>
|
||||
{
|
||||
navigationBarTitleText: '我的',
|
||||
navigationStyle: 'custom',
|
||||
enablePullDownRefresh: false,
|
||||
backgroundColorTop: '#f2f2f2',
|
||||
backgroundColorBottom: '#f2f2f2',
|
||||
usingComponents: {
|
||||
visitorModel: '~@/components/visitorModel',
|
||||
userTitle: '~@/components/userTitle',
|
||||
loginTips: '~@/components/loginTips',
|
||||
chooseImageTips: '~@/components/chooseImageTips',
|
||||
shareComponent: '~@/components/shareComponent',
|
||||
poster: "plugin://FL-plugin/poster",
|
||||
loginDialog: '~@/components/loginDialog',
|
||||
}
|
||||
}
|
||||
{
|
||||
navigationBarTitleText: '我的',
|
||||
navigationStyle: 'custom',
|
||||
enablePullDownRefresh: false,
|
||||
backgroundColorTop: '#f2f2f2',
|
||||
backgroundColorBottom: '#f2f2f2',
|
||||
usingComponents: {
|
||||
visitorModel: '~@/components/visitorModel',
|
||||
userTitle: '~@/components/userTitle',
|
||||
loginTips: '~@/components/loginTips',
|
||||
chooseImageTips: '~@/components/chooseImageTips',
|
||||
shareComponent: '~@/components/shareComponent',
|
||||
poster: "plugin://FL-plugin/poster",
|
||||
loginDialog: '~@/components/loginDialog',
|
||||
}
|
||||
}
|
||||
</config>
|
||||
|
||||
@ -74,7 +74,7 @@
|
||||
<image class="audit_icon" src="https://images.ufutx.com/202101/21/be17739e07f9bb0de1c629dc0b84a505.png" mode="widthFix"></image>
|
||||
<view class="font_36 color-333 bold">提交成功,等待审核</view>
|
||||
<view class="audit_prompt font_28 color-333">审核结果将在1~3个工作日内通知,请耐心等待;如有需要,请直接联系</view>
|
||||
<view class="font_28 color-333">客服<span class="color-theme" @tap.stop="clickPhone">18922809346</span></view>
|
||||
<view class="font_28 color-333">客服<span class="color-theme" @tap.stop="clickPhone">18194063294</span></view>
|
||||
<view class="know_that" @tap="redirectTo('/pages/users/myCertification')">我知道了</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -325,7 +325,7 @@
|
||||
},
|
||||
clickPhone() {
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: '18922809346'
|
||||
phoneNumber: '18194063294'
|
||||
})
|
||||
},
|
||||
redirectTo(url) {
|
||||
|
||||
116
src/pages/users/blacklistDefault.wpy
Normal file
@ -0,0 +1,116 @@
|
||||
<template>
|
||||
<view class="cu-custom">
|
||||
<view class="cu-bar fixed" style="height:{{CustomBar}}px;padding-top:{{StatusBar}}px;z-index: 999">
|
||||
<view class="font_30 color-333" style="position: fixed;left: 50%;transform: translateX(-50%)">福恋系统</view>
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: {{navHeight}}px"></view>
|
||||
<view class="wrapper font_28">
|
||||
<image class="defaultIcon" src="https://images.ufutx.com/202105/31/39b80c3ff8563b9dcf5e20c07473f52a.png" mode="widthFix"></image>
|
||||
<view class="font_36 color-333 bold text-center">无法使用福恋平台!</view>
|
||||
<view class="color-333 font_32 text-center" style="margin: 24rpx 50rpx 48rpx 50rpx">由于您的账号id:{{id}}涉及违规,暂无法使用福恋平台,如有需要,请联系客服<span class="color-theme font_28" @tap.stop="clickPhone">18194063294</span></view>
|
||||
<view class="openButton font_32" @tap="clickPhone">联系客服</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import wepy from '@wepy/core'
|
||||
import { service } from '../../config.js'
|
||||
import http from '../../mixins/https'
|
||||
import base from '../../mixins/base'
|
||||
|
||||
wepy.page({
|
||||
|
||||
// config = {
|
||||
// navigationBarTitleText: '福恋系统',
|
||||
// navigationStyle: 'custom',
|
||||
// enablePullDownRefresh: false
|
||||
// }
|
||||
|
||||
data: {
|
||||
StatusBar: 0,
|
||||
CustomBar: 0,
|
||||
Custom: 0,
|
||||
navHeight: '',
|
||||
windowHeight: '',
|
||||
id: ''
|
||||
},
|
||||
|
||||
async onLoad(e) {
|
||||
this.id = wx.getStorageSync('user_id')
|
||||
let menuButtonObject = wx.getMenuButtonBoundingClientRect()
|
||||
wx.getSystemInfo({
|
||||
success: res => {
|
||||
let statusBarHeight = res.statusBarHeight,
|
||||
navTop = menuButtonObject.top, // 胶囊按钮与顶部的距离
|
||||
navHeight = statusBarHeight + menuButtonObject.height + (menuButtonObject.top - statusBarHeight) * 2 // 导航高度
|
||||
this.navHeight = navHeight
|
||||
this.windowHeight = res.windowHeight - (navHeight + 4)
|
||||
},
|
||||
fail() {
|
||||
}
|
||||
})
|
||||
console.log(this.id)
|
||||
},
|
||||
created() {
|
||||
this.navHeight = this.$app.$options.globalData.navBarHeight
|
||||
this.StatusBar = this.$app.$options.globalData.StatusBar
|
||||
this.CustomBar = this.$app.$options.globalData.CustomBar
|
||||
this.Custom = this.$app.$options.globalData.Custom
|
||||
},
|
||||
onShow() {
|
||||
wx.setStorageSync('blacklistCode', 1)
|
||||
// this.$parent.getTracker(this.$root.$name, this.config.navigationBarTitleText)
|
||||
},
|
||||
|
||||
onPullDownRefresh() {
|
||||
},
|
||||
|
||||
onReachBottom() {
|
||||
},
|
||||
|
||||
methods: {
|
||||
clickPhone() {
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: '18194063294'
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
|
||||
page{
|
||||
background: white;
|
||||
}
|
||||
.defaultIcon{
|
||||
width: 440rpx;
|
||||
height: 360rpx;
|
||||
display: block;
|
||||
margin: 10vh auto 0 auto;
|
||||
}
|
||||
.openButton{
|
||||
width: 256rpx;
|
||||
height: 72rpx;
|
||||
background: #ff5380;
|
||||
border-radius: 36rpx;
|
||||
color: #ffffff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0 auto;
|
||||
}
|
||||
</style>
|
||||
<config>
|
||||
{
|
||||
navigationBarTitleText: '福恋系统',
|
||||
navigationStyle: 'custom',
|
||||
enablePullDownRefresh: false,
|
||||
backgroundColorTop: '#ffffff',
|
||||
backgroundColorBottom: '#ffffff',
|
||||
usingComponents: {
|
||||
}
|
||||
}
|
||||
</config>
|
||||
@ -130,7 +130,7 @@
|
||||
<image class="successful_pic" src="https://images.ufutx.com/202012/28/2168fa80aa80eb0f76ba71ac0e449c7e.png" mode="widthFix" ></image>
|
||||
</view>
|
||||
<view class="font_36 color-333 bold">认证已提交,等待审核</view>
|
||||
<view class="font_28 color-333 prompt_text">审核结果将在1~3个工作日内通知,请耐心等待;如有需要,请直接联系客服<span class="color-theme" @tap="callPhone('18922809346')">18194066804</span></view>
|
||||
<view class="font_28 color-333 prompt_text">审核结果将在1~3个工作日内通知,请耐心等待;如有需要,请直接联系客服<span class="color-theme" @tap="callPhone('18194063294')">18194063294</span></view>
|
||||
<view class="Know font_32" @tap="goToBack">我知道了</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
187
src/pages/users/freeze.wpy
Normal file
@ -0,0 +1,187 @@
|
||||
<template>
|
||||
<view class="wrapper font_28">
|
||||
<view class="m_fre f-fcc f-fdc">
|
||||
<image class="defaultIcon" src="https://image.fulllinkai.com/202108/27/20047ad98fe3054f2ab6f1ba71633493.png" mode="aspectFit" v-if="frozen_state == 1"></image>
|
||||
<image class="defaultIcon" src="https://image.fulllinkai.com/202108/30/4f5aaabe98d9132c6b3b41ff0cd92b98.png" mode="aspectFit" v-else></image>
|
||||
<view class="font_36 color-333 bold text-center" style="padding: 20rpx 0 60rpx;">{{frozen_state == 1?'解锁登录状态':'解锁已过期'}}</view>
|
||||
<view class="color-666 font_30" v-if="frozen_state == 1">
|
||||
<view>Hi!{{nickName}},好久不见~</view>
|
||||
<view>你的账号目前为冻结状态,快来「立即解锁」</view>
|
||||
<view>你的登录状态吧!</view>
|
||||
</view>
|
||||
<view class="color-666 font_30" v-else>可以联系客服,帮助你解锁喔</view>
|
||||
<view class="openButton font_32 white" @tap="clickUnfrozen" v-if="frozen_state == 1">立即解锁</view>
|
||||
<view class="openButton font_32 white" @tap="clickPhone" v-else>联系客服</view>
|
||||
</view>
|
||||
<view class="cu-modal {{modalName=='freezeModal'?'show':''}}" catchtap="modalTipsCts">
|
||||
<view class="cu-dialog">
|
||||
<image class="u_moImg" src="https://image.fulllinkai.com/202108/27/2174fe572025a3cedd6f5aeee116162a.png" mode="aspectFit"></image>
|
||||
<view class="font_32 color-333" style="padding: 40rpx 0;">现在完善你的单身资料,立即帮你重新匹配的优质异性喔</view>
|
||||
<view class="m_bu font_32 f-fcc">
|
||||
<view class="u_bu_ho color-999 f-fcc" @tap="goto('/pages/tabBar/home')">进入首页</view>
|
||||
<view class="u_bu_la f-fcc white" @tap="goto('/pages/users/unmarriV2')">完善资料</view>
|
||||
</view>
|
||||
<!-- <view class="actions bg-img" @tap.stop="hideModal" style="background-image: url({{'https://images.ufutx.com/202103/15/1033c7b52cacddcebe999cefc6ad2c9b.png'}})"></view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import wepy from '@wepy/core'
|
||||
import { service } from '../../config.js'
|
||||
import base from '../../mixins/base'
|
||||
import https from '../../mixins/https'
|
||||
|
||||
wepy.page({
|
||||
mixins: [https, base],
|
||||
data: {
|
||||
modalName: '',
|
||||
user_id: '',
|
||||
frozen_state: 1,
|
||||
nickName: '',
|
||||
userInfo: ''
|
||||
},
|
||||
|
||||
async onLoad(e) {
|
||||
this.user_id = wx.getStorageSync('user_id')
|
||||
wx.hideLoading()
|
||||
this.userInfo = wx.getStorageSync('userInfo')
|
||||
this.frozen_state = this.$app.$options.globalData.frozen_state
|
||||
console.log(this.userInfo, 'userInfo')
|
||||
if (this.userInfo) {
|
||||
this.nickName = this.userInfo.name
|
||||
}
|
||||
},
|
||||
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
methods: {
|
||||
hideModal() {
|
||||
this.modalName = ''
|
||||
},
|
||||
clickUnfrozen() {
|
||||
this.unfrozen()
|
||||
},
|
||||
clickPhone() {
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: '18194063294'
|
||||
})
|
||||
},
|
||||
goto(url) {
|
||||
this.modalName = ''
|
||||
if (url == '/pages/tabBar/home') {
|
||||
this.$gotoTab(url)
|
||||
}
|
||||
this.$redirectTo(url)
|
||||
},
|
||||
unfrozen() {
|
||||
let data = {
|
||||
|
||||
}
|
||||
this.$put({url: `${service.host}/unfrozen/user/${this.user_id}`, data}).then(({code, data}) => {
|
||||
if (code == 0) {
|
||||
vm.modalName = 'freezeModal'
|
||||
}
|
||||
})
|
||||
// that.$put({url: `${service.host}/unfrozen/user/${that.user_id}`}).then(({code, data}) => {
|
||||
// if (code == 0) {
|
||||
// that.modalName = 'freezeModal'
|
||||
// }
|
||||
// })
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
|
||||
page{
|
||||
background: white;
|
||||
}
|
||||
.wrapper {
|
||||
height: 100vh;
|
||||
.m_fre {
|
||||
position: relative;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
padding-bottom: 200rpx;
|
||||
.defaultIcon{
|
||||
width: 224rpx;
|
||||
height: 236rpx;
|
||||
}
|
||||
.openButton{
|
||||
width: 480rpx;
|
||||
height: 80rpx;
|
||||
background-image: linear-gradient(to left,#FF85A5,#FF5380);
|
||||
border-radius: 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 80rpx auto 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.cu-modal {
|
||||
.cu-dialog {
|
||||
width: 600rpx;
|
||||
// height: 500rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 32rpx;
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding: 50rpx;
|
||||
|
||||
}
|
||||
.actions {
|
||||
position: absolute;
|
||||
bottom: -100rpx;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
}
|
||||
.u_moImg {
|
||||
width: 364rpx;
|
||||
height: 232rpx;
|
||||
}
|
||||
.m_bu {
|
||||
.u_bu_la,
|
||||
.u_bu_ho {
|
||||
width: 200rpx;
|
||||
height: 72rpx;
|
||||
border-radius: 100rpx;
|
||||
}
|
||||
.u_bu_ho {
|
||||
border: 2rpx solid #D8D8D8;
|
||||
}
|
||||
.u_bu_la {
|
||||
background: #FF5380;
|
||||
margin-left: 48rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<config>
|
||||
{
|
||||
navigationBarTitleText: '福恋系统',
|
||||
navigationStyle: 'custom',
|
||||
enablePullDownRefresh: false,
|
||||
backgroundColorTop: '#ffffff',
|
||||
backgroundColorBottom: '#ffffff',
|
||||
usingComponents: {
|
||||
}
|
||||
}
|
||||
</config>
|
||||
@ -32,10 +32,10 @@
|
||||
<view class="_bgModal">
|
||||
<view class="_text textarea">
|
||||
<view class="font_26 bold">联系脱单姐领取脱单彩蛋</view>
|
||||
<view class="font_26 bold">18922809346</view>
|
||||
<view class="font_26 bold">18194063294</view>
|
||||
</view>
|
||||
<view class="_gif"></view>
|
||||
<view class="_bgBtn" @tap="callPhone('18922809346')"></view>
|
||||
<view class="_bgBtn" @tap="callPhone('18194063294')"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@ -89,10 +89,12 @@
|
||||
<image class="successful_pic" src="https://images.ufutx.com/202012/28/2168fa80aa80eb0f76ba71ac0e449c7e.png" mode="widthFix" ></image>
|
||||
</view>
|
||||
<view class="font_36 color-333 bold">资料正在审核中</view>
|
||||
<view class="font_28 color-333 prompt_text">审核结果将在1~3个工作日内通知,请耐心等待;如有需要,请直接联系客服<span class="color-theme" @tap="callPhone('18922809346')">18194066804</span></view>
|
||||
<view class="font_28 color-333 prompt_text">审核结果将在1~3个工作日内通知,请耐心等待;如有需要,请直接联系客服<span class="color-theme" @tap="callPhone('18194063294')">18194063294</span></view>
|
||||
<view class="Know font_32" @tap="vanish">我知道了</view>
|
||||
</view>
|
||||
</view>
|
||||
<loginDialog :loginShow="loginShow" @hiddenLogin="hiddenLogin"></loginDialog>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -120,7 +122,8 @@
|
||||
],
|
||||
tempId: [], // 模板id
|
||||
system: wx.getStorageSync('system'),
|
||||
approve_time: 0
|
||||
approve_time: 0,
|
||||
loginShow: false
|
||||
},
|
||||
onShow() {
|
||||
this.$showLoading('加载中')
|
||||
@ -200,17 +203,22 @@
|
||||
let vm = this
|
||||
console.log(this.mobile, 'url===')
|
||||
if ((text == '真人认证' || text == '学历认证') && !this.mobile) {
|
||||
wx.showModal({
|
||||
title: '温馨提示',
|
||||
content: '请先绑定手机号后再真人认证',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
vm.$goto('/pages/users/setTing')
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消')
|
||||
if (!vm.$signInVerify()) {
|
||||
console.log('000')
|
||||
vm.loginShow = true
|
||||
return
|
||||
}
|
||||
}
|
||||
})
|
||||
// wx.showModal({
|
||||
// title: '温馨提示',
|
||||
// content: '请先绑定手机号后再真人认证',
|
||||
// success(res) {
|
||||
// if (res.confirm) {
|
||||
// vm.$goto('/pages/home/information')
|
||||
// } else if (res.cancel) {
|
||||
// console.log('用户点击取消')
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
return
|
||||
}
|
||||
if (text == '学历认证' && this.is_real_approved !== 1) {
|
||||
@ -260,6 +268,10 @@
|
||||
},
|
||||
vanish() {
|
||||
this.modalName = ''
|
||||
},
|
||||
hiddenLogin() {
|
||||
let vm = this
|
||||
vm.loginShow = false
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -450,7 +462,8 @@
|
||||
backgroundColorTop: '#ffffff',
|
||||
backgroundColorBottom: '#ffffff',
|
||||
usingComponents: {
|
||||
cuCustom: '~@/components/cuCustom'
|
||||
cuCustom: '~@/components/cuCustom',
|
||||
loginDialog: '~@/components/loginDialog',
|
||||
}
|
||||
}
|
||||
</config>
|
||||
|
||||
@ -5,22 +5,12 @@
|
||||
<view class="u_lst f-fbc" >
|
||||
<view class="u_lst f-fbc">
|
||||
<view class="f-fc">
|
||||
<view class="font_30 " >手机号绑定</view>
|
||||
<view class="font_30 " >手机号</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="color-999 font_28">{{phoneNumber}}</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<button class="u_lst f-fbc btn" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">
|
||||
<view class="u_lst f-fbc">
|
||||
<view class="f-fc">
|
||||
<view class="font_30 " >手机号绑定</view>
|
||||
</view>
|
||||
</view>
|
||||
<image class="u_lst_you" mode="widthFix" src="https://images.ufutx.com/202012/23/f9713dc39b5d236067834ea0f1a6edaf.png"></image>
|
||||
</button>
|
||||
</block>
|
||||
</view>
|
||||
<view class="m_lst" v-for="(itemV1,indexV1) in lists" :key="indexV1">
|
||||
<block v-for="(item,index) in itemV1" :key="index">
|
||||
@ -53,7 +43,9 @@
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<UnlockingDialog :modalName="unlockIngModalName" @unlockingCut="unlockingCut"></UnlockingDialog>
|
||||
<UnlockingDialog :modalName="unlockIngModalName" @unlockingCut="unlockingCut" @toUpdateCut-="toUpdateCut" @signInVerify="signInVerify"></UnlockingDialog>
|
||||
<loginDialog :loginShow="loginShow" @hiddenLogin="hiddenLogin"></loginDialog>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -163,7 +155,8 @@
|
||||
path: '/pages/users/aboutLove'
|
||||
}
|
||||
]
|
||||
]
|
||||
],
|
||||
loginShow: false
|
||||
},
|
||||
watch: {
|
||||
|
||||
@ -176,6 +169,14 @@
|
||||
this.system = app.globalData.systemInfo.system.split(' ')[0]
|
||||
},
|
||||
methods: {
|
||||
signInVerify() {
|
||||
let vm = this
|
||||
vm.loginShow = true
|
||||
},
|
||||
hiddenLogin() {
|
||||
let vm = this
|
||||
vm.loginShow = false
|
||||
},
|
||||
vipData() {
|
||||
this.$get({url: service.host + '/user/center'}).then(({code, data}) => {
|
||||
this.rankData = data.rank_profile
|
||||
@ -334,6 +335,12 @@
|
||||
unlockingCut(e) {
|
||||
console.log(e, '---')
|
||||
this.unlockIngModalName = e
|
||||
},
|
||||
toUpdateCut(e) {
|
||||
let userInfo = wx.getStorageSync('userInfo')
|
||||
userInfo.rank_id = 9
|
||||
wx.setStorageSync('userInfo', userInfo)
|
||||
this.vipData()
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -382,6 +389,8 @@ backgroundColorBottom: '#f2f2f2',
|
||||
usingComponents: {
|
||||
UnlockingDialog: '~@/components/UnlockingDialog',
|
||||
shareComponent: '~@/components/shareComponent',
|
||||
}
|
||||
loginDialog: '~@/components/loginDialog',
|
||||
|
||||
}
|
||||
}
|
||||
</config>
|
||||
|
||||
@ -4,65 +4,85 @@
|
||||
<view slot="content">会员中心</view>
|
||||
</cuCustom>
|
||||
<view class="_bc-user animation-slide-top">
|
||||
<image class="userinfo-avatar flo_l" src="{{user.photo}}" mode="aspectFill"/>
|
||||
<view class="white flo_l font_32 userinfo-name">
|
||||
<span class="bold">{{user.nickname}} </span>
|
||||
<block v-if="user.rank_id > 0">
|
||||
<image class="icon" src="https://images.ufutx.com/202004/09/ce3522d17ae95986b88a1e6d07b12c4e.png" mode="aspectFill"/>
|
||||
<image class="userinfo-avatar flo_l"
|
||||
src="{{user.photo || 'https://images.health.ufutx.com/202512/24/3315457eba4b799ac08e62937da4d44c.png'}}"
|
||||
mode="aspectFill"/>
|
||||
<view class="white font_32 userinfo-name">
|
||||
<span class="bold">{{ user.nickname || '未登录' }} </span>
|
||||
<view v-if="user.rank_id > 0&&user.nickname !== ''" style="align-items: center">
|
||||
<image class="icon" src="https://images.health.ufutx.com/202512/25/a5090c7c826ced490ef7a46970370441.png"
|
||||
mode="aspectFill"/>
|
||||
<span class="orange font_22">超级会员</span>
|
||||
</block>
|
||||
<block v-else>
|
||||
<image class="icon" src="https://images.ufutx.com/202004/10/eb8b12c7330f16b732d47baef2012906.png" mode="aspectFill"/>
|
||||
</view>
|
||||
<view v-else style="align-items: center">
|
||||
<image class="icon" src="https://images.health.ufutx.com/202512/25/99739ecee928d7dfbe939fa588aa699b.png"
|
||||
mode="aspectFill"/>
|
||||
<span class="white font_22">普通会员</span>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view class="font_24 white flo_l" style="color: #f7e4ad;width: 70%; ">
|
||||
{{user.deadline_str?user.deadline_str+'到期':'未激活'}}
|
||||
{{ user.deadline_str ? user.deadline_str + ' 到期' : '未激活' }}
|
||||
</view>
|
||||
<swiper class="card-swiper" circular="true" bindchange="cardSwiper">
|
||||
<swiper-item v-for="(item,index) in rankList" :key="index" class="{{cardCur==index?'cur':''}}" @tap="showFn(index)">
|
||||
<view class="swiper-item radius shadow margin-top bg-grey {{item.id?'':'bg-grey'}}">
|
||||
<image src="{{item.pic}}" mode="aspectFill"></image>
|
||||
<!--<video src="{{item.url}}" autoplay loop muted show-play-btn="{{false}}" controls="{{false}}" objectFit="cover" v-if="item.type=='video'}}"></video>-->
|
||||
<swiper class="card-swiper" circular="true" @change="cardSwiper">
|
||||
<swiper-item v-for="(item,index) in rankList" :key="index" class="{{cardCur==index?'cur':''}}"
|
||||
@tap="showFn(index)">
|
||||
<view class="swiper-item radius shadow " style="border-radius: 0">
|
||||
<image src="{{system === 'iOS' ? (item.ios_pic || item.pic) : item.pic}}" mode="aspectFix"></image>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
<view class="mainWrapper animation-slide-bottom">
|
||||
<view class="font_30 bold color-333 title">会员套餐权益:</view>
|
||||
<view class="mainWrapper animation-slide-bottom bg_f">
|
||||
<view class="title _vipRights">会员套餐权益:</view>
|
||||
<view class="scroll-wrapper">
|
||||
<scroll-view scroll-x="{{true}}" scroll-with-animation style="height: 264rpx;">
|
||||
<view class="inline-block text-center scroll-item" v-for="(item,index) in specialVIP.feature_arr" :key="index">
|
||||
<scroll-view scroll-x="{{true}}" scroll-with-animation>
|
||||
<view class="inline-block text-center scroll-item " v-for="(item,index) in specialVIP.feature_arr" :key="index">
|
||||
<image :src="item.icon" mode="aspectFit" class="featureIcon"></image>
|
||||
<view class="font_22">{{item.text}}</view>
|
||||
<view class="font_22" style="color: #B15E00">{{item.sub_text}}</view>
|
||||
<view class="font_24" style="margin-top: 6px;color: #AC7B5C;font-weight: 500;">{{ item.text }}</view>
|
||||
<view class="font_22" style="color: #B15E00">{{ item.sub_text }}</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mainWrapper">
|
||||
<view class="font_30 bold color-333 title">会员说明:</view>
|
||||
<view class="mainWrapper" >
|
||||
<view class="font_30 bold color-333 title"
|
||||
style="border-radius: 2px;
|
||||
display: inline-block;
|
||||
padding: 4px 10px;
|
||||
margin-top: 6px;
|
||||
margin-bottom: 0;
|
||||
background: linear-gradient(270deg, #E6C7AB 0%, #F5E6D8 100%);">
|
||||
会员说明:
|
||||
</view>
|
||||
<view class="ruleBox">
|
||||
<block v-if="specialVIP">
|
||||
<view class="font_24 color-666" v-for="(item,index) in (specialVIP.explain_arr || specialVIP.discount_desc)" :key="index">{{item}}</view>
|
||||
<view class="font_24 color-666" style="line-height: 20px;font-weight: 400;"
|
||||
v-for="(item,index) in (specialVIP.explain_arr || specialVIP.discount_desc)"
|
||||
:key="index">{{ item }}
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="font_24 color-666 placeholderStyle" v-for="item in 5" :key="item" style="width:{{100/index}}%"></view>
|
||||
<view class="font_24 color-666 placeholderStyle" v-for="item in 5" :key="item"
|
||||
style="width:{{100/index}}%"></view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view style="height: 42px"></view>
|
||||
<!-- 支付按钮:全端统一显示 -->
|
||||
<view class="payBtn" @tap="showFn()">
|
||||
<view class="l_text">
|
||||
<span class="font_32 bold">
|
||||
<span>¥</span>{{payData.discount_price}}
|
||||
<span >
|
||||
合计: <span style="color: #FF2946">¥</span><span class="price">{{ payData.discount_price }}</span>
|
||||
</span>
|
||||
</view>
|
||||
<view class="r_text">
|
||||
<span class="font_32" >
|
||||
<span class="font_32">
|
||||
立即购买
|
||||
</span>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="cu-modal {{modalName=='Modal'?'show':''}}">
|
||||
<view class="cu-dialog">
|
||||
<view class="cu-bar bg-white justify-end">
|
||||
@ -72,36 +92,41 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="padding-xl">
|
||||
由于相关规范,ios小程序此功能暂不可用
|
||||
支付异常,请重试
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 弹框-->
|
||||
<!-- 支付弹框 -->
|
||||
<view class="cu-modal bottom-modal {{modalName=='DialogModal'?'show':''}}">
|
||||
<view class="cu-dialog bg-white" style="border-radius: 24rpx 24rpx 0px 0px;">
|
||||
<view class="cu-bar justify-end">
|
||||
<view class="content color333 bold">支付信息</view>
|
||||
<view class="content color333 bold" style="font-size: 36rpx;color: #0E0E0E;">支付信息</view>
|
||||
<view class="action" bindtap="hideModal">
|
||||
<text class="cuIcon-close" style="color:#C2C2C2;font-size: 44rpx !important;"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="" style="background-color: white;padding: 20rpx 0 0 0;">
|
||||
<view class="text-c">
|
||||
<span class="color-333">¥</span>
|
||||
<span class="value bold color333" style="font-size: 60rpx;font-weight: 700;"
|
||||
v-if="wxPayShow == 'cash'">{{ payData.discount_price }}</span>
|
||||
<span class="value bold color333" style="font-size: 60rpx;font-weight: 700;"
|
||||
v-else>{{ deductionPrice > 0 ? deductionPrice : '0.00' }}</span>
|
||||
</view>
|
||||
<view class="text-left f-fcc">
|
||||
<span class="value color-999 font_24" style="text-decoration: line-through;" >原价:¥{{payData.price}}</span>
|
||||
<span class="font_24" style="color: #3C2913;text-decoration-line: line-through;">原价:¥{{ payData.price }}</span>
|
||||
</view>
|
||||
<view class="item-xl text-left f-fcc">
|
||||
<span class="value bold color333" style="font-size: 52rpx;line-height: 52rpx;" v-if="wxPayShow == 'cash'">¥{{payData.discount_price}}</span>
|
||||
<span class="value bold color333" style="font-size: 52rpx;line-height: 52rpx;" v-else>¥{{deductionPrice>0?deductionPrice:'0.00'}}</span>
|
||||
</view>
|
||||
<view class="item-xl text-left f-fcc">
|
||||
<span class="value color-999 font_24">{{payData.title}}</span>
|
||||
<span class="font_24" style="color: #66676C;">{{ payData.title }}</span>
|
||||
</view>
|
||||
<view class="m_payData f-fbc" @tap="payChoice('cash')">
|
||||
<view class="f-fc">
|
||||
<image class="u_payData_img" src="https://images.ufutx.com/202106/23/886f1118c820849fae35b3412930a5a2.png" mode="aspectFit" lazy-load="true"></image>
|
||||
<view class="font_28 color333">微信支付</view>
|
||||
<image class="u_payData_img" src="https://images.health.ufutx.com/202512/25/5bcd5b54fc5325aa50e841e0cf9542d0.png"
|
||||
mode="aspectFit" lazy-load="true"></image>
|
||||
<view class="font_28" style="color: #0E0E0E;">微信支付</view>
|
||||
</view>
|
||||
<image src="https://images.ufutx.com/202106/23/9dd9dc41e3689d92a280740bc99f3c32.png" mode="aspectFit" class="iconV2"></image>
|
||||
<image src="https://images.health.ufutx.com/202512/25/911f75d508bc6c0de593fbb815a2c479.png" mode="aspectFit"
|
||||
class="iconV2"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="m_pay_bu f-fcc">
|
||||
@ -109,30 +134,40 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 帮助弹窗 -->
|
||||
<view :class="{'show': modalName == 'showTips' }" class="cu-modal">
|
||||
<view class="tips_box">
|
||||
<view class="font_34 bold color333">iOS暂不支持该功能</view>
|
||||
<view class="qrcode_icon-box f-fcc">
|
||||
<image class="qrcode_icon" src="https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQGe8TwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyQkc1MzBXWUxiUy0xMDAwMHcwN2IAAgQHm1JnAwQAAAAA" mode="widthFix" show-menu-by-longpress="true"></image>
|
||||
<image class="qrcode_icon"
|
||||
src="https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQGe8TwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyQkc1MzBXWUxiUy0xMDAwMHcwN2IAAgQHm1JnAwQAAAAA"
|
||||
mode="widthFix" show-menu-by-longpress="true"></image>
|
||||
</view>
|
||||
<view class="font_26 color666">长按识别二维码</view>
|
||||
<view class="font_26 color666">前往公众号获取帮助</view>
|
||||
<image class="cancelIcon" src="https://images.ufutx.com/202103/17/1033c7b52cacddcebe999cefc6ad2c9b.png" mode="widthFix" @tap="modalName = ''"></image>
|
||||
<image class="cancelIcon" src="https://images.ufutx.com/202103/17/1033c7b52cacddcebe999cefc6ad2c9b.png"
|
||||
mode="widthFix" @tap="modalName = ''"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: 120rpx;"></view>
|
||||
<loginDialog :loginShow="loginShow" @hiddenLogin="hiddenLogin"></loginDialog>
|
||||
<view>
|
||||
<image class="service_icon"
|
||||
@click.stop="modalName = 'showTips'"
|
||||
src="https://images.health.ufutx.com/202512/25/2b7e5a6065f1f1cbe921b4c24117732e.png"
|
||||
mode="widthFix" show-menu-by-longpress="true"></image>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import wepy from '@wepy/core'
|
||||
import https from '../../mixins/https'
|
||||
import base from '../../mixins/base'
|
||||
import { service } from '../../config.js'
|
||||
import wepy from '@wepy/core'
|
||||
import https from '../../mixins/https'
|
||||
import base from '../../mixins/base'
|
||||
import {service} from '../../config.js'
|
||||
|
||||
const app = getApp().$wepy.$options
|
||||
const app = getApp().$wepy.$options
|
||||
|
||||
wepy.page({
|
||||
wepy.page({
|
||||
mixins: [base, https],
|
||||
data: {
|
||||
user: {},
|
||||
@ -150,16 +185,16 @@
|
||||
price: '',
|
||||
remain_amount: '',
|
||||
title: ''
|
||||
}, // 支付信息
|
||||
},
|
||||
rank: [],
|
||||
rankData: [],
|
||||
price: 0,
|
||||
score: 0,
|
||||
rankList: [],
|
||||
modalName: '', // 弹框支付
|
||||
modalName: '',
|
||||
chat_user_id: '',
|
||||
trade_no: '', // 订单号
|
||||
system: '', // 机型
|
||||
trade_no: '',
|
||||
system: '', // 系统类型 iOS/Android
|
||||
share_type: '',
|
||||
shareId: '',
|
||||
timeID: -1,
|
||||
@ -167,7 +202,8 @@
|
||||
paymentAmount: 0,
|
||||
coinMoney: 0,
|
||||
deductionPrice: 0,
|
||||
bgVip: 'background: #333333;\ncolor: white'
|
||||
bgVip: 'background: #171718;\ncolor: white',
|
||||
loginShow: false
|
||||
},
|
||||
computed: {
|
||||
residue() {
|
||||
@ -176,8 +212,6 @@
|
||||
},
|
||||
|
||||
onShow() {
|
||||
// 初始化页面数据
|
||||
// this.$parent.getTracker(this.$root.$name, this.config.navigationBarTitleText)
|
||||
},
|
||||
|
||||
onLoad(e) {
|
||||
@ -188,46 +222,35 @@
|
||||
this.chat_user_id = e.chat_user_id
|
||||
}
|
||||
this.rankList = []
|
||||
// 获取系统类型
|
||||
this.system = app.globalData.systemInfo.system.split(' ')[0]
|
||||
this.getPageData()
|
||||
},
|
||||
|
||||
onPullDownRefresh() {},
|
||||
onPullDownRefresh() {
|
||||
},
|
||||
|
||||
onShareAppMessage(res) {
|
||||
let that = this
|
||||
let openid = wx.getStorageSync('openid')
|
||||
let fromUserID = wx.getStorageSync('user_id')
|
||||
let url = `/pages/users/upgradeVIP?from_openid=${openid}&share_user_id=${that.id}&share_type=share&from_user_id=${fromUserID}`
|
||||
console.log(url)
|
||||
return {
|
||||
title: '会员中心',
|
||||
path: url,
|
||||
imageUrl: 'https://images.ufutx.com/202004/10/9d3829a6ad06cf95b32806fbc4f7dd94.png',
|
||||
success: function(res) {
|
||||
wx.showToast({
|
||||
title: '转发成功',
|
||||
icon: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
var shareTickets = res.shareTickets
|
||||
if (shareTickets.length == 0) {
|
||||
return false
|
||||
}
|
||||
success: function (res) {
|
||||
wx.showToast({ title: '转发成功', icon: 'success' })
|
||||
},
|
||||
fail: function(res) {
|
||||
// 转发失败
|
||||
}
|
||||
fail: function (res) {}
|
||||
}
|
||||
},
|
||||
|
||||
watch: {
|
||||
|
||||
cardCur() {
|
||||
this.payData.title = `超级会员(${this.rankList[this.cardCur].name})`
|
||||
this.payData.price = this.rankList[this.cardCur].price
|
||||
this.payData.discount_price = this.rankList[this.cardCur].discount_price
|
||||
console.log(this.payData.discount_price, 'this.payData.discount_price')
|
||||
}
|
||||
},
|
||||
|
||||
@ -242,28 +265,15 @@
|
||||
vm.$get({url: `${service.host}/rank/list`}).then(({code, data}) => {
|
||||
vm.user = data.rank_info
|
||||
let {type, is_subscribe} = wx.getStorageSync('userInfo')
|
||||
// let userInfo = {
|
||||
// nickName: vm.user.nickname,
|
||||
// avatarUrl: vm.user.avatar,
|
||||
// type,
|
||||
// id: vm.user.id,
|
||||
// is_subscribe,
|
||||
// rank_id: vm.user.rank_id
|
||||
// }
|
||||
// wx.setStorageSync('userInfo', userInfo)
|
||||
vm.specialVIP = data.ranks
|
||||
console.log(data, 'aaaaaaaa')
|
||||
vm.rankList = []
|
||||
data.ranks.sub_ranks.forEach((item, index) => {
|
||||
data.ranks.sub_ranks.forEach((item) => {
|
||||
vm.rankList.push(item)
|
||||
})
|
||||
console.log(vm.rankList, 'rankList-====')
|
||||
vm.payData.title = `超级会员(${vm.rankList[0].name})`
|
||||
vm.payData.price = `${vm.rankList[0].price}`
|
||||
vm.payData.discount_price = `${vm.rankList[0].discount_price}`
|
||||
vm.payData.pay_type = data.pay_type
|
||||
console.log(vm.rankList, vm.specialVIP)
|
||||
console.log(vm.payData, 'payData')
|
||||
vm.shareId = vm.rankList[vm.cardCur].id
|
||||
if (wx.getStorageSync('from_user_id')) {
|
||||
vm.worthShare()
|
||||
@ -281,26 +291,24 @@
|
||||
channel: 'rank',
|
||||
product_id: vm.shareId
|
||||
}
|
||||
vm.$post({url: `${service.host}/worth/shares`, data}).then(({code, data}) => {
|
||||
console.log('2f')
|
||||
})
|
||||
vm.$post({url: `${service.host}/worth/shares`, data})
|
||||
},
|
||||
cardSwiper(e) {
|
||||
this.cardCur = e.$wx.detail.current
|
||||
clearTimeout(this.timeID)
|
||||
this.timeID = setTimeout(() => {
|
||||
this.shareId = this.rankList[this.cardCur].id
|
||||
console.log(this.shareId)
|
||||
if (wx.getStorageSync('from_user_id')) {
|
||||
this.worthShare()
|
||||
}
|
||||
}, 800)
|
||||
},
|
||||
showFn (index) { // 弹框支付
|
||||
if (this.system == 'iOS') {
|
||||
this.modalName = 'showTips'
|
||||
showFn(index) {
|
||||
if (!this.$signInVerify()) {
|
||||
this.loginShow = true
|
||||
return
|
||||
}
|
||||
// 移除原来的iOS禁止支付逻辑
|
||||
this.wxPayShow = 'cash'
|
||||
this.coinMoney = (this.payData.coin / 10).toFixed(2)
|
||||
this.deductionPrice = this.payData.coin >= this.specialVIP.can_coin_amount ? (this.payData.discount_price - this.specialVIP.can_cash_amount).toFixed(2) : (this.payData.discount_price - this.coinMoney).toFixed(2)
|
||||
@ -318,7 +326,7 @@
|
||||
this.modalName = 'Modal'
|
||||
}
|
||||
},
|
||||
hideModal () {
|
||||
hideModal() {
|
||||
this.modalName = ''
|
||||
},
|
||||
copyWechat(data) {
|
||||
@ -326,7 +334,7 @@
|
||||
wx.setClipboardData({
|
||||
data: data,
|
||||
success(res) {
|
||||
vm.$showToast('复制成功,赶紧去加《小恋》为好友吧!')
|
||||
vm.$showToast('复制成功')
|
||||
}
|
||||
})
|
||||
},
|
||||
@ -339,43 +347,70 @@
|
||||
showTost() {
|
||||
this.$showToast('请同意《福恋服务协议》')
|
||||
},
|
||||
// ======================================
|
||||
// 核心支付方法(Android原接口,iOS新虚拟支付接口)
|
||||
// ======================================
|
||||
conversion(item) {
|
||||
console.log(this.payData.payId)
|
||||
let that = this,
|
||||
url = `${service.host}/rank/buy`
|
||||
let that = this
|
||||
that.modalName = ''
|
||||
that.$showLoading('支付中...')
|
||||
let data = {}
|
||||
data = {
|
||||
sub_rank_id: this.payData.payId,
|
||||
// chat_user_id: this.chat_user_id,
|
||||
// share_type: this.share_type,
|
||||
pay_type: this.wxPayShow
|
||||
|
||||
// 根据系统类型选择不同的接口和参数
|
||||
if (that.system === 'iOS') {
|
||||
// 先获取微信登录 code
|
||||
that.$showLoading('获取支付信息...')
|
||||
|
||||
wx.login({
|
||||
success: (loginRes) => {
|
||||
const code = loginRes.code
|
||||
console.log('获取到code:', code)
|
||||
|
||||
let url = `${service.host}/rank/buy/virtual`
|
||||
let data = {
|
||||
sub_rank_id: this.payData.payId, // 必须:会员套餐ID
|
||||
pay_type: this.wxPayShow, // 必须:支付类型
|
||||
share_type: this.share_type || '', // 必须:分享类型
|
||||
code: code // 微信登录code,用于后端签名
|
||||
// chat_user_id: this.chat_user_id || '', // 非必须:聊天用户ID
|
||||
// from_user_id: wx.getStorageSync('from_user_id') || '' // 非必须:来源用户ID
|
||||
}
|
||||
|
||||
// 调用iOS虚拟支付接口创建订单
|
||||
that.$post({url: url, data}).then(({code, data}) => {
|
||||
that.trade_no = data.order.trade_no
|
||||
if (data.length == 0) {
|
||||
that.$post({url: `${service.host}/order/${that.trade_no}/callback`}).then(({code, data}) => {
|
||||
that.getUserData()
|
||||
that.$Toast_success('支付成功')
|
||||
})
|
||||
} else {
|
||||
let wxconfig = data.config
|
||||
// wx.config(JSON.parse(response.data.data.order.wx_pay.js));
|
||||
if (wxconfig.payment_debug) {
|
||||
if (code !== 0) {
|
||||
that.$Toast_error(data?.msg || '订单创建失败')
|
||||
return
|
||||
}
|
||||
|
||||
that.trade_no = data.order?.trade_no
|
||||
|
||||
// 测试订单直接回调
|
||||
if (data.length == 0 || data.config?.payment_debug) {
|
||||
return that.$post({url: `${service.host}/order/${that.trade_no}/callback`}).then(({code, data}) => {
|
||||
that.getUserData()
|
||||
that.$Toast_success('支付成功')
|
||||
})
|
||||
}
|
||||
wx.requestPayment({
|
||||
timeStamp: wxconfig.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
|
||||
nonceStr: wxconfig.nonceStr, // 支付签名随机串,不长于 32 位
|
||||
package: wxconfig.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
|
||||
signType: wxconfig.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
|
||||
paySign: wxconfig.paySign, // 支付签名
|
||||
success: function (res) {
|
||||
that.$post({url: `${service.host}/order/${that.trade_no}/callback`}).then(({code, data}) => {
|
||||
|
||||
// iOS虚拟支付
|
||||
const virtualPayData = data || {}
|
||||
console.log('virtualPayData', virtualPayData)
|
||||
|
||||
console.log({
|
||||
signData: virtualPayData.sign_data,
|
||||
paySig: virtualPayData.paySig || '',
|
||||
signature: virtualPayData.signature || '',
|
||||
mode: virtualPayData.mode || 'short_series_goods',
|
||||
})
|
||||
wx.requestVirtualPayment({
|
||||
signData: virtualPayData.sign_data,
|
||||
paySig: virtualPayData.paySig || '',
|
||||
signature: virtualPayData.signature || '',
|
||||
mode: virtualPayData.mode || 'short_series_goods',
|
||||
success(res) {
|
||||
console.log('requestVirtualPayment success', res)
|
||||
// 虚拟支付成功后回调
|
||||
that.$post({url: `${service.host}/order/${that.trade_no}/callback`}).then(() => {
|
||||
that.getUserData()
|
||||
that.$Toast_success('支付成功')
|
||||
let userInfo = wx.getStorageSync('userInfo')
|
||||
@ -383,43 +418,99 @@
|
||||
wx.setStorageSync('userInfo', userInfo)
|
||||
})
|
||||
},
|
||||
fail: function (res) {
|
||||
console.log(res, '===')
|
||||
wx.showToast({
|
||||
title: '已取消支付',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
fail({ errMsg, errCode }) {
|
||||
console.error('虚拟支付失败:', errMsg, errCode)
|
||||
that.$Toast_error('支付失败,请重试')
|
||||
}
|
||||
})
|
||||
}).catch((err) => {
|
||||
console.error('订单创建失败:', err)
|
||||
that.$Toast_error('订单创建失败,请重试')
|
||||
})
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('wx.login失败:', err)
|
||||
that.$Toast_error('获取登录信息失败,请重试')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
// ============== Android:原有普通支付接口 ==============
|
||||
let url = `${service.host}/rank/buy`
|
||||
|
||||
let data = {
|
||||
sub_rank_id: this.payData.payId,
|
||||
pay_type: this.wxPayShow
|
||||
}
|
||||
|
||||
// 调用原接口创建订单
|
||||
that.$post({url: url, data}).then(({code, data}) => {
|
||||
that.trade_no = data.order.trade_no
|
||||
|
||||
// 测试订单直接回调
|
||||
if (data.length == 0 || data.config?.payment_debug) {
|
||||
return that.$post({url: `${service.host}/order/${that.trade_no}/callback`}).then(({code, data}) => {
|
||||
that.getUserData()
|
||||
that.$Toast_success('支付成功')
|
||||
})
|
||||
}
|
||||
|
||||
// Android微信支付
|
||||
let wxconfig = data.config
|
||||
wx.requestPayment({
|
||||
timeStamp: wxconfig.timeStamp,
|
||||
nonceStr: wxconfig.nonceStr,
|
||||
package: wxconfig.package,
|
||||
signType: wxconfig.signType || 'MD5',
|
||||
paySign: wxconfig.paySign,
|
||||
success(res) {
|
||||
that.$post({url: `${service.host}/order/${that.trade_no}/callback`}).then(() => {
|
||||
that.getUserData()
|
||||
that.$Toast_success('支付成功')
|
||||
let userInfo = wx.getStorageSync('userInfo')
|
||||
userInfo.rank_id = 9
|
||||
wx.setStorageSync('userInfo', userInfo)
|
||||
})
|
||||
},
|
||||
fail(res) {
|
||||
wx.showToast({ title: '已取消支付', icon: 'none' })
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
payChoice(e) {
|
||||
this.wxPayShow = this.wxPayShow == 'coin' ? 'cash' : e
|
||||
},
|
||||
hiddenLogin() {
|
||||
this.loginShow = false
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
page{
|
||||
background: #F6F6F6;
|
||||
.bg-vip{
|
||||
page {
|
||||
background: #FFFFFF;
|
||||
|
||||
.bg-vip {
|
||||
background: #333333;
|
||||
color: white;
|
||||
}
|
||||
.mainTab{
|
||||
|
||||
.mainTab {
|
||||
padding: 12rpx;
|
||||
|
||||
.itemText {
|
||||
width: 38%;
|
||||
margin-bottom: 26rpx;
|
||||
position: relative;
|
||||
}
|
||||
.active{
|
||||
|
||||
.active {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
&:before{
|
||||
|
||||
&:before {
|
||||
content: " ";
|
||||
position: absolute;
|
||||
bottom: -8rpx;
|
||||
@ -431,16 +522,14 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
._bc-user{
|
||||
|
||||
._bc-user {
|
||||
width: 100%;
|
||||
background: url('https://images.ufutx.com/202004/09/5fd9264a4da7c310d1e086a92be7195a.png');
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background: #171718;
|
||||
position: relative;
|
||||
/*position: fixed;*/
|
||||
height: 70vw;
|
||||
padding-top: 6vw;
|
||||
/*z-index: 9999;*/
|
||||
|
||||
.userinfo-avatar {
|
||||
width: 110rpx;
|
||||
height: 110rpx;
|
||||
@ -449,126 +538,211 @@
|
||||
margin-right: 22rpx;
|
||||
border: 4rpx solid #fff;
|
||||
}
|
||||
.userinfo-name{
|
||||
|
||||
.userinfo-name {
|
||||
margin-top: 12rpx;
|
||||
.icon{
|
||||
display: flex;
|
||||
gap: 12rpx;
|
||||
|
||||
.icon {
|
||||
width: 28rpx;
|
||||
height: 28rpx;
|
||||
vertical-align: middle;
|
||||
margin:0 2px;
|
||||
margin: 0 4px 6rpx 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.item-xl{
|
||||
|
||||
.item-xl {
|
||||
margin-bottom: 16rpx;
|
||||
// .title{
|
||||
// }
|
||||
}
|
||||
|
||||
.service_icon {
|
||||
width: 150rpx;
|
||||
height: 150rpx;
|
||||
position: fixed;
|
||||
bottom: 120px;
|
||||
right: 28px;
|
||||
}
|
||||
|
||||
.m_payData {
|
||||
padding: 30rpx 30rpx;
|
||||
padding: 20px 20px;
|
||||
margin: 32rpx;border-radius: 10px;
|
||||
background: #FBFAFC;
|
||||
|
||||
.u_payData_img {
|
||||
width: 48rpx;
|
||||
height: 42rpx;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
.u_pay_unc {
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
border-radius: 50%;
|
||||
border: 2rpx solid #C2C2C2;
|
||||
}
|
||||
|
||||
.m_payData_coinImg {
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
}
|
||||
.iconV2{
|
||||
|
||||
.iconV2 {
|
||||
height: 32rpx;
|
||||
width: 32rpx;
|
||||
}
|
||||
.mainWrapper{
|
||||
|
||||
.mainWrapper {
|
||||
padding-left: 34rpx;
|
||||
.title{
|
||||
margin-top: 32rpx;
|
||||
padding-bottom: 12px;
|
||||
|
||||
.title {
|
||||
margin-bottom: 12rpx;
|
||||
}
|
||||
.ruleBox{
|
||||
background: white;
|
||||
padding: 22rpx;
|
||||
|
||||
.ruleBox {
|
||||
margin-top: -12px;
|
||||
margin-right: 34rpx;
|
||||
box-shadow: 1rpx 1rpx 12rpx #f0f0f0;
|
||||
border-radius: 10rpx;
|
||||
line-height: 46rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
align-self: stretch;
|
||||
border-radius: 0 10px 10px 10px;
|
||||
border: 1px solid #E6C7AB;
|
||||
padding: 42rpx 32rpx 32rpx 32rpx;
|
||||
}
|
||||
.scroll-wrapper{
|
||||
|
||||
.scroll-wrapper {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
.scroll-item{
|
||||
width: 200rpx;
|
||||
height: 268rpx;
|
||||
margin-left: -22rpx;
|
||||
background-image: url("https://images.ufutx.com/202004/09/1da12829a23a841d5f490302873152c3.png");
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
|
||||
.scroll-item {
|
||||
padding-top: 32rpx;
|
||||
margin-right: 60rpx;
|
||||
}
|
||||
.featureIcon{
|
||||
width: 62rpx;
|
||||
height: 62rpx;
|
||||
margin-top: 62rpx;
|
||||
margin-bottom: 12rpx;
|
||||
|
||||
.featureIcon {
|
||||
width: 104rpx;
|
||||
height: 104rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.card-swiper{
|
||||
.swiper-item{
|
||||
border-radius: 14rpx;
|
||||
|
||||
.card-swiper {
|
||||
width: 100% !important;
|
||||
.swiper-item {
|
||||
border-radius: 22rpx;
|
||||
}
|
||||
}
|
||||
.iconV2{
|
||||
|
||||
.iconV2 {
|
||||
height: 36rpx;
|
||||
width: 36rpx;
|
||||
margin-right: 6rpx;
|
||||
vertical-align: middle;
|
||||
margin-bottom: 8rpx;
|
||||
}
|
||||
.payBtn{
|
||||
|
||||
.payBtn {
|
||||
position: relative;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 18vw;
|
||||
width: 64vw;
|
||||
bottom: 32rpx;
|
||||
left: 0;
|
||||
height: 60px;
|
||||
background-image: url("https://images.ufutx.com/202007/17/fb7b8b1cd0d1b289d1e029257a97e949.png");
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
.l_text{
|
||||
position: absolute;
|
||||
left: 60rpx;
|
||||
top: 12rpx;
|
||||
}
|
||||
.r_text{
|
||||
color: #f8e8b2;
|
||||
position: absolute;
|
||||
right: 56rpx;
|
||||
top: 12rpx;
|
||||
width: 100%;
|
||||
padding: 32rpx;
|
||||
display: flex;
|
||||
background: #FFFFFF;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.l_text {
|
||||
color: var(--0-e-0-e-0-e, #0E0E0E);
|
||||
font-size: 12px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: normal;
|
||||
.price{
|
||||
color: var(--ff-2946, #FF2946);;
|
||||
font-size: 20px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: normal;
|
||||
}
|
||||
}
|
||||
|
||||
.r_text {
|
||||
color: #974800;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
line-height: normal;display: flex;
|
||||
padding: 12px 36px;
|
||||
height: 92rpx;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
border-radius: 200px;
|
||||
background: linear-gradient(270deg, #FDBA61 0%, #FDE28E 100%);
|
||||
}
|
||||
.m_pay_bu {
|
||||
}
|
||||
}
|
||||
|
||||
.m_pay_bu {
|
||||
padding: 20rpx 0 40rpx;
|
||||
|
||||
.u_pay_bu {
|
||||
margin-bottom: constant(safe-area-inset-bottom);
|
||||
margin-bottom: env(safe-area-inset-bottom);
|
||||
width: 480rpx;
|
||||
height: 80rpx;
|
||||
border-radius: 100rpx;
|
||||
background-image: linear-gradient(to left,#FF85A5,#FF5380);
|
||||
}
|
||||
color: #974800;
|
||||
text-align: center;
|
||||
font-family: "PingFang SC";
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
line-height: normal;
|
||||
display: flex;
|
||||
padding: 12px 36px;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
border-radius: 200px;
|
||||
background: linear-gradient(270deg, #FDBA61 0%, #FDE28E 100%);
|
||||
}
|
||||
}
|
||||
|
||||
.tips_box{
|
||||
._vipRights {
|
||||
margin-top: 32rpx;
|
||||
padding: 12rpx;
|
||||
position: relative;
|
||||
color: #0E0E0E;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: normal;
|
||||
|
||||
&:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 3px;
|
||||
height: 12px;
|
||||
border-radius: 43px;
|
||||
background: #F7BF8B;
|
||||
}
|
||||
}
|
||||
|
||||
.tips_box {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
@ -581,21 +755,21 @@
|
||||
border-radius: 24rpx;
|
||||
overflow: hidden;
|
||||
|
||||
.qrcode_icon-box{
|
||||
width: 320rpx;
|
||||
height: 320rpx;
|
||||
.qrcode_icon-box {
|
||||
width: 350rpx;
|
||||
height: 350rpx;
|
||||
border: 10rpx solid #F4F5FF;
|
||||
border-radius: 12rpx;
|
||||
margin: 40rpx auto 26rpx auto;
|
||||
margin: 22rpx auto 26rpx auto;
|
||||
|
||||
.qrcode_icon{
|
||||
.qrcode_icon {
|
||||
width: 320rpx;
|
||||
height: 320rpx;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.cancelIcon{
|
||||
.cancelIcon {
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
position: fixed;
|
||||
@ -603,17 +777,18 @@
|
||||
margin-left: -24rpx;
|
||||
z-index: 99;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<config>
|
||||
{
|
||||
navigationBarTitleText: 'VIP服务',
|
||||
navigationStyle: 'custom',
|
||||
enablePullDownRefresh: false,
|
||||
backgroundColorTop: '#f2f2f2',
|
||||
backgroundColorBottom: '#f2f2f2',
|
||||
usingComponents: {
|
||||
cuCustom: '~@/components/cu-custom'
|
||||
}
|
||||
}
|
||||
{
|
||||
navigationBarTitleText: 'VIP服务',
|
||||
navigationStyle: 'custom',
|
||||
enablePullDownRefresh: false,
|
||||
backgroundColorTop: '#f2f2f2',
|
||||
backgroundColorBottom: '#f2f2f2',
|
||||
usingComponents: {
|
||||
cuCustom: '~@/components/cu-custom',
|
||||
loginDialog: '~@/components/loginDialog',
|
||||
}
|
||||
}
|
||||
</config>
|
||||
|
||||
@ -121,6 +121,8 @@
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: 120rpx;"></view>
|
||||
<loginDialog :loginShow="loginShow" @hiddenLogin="hiddenLogin"></loginDialog>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -168,7 +170,9 @@
|
||||
wxPayShow: 'cash',
|
||||
coinMoney: 0,
|
||||
deductionPrice: 0,
|
||||
bgVip: 'background: #333333;\ncolor: white'
|
||||
bgVip: 'background: #333333;\ncolor: white',
|
||||
loginShow: false
|
||||
|
||||
},
|
||||
computed: {
|
||||
residue() {
|
||||
@ -347,6 +351,10 @@
|
||||
}, 800)
|
||||
},
|
||||
showFn (index) { // 弹框支付
|
||||
if (!this.$signInVerify()) {
|
||||
this.loginShow = true
|
||||
return
|
||||
}
|
||||
this.wxPayShow = 'cash'
|
||||
this.coinMoney = (this.payData.coin / 10).toFixed(2)
|
||||
// this.deductionPrice = this.payData.coin >= this.specialVIP.can_coin_amount ? (this.payData.discount_price - this.specialVIP.can_cash_amount).toFixed(2) : (this.payData.discount_price - this.coinMoney).toFixed(2)
|
||||
@ -460,6 +468,10 @@
|
||||
},
|
||||
payChoice(e) {
|
||||
this.wxPayShow = this.wxPayShow == 'coin' ? 'cash' : e
|
||||
},
|
||||
hiddenLogin() {
|
||||
let vm = this
|
||||
vm.loginShow = false
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -686,7 +698,9 @@
|
||||
backgroundColorTop: '#f2f2f2',
|
||||
backgroundColorBottom: '#f2f2f2',
|
||||
usingComponents: {
|
||||
cuCustom: '~@/components/cu-custom'
|
||||
cuCustom: '~@/components/cu-custom',
|
||||
loginDialog: '~@/components/loginDialog',
|
||||
|
||||
}
|
||||
}
|
||||
</config>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import Vuex from '@wepy/x';
|
||||
import Vuex from '@wepy/x'
|
||||
|
||||
export default new Vuex.Store({
|
||||
state: {
|
||||
@ -6,23 +6,23 @@ export default new Vuex.Store({
|
||||
},
|
||||
mutations: {
|
||||
increment (state) {
|
||||
state.counter++;
|
||||
state.counter++
|
||||
},
|
||||
decrement (state) {
|
||||
state.counter--;
|
||||
state.counter--
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
increment ({ commit }) {
|
||||
commit('increment');
|
||||
commit('increment')
|
||||
},
|
||||
decrement ({ commit }) {
|
||||
commit('decrement');
|
||||
commit('decrement')
|
||||
},
|
||||
incrementAsync ({ commit }) {
|
||||
setTimeout(() => {
|
||||
commit('increment');
|
||||
}, 1000);
|
||||
commit('increment')
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
@ -2,6 +2,7 @@ import NIM from 'nim-web-sdk-ng/dist/v2/NIM_MINIAPP_SDK'
|
||||
import { service } from '../config.js'
|
||||
|
||||
const IM = (account, token) => {
|
||||
// 沿用旧版稳定配置格式:不使用官网新的分参数配置,避免兼容问题
|
||||
let nim = NIM.getInstance({
|
||||
debugLevel: 'off',
|
||||
appkey: '9bc3ed1f7d8197b6b69f8f5b742824b1',
|
||||
@ -13,10 +14,38 @@ const IM = (account, token) => {
|
||||
linkUrl: 'wlnimsc0.netease.im'
|
||||
})
|
||||
|
||||
// 保留核心优化:筛选有效群会话ID(解决“找不到会话”报错)
|
||||
const getValidTeamSessionIds = (sessions) => {
|
||||
return sessions.filter(item => item.scene === 'team').map(item => item.to)
|
||||
}
|
||||
|
||||
// 保留核心优化:清理无效存储数据(避免用无效群ID操作)
|
||||
const cleanInvalidTeamStorage = (validTeamIds) => {
|
||||
// 清理免打扰列表
|
||||
let muteNotList = wx.getStorageSync('muteNotList') || []
|
||||
const validMuteList = muteNotList.filter(item =>
|
||||
validTeamIds.includes(`team-${item.teamId}`)
|
||||
)
|
||||
if (muteNotList.length !== validMuteList.length) {
|
||||
wx.setStorageSync('muteNotList', validMuteList)
|
||||
}
|
||||
|
||||
// 清理群未读数列表
|
||||
let teamsSessionsCount = wx.getStorageSync('teamsSessionsCount') || []
|
||||
const validTeamsCount = teamsSessionsCount.filter(item =>
|
||||
validTeamIds.includes(item.id)
|
||||
)
|
||||
if (teamsSessionsCount.length !== validTeamsCount.length) {
|
||||
wx.setStorageSync('teamsSessionsCount', validTeamsCount)
|
||||
}
|
||||
}
|
||||
|
||||
// 沿用旧版事件列表:不新增可能兼容问题的事件
|
||||
const eventList = [
|
||||
'logined', 'willReconnect', 'disconnect', 'msg', 'syncdone', 'syncRoamingMsgs', 'sessions', 'updateMuteList', 'friends', 'updateSession', 'teams', 'myTeamMembers', 'updateMyMemberInfo', 'sendTeamMsg'
|
||||
]
|
||||
|
||||
// 沿用旧版事件注册方式
|
||||
eventList.forEach((key) => {
|
||||
nim.on(key, (res) => {
|
||||
// console.log(`Receive ${key} event:`, res ? JSON.parse(JSON.stringify(res)) : res)
|
||||
@ -25,30 +54,43 @@ const IM = (account, token) => {
|
||||
|
||||
nim.connect()
|
||||
|
||||
// 沿用旧版连接状态监听
|
||||
nim.on('logined', function () {
|
||||
console.log('连接成功')
|
||||
console.log('IM连接成功')
|
||||
})
|
||||
|
||||
nim.on('willReconnect', function (e) {
|
||||
console.log(e, '即将重连')
|
||||
console.log('IM即将重连:', e)
|
||||
})
|
||||
|
||||
nim.on('disconnect', function (e) {
|
||||
console.log(e, '丢失连接')
|
||||
console.log('IM连接断开:', e)
|
||||
})
|
||||
|
||||
// 保留核心优化:会话同步时校验有效会话,避免无效ID报错
|
||||
nim.on('sessions', function(e) {
|
||||
console.log(e, '会话消息')
|
||||
// 如果群是开启了免打扰自动标记未读数已读
|
||||
console.log('会话列表同步:', e)
|
||||
const validTeamIds = getValidTeamSessionIds(e)
|
||||
cleanInvalidTeamStorage(validTeamIds) // 清理无效数据
|
||||
|
||||
// 免打扰群标已读(双重校验:解决找不到会话报错)
|
||||
let mute = wx.getStorageSync('muteNotList') || []
|
||||
if (mute && mute.length > 0) {
|
||||
mute.forEach((j) => {
|
||||
nim.session.resetSessionUnreadCount({
|
||||
id: `team-${j.teamId}`
|
||||
})
|
||||
const sessionId = `team-${j.teamId}`
|
||||
const session = nim.session.getSession({ id: sessionId })
|
||||
// 只对“存在且有效”的会话操作,无效会话直接跳过
|
||||
if (session && validTeamIds.includes(sessionId)) {
|
||||
try {
|
||||
nim.session.resetSessionUnreadCount({ id: sessionId })
|
||||
} catch (err) {
|
||||
console.log(`重置会话${sessionId}未读失败:`, err)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
// 获取群消息未读数并赋值在tabBar显示
|
||||
|
||||
// 沿用旧版未读数统计和TabBar更新逻辑
|
||||
let teamsSsions = []
|
||||
e.forEach((i) => {
|
||||
if (i.scene === 'team') {
|
||||
@ -56,6 +98,7 @@ const IM = (account, token) => {
|
||||
}
|
||||
})
|
||||
wx.setStorageSync('teamsSessionsCount', teamsSsions)
|
||||
|
||||
let groupCount = 0
|
||||
if (teamsSsions.length > 0) {
|
||||
for (let i = 0; i < teamsSsions.length; i++) {
|
||||
@ -74,8 +117,9 @@ const IM = (account, token) => {
|
||||
}
|
||||
})
|
||||
|
||||
// 完全沿用旧版消息处理逻辑:不新增@提醒、撤回等功能
|
||||
nim.on('msg', function (e) {
|
||||
console.log(e, '收到最新消息')
|
||||
console.log('收到新消息:', e)
|
||||
let pages = getCurrentPages()
|
||||
let currentPage = pages[pages.length - 1]
|
||||
let notiTypeData = { muteTeam: false }
|
||||
@ -155,6 +199,9 @@ const IM = (account, token) => {
|
||||
index: 2
|
||||
})
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log('获取系统通知未读失败:', err)
|
||||
}
|
||||
})
|
||||
setTimeout(() => {
|
||||
@ -169,6 +216,7 @@ const IM = (account, token) => {
|
||||
}, 800)
|
||||
})
|
||||
|
||||
// 完全沿用旧版免打扰列表处理逻辑
|
||||
nim.on('myTeamMembers', function (e) {
|
||||
let pages = getCurrentPages()
|
||||
let currentPage = pages[pages.length - 1]
|
||||
@ -188,12 +236,14 @@ const IM = (account, token) => {
|
||||
})
|
||||
}
|
||||
})
|
||||
// 沿用旧版setTimeout(如果之前稳定,保留避免改动)
|
||||
setTimeout(() => {
|
||||
console.log(muteNotList, '99399')
|
||||
wx.setStorageSync('muteNotList', muteNotList)
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
return nim
|
||||
}
|
||||
|
||||
|
||||
@ -52,6 +52,7 @@ const wx_login = () => {
|
||||
wx.setStorageSync('openid', (data.openid))
|
||||
wx.setStorageSync('user_id', data.user.id) // 用户id
|
||||
wx.setStorageSync('mobile', data.user.mobile) // 用户手机号
|
||||
wx.setStorageSync('adv', data.adv) // 首页弹窗广告
|
||||
if (data.user.hidden_profile == 'ALLSEX') { // 资料是否关闭
|
||||
wx.setStorageSync('logoutCode', 1)
|
||||
wx.redirectTo({url: '/pages/users/logoutDefault'})
|
||||
|
||||