合并代码
This commit is contained in:
parent
be1027eb38
commit
7c1c2af676
|
@ -107,6 +107,40 @@ const mine = {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返回绑定微信 支付宝账号
|
||||||
|
*/
|
||||||
|
getBindAccount() {
|
||||||
|
return util.request({
|
||||||
|
url: '/user/Bind/getBindAccount',
|
||||||
|
method: 'GET',
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 绑定支付宝账号和微信账号
|
||||||
|
* @param {Object} param
|
||||||
|
*/
|
||||||
|
bindAccount(param) {
|
||||||
|
return util.request({
|
||||||
|
url: '/user/Bind/account',
|
||||||
|
data: param.data,
|
||||||
|
method: 'POST',
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 意见反馈
|
||||||
|
* @param {Object} param
|
||||||
|
*/
|
||||||
|
feedback(param) {
|
||||||
|
return util.request({
|
||||||
|
url: '/user/protocol/feedback',
|
||||||
|
data: param.data,
|
||||||
|
method: 'POST',
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export default mine
|
export default mine
|
|
@ -584,7 +584,7 @@ const util = {
|
||||||
// 格式化默认值
|
// 格式化默认值
|
||||||
// 图片计数
|
// 图片计数
|
||||||
const count = obj.count ? obj.count : 8
|
const count = obj.count ? obj.count : 8
|
||||||
// 多战鼓图片
|
// 多张图片
|
||||||
if (!obj.type) obj.type = 2
|
if (!obj.type) obj.type = 2
|
||||||
// 操作对象
|
// 操作对象
|
||||||
if (obj.value != '' && obj.value == undefined && obj.value == null) obj.value = obj.type == 1 ? '' : []
|
if (obj.value != '' && obj.value == undefined && obj.value == null) obj.value = obj.type == 1 ? '' : []
|
||||||
|
|
|
@ -3,22 +3,26 @@
|
||||||
import {
|
import {
|
||||||
ref,
|
ref,
|
||||||
computed,
|
computed,
|
||||||
getCurrentInstance
|
getCurrentInstance,
|
||||||
|
reactive
|
||||||
} from 'vue'
|
} from 'vue'
|
||||||
import {
|
|
||||||
useStore
|
|
||||||
} from 'vuex'
|
|
||||||
import {
|
import {
|
||||||
onLoad,
|
onLoad,
|
||||||
onReady,
|
onReady,
|
||||||
} from '@dcloudio/uni-app'
|
} from '@dcloudio/uni-app'
|
||||||
// 工具库
|
// 工具库
|
||||||
import util from '@/common/js/util.js'
|
import util from '@/common/js/util.js'
|
||||||
|
//
|
||||||
|
import api from '@/api/index.js'
|
||||||
|
|
||||||
const {
|
const {
|
||||||
proxy
|
proxy
|
||||||
} = getCurrentInstance()
|
} = getCurrentInstance()
|
||||||
// 仓库
|
// 绑定的信息
|
||||||
const store = useStore()
|
const detail = reactive({
|
||||||
|
wechatId: '',
|
||||||
|
alipayId: '',
|
||||||
|
})
|
||||||
// 绑定的项
|
// 绑定的项
|
||||||
const bindItem = ref({})
|
const bindItem = ref({})
|
||||||
// 用户信息
|
// 用户信息
|
||||||
|
@ -29,34 +33,81 @@
|
||||||
// 绑定列表
|
// 绑定列表
|
||||||
const bindList = computed(() => {
|
const bindList = computed(() => {
|
||||||
let result = [{
|
let result = [{
|
||||||
|
key: 'wechatId',
|
||||||
img: '/static/wx.png',
|
img: '/static/wx.png',
|
||||||
name: '微信号',
|
name: '微信号',
|
||||||
value: '',
|
value: detail.wechatId,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
key: 'alipayId',
|
||||||
img: '/static/shop-alipay-payment.png',
|
img: '/static/shop-alipay-payment.png',
|
||||||
name: '支付宝号',
|
name: '支付宝号',
|
||||||
vlaue: '',
|
value: detail.alipayId,
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
return result
|
return result
|
||||||
})
|
})
|
||||||
|
|
||||||
onReady(() => {
|
onLoad(() => {
|
||||||
//
|
// 获取绑定的信息
|
||||||
|
getDetail()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// 获取绑定的信息
|
||||||
|
function getDetail() {
|
||||||
|
api.mine.getBindAccount().then(rs => {
|
||||||
|
if (rs.code == 200) {
|
||||||
|
// 详情
|
||||||
|
Object.assign(detail, rs.data)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
util.alert({
|
||||||
|
content: rs.msg,
|
||||||
|
showCancel: false,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 点击项
|
// 点击项
|
||||||
function handleItem(item) {
|
function handleItem(item) {
|
||||||
bindItem.value = item
|
bindItem.value = item
|
||||||
proxy.$refs.bind.open()
|
proxy.$refs.bind.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 绑定支付宝号
|
||||||
|
function handleSubmit() {
|
||||||
|
// 验证必填项
|
||||||
|
if (!bindItem.value.name) {
|
||||||
|
util.alert(`${bindItem.name}不能为空`)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 提交
|
||||||
|
const data = {}
|
||||||
|
// 添加提交数据
|
||||||
|
data[bindItem.value.key] = bindItem.value.value
|
||||||
|
|
||||||
|
//
|
||||||
|
api.mine.bindAccount({
|
||||||
|
data,
|
||||||
|
}).then(rs => {
|
||||||
|
if (rs.code == 200) {
|
||||||
|
//
|
||||||
|
detail[bindItem.value.key] = bindItem.value.value
|
||||||
|
//
|
||||||
|
proxy.$refs.bind.close()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
util.alert({
|
||||||
|
content: rs.msg,
|
||||||
|
showCancel: false,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="app">
|
<view class="app">
|
||||||
<view class="container">
|
<view class="container">
|
||||||
|
|
||||||
<view class="line rows mtb30 mlr30 ptb40 plr30 bfff br20" v-for="(item,index) in bindList" :key="index"
|
<view class="line rows mtb30 mlr30 ptb40 plr30 bfff br20" v-for="(item,index) in bindList" :key="index"
|
||||||
@click="handleItem(item)">
|
@click="handleItem(item)">
|
||||||
<image class="wh80" :src="item.img" mode="aspectFit" />
|
<image class="wh80" :src="item.img" mode="aspectFit" />
|
||||||
|
@ -64,34 +115,41 @@
|
||||||
<view class="key f32">{{item.name}}</view>
|
<view class="key f32">{{item.name}}</view>
|
||||||
|
|
||||||
<view class="content mt10 c999 f26">
|
<view class="content mt10 c999 f26">
|
||||||
<text v-if="item.value">{{item.value}}</text>
|
<text v-if="item.value != ''">{{item.value}}</text>
|
||||||
<text v-else>未绑定</text>
|
<text v-else>未绑定</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- -->
|
|
||||||
<uni-popup ref="bind" type="bottom">
|
|
||||||
<view class="bindAlt popBot plr30 bfff">
|
|
||||||
<view class="header rows mtb30">
|
|
||||||
<view class="">绑定{{bindItem.name}}</view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="inputBox mtb30 ptb10 plr20">
|
|
||||||
<input type="text" placeholder="请输入" />
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="hint mtb30 c999 f26">请核对信息后进行绑定,因信息错误产生的问题后果自负</view>
|
|
||||||
|
|
||||||
<view class="btn bar black mtb30">添加</view>
|
|
||||||
</view>
|
|
||||||
</uni-popup>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<!-- 绑定弹窗 -->
|
||||||
|
<uni-popup ref="bind" type="bottom">
|
||||||
|
<view class="bindAlt popBot plr30 bfff">
|
||||||
|
<view class="header rows mtb30">
|
||||||
|
<view class="">
|
||||||
|
<text v-if="detail[bindItem.key]">修改</text>
|
||||||
|
<text v-else>绑定</text>
|
||||||
|
<text>{{bindItem.name}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="inputBox mtb30 ptb10 plr20">
|
||||||
|
<input type="text" v-model="bindItem.value" placeholder="请输入" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="hint mtb30 c999 f26">请核对信息后进行绑定,因信息错误产生的问题后果自负</view>
|
||||||
|
|
||||||
|
<view class="btn bar black mtb30" @click="handleSubmit">添加</view>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss" scoped>
|
||||||
|
// 绑定弹窗
|
||||||
.bindAlt {
|
.bindAlt {
|
||||||
|
|
||||||
|
// 提示
|
||||||
.hint {
|
.hint {
|
||||||
color: #aa3333;
|
color: #aa3333;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,77 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
// 意见反馈
|
// 意见反馈
|
||||||
// 联系方式 描述问题 描述详情 问题图片
|
import {
|
||||||
|
ref,
|
||||||
|
reactive,
|
||||||
|
computed,
|
||||||
|
} from 'vue'
|
||||||
|
import {
|
||||||
|
onLoad,
|
||||||
|
onReady,
|
||||||
|
} from '@dcloudio/uni-app'
|
||||||
|
// 工具库
|
||||||
|
import util from '@/common/js/util.js'
|
||||||
|
//
|
||||||
|
import api from '@/api/index.js'
|
||||||
|
// 表单
|
||||||
|
const form = reactive({
|
||||||
|
feedbackType: '',
|
||||||
|
content: '',
|
||||||
|
url: [],
|
||||||
|
phoneNumber: '',
|
||||||
|
})
|
||||||
|
|
||||||
|
// 提交
|
||||||
|
function handleSubmit() {
|
||||||
|
//
|
||||||
|
const data = {
|
||||||
|
...form
|
||||||
|
}
|
||||||
|
console.log('data', data)
|
||||||
|
|
||||||
|
// 验证必填项
|
||||||
|
if (!data.feedbackType) {
|
||||||
|
util.alert('问题标题不能为空')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!data.content) {
|
||||||
|
util.alert('问题详情不能为空')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!data.phoneNumber) {
|
||||||
|
util.alert('联系方式不能为空')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 图片路径
|
||||||
|
data.url = data.url.join(',')
|
||||||
|
|
||||||
|
api.mine.feedback({
|
||||||
|
data,
|
||||||
|
}).then(rs => {
|
||||||
|
if (rs.code == 200) {
|
||||||
|
util.alert({
|
||||||
|
content: '提交成功,请耐心等待平台反馈',
|
||||||
|
showCancel: false,
|
||||||
|
}).then(rs => {
|
||||||
|
uni.navigateBack()
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
util.alert({
|
||||||
|
content: rs.msg,
|
||||||
|
showCancel: false,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 上传文件
|
||||||
|
function uploadImg() {
|
||||||
|
util.upload_image({
|
||||||
|
value: form.url,
|
||||||
|
type: 2,
|
||||||
|
count: 6,
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
@ -9,33 +80,39 @@
|
||||||
<view class="line">
|
<view class="line">
|
||||||
<view class="key f36">请输入您遇到的问题标题</view>
|
<view class="key f36">请输入您遇到的问题标题</view>
|
||||||
<view class="value inputBox">
|
<view class="value inputBox">
|
||||||
<input type="text" placeholder="请输入描述问题标题" />
|
<input v-model.trim="form.feedbackType" placeholder="请输入描述问题标题" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="line">
|
<view class="line">
|
||||||
<view class="key f36">请输入您遇到的问题详情</view>
|
<view class="key f36">请输入您遇到的问题详情</view>
|
||||||
<view class="value inputBox">
|
<view class="value inputBox">
|
||||||
<textarea class="textarea" type="text" placeholder="请输入描述问题详情" />
|
<textarea v-model.trim="form.content" class="textarea" type="text" placeholder="请输入描述问题详情" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="line">
|
<view class="line">
|
||||||
<view class="key f36">请输入您遇到的问题</view>
|
<view class="key f36">请输入您遇到的问题</view>
|
||||||
<view class="imgList mt30">
|
<view class="imgList mt30">
|
||||||
<view class="imgs upload fmid wh180 br20">
|
<view class="imgs wh180 br20" v-for="(item,index) in form.url" :key="index">
|
||||||
|
<image :src="item" mode="aspectFill" />
|
||||||
|
</view>
|
||||||
|
<view class="imgs upload fmid wh180 br20" @click="uploadImg">
|
||||||
<uni-icons type="plusempty" size="80rpx" color="#aaa" />
|
<uni-icons type="plusempty" size="80rpx" color="#aaa" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="line">
|
<view class="line">
|
||||||
<view class="key f36">请输入您的联系方式</view>
|
<view class="key f36">请输入您的联系方式</view>
|
||||||
<view class="value inputBox">
|
<view class="value inputBox">
|
||||||
<input type="text" placeholder="请输入联系方式" />
|
<input v-model.trim="form.phoneNumber" type="text" placeholder="请输入联系方式" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="btn lg bar black mt60 mb30">提交</view>
|
<view class="btn lg bar black mt60 mb30" @click="handleSubmit">提交</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="fill"></view>
|
<view class="fill"></view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 166 KiB |
Binary file not shown.
After Width: | Height: | Size: 166 KiB |
Binary file not shown.
After Width: | Height: | Size: 228 KiB |
|
@ -14,20 +14,20 @@ export default defineConfig({
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
"/user": {
|
"/user": {
|
||||||
target: "http://192.168.1.241:8080",
|
target: "http://192.168.1.235:8080",
|
||||||
// target: "http://7fee92ac.r22.cpolar.top",
|
// target: "http://7fee92ac.r22.cpolar.top",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
"/coreplay": {
|
"/coreplay": {
|
||||||
target: "http://192.168.1.241:8080",
|
target: "http://192.168.1.235:8080",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
"/file": {
|
"/file": {
|
||||||
target: "http://192.168.1.236:8080",
|
target: "http://192.168.1.235:8080",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
"/video": {
|
"/video": {
|
||||||
target: "http://192.168.1.241:8080",
|
target: "http://192.168.1.235:8080",
|
||||||
// target: "http://7fee92ac.r22.cpolar.top",
|
// target: "http://7fee92ac.r22.cpolar.top",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue