feat:小程序改造

This commit is contained in:
2026-07-23 14:00:03 +08:00
committed by charles
parent 3f335074ea
commit 553543b5b3
39 changed files with 1096 additions and 1231 deletions
+11 -11
View File
@@ -281,7 +281,7 @@
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black",
"enablePullDownRefresh": false,
"navigationStyle": "default" // 默认样式,会显示返回图标
"navigationStyle": "default"
}
},
{
@@ -292,14 +292,14 @@
}
},
{
"path": "setting/zhaopian",
"path": "zhaopian/zhaopian",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
}
},
{
"path": "setting/zhao",
"path": "zhao/zhao",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
@@ -355,7 +355,7 @@
}
},
{
"path": "setting/express",
"path": "express/express",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
@@ -383,49 +383,49 @@
}
},
{
"path": "setting/out-agreement",
"path": "outAgreement/outAgreement",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
}
},
{
"path": "setting/out-code",
"path": "outCode/outCode",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
}
},
{
"path": "setting/set-name",
"path": "setName/setName",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
}
},
{
"path": "setting/account-out",
"path": "accountOut/accountOut",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
}
},
{
"path": "setting/forgot-pass",
"path": "forgotPass/forgotPass",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
}
},
{
"path": "setting/account-safe",
"path": "accountSafe/accountSafe",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
}
},
{
"path": "setting/kefu",
"path": "kefu/kefu",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
-94
View File
@@ -1,94 +0,0 @@
<template>
<view class="content">
<view class="lottery">
<dengbo-lotteryWheel :prizes="prizes" :size="626" :duration="5000" @run="Click" @done="Done"
ref="luckyWheel" :lightImgs="lightImages" customStyle="borderRadius: 50%;">
<template v-slot:bg>
<image src="https://static.tbmall.xin/static/turntable.png"
style="width: 100%; height: 100%" />
</template>
<template v-slot:pointer>
<up-image src="https://static.tbmall.xin/static/zz.png" width="40" height="40"
mode="widthFix" @click="startWheel"></up-image>
</template>
</dengbo-lotteryWheel>
</view>
</view>
</template>
<script>
export default {
data() {
return {
lightImages: ['https://static.tbmall.xin/static/zz.png', 'https://static.tbmall.xin/static/turntable.png'],
prizes: [{
name: '积分',
image: '/static/turntable/record.png',
pro: '50积分',
},
{
name: '积分',
image: '/static/turntable/record.png',
pro: '100积分',
},
{
name: '优惠券',
image: '/static/turntable/record.png',
pro: '15元优惠券',
},
{
name: '家用电器',
image: '/static/turntable/record.png',
pro: '微波炉',
},
{
name: '谢谢参与',
image: '/static/turntable/record.png',
pro: '15元优惠券',
},
{
name: '办公用品',
image: '/static/turntable/record.png',
pro: '机械键盘',
},
{
name: '生活用品',
image: '/static/turntable/record.png',
pro: '化妆刷',
},
],
}
},
onLoad() {
},
methods: {
startWheel() {
this.$refs.luckyWheel.run(2);
},
Click() {
console.log('用户点击了转盘');
this.$refs.luckyWheel.run(2);
},
Done(prize) {
console.log('抽奖结束,中奖奖品:', prize);
},
}
}
</script>
<style>
.content {
display: flex;
flex-direction: column;
align-items: center;
}
.lottery {
position: relative;
display: inline-block;
width: 626rpx;
height: 626rpx;
margin-top: 100rpx;
}
</style>
+18 -79
View File
@@ -52,6 +52,7 @@
</view>
</view>
<view>
<!-- #ifdef APP-PLUS -->
<view class="other_login">其他登录方式</view>
<view class="login_other_icon">
<view class="login_other_item" @click="wechatOneLogin">
@@ -64,10 +65,11 @@
支付宝登录
</view>
</view>
<!-- #endif -->
</view>
<view class="policy_warp">
<up-checkbox name="isCheck" usedAlone v-model:checked="isPolicy" shape="circle" activeColor="#7934F6"
size="19" iconSize="18">
<up-checkbox name="isCheck" usedAlone v-model:checked="isPolicy" shape="circle" activeColor="#7934F6" size="19"
iconSize="18">
<template #label>
<text>已阅读并同意</text>
<text class="policy_a_warp" @click="jumpUserAgreement">《服务协议》</text>
@@ -79,18 +81,6 @@
</up-checkbox>
</view>
<up-toast ref="uToastRef"></up-toast>
<!-- 自定义协议弹窗 -->
<view v-if="showPolicyModal" class="modal-overlay" @click="showPolicyModal = false">
<view class="modal-content" @click.stop>
<view class="modal-title">温馨提示</view>
<view class="modal-message">请您阅读并同意《服务协议》与《隐私政策》</view>
<view class="modal-buttons">
<view class="modal-btn modal-btn-cancel" @click="showPolicyModal = false">取消</view>
<view class="modal-btn modal-btn-confirm" @click="handlePolicyConfirm">同意并登录</view>
</view>
</view>
</view>
</view>
</template>
@@ -155,11 +145,10 @@ export default {
"padding-left": "16px",
},
loginWay: "password",
isShow: false,
isPolicy: false,
countdown: false,
isShow: false, // 是否显示
isPolicy: false, // 是否同意
countdown: false, // 清空倒计时
loading: false,
showPolicyModal: false,
};
},
methods: {
@@ -198,7 +187,17 @@ export default {
const form = this.form;
const params = {};
if (!this.isPolicy) {
this.showPolicyModal = true;
uni.showModal({
title: '温馨提示',
content: '请您阅读并同意《服务协议》与《隐私政策》',
confirmText: "同意并登录",
success: (res) => {
if (res.confirm) {
this.isPolicy = true;
this.loginFun(val);
}
}
});
return;
}
let response = val;
@@ -454,11 +453,6 @@ export default {
}
);
},
handlePolicyConfirm() {
this.showPolicyModal = false;
this.isPolicy = true;
this.loginFun();
},
},
computed: {
isIOS() {
@@ -544,59 +538,4 @@ export default {
margin-bottom: 80rpx;
}
}
.modal-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
}
.modal-content {
width: 500rpx;
background: #fff;
border-radius: 20rpx;
padding:24rpx;
text-align: center;
}
.modal-title {
font-size: 36rpx;
font-weight: bold;
color: #333;
margin-bottom: 30rpx;
}
.modal-message {
font-size: 28rpx;
color: #666;
line-height: 1.6;
margin-bottom: 40rpx;
}
.modal-buttons {
display: flex;
}
.modal-btn {
flex: 1;
height: 80rpx;
line-height: 80rpx;
font-size: 30rpx;
}
.modal-btn-cancel {
color: #999;
border-right: 1rpx solid #eee;
}
.modal-btn-confirm {
color: #7934F6;
}
</style>
@@ -66,9 +66,13 @@
<script>
import { getActivityList, raffleExecute } from '@/api/raffle.js';
import dengboLotteryWheel from "@/pages/other_package/components/dengbo-lotteryWheel/components/dengbo-lotteryWheel/dengbo-lotteryWheel.vue";
export default {
components: {
dengboLotteryWheel,
},
data() {
return {
lightImages: ['https://static.tbmall.xin/static/bg_bs.png', 'https://static.tbmall.xin/static/bg_hs.png'],
@@ -59,7 +59,7 @@ export default {
},
onJump(){
uni.navigateTo({
url:'/pages/rwa_package/setting/out-agreement'
url:'/pages/rwa_package/outAgreement/outAgreement'
})
},
onZhu(){
@@ -67,7 +67,7 @@ export default {
},
onConfirm(){
// uni.navigateTo({
// url:'/pages/rwa_package/setting/out-code'
// url:'/pages/rwa_package/outCode/outCode'
// })
this.onCancel();
deleteAccount().then(res=>{
@@ -69,11 +69,11 @@ export default {
onHead(index){
if(index == 1){
uni.navigateTo({
url:`/pages/rwa_package/setting/forgot-pass?type=1`
url:`/pages/rwa_package/forgotPass/forgotPass?type=1`
})
}else if(index == 2){
uni.navigateTo({
url:`/pages/rwa_package/setting/forgot-pass?type=2`
url:`/pages/rwa_package/forgotPass/forgotPass?type=2`
})
}else if(index == 3){
uni.navigateTo({
+26 -9
View File
@@ -16,7 +16,7 @@
</template>
</Header>
<view class="top-line"></view>
<view class="contract-view" v-if="topSelect == 0">
<scroll-view scroll-y="true" class="contract-view" v-if="topSelect == 0">
<view class="top-head">
<text class="text-32 text-gray text-bold">股权分布</text>
<text class="text-28 text-fu">51%的股权回馈消费者(免费赠予)。<text v-if="currentUserData?.isNewUser">股权以积分形式发放</text></text>
@@ -29,6 +29,7 @@
:canvas2d="isCanvas2d"
:resshow="delayload"
:opts="oneOps"
:inScrollView="true"
:chartData="oneData"/>
</view>
@@ -44,6 +45,7 @@
:canvas2d="isCanvas2d"
:resshow="delayload"
:opts="twoOps"
:inScrollView="true"
:chartData="twoData"/>
</view>
<view class="bottom-view" v-if="currentUserData?.isNewUser">
@@ -74,8 +76,8 @@
</view>
</view>
</view>
</view>
<view class="contract-view" v-if="topSelect == 1 && curData">
</scroll-view>
<scroll-view scroll-y="true" class="contract-view" v-if="topSelect == 1 && curData">
<view class="two-top-tab-view">
<view v-for="(item,index) in twoTopList" @click="onTwoTop(index)" :key="index" class="two-top-list">
<text class="text-28 " :style="{
@@ -108,6 +110,7 @@
:canvas2d="isCanvas2d"
:resshow="delayload"
:opts="threeOps"
:inScrollView="true"
:chartData="threeData"/>
</view>
<view class="bottom-view">
@@ -162,7 +165,8 @@
/>
</view> -->
<qiun-data-charts
type="area" :ontouch="true" :canvas2d="true" canvasId="scrolllineid"
type="area" :ontouch="true" :canvas2d="isCanvas2d" canvasId="scrolllineid"
:inScrollView="true"
:opts="fourOps" :chartData="fourData"/>
</view>
<view class="tab-view-two">
@@ -175,10 +179,11 @@
<text class="text-32 text-gray text-bold">已分配总额:{{fiveTotal}}</text>
</view>
<view class="tu-view-one" style="margin:32rpx 0">
<qiun-data-charts type="area" :ontouch="true" :canvas2d="true" canvasId="scrolllineid1"
<qiun-data-charts type="area" :ontouch="true" :canvas2d="isCanvas2d" canvasId="scrolllineid1"
:inScrollView="true"
:opts="fourOps" :chartData="fiveData"/>
</view>
</view>
</scroll-view>
<up-toast ref="uToastRef"></up-toast>
</view>
</template>
@@ -186,14 +191,15 @@
<script>
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
import func from '@/utils/func.js';
import qiunDataCharts from '@/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue'
import { getProfitSharingData } from '@/api/finance.js'
import qiunDataCharts from "@/pages/rwa_package/components/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue"
import { getUserInfo } from '@/api/auth.js';
export default {
components: { Header,TopSafe,qiunDataCharts },
data() {
return {
isCanvas2d: false,
topSelect:0,
twoTopList:['优选区','平价区'],
curTopTwo:0,
@@ -468,7 +474,19 @@ export default {
}
</script>
<style lang="scss">
page {
height: 100%;
overflow: hidden;
}
</style>
<style lang="scss" scoped>
.content {
height: 100%;
display: flex;
flex-direction: column;
}
.top-view{
display: flex;
justify-content: space-between;
@@ -521,7 +539,6 @@ export default {
display: flex;
flex-direction: column;
align-items: center;
overflow-y: auto;
box-sizing: border-box;
background-color: #fff;
position: relative;
@@ -63,7 +63,7 @@ export default {
},
onJump(){
uni.navigateTo({
url:'/pages/rwa_package/setting/out-agreement'
url:'/pages/rwa_package/outAgreement/outAgreement'
})
}
+3 -3
View File
@@ -93,7 +93,7 @@ export default {
});
}else if(index == 1){
uni.navigateTo({
url:'/pages/rwa_package/setting/set-name'
url:'/pages/rwa_package/setName/setName'
})
}
},
@@ -171,13 +171,13 @@ export default {
let url = '';
switch(index){
case 0:
url = '/pages/rwa_package/setting/account-safe'
url = '/pages/rwa_package/accountSafe/accountSafe'
break;
case 1:
url = '/pages/rwa_package/dongjian/index'
break;
case 2:
url = '/pages/rwa_package/setting/zhaopian'
url = '/pages/rwa_package/zhaopian/zhaopian'
break;
case 3:
url = '/pages/mine_package/mine_user_agreement/mine_user_agreement'
@@ -27,7 +27,6 @@ import { getUserInfo,updateName } from '@/api/auth.js';
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
import MyBtn from '@/components/common/my-btn.vue'
import func from '@/utils/func.js';
export default {
components: { Header, TopSafe,MyBtn },
@@ -49,7 +48,7 @@ export default {
},
onJump(index){
uni.navigateTo({
url:`/pages/rwa_package/setting/zhao?type=${index}`
url:`/pages/rwa_package//zhao/zhaopian?type=${index}`
})
}
}