更新羽声语音h5

This commit is contained in:
yziiy
2025-10-23 16:04:28 +08:00
parent f77801f9a1
commit 4fc72fbffe
228 changed files with 5384 additions and 4065 deletions

1
.gitignore vendored
View File

@@ -1,2 +1 @@
node_modules/ node_modules/
unpackage/

15
App.vue
View File

@@ -2,7 +2,7 @@
import http from '@/until/http.js'; import http from '@/until/http.js';
export default { export default {
onLaunch: function () { onLaunch: function () {
this.getInfo() // this.getInfo()
}, },
onHide: function () { onHide: function () {
uni.removeStorageSync('Theme_Data') uni.removeStorageSync('Theme_Data')
@@ -51,4 +51,17 @@ img {
height: 100%; height: 100%;
object-fit: cover; object-fit: cover;
} }
// 定制
:root {
--primary-color: #6C49E4;
--sub-color: #F0EEF7;
--subs-color: #6C49E4;
--subss-color: #DEB52E;
--warn-color:#F69627;
--font-button-color:#fff;
--font-button-size:24rpx;
--font-button-size-p:28rpx;
/* tab图标 */
--tab-url:url('https://vespa.qxyushen.top/h5/image/tabline.png');
}
</style> </style>

50
component/MiddlePopup.vue Normal file
View File

@@ -0,0 +1,50 @@
<template>
<div v-if="isVisible" class="popup-container">
<div class="popup-content">
<slot></slot>
<!-- <button @click="closePopup">关闭</button> -->
</div>
</div>
</template>
<script>
export default {
name: 'MiddlePopup',
data() {
return {
isVisible: false,
};
},
methods: {
openPopup() {
this.isVisible = true;
document.body.style.overflow = 'hidden'; // 防止页面滚动
},
closePopup() {
this.isVisible = false;
document.body.style.overflow = 'auto'; // 恢复页面滚动
}
}
}
</script>
<style scoped>
.popup-container {
position: fixed;
top: 0;
left: 0;
z-index: 6;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
}
.popup-content {
/* background-color: white; */
/* padding: 20px; */
/* border-radius: 8px; */
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}
</style>

94
component/avatar.vue Normal file
View File

@@ -0,0 +1,94 @@
<template>
<view class="container">
<!-- 用于放置VAP播放器的容器 -->
<view id="vapContainer"></view>
<!-- 用户头像通过定位等方式与VAP容器重叠 -->
<!-- <image :src="avatarUrl" class="user-avatar" mode="aspectFill"></image> -->
</view>
</template>
<script>
// 引入 VAP 库
import Vap from 'video-animation-player';
import config from './demo.json';
import testVideo from '@/static/che.mp4';
export default {
props: {
avatarUrl: {
type: String,
default: () => "https://example.com/path/to/your/avatar.png",
},
videoUrl: {
type: String,
default: () => "",
}
},
data() {
return {
vapInstance: null ,
testUrl:testVideo
};
},
mounted() {
// 确保 DOM 已经渲染
this.$nextTick(() => {
this.initVap();
});
},
beforeDestroy() {
// 组件销毁时,务必销毁 VAP 实例以避免内存泄漏
if (this.vapInstance) {
this.vapInstance.destroy();
}
},
methods: {
initVap() {
// VAP 配置参数
const options = {
container: document.getElementById('vapContainer'), // 容器 DOM 元素
src: this.testUrl, // VAP 视频路径
config: config,
width: 200, // 宽度
height: 100, // 高度
loop: true, // 是否循环播放
mute: true, // 是否静音(通常头像框不需要声音)
accurate: false, // 是否启用精准模式
};
// 创建 VAP 实例并播放
this.vapInstance = new Vap(options);
this.vapInstance.play(); // 开始播放
}
}
};
</script>
<style>
.container {
position: relative;
width: 300px;
height: 300px;
/* 其他样式 */
}
#vapContainer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1; /* 确保 VAP 视频层在上方 */
}
.user-avatar {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%); /* 居中 */
width: 150px; /* 根据你的 VAP 视频中预留的头像区域大小调整 */
height: 150px;
border-radius: 50%; /* 如果头像是圆形 */
z-index: 2; /* 头像在视频层下方 */
/* 其他样式 */
}
</style>

3089
component/demo.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -14,10 +14,6 @@
@click="toggleSort" @click="toggleSort"
> >
<text>时间</text> <text>时间</text>
<!-- <view class="sort-icon">
<text v-if="sortOrder === 'asc'"></text>
<text v-else-if="sortOrder === 'desc'"></text>
</view> -->
</view> </view>
<view class="header-item">累计流水</view> <view class="header-item">累计流水</view>
<view class="header-item">获得补贴</view> <view class="header-item">获得补贴</view>
@@ -33,7 +29,7 @@
<view class="row-item">{{ item.total_transaction }}</view> <view class="row-item">{{ item.total_transaction }}</view>
<view class="row-item">{{ item.subsidy_amount }}</view> <view class="row-item">{{ item.subsidy_amount }}</view>
<view class="row-item"> <view class="row-item">
<text :class="'status-' + item.status">{{ item.status_str }}</text> <text :class="`status-${item.status_str === '已发放' ? 0 : 1}`">{{ item.status_str }}</text>
</view> </view>
</view> </view>
@@ -202,13 +198,12 @@ export default {
} }
.status-0 { .status-0 {
color: #FF9900; color: #999;
} }
.status-1 { .status-1 {
color: #19be6b; color: var(--subss-color);
} }
.status-2 { .status-2 {
color: #FA3534; color: #FA3534;
} }

View File

@@ -155,7 +155,7 @@
transform: translateX(-50%); transform: translateX(-50%);
width: 80%; width: 80%;
height: 16rpx; height: 16rpx;
background-image: url('@/static/image/propMall/tabline.png'); background-image: var(--tab-url);
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
border-radius: 1px; border-radius: 1px;

View File

@@ -4,9 +4,11 @@
</template> </template>
<script> <script>
// import config from '@/until/config.js';
export default { export default {
data() { data() {
return { return {
httpUrl: 'https://vespa.qxyushen.top',
fileList: [] fileList: []
} }
}, },
@@ -15,6 +17,9 @@
this.$emit('changeImageList',this.fileList) this.$emit('changeImageList',this.fileList)
} }
}, },
// onLoad() {
// this.httpUrl = config.BASE_URL
// },
methods: { methods: {
// 选择文件回调 // 选择文件回调
select(e) { select(e) {
@@ -60,7 +65,7 @@
}, },
uploadFile(file) { uploadFile(file) {
uni.uploadFile({ uni.uploadFile({
url: 'https://chat.qxmier.com/adminapi/UploadFile/file_upload', url: `${this.httpUrl}/adminapi/UploadFile/file_upload`,
filePath: file.path, filePath: file.path,
name: 'files', name: 'files',
success: (uploadRes) => { success: (uploadRes) => {

View File

@@ -2,11 +2,11 @@
// #ifndef VUE3 // #ifndef VUE3
import Vue from 'vue' import Vue from 'vue'
import App from './App' import App from './App'
import config from '@/until/config.js'
Vue.config.productionTip = false Vue.config.productionTip = false
App.mpType = 'app' App.mpType = 'app'
Vue.prototype.$config = config;
const app = new Vue({ const app = new Vue({
...App ...App
}) })
@@ -15,9 +15,11 @@ app.$mount()
// #ifdef VUE3 // #ifdef VUE3
import { createSSRApp } from 'vue' import { createSSRApp } from 'vue'
import config from '@/until/config.js'
import App from './App.vue' import App from './App.vue'
export function createApp() { export function createApp() {
const app = createSSRApp(App) const app = createSSRApp(App)
app.config.globalProperties.$config = config
return { return {
app app
} }

View File

@@ -1,41 +1,41 @@
{ {
"name": "Vespa", "name" : "Vespa",
"appid": "__UNI__A4B5AED", "appid" : "__UNI__A4B5AED",
"description": "", "description" : "",
"versionName": "1.0.0", "versionName" : "1.0.0",
"versionCode": "100", "versionCode" : "100",
"transformPx": false, "transformPx" : false,
"app-plus": { "app-plus" : {
"background": "transparent", // 关键配置 "background" : "transparent", // 关键配置
"backgroundColor": "#00000000", "backgroundColor" : "#00000000",
"webview": { "webview" : {
"transparent": "always" // 确保 Webview 透明 "transparent" : "always" // 确保 Webview 透明
}, },
"packOptions": { "packOptions" : {
"ignore":[ "ignore" : [
{ {
"type":"folder", "type" : "folder",
"value":"node_modules" "value" : "node_modules"
} }
] ]
}, },
/* 5+App */ /* 5+App */
"usingComponents": true, "usingComponents" : true,
"nvueCompiler": "uni-app", "nvueCompiler" : "uni-app",
"nvueStyleCompiler": "uni-app", "nvueStyleCompiler" : "uni-app",
"splashscreen": { "splashscreen" : {
"alwaysShowBeforeRender": true, "alwaysShowBeforeRender" : true,
"waiting": true, "waiting" : true,
"autoclose": true, "autoclose" : true,
"delay": 0 "delay" : 0
}, },
"modules": {}, "modules" : {},
/* */ /* */
"distribute": { "distribute" : {
/* */ /* */
"android": { "android" : {
/* android */ /* android */
"permissions": [ "permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>", "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
@@ -54,37 +54,40 @@
"<uses-permission android:name=\"android.permission.INTERNET\" />" "<uses-permission android:name=\"android.permission.INTERNET\" />"
] ]
}, },
"ios": {}, "ios" : {},
/* ios */ /* ios */
"sdkConfigs": {} "sdkConfigs" : {}
} }
}, },
/* SDK */ /* SDK */
"quickapp": {}, "quickapp" : {},
/* */ /* */
"mp-weixin": { "mp-weixin" : {
/* */ /* */
"appid": "", "appid" : "",
"setting": { "setting" : {
"urlCheck": false "urlCheck" : false
}, },
"usingComponents": true "usingComponents" : true
}, },
"h5": { "h5" : {
"devServer": { "devServer" : {
"port": 8080, //浏览器运行端口 "port" : 8080, //浏览器运行端口
"disableHostCheck": true, //设置跳过host检查 "disableHostCheck" : true, //设置跳过host检查
"proxy": { "proxy" : {
"/api": { "/api" : {
"target": "https://chat.qxmier.com", //目标接口域名 "target" : "https://tmd.xscmmidi.site", //目标接口域名
"changeOrigin": true, //是否跨域 "changeOrigin" : true, //是否跨域
"secure": false, // 设置支持https协议的代理 "secure" : false, // 设置支持https协议的代理
"pathRewrite": { "pathRewrite" : {
"^/api": "" "^/api" : ""
}
} }
} }
} }
}, },
"vueVersion": "3" "router" : {
"base" : "/h5/web"
}
},
"vueVersion" : "3"
} }

9
package-lock.json generated
View File

@@ -1,11 +1,12 @@
{ {
"name": "yusheng-h5", "name": "fanyin-h5",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"dependencies": { "dependencies": {
"axios": "^1.9.0", "axios": "^1.9.0",
"video-animation-player": "^1.0.5",
"vue-i18n": "^11.1.5" "vue-i18n": "^11.1.5"
} }
}, },
@@ -604,6 +605,12 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/video-animation-player": {
"version": "1.0.5",
"resolved": "https://registry.npmmirror.com/video-animation-player/-/video-animation-player-1.0.5.tgz",
"integrity": "sha512-KLz+uL6zojOYXEPFxL2AB0iKSLHnmKQPBnXmFWHpGtAdB6/j9EWCbWcUDCg0KVOBTFRHa2UfiSNK0y1I+LEfpA==",
"license": "MIT"
},
"node_modules/vue": { "node_modules/vue": {
"version": "3.5.16", "version": "3.5.16",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.16.tgz", "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.16.tgz",

View File

@@ -1,6 +1,7 @@
{ {
"dependencies": { "dependencies": {
"axios": "^1.9.0", "axios": "^1.9.0",
"video-animation-player": "^1.0.5",
"vue-i18n": "^11.1.5" "vue-i18n": "^11.1.5"
} }
} }

View File

@@ -10,42 +10,60 @@
"path": "pages/union/detail", "path": "pages/union/detail",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "公会详情" "navigationBarTitleText": "公会详情",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
} }
}, },
{ {
"path": "pages/union/roomAndflow", "path": "pages/union/roomAndflow",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "公会房间及流水" "navigationBarTitleText": "公会房间及流水",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
} }
}, },
{ {
"path": "pages/union/unionMembers", "path": "pages/union/unionMembers",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "公会成员" "navigationBarTitleText": "公会成员",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
} }
}, },
{ {
"path": "pages/union/exitApplication", "path": "pages/union/exitApplication",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "退出审核" "navigationBarTitleText": "退出审核",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
} }
}, },
{ {
"path": "pages/union/subsidy", "path": "pages/union/subsidy",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "公会补贴" "navigationBarTitleText": "公会补贴",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
} }
}, },
{ {
"path": "pages/union/historyRecord", "path": "pages/union/historyRecord",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "公会补贴历史记录" "navigationBarTitleText": "公会补贴历史记录",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
} }
}, },
{ {
@@ -66,7 +84,11 @@
"path": "pages/other/taskDesc", "path": "pages/other/taskDesc",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "规则说明" "navigationBarTitleText": "规则说明",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
} }
}, },
{ {
@@ -87,7 +109,10 @@
"path": "pages/other/gradeRule", "path": "pages/other/gradeRule",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "等级规则" "navigationBarTitleText": "等级规则",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
} }
}, },
{ {
@@ -100,14 +125,29 @@
"path": "pages/feedback/help", "path": "pages/feedback/help",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "帮助与反馈" "navigationBarTitleText": "帮助与反馈",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
}
},{
"path": "pages/feedback/customerService",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "在线客服",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
} }
}, },
{ {
"path": "pages/feedback/feedback", "path": "pages/feedback/feedback",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "反馈问题" "navigationBarTitleText": "反馈问题",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
} }
}, },
{ {
@@ -117,11 +157,24 @@
"navigationBarTitleText": "青少年" "navigationBarTitleText": "青少年"
} }
}, },
{
"path": "pages/feedback/teenageDetail",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "青少年详情",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
}
},
{ {
"path": "pages/feedback/problemDetail", "path": "pages/feedback/problemDetail",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "问题详情" "navigationBarTitleText": "问题详情",
"app-plus": {
"popGesture": "none" // 禁用 iOS 左滑返回
}
} }
}, },
{ {
@@ -137,6 +190,13 @@
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "关于我们" "navigationBarTitleText": "关于我们"
} }
},
{
"path": "pages/other/test",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "测试页面"
}
} }
], ],
"globalStyle": { "globalStyle": {

View File

@@ -0,0 +1,42 @@
<template>
<view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg || $config.PRIMARY_BGURL}')`}">
<navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}" :navTitle="'在线客服'" :emitBack="false">
</navBar>
<view class="">
<img :src="$config.kefu_url" alt="" />
</view>
</view>
</template>
<script>
import navBar from '@/component/nav.vue';
export default {
components: {
navBar
},
data() {
return {
statusBarHeight:0
}
},
onLoad(options) {
const {
h
} = options
this.statusBarHeight = h
uni.setStorageSync('BarHeight', h)
if(uni.getStorageSync('Theme_Data')) {
this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data'))
}
}
}
</script>
<style lang="scss" scoped>
.view-page {
width: 100vw;
min-height: 100vh;
background-repeat: no-repeat;
background-size: 100% 100%;
}
</style>

View File

@@ -50,7 +50,9 @@
{{item.updatetime}} {{item.updatetime}}
</view> </view>
<!-- --> <!-- -->
<img v-if="item.is_deal === 2" style="width: 100rpx;height: 100rpx;position: absolute; right: 5%;bottom: 2%;" :src="icon" alt="" /> <img v-if="item.is_deal === 2"
style="width: 100rpx;height: 100rpx;position: absolute; right: 5%;bottom: 2%;"
:src="icon" alt="" />
</view> </view>
</view> </view>
</view> </view>
@@ -66,7 +68,7 @@
<view class="footer-button flex-line" @click="operate(index)" v-for="(item,index) in footerList" <view class="footer-button flex-line" @click="operate(index)" v-for="(item,index) in footerList"
:key="index"> :key="index">
<view class="icon"> <view class="icon">
<uni-icons :type="item.icon" :color="footerIndex === index ? '#0DFFB9' : '#333'" <uni-icons :type="item.icon" :color="footerIndex === index ? $config.BASR_COLOR : '#333'"
size="20"></uni-icons> size="20"></uni-icons>
</view> </view>
<view :class="footerIndex === index ? 'active' : ''" class="title ml-6 color-3 font-28 font-w400"> <view :class="footerIndex === index ? 'active' : ''" class="title ml-6 color-3 font-28 font-w400">
@@ -93,7 +95,7 @@
data() { data() {
return { return {
logo, logo,
icon:Icon, icon: Icon,
footerList: [{ footerList: [{
title: '意见反馈', title: '意见反馈',
icon: 'mail-open' icon: 'mail-open'
@@ -154,9 +156,9 @@
this.dataList = [] this.dataList = []
this.getUserFeedList() this.getUserFeedList()
} }
setTimeout(()=> { setTimeout(() => {
this.footerIndex = index this.footerIndex = index
},500) }, 500)
}, },
async getUserFeedList() { async getUserFeedList() {
await http.get('/api/Suggest/my_suggest', { await http.get('/api/Suggest/my_suggest', {
@@ -255,16 +257,23 @@
width: 100vw; width: 100vw;
min-height: 100vh; min-height: 100vh;
background-color: #F8F8F8; background-color: #F8F8F8;
.text-content-image{
.text-content-image {
width: calc(100% - 260rpx); width: calc(100% - 260rpx);
position: relative; position: relative;
display: inline-flex;flex-wrap: wrap;align-content: space-between; display: inline-flex;
flex-wrap: wrap;
align-content: space-between;
} }
.text-content{
.text-content {
width: 100%; width: 100%;
position: relative; position: relative;
display: inline-flex;flex-wrap: wrap;align-content: space-between; display: inline-flex;
flex-wrap: wrap;
align-content: space-between;
} }
.footer { .footer {
width: 100%; width: 100%;
height: 98rpx; height: 98rpx;
@@ -287,7 +296,7 @@
} }
.active { .active {
color: #0DFFB9 color: var(--primary-color);
} }
} }
@@ -321,16 +330,19 @@
border-radius: 22rpx; border-radius: 22rpx;
margin-bottom: 24rpx; margin-bottom: 24rpx;
width: calc(100% - 48rpx); width: calc(100% - 48rpx);
.box-top-line{
.box-top-line {
width: 100%; width: 100%;
display: inline-flex; display: inline-flex;
justify-content: flex-start; justify-content: flex-start;
position: relative; position: relative;
} }
.new-box-image { .new-box-image {
width: 240rpx; width: 240rpx;
height: 184rpx; height: 184rpx;
border-radius: 12rpx; border-radius: 12rpx;
img { img {
border-radius: 12rpx; border-radius: 12rpx;
} }
@@ -361,7 +373,9 @@
.confirm-button { .confirm-button {
width: 600rpx; width: 600rpx;
height: 84rpx; height: 84rpx;
background: #0DFFB9; background: var(--primary-color);
font-size: var(--font-button-size);
color: var(--font-button-color);
border-radius: 106rpx; border-radius: 106rpx;
display: inline-flex; display: inline-flex;
justify-content: center; justify-content: center;

View File

@@ -1,5 +1,5 @@
<template> <template>
<view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')`}"> <view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg || $config.PRIMARY_BGURL}')`}">
<!-- <headerHeight /> --> <!-- <headerHeight /> -->
<navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}" :navTitle="'帮助与反馈'" :emitBack="true" @backEvent="back"> <navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}" :navTitle="'帮助与反馈'" :emitBack="true" @backEvent="back">
</navBar> </navBar>
@@ -118,7 +118,7 @@
methods: { methods: {
async getHelpList() { async getHelpList() {
http.get('/api/Help/help_type', { http.get('/api/Help/help_type', {
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -145,7 +145,7 @@
}, },
async getProblemList(id) { async getProblemList(id) {
http.get('/api/Help/help_list', { http.get('/api/Help/help_list', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
type: id, type: id,
page: this.page, page: this.page,
page_limit: this.limit page_limit: this.limit
@@ -179,20 +179,23 @@
}); });
} else { } else {
// 在线客服 // 在线客服
const platform = uni.getSystemInfoSync().platform; uni.navigateTo({
// console.log(platform, '打印设备参数') url: `/pages/feedback/customerService?h=${this.statusBarHeight}`
if (platform === 'ios') {
console.log('调用iOS原生方法')
// 通过 messageHandlers 调用 iOS 原生方法
window.webkit.messageHandlers.nativeHandler.postMessage({
'action': 'customerService'
}); });
} else if (platform === 'android') { // const platform = uni.getSystemInfoSync().platform;
console.log('调用Android原生方法') // // console.log(platform, '打印设备参数')
// 调用 Android 原生方法 // if (platform === 'ios') {
window.Android.customerService(); // console.log('调用iOS原生方法')
// // 通过 messageHandlers 调用 iOS 原生方法
// window.webkit.messageHandlers.nativeHandler.postMessage({
// 'action': 'customerService'
// });
// } else if (platform === 'android') {
// console.log('调用Android原生方法')
// // 调用 Android 原生方法
// window.Android.customerService();
} // }
} }
}, },
back() { back() {

View File

@@ -57,7 +57,7 @@
methods: { methods: {
getDetail(id) { getDetail(id) {
http.get('/api/Help/help_detail', { http.get('/api/Help/help_detail', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
id: id id: id
}).then(response => { }).then(response => {
const { const {
@@ -80,7 +80,6 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.view-page { .view-page {
// padding: 32rpx;
width: 100vw; width: 100vw;
min-height: 100vh; min-height: 100vh;
background-color: #F8F8F8; background-color: #F8F8F8;
@@ -119,13 +118,7 @@
justify-items: center; justify-items: center;
justify-content: space-evenly; justify-content: space-evenly;
align-items: center; align-items: center;
// margin-top: ;
.help-box { .help-box {
// display: inline-flex;
// flex-wrap: wrap;
// justify-items: center;
// justify-content: center;
// align-items: center;
text-align: center; text-align: center;
.help-icon { .help-icon {
width: 100rpx; width: 100rpx;

View File

@@ -1,7 +1,7 @@
<template> <template>
<view class="view-page"> <view class="view-page">
<!-- <headerHeight bgColor="#fff" /> --> <navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}"
<navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}" :navTitle="'举报'" bgColor="#fff" :emitBack="true" @backEvent="back"> :navTitle="'举报'" bgColor="#fff" :emitBack="true" @backEvent="back">
</navBar> </navBar>
<view class="content"> <view class="content">
<uni-forms ref="baseForm" :modelValue="formData" label-position="top"> <uni-forms ref="baseForm" :modelValue="formData" label-position="top">
@@ -57,19 +57,19 @@
formData: { formData: {
content: "" content: ""
}, },
optionsProps:{ optionsProps: {
}, },
array: [], array: [],
typeList:[], typeList: [],
statusBarHeight:0, statusBarHeight: 0,
typeIndex: 0, typeIndex: 0,
messageText: "", messageText: "",
msgType: "success" msgType: "success"
} }
}, },
watch:{ watch: {
typeIndex(val){ typeIndex(val) {
console.log(val) console.log(val)
} }
}, },
@@ -78,7 +78,8 @@
const { const {
id, id,
fromType, fromType,
fromId,h fromId,
h
} = options } = options
this.optionsProps = { this.optionsProps = {
id, id,
@@ -108,31 +109,38 @@
} }
}, },
async getTypeList(){ async getTypeList() {
http.get('/api/Report/report_type_list', { http.get('/api/Report/report_type_list', {
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const{code,data} = response const {
code,
data
} = response
this.typeList = data this.typeList = data
this.array = data.map(ele => {return ele.type}) this.array = data.map(ele => {
return ele.type
})
this.typeIndex = 0 this.typeIndex = 0
}) })
}, },
bindPickerChange({detail}) { bindPickerChange({
detail
}) {
// console.log() // console.log()
this.typeIndex = detail.value this.typeIndex = detail.value
}, },
comfirm(){ comfirm() {
const formData = { const formData = {
type_id:this.typeList[this.typeIndex].id, type_id: this.typeList[this.typeIndex].id,
report_type: this.optionsProps.fromType || 1, report_type: this.optionsProps.fromType || 1,
content:this.formData.content || '', content: this.formData.content || '',
image:this.formData.image, image: this.formData.image,
from_id:this.optionsProps.fromId || "" from_id: this.optionsProps.fromId || ""
} }
http.post('/api/Report/report', { http.post('/api/Report/report', {
...formData, ...formData,
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -145,7 +153,7 @@
this.msgType = 'success' this.msgType = 'success'
this.formData = { this.formData = {
content: "", content: "",
image:"", image: "",
} }
this.$refs.uploadImage.clearImage() this.$refs.uploadImage.clearImage()
} else { } else {
@@ -155,9 +163,11 @@
} }
}) })
}, },
successUpload(list){ successUpload(list) {
const imageList = list.map(ele => {return ele.tempFilePath}) const imageList = list.map(ele => {
if(imageList && imageList.length) { return ele.tempFilePath
})
if (imageList && imageList.length) {
this.formData.image = imageList.join(',') this.formData.image = imageList.join(',')
} else { } else {
this.formData.image = "" this.formData.image = ""
@@ -192,10 +202,13 @@
padding: 21rpx; padding: 21rpx;
border-radius: 14rpx; border-radius: 14rpx;
} }
.comfirmButton{
.comfirmButton {
width: 600rpx; width: 600rpx;
height: 84rpx; height: 84rpx;
background: #0DFFB9; background: var(--primary-color);
font-size: var(--font-button-size);
color: var(--font-button-color);
border-radius: 106rpx; border-radius: 106rpx;
justify-content: center; justify-content: center;
} }

View File

@@ -1,7 +1,6 @@
<template> <template>
<view class="view-page" :style="backgroundStyle"> <view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg || $config.PRIMARY_BGURL}')`}">
<headerHeight /> <navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}" :navTitle="'青少年模式'" :emitBack="true" @backEvent="back">
<navBar :navTitle="'青少年模式'" :emitBack="true" @backEvent="back">
</navBar> </navBar>
<view class="content-view"> <view class="content-view">
<view class="flex-line"> <view class="flex-line">
@@ -9,7 +8,7 @@
</NavigationTabs> </NavigationTabs>
</view> </view>
<view class=""> <view class="">
<view class="flex-line flex-spaceB w-fill new-box" v-for="(item, index) in dataList" :key="index"> <view class="flex-line flex-spaceB w-fill new-box" v-for="(item, index) in dataList" :key="index" @click="openDetail(item)">
<view class=""> <view class="">
<view class="color-3 font-32 font-w500"> <view class="color-3 font-32 font-w500">
{{ item.title }} {{ item.title }}
@@ -31,12 +30,10 @@
<script> <script>
import http from '@/until/http.js'; import http from '@/until/http.js';
import headerHeight from '@/component/headerHeight.vue';
import navBar from '@/component/nav.vue'; import navBar from '@/component/nav.vue';
import NavigationTabs from '@/component/tab.vue'; import NavigationTabs from '@/component/tab.vue';
export default { export default {
components: { components: {
headerHeight,
navBar, navBar,
NavigationTabs NavigationTabs
}, },
@@ -44,6 +41,7 @@ export default {
return { return {
errorPage: true, errorPage: true,
currentIndex: 0, currentIndex: 0,
statusBarHeight:0,
pageConfig: { pageConfig: {
pageSize: 10, pageSize: 10,
currentPage: 1, currentPage: 1,
@@ -56,19 +54,6 @@ export default {
ThemeData: null ThemeData: null
} }
}, },
computed: {
backgroundStyle() {
if (this.ThemeData.app_bg) {
return {
backgroundImage: `url(${this.ThemeData.app_bg})`
}
} else {
return {
background: 'linear-gradient(180deg, #B3FAEB 2%, #FFFFFF 40%)'
}
}
}
},
onReachBottom() { onReachBottom() {
if (!this.loading && !this.noMore) { if (!this.loading && !this.noMore) {
this.getUnderageModeList(this.tabs[0].type) this.getUnderageModeList(this.tabs[0].type)
@@ -78,9 +63,12 @@ export default {
this.errorPage = true this.errorPage = true
this.dataList = [] this.dataList = []
const { const {
id id,
h
} = options } = options
uni.setStorageSync('token', id) uni.setStorageSync('token', id)
this.statusBarHeight = h
uni.setStorageSync('BarHeight', h)
if (uni.getStorageSync('token')) this.getUnderageTypeList() if (uni.getStorageSync('token')) this.getUnderageTypeList()
if (uni.getStorageSync('Theme_Data')) { if (uni.getStorageSync('Theme_Data')) {
this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data')) this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data'))
@@ -102,7 +90,7 @@ export default {
}, },
async getUnderageTypeList() { async getUnderageTypeList() {
http.get('/api/Usermode/getUnderageTypeList', { http.get('/api/Usermode/getUnderageTypeList', {
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -127,7 +115,7 @@ export default {
}, },
async getUnderageModeList(type) { async getUnderageModeList(type) {
http.get('/api/Usermode/getUnderageModeList', { http.get('/api/Usermode/getUnderageModeList', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
type: type, type: type,
page: this.pageConfig.currentPage, page: this.pageConfig.currentPage,
page_limit: this.pageConfig.pageSize page_limit: this.pageConfig.pageSize
@@ -160,6 +148,11 @@ export default {
this.pageConfig.currentPage = 1 this.pageConfig.currentPage = 1
this.pageConfig.pageSize = 10 this.pageConfig.pageSize = 10
this.getUnderageModeList(data.tab.type) this.getUnderageModeList(data.tab.type)
},
openDetail(data){
uni.navigateTo({
url: `/pages/feedback/teenageDetail?dataId=${data.id}`
});
} }
} }
} }

View File

@@ -0,0 +1,111 @@
<template>
<view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg || $config.PRIMARY_BGURL}')`}">
<headerHeight />
<navBar :navTitle="'内容详情'">
</navBar>
<template v-if="detailData">
<view class="" v-if="detailData.from === 2">
<iframe id="myIframe" :src="detailData.url" style="width: 100%;border: none;height: 100dvh;"></iframe>
<!-- <web-view :src="detailData.url"></web-view> -->
</view>
<view class="detailContent" v-else>
<!-- from 1站内 2 外链 -->
<view class="">
<view class="detailTitle">
{{detailData.title}}
</view>
<!-- 内容 -->
<view class="detailData" v-html="detailData.content || ''">
</view>
</view>
</view>
</template>
</view>
</template>
<script>
import headerHeight from '@/component/headerHeight.vue';
import navBar from '@/component/nav.vue';
import http from '@/until/http.js';
export default {
components: {
headerHeight,
navBar
},
data() {
return {
detailData: null,
ThemeData: null,
BarHeight:0
}
},
onLoad(options) {
const {
dataId
} = options
if (dataId) {
this.getDetail(dataId)
}
if (uni.getStorageSync('Theme_Data')) {
this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data'))
}
this.BarHeight = uni.getStorageSync('BarHeight')
},
methods: {
// 获取公会信息
async getDetail(Id) {
uni.showLoading({
mask: true,
title: '加载中'
})
http.get('/api/Usermode/getUnderageModeContent', {
id: Id,
token: uni.getStorageSync('token') || ''
}).then(response => {
uni.hideLoading()
const {
data,
code
} = response
this.detailData = code ? data : null
console.log(this.detailData)
})
},
}
}
</script>
<style lang="scss" scoped>
.view-page {
// padding: 32rpx;
display: flex;
flex-direction: column;
background-image: url('@/static/image/help/bg.png');
background-repeat: no-repeat;
background-size: 100% 100%;
min-height: 100vh;
.detailContent {
padding: 0 32rpx;
flex: 1;
/* 关键:撑满剩余空间 */
overflow: auto;
/* 允许内容滚动 */
.detailTitle {
font-size: 32rpx;
font-weight: 700;
color: #333;
line-height: 1.4;
padding-bottom: 48rpx;
text-align: center;
}
.detailData{
padding: 0 32rpx;
}
}
}
</style>

View File

@@ -1,34 +1,34 @@
<template> <template>
<view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')`}"> <view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg || $config.PRIMARY_BGURL}')`}">
<!-- <headerHeight /> --> <!-- <headerHeight /> -->
<navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}" :navTitle="`关于我们`" :emitBack="true" @backEvent="back"> <navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}" :navTitle="`关于我们`" :emitBack="true" @backEvent="back">
</navBar> </navBar>
<view class="dec-view"> <view class="dec-view">
<web-view src="https://chat.qxmier.com/api/Page/page_show?id=20"></web-view> <web-view :src="`${httpUrl}/api/Page/page_show?id=20`"></web-view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
// import headerHeight from '@/component/headerHeight.vue'; import config from '@/until/config.js';
import navBar from '@/component/nav.vue'; import navBar from '@/component/nav.vue';
export default { export default {
components: { components: {
// headerHeight,
navBar navBar
}, },
data() { data() {
return { return {
statusBarHeight:0, statusBarHeight:0,
ThemeData:null ThemeData:null,
httpUrl:null
} }
}, },
onLoad(options) { onLoad(options) {
this.httpUrl = config.BASE_URL
const { const {
h h
} = options } = options
this.currentIndex = type !== undefined ? +type : 0
this.statusBarHeight = h this.statusBarHeight = h
if(uni.getStorageSync('Theme_Data')) { if(uni.getStorageSync('Theme_Data')) {
this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data')) this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data'))

View File

@@ -1,5 +1,5 @@
<template> <template>
<view class="view-page" v-if="levelActiveData"> <view class="view-page" v-if="levelActiveData && detailData">
<view class="top-view"> <view class="top-view">
<view class="navbar" :style="{'margin-top' : `${statusBarHeight || 0}px`}"> <view class="navbar" :style="{'margin-top' : `${statusBarHeight || 0}px`}">
<view class=""> <view class="">
@@ -14,12 +14,11 @@
魅力等级 魅力等级
</view> </view>
</view> </view>
<view class="" @click="jumpGradeRule"> <view class="icon-image">
<img class="icon-image" src="@/static/image/grade/Question.png" alt="" />
</view> </view>
</view> </view>
<view class="swiper-view" v-if="levelActiveData.length"> <view class="swiper-view" v-if="levelActiveData.length">
<view class="swiper-image" :style="{ 'background-image' : `url(${levelActiveData[0].bg_image})`}"> <view class="swiper-image" :style="{ 'background-image' : `url('${levelActiveData[0].bg_image}')` }">
<view class="view-level"> <view class="view-level">
<view class=""> <view class="">
<view class="level-str" :style="{textShadow : `0px 0px 5px ${levelActiveData[0].color}`}"> <view class="level-str" :style="{textShadow : `0px 0px 5px ${levelActiveData[0].color}`}">
@@ -27,15 +26,19 @@
</view> </view>
<view class="color-9 flex-line" style="font-size: 20rpx;"> <view class="color-9 flex-line" style="font-size: 20rpx;">
<span <span
style="white-space: nowrap">{{levelActiveData[0].level_str || levelActiveData[0].name}}</span><progress style="white-space: nowrap">{{`lv.${levelActiveData[0].level}`}}</span><progress
style="width: 200rpx;margin: 0 24rpx;" :border-radius="52" :percent="3" style="width: 200rpx;margin: 0 24rpx;" :border-radius="52" :percent="3"
:activeColor="levelActiveData[0].color" stroke-width="3" /> :activeColor="levelActiveData[0].color" stroke-width="3" />
<span <span
style="white-space: nowrap">{{nextLevelData[0].level_str || nextLevelData[0].name }}</span> style="white-space: nowrap">{{`lv.${nextLevelData[0].level}`}}</span>
</view> </view>
<view class="color-9 mt-24" style="font-size: 20rpx;"> <view class="color-9 mt-24" style="font-size: 20rpx;">
距离下一个段位还差{{detailData.user.next_exp}}经验值 距离下一个段位还差{{detailData.user.next_exp}}经验值
</view> </view>
</view>
<view v-if="currentIndex == 1" style="width: 196rpx;height: 196rpx;">
<img :src="levelActiveData[0].rights_icon" alt="" />
</view> </view>
</view> </view>
</view> </view>
@@ -66,75 +69,27 @@
</view> </view>
</view> </view>
</view> </view>
</view>
<!-- 每日奖励等 --> <!-- 每日奖励等 -->
<view class="content-view"> <view class="content-view" v-if="detailData">
<template v-if="!currentIndex"> <view class="font-32 color-3 font-w500">
<!-- <view class="card-view"> {{`如何获得${currentIndex ? '魅力' : '财富'}值?`}}
<view class="card-title color-3 font-32 font-w500">
每日奖励
</view>
<view class="card-body flex-line">
<view class="coin">
<img src="@/static/image/grade/coin.png" alt="" />
</view>
<view class="flex-line w-fill" style="justify-content: space-around;">
<view class="font-28 color-3">
<view class="">
段位达到富豪8
</view>
<view class="">
可每日领取金币
</view>
</view>
<view class="receive-button flex-line color-3 font-24">
立即领取
</view>
</view>
</view>
</view> -->
<!-- <Canvans /> -->
<view class="card-view" v-if="detailData.privilege">
<view class="card-title color-3 font-32 font-w500">
财富特权
</view>
<!-- 容器使用 Flex 布局并允许换行 -->
<view class="flex-container" v-if="detailData.privilege && detailData.privilege.length">
<!-- 循环生成子元素 -->
<view v-for="(item, index) in detailData.privilege" :key="index" class="flex-item">
<view class="image">
<img :src="item.base_image || logo" alt="" />
</view>
<view class="color-3 font-28">
{{item.title}}
</view>
<view class="font-24 color-9">
{{item.name}}
</view>
</view>
</view> </view>
<view class="mt-24 color-3 font-w400" style="font-size: 28rpx;">
{{`${currentIndex ? `在平台收到的所有打赏均可转化为魅力值,具体比例为1金币=${detailData.coin_charm_exp}魅力值。` : `在平台的所有打赏均可转化为财富值具体比例为1金币=${detailData.coin_wealth_exp}财富值。`}`}}
</view> </view>
<!-- 财富等级 -->
<view class="mt-24">
<template v-if="!currentIndex" class="mt-24">
<img :src="$config.wealth_url" alt="" />
</template> </template>
<template v-else> <template v-else class="mt-24">
<view class="card-view" v-if="detailData.privilege"> <img :src="$config.charm_url" alt="" />
<view class="card-title color-3 font-32 font-w500">
等级特权
</view>
<!-- 容器使用 Flex 布局并允许换行 -->
<view class="flex-container" v-if="detailData.privilege && detailData.privilege.length">
<!-- 循环生成子元素 -->
<view v-for="(item, index) in detailData.privilege" :key="index" class="flex-item">
<view class="image">
<img :src="item.rights_icon || logo" alt="" />
</view>
<view class="font-24 color-9">
{{item.name}}
</view>
</view>
</view>
</view>
</template> </template>
</view> </view>
</view>
</view>
</view> </view>
</template> </template>
@@ -190,18 +145,13 @@
this.getWealthLevel() this.getWealthLevel()
} }
}, },
jumpGradeRule() {
uni.navigateTo({
url: `/pages/other/gradeRule?flag=${this.currentIndex}&h=${this.statusBarHeight}`
});
},
cutTabPage(index) { cutTabPage(index) {
this.currentIndex = index this.currentIndex = index
this.getData() this.getData()
}, },
async getCharmLevel() { async getCharmLevel() {
http.get('/api/Level/get_level_rule', { http.get('/api/Level/get_level_rule', {
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -244,7 +194,7 @@
}, },
async getWealthLevel() { async getWealthLevel() {
http.get('/api/Level/get_wealth_rule', { http.get('/api/Level/get_wealth_rule', {
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -321,7 +271,7 @@
min-height: 50vh; min-height: 50vh;
background-image: url('@/static/image/grade/Maskgroupx.png'); background-image: url('@/static/image/grade/Maskgroupx.png');
background-repeat: no-repeat; background-repeat: no-repeat;
position: relative;
.navbar { .navbar {
display: inline-flex; display: inline-flex;
justify-content: space-around; justify-content: space-around;
@@ -409,9 +359,13 @@
.content-view { .content-view {
min-height: 46vh; min-height: 46vh;
width: 100%; // width: 100%;
padding: 0 32rpx; width: calc(100% - 64rpx);
padding:32rpx;
// position: absolute;
// top: 50%;
border-radius: 32rpx 32rpx 0 0;
background-color: #fff;
.card-view { .card-view {
// padding: 24rpx 0; // padding: 24rpx 0;
@@ -452,7 +406,7 @@
flex: 0 0 calc(25% - 10px); flex: 0 0 calc(25% - 10px);
/* 基础宽度25% 减去间隔 */ /* 基础宽度25% 减去间隔 */
margin: 5px; margin: 5px;
min-height: 220rpx; min-height: 260rpx;
padding: 20rpx 0; padding: 20rpx 0;
/* 元素间距 */ /* 元素间距 */
box-sizing: border-box; box-sizing: border-box;
@@ -465,15 +419,14 @@
.image{ .image{
width: 100%; width: 100%;
height: 60%; height: 60%;
margin-bottom: 24rpx; margin-bottom: 14rpx;
img{ img{
width: 80%; width: 80%;
} }
} }
// .image { .title{
// width: 80%; max-width: 60px;
// height: 120rpx; }
// }
} }
} }
} }

View File

@@ -1,9 +1,9 @@
<template> <template>
<view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')`}"> <view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg || $config.PRIMARY_BGURL}')`}">
<navBar :navTitle="`规则说明`" :style="{'margin-top' : `${statusBarHeight || 0}px`}"> <navBar :navTitle="`规则说明`" :style="{'margin-top' : `${statusBarHeight || 0}px`}">
</navBar> </navBar>
<view class="dec-view" v-if="flagIndex !== null"> <view class="dec-view" v-if="flagIndex !== null">
<web-view :src="`https://chat.qxmier.com/api/Page/page_show?id=${flagIndex === 1 ? 10 : 11}`"></web-view> <web-view :src="`${httpUrl}/api/Page/page_show?id=${flagIndex === 1 ? 10 : 11}`"></web-view>
</view> </view>
</view> </view>
</template> </template>
@@ -11,24 +11,28 @@
<script> <script>
import navBar from '@/component/nav.vue'; import navBar from '@/component/nav.vue';
import config from '@/until/config.js';
export default { export default {
components: { components: {
navBar navBar
}, },
data() { data() {
return { return {
statusBarHeight:0, httpUrl: null,
flagIndex:null, statusBarHeight: 0,
ThemeData:null flagIndex: null,
ThemeData: null
} }
}, },
onLoad(options) { onLoad(options) {
const { const {
h,flag h,
flag
} = options } = options
this.flagIndex = +flag this.flagIndex = +flag
this.httpUrl = config.BASE_URL
this.statusBarHeight = h this.statusBarHeight = h
if(uni.getStorageSync('Theme_Data')) { if (uni.getStorageSync('Theme_Data')) {
this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data')) this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data'))
} }
} }
@@ -42,9 +46,11 @@
// background-image: url('@/static/image/help/bg.png'); // background-image: url('@/static/image/help/bg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
img{
img {
width: 100%; width: 100%;
} }
.dec-view { .dec-view {
min-height: calc(99vh - 160rpx); min-height: calc(99vh - 160rpx);
position: relative; position: relative;

View File

@@ -41,13 +41,13 @@
<view class="flex-line w-fill flex-spaceB"> <view class="flex-line w-fill flex-spaceB">
<view class=""> <view class="">
<view class="color-3 font-32 font-w500"> <view class="color-3 font-32 font-w500">
羽声语音 {{ConfigData.BASE_NAME}}
</view> </view>
<view class="color-3 font-32 font-w500"> <view class="color-3 font-32 mt-24 font-w500">
邀请码 邀请码
</view> </view>
<view class="color-6 font-24 mt-24"> <view class="color-6 font-24 mt-24">
一级充值的4%为邀请收益 一级充值的{{detailData.invited_draw || 0}}%为邀请收益
</view> </view>
</view> </view>
<view class="QRCodeImage"> <view class="QRCodeImage">
@@ -75,8 +75,9 @@
</view> </view>
</view> </view>
</view> </view>
<uni-popup ref="bindPopup" type="center" background-color="#fff" border-radius="32rpx"> <middle-popup ref="bindPopup" v-show="PopupStatus">
<view class="bindPopup-view"> <view class="bindPopup-view">
<view class="bindPopup-Content">
<view class="bind-title font-32 font-w500 color-3"> <view class="bind-title font-32 font-w500 color-3">
<view class=""> <view class="">
手动绑定 手动绑定
@@ -96,7 +97,8 @@
</view> </view>
</view> </view>
</view> </view>
</uni-popup> </view>
</middle-popup>
</view> </view>
</template> </template>
<script> <script>
@@ -112,14 +114,19 @@
import PYQ from '@/static/image/income/pyq.png'; import PYQ from '@/static/image/income/pyq.png';
import Qcode from '@/static/image/income/Qcode.png'; import Qcode from '@/static/image/income/Qcode.png';
import QQ from '@/static/image/income/QQ.png'; import QQ from '@/static/image/income/QQ.png';
import Config from '@/until/config.js';
import MiddlePopup from '@/component/MiddlePopup.vue'
export default { export default {
components: { components: {
NavigationTabs, NavigationTabs,
headerHeight, headerHeight,
Table Table,
MiddlePopup
}, },
data() { data() {
return { return {
ConfigData: Config,
PopupStatus: false,
errorPage: false, errorPage: false,
detailData: null, detailData: null,
currentIndex: 0, currentIndex: 0,
@@ -131,13 +138,13 @@
title: '钻石余额' title: '钻石余额'
}, },
{ {
icon: Coin, icon: ZS,
value: 200, value: 200,
prop: 'today_earnings', prop: 'today_earnings',
title: '今日收益' title: '今日收益'
}, },
{ {
icon: Coin, icon: ZS,
value: 200, value: 200,
prop: 'total_earnings', prop: 'total_earnings',
title: '累计收益' title: '累计收益'
@@ -146,11 +153,26 @@
statusBarHeight: 0, statusBarHeight: 0,
bindValue: '', bindValue: '',
dataList: [], dataList: [],
columns: [ columns: [{
{ title: '昵称', key: 'nickname', width: '20%' }, title: '昵称',
{ title: '时间', key: 'createtime', width: '35%' }, key: 'nickname',
{ title: '充值金额', key: 'coin', width: '30%' }, width: '20%'
{ title: '获得收益', key: 'earnings', width: '30%' } },
{
title: '时间',
key: 'createtime',
width: '35%'
},
{
title: '充值金币',
key: 'coin',
width: '30%'
},
{
title: '获得收益',
key: 'earnings',
width: '30%'
}
] ]
} }
}, },
@@ -163,10 +185,11 @@
if (uni.getStorageSync('token')) this.gettabs() if (uni.getStorageSync('token')) this.gettabs()
this.statusBarHeight = this.getStatusBarHeight() this.statusBarHeight = this.getStatusBarHeight()
this.statusBarHeight = h this.statusBarHeight = h
console.log(Config.BASE_NAME)
}, },
methods: { methods: {
copyText(text) { copyText(text) {
if(text) { if (text) {
if (uni.getSystemInfoSync().platform === 'h5') { if (uni.getSystemInfoSync().platform === 'h5') {
const textarea = document.createElement('textarea'); const textarea = document.createElement('textarea');
textarea.value = text; textarea.value = text;
@@ -224,7 +247,7 @@
}, },
async gettabs() { async gettabs() {
http.get('/api/Invited/get_init_code', { http.get('/api/Invited/get_init_code', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -254,7 +277,7 @@
}, },
getInvitedList() { getInvitedList() {
http.get('/api/Invited/invited_list', { http.get('/api/Invited/invited_list', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -267,7 +290,7 @@
}, },
getBillList() { getBillList() {
http.get('/api/Invited/bill_list', { http.get('/api/Invited/bill_list', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -324,10 +347,13 @@
}, },
// 绑定 // 绑定
bind() { bind() {
this.$refs.bindPopup.open('center') this.PopupStatus = true
this.$refs.bindPopup.openPopup()
}, },
closeBind() { closeBind() {
this.$refs.bindPopup.close() this.$refs.bindPopup.closePopup()
this.PopupStatus = false
}, },
decorate() { decorate() {
if (this.bindValue) { if (this.bindValue) {
@@ -335,7 +361,7 @@
mask: true mask: true
}) })
http.post('/api/Invited/invited_bind', { http.post('/api/Invited/invited_bind', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
init_code: this.bindValue init_code: this.bindValue
}).then(response => { }).then(response => {
const { const {
@@ -376,6 +402,13 @@
} }
} }
</script> </script>
<style>
/* 覆盖uni-popup的动画 */
::v-deep .uni-popup .uni-popup__wrapper {
transition: none !important;
transform: translateZ(0) !important;
}
</style>
<style scoped lang="scss"> <style scoped lang="scss">
.view-page { .view-page {
width: 100vw; width: 100vw;
@@ -519,7 +552,8 @@
.copy-button { .copy-button {
// width: 112rpx; // width: 112rpx;
border-radius: 4rpx; border-radius: 4rpx;
background-color: #0DFFB9; background: var(--primary-color);
color: var(--font-button-color);
text-align: center; text-align: center;
padding: 12rpx 24rpx; padding: 12rpx 24rpx;
} }
@@ -554,54 +588,17 @@
} }
} }
.popup-view {
padding: 32rpx;
min-height: 300rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
// background: #FFFFFF;
.share-view {
display: flex;
/* 启用 Flex 布局 */
flex-wrap: wrap;
/* 允许换行 */
justify-content: center;
margin-top: 32rpx;
}
.share-item {
flex: 0 0 calc(25% - 10px);
/* 基础宽度25% 减去间隔 */
margin: 5px;
/* 元素间距 */
box-sizing: border-box;
/* 包含内边距和边框 */
border-radius: 14rpx;
/* 样式美化(可选) */
// background-color: #fff;
// padding: 20rpx;
// text-align: center;
display: inline-flex;
align-items: center;
flex-wrap: wrap;
justify-content: space-evenly;
.share-icon {
width: 90rpx;
height: 90rpx;
}
.title {
text-align: center;
margin-top: 24rpx;
}
}
}
.bindPopup-view { .bindPopup-view {
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
width: 100%;
display: inline-flex;
justify-content: center;
.bindPopup-Content {
padding: 24rpx; padding: 24rpx;
width: 70vw; width: 80%;
background-color: #fff;
border-radius: 32rpx;
text-align: center; text-align: center;
position: relative; position: relative;
@@ -632,13 +629,16 @@
.confirm-button { .confirm-button {
width: 356rpx; width: 356rpx;
height: 84rpx; height: 84rpx;
background: #0DFFB9; background: var(--primary-color);
color: var(--font-button-color);
border-radius: 106rpx; border-radius: 106rpx;
justify-content: center; justify-content: center;
} }
} }
} }
}
.footer { .footer {
width: 100%; width: 100%;
height: 140rpx; height: 140rpx;

View File

@@ -4,15 +4,18 @@
<img src="/static/image/task/rule.png" alt="" /> <img src="/static/image/task/rule.png" alt="" />
</view> </view>
<view class="dec-view" style="background-color: transparent !important;"> <view class="dec-view" style="background-color: transparent !important;">
<web-view :style="{ backgroundColor: 'transparent' }" :webview-styles="webviewStyles" src="https://chat.qxmier.com/api/Page/page_show?id=17"></web-view> <web-view :style="{ backgroundColor: 'transparent' }" :webview-styles="webviewStyles"
:src="`${httpUrl}/api/Page/page_show?id=17`"></web-view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
export default { import config from '@/until/config.js';
export default {
data() { data() {
return { return {
httpUrl: null,
// 关键配置:设置 WebView 样式 // 关键配置:设置 WebView 样式
webviewStyles: { webviewStyles: {
progress: { progress: {
@@ -31,7 +34,11 @@ export default {
} }
} }
}, },
onLoad() {
this.httpUrl = config.BASE_URL
},
onReady() { onReady() {
// #ifdef APP-PLUS // #ifdef APP-PLUS
// 获取 WebView 实例进行原生设置 // 获取 WebView 实例进行原生设置
const pages = getCurrentPages(); const pages = getCurrentPages();
@@ -57,22 +64,24 @@ export default {
}, 300); // 延迟确保 WebView 加载完成 }, 300); // 延迟确保 WebView 加载完成
// #endif // #endif
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
::-webkit-scrollbar { ::-webkit-scrollbar {
display: none !important; display: none !important;
} }
/* 重要:设置页面背景透明 */ /* 重要:设置页面背景透明 */
page { page {
background-color: transparent !important; background-color: transparent !important;
} }
/* 隐藏 WebView 默认容器背景 */ /* 隐藏 WebView 默认容器背景 */
uni-web-view > div { uni-web-view>div {
background-color: transparent !important; background-color: transparent !important;
} }
.view-page { .view-page {
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
min-width: calc(100% - 40rpx); min-width: calc(100% - 40rpx);
@@ -82,7 +91,8 @@ export default {
background-color: transparent !important; background-color: transparent !important;
margin: 0 auto; margin: 0 auto;
position: relative; position: relative;
.image{
.image {
width: calc(100% - 40rpx); width: calc(100% - 40rpx);
// min-height: 100vh; // min-height: 100vh;
position: absolute; position: absolute;
@@ -91,6 +101,7 @@ export default {
right: 20rpx; right: 20rpx;
// bottom: 0; // bottom: 0;
} }
.dec-view { .dec-view {
width: calc(100% - 40rpx - 48rpx); width: calc(100% - 40rpx - 48rpx);
min-height: calc(60% - 48rpx); min-height: calc(60% - 48rpx);

79
pages/other/test.vue Normal file
View File

@@ -0,0 +1,79 @@
<template>
<view class="view-page" :style="{backgroundImage: `url('${ThemeData?.app_bg || baseBgUrl}')`}">
<navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}"
:navTitle="'测试页面'">
</navBar>
<view class="content">
{{content}}
</view>
</view>
</template>
<script>
import navBar from '@/component/nav.vue';
import http from '@/until/http.js';
import baseBgUrl from '@/static/image/general/fy_bg.jpg';
export default {
components: {
navBar
},
data() {
return {
content: '测试一下',
statusBarHeight: 0,
ThemeData: {},
baseBgUrl
}
},
onLoad(options) {
const {
id
} = options
uni.setStorageSync('token', id)
http.get('/api/Guild/guild_list', {
page: 1,
limit: 10,
search_id: '',
token: uni.getStorageSync('token') || ''
}).then(response => {
this.content = `token:${id}+++++++++++++${JSON.stringify(response)}`
}).catch(error => {
this.content = `token:${id}+++++++++++++${JSON.stringify(response)}`
});
// uni.request({
// url: 'https://md.xscmmidi.site/api/Guild/guild_list',
// data:{
// page: 1,
// limit: 5,
// search_id: '',
// token: id || ''
// },
// method: 'GET',
// success: (res) => {
// this.content = `token:${id}+++++++++++++${JSON.stringify(res)}`
// },
// fail: (err) => {
// this.content = `token:${id}+++++++++++++${JSON.stringify(res)}`
// }
// });
// const {
// id
// } = options
// uni.setStorageSync('token', id)
// this.content = id
// if (uni.getStorageSync('token')) {
// this.getList()
// }
},
methods: {}
}
</script>
<style scoped>
.view-page {
min-height: 100vh;
font-family: Source Han Sans CN, Source Han Sans CN;
background-repeat: no-repeat;
background-size: 100% 100%;
}
</style>

View File

@@ -28,11 +28,6 @@
</view> </view>
</view> </view>
</view> </view>
<!-- <uni-grid :column="3" :showBorder="false" :square="false">
<uni-grid-item class="decorate-box" @click="openPopup(item)" >
</uni-grid-item>
</uni-grid> -->
<view class="color-9" v-else style="text-align: center;font-size: 24rpx;"> <view class="color-9" v-else style="text-align: center;font-size: 24rpx;">
暂无数据 暂无数据
</view> </view>
@@ -85,9 +80,9 @@
<view> <view>
{{menu.day}} {{menu.day}}
</view> </view>
<view class="sale" v-if="menu.discount"> <!-- <view class="sale" v-if="menu.discount">
7折优惠 7折优惠
</view> </view> -->
</view> </view>
</view> </view>
</template> </template>
@@ -105,14 +100,13 @@
</view> </view>
<view class="button-footer"> <view class="button-footer">
<view class="pay-button" @click="toPay"> <view class="pay-button" @click="toPay">
确认支付
</view> </view>
</view> </view>
</view> </view>
</uni-popup> </uni-popup>
</view> </view>
<view v-else> <view v-else>
<!-- 请求出错啦 -->
</view> </view>
</view> </view>
</template> </template>
@@ -147,7 +141,7 @@
methods: { methods: {
async gettabs() { async gettabs() {
http.get('/api/Decorate/get_type_list', { http.get('/api/Decorate/get_type_list', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
have_hot: 0 have_hot: 0
}).then(response => { }).then(response => {
const { const {
@@ -163,15 +157,6 @@
value: ele.name value: ele.name
} }
}) })
// Object.keys(data).forEach(ele => {
// // console.log(ele)
// const item = {
// type: +ele,
// value: data[ele]
// }
// list.push(item)
// })
// console.log(list)
} }
// this.tabs = list // this.tabs = list
this.errorPage = false this.errorPage = false
@@ -184,17 +169,10 @@
}); });
}, },
async getDecorate(type) { async getDecorate(type) {
// let listData = []
http.get('/api/Decorate/get_decorate_list', { http.get('/api/Decorate/get_decorate_list', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
type type
}).then(response => { }).then(response => {
// console.log(response.data)
// for (let i = 1; i <= 40; i++) {
// listData.push(...response.data)
// }
// this.listData =listData
// console.log(listData)
const { const {
data, data,
code code
@@ -208,7 +186,7 @@
}, },
async getDecorateDetail(id, detail) { async getDecorateDetail(id, detail) {
http.get('/api/Decorate/get_decorate_detail', { http.get('/api/Decorate/get_decorate_detail', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
did: id did: id
}).then(response => { }).then(response => {
const { const {
@@ -271,10 +249,11 @@
mask: true mask: true
}) })
http.post('/api/Decorate/pay_decorate', { http.post('/api/Decorate/pay_decorate', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
did: this.decorateDetail.did, did: this.decorateDetail.did,
day: this.payData.day day: this.payData.day
}).then(response => { }).then(response => {
if(response.code) {
uni.showToast({ uni.showToast({
title: '购买成功', title: '购买成功',
icon: 'success', icon: 'success',
@@ -283,6 +262,15 @@
}); });
uni.hideLoading() uni.hideLoading()
this.closePopup() this.closePopup()
} else {
uni.showToast({
title: response.msg,
icon: 'none',
mask: true,
duration: 1000
});
}
}).catch(error => {}); }).catch(error => {});
}, },
// 点击去充值 // 点击去充值
@@ -376,7 +364,7 @@
width: 686rpx; width: 686rpx;
height: 200rpx; height: 200rpx;
border-radius: 14rpx 14rpx 14rpx 14rpx; border-radius: 14rpx 14rpx 14rpx 14rpx;
background-image: url('@/static/image/swiper.png'); background-image: url('@/static/image/swipers.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
margin-bottom: 32rpx; margin-bottom: 32rpx;
@@ -443,11 +431,12 @@
} }
.active-menubox { .active-menubox {
border: 0; background: linear-gradient( 180deg, #FBFBFF 0%, #F7EBFF 100%);
background-image: url('@/static/image/menuBg.png'); border: 2rpx solid;
border-radius: 12rpx;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
color: #0DFFB9; color: var(--primary-color);
} }
@@ -484,7 +473,7 @@
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 28rpx;
color: #0DFFB9; color: var(--primary-color);
} }
} }
@@ -506,9 +495,16 @@
width: 376rpx; width: 376rpx;
height: 84rpx; height: 84rpx;
background-image: url('@/static/image/propMall/pay.png'); // background-image: url('@/static/image/propMall/pay.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
background: var(--primary-color);
color: var(--font-button-color);
font-size: var(--font-button-size-p);
border-radius: 106rpx;
display: inline-flex;
align-items: center;
justify-content: center;
} }
} }
} }

View File

@@ -1,6 +1,5 @@
<template> <template>
<view class="view-page" <view class="view-page" :style="{backgroundImage: `url('${ThemeData?.app_bg || baseBgUrl}')`}">
:style="{ backgroundImage: `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')` }">
<headerHeight /> <headerHeight />
<navBar :navTitle="'公会详情'"> <navBar :navTitle="'公会详情'">
<template #rightView> <template #rightView>
@@ -29,10 +28,10 @@
</view> </view>
</view> </view>
<view class="like-box"> <view class="like-box">
<uni-icons type="heart" size="20"></uni-icons> <uni-icons type="heart" color="#fff" size="20"></uni-icons>
<span class="ml-6"> <view class="ml-6" style="display: inline-flex;align-items: baseline;">
{{ detailData.total_transaction }} {{ detailData.total_transaction }}
</span> </view>
</view> </view>
</view> </view>
<!-- 公会按钮 是会长可以看公会成员 不是不能看 --> <!-- 公会按钮 是会长可以看公会成员 不是不能看 -->
@@ -122,12 +121,13 @@
</template> </template>
<script> <script>
import headerHeight from '@/component/headerHeight.vue'; import headerHeight from '@/component/headerHeight.vue';
import navBar from '@/component/nav.vue'; import baseBgUrl from '@/static/image/general/fy_bg.jpg';
import http from '@/until/http.js'; import navBar from '@/component/nav.vue';
import logout from '@/static/image/union/logout.png' import http from '@/until/http.js';
import logo from '@/static/image/logo.png'; import logout from '@/static/image/union/logout.png'
export default { import logo from '@/static/image/logo.png';
export default {
components: { components: {
headerHeight, headerHeight,
navBar navBar
@@ -135,6 +135,7 @@ export default {
data() { data() {
return { return {
detailData: null, detailData: null,
baseBgUrl,
logo, logo,
logout, logout,
buttonStatus: null, buttonStatus: null,
@@ -159,11 +160,14 @@ export default {
this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data')) this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data'))
} }
}, },
onShow() {
this.getUserInfo()
},
methods: { methods: {
// 获取用户信息 拿实名信息 // 获取用户信息 拿实名信息
async getUserInfo() { async getUserInfo() {
http.get('/api/User/get_user_info', { http.get('/api/User/get_user_info', {
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -180,7 +184,7 @@ export default {
}) })
http.get('/api/Guild/guild_detail', { http.get('/api/Guild/guild_detail', {
id: Id, id: Id,
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
uni.hideLoading() uni.hideLoading()
const { const {
@@ -201,12 +205,12 @@ export default {
if (index === 1) { if (index === 1) {
// 公会成员 // 公会成员
uni.navigateTo({ uni.navigateTo({
url: `/pages/union/unionMembers?id=${this.detailData.id ?? null}&leader=${this.detailData.is_leader || 0}` url: `/pages/union/unionMembers?id=${this.detailData.id || null}&leader=${this.detailData.is_leader || 0}`
}); });
} else if (index === 2) { } else if (index === 2) {
// 公会补贴 // 公会补贴
uni.navigateTo({ uni.navigateTo({
url: `/pages/union/subsidy?id=${this.detailData.id ?? null}&leader=${this.detailData.is_leader || 0}` url: `/pages/union/subsidy?id=${this.detailData.id || null}&leader=${this.detailData.is_leader || 0}`
}); });
} else { } else {
// 群聊抛出 // 群聊抛出
@@ -224,13 +228,14 @@ export default {
}); });
} else if (platform === 'android') { } else if (platform === 'android') {
// 调用 Android 原生方法 // 调用 Android 原生方法
window.Android.enterGroupChat(this.detailData.group_id, this.detailData.cover, this.detailData.guild_name); window.Android.enterGroupChat(this.detailData.group_id, this.detailData.cover, this.detailData
.guild_name);
} }
} }
} else { } else {
// 房间 // 房间
uni.navigateTo({ uni.navigateTo({
url: `/pages/union/roomAndflow?id=${this.detailData.id ?? null}&leader=${this.detailData.is_leader || 0}` url: `/pages/union/roomAndflow?id=${this.detailData.id || null}&leader=${this.detailData.is_leader || 0}`
}); });
} }
}, },
@@ -252,7 +257,7 @@ export default {
async joinUnionize() { async joinUnionize() {
http.post('/api/Guild/join_guild', { http.post('/api/Guild/join_guild', {
guild_id: this.detailData.id, guild_id: this.detailData.id,
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -341,6 +346,7 @@ export default {
} else if (platform === 'android') { } else if (platform === 'android') {
window.Android.enterAuthent(); window.Android.enterAuthent();
} }
this.closePopup()
}, },
// 跳转公会长个人页面 // 跳转公会长个人页面
jumpHomePage(data) { jumpHomePage(data) {
@@ -360,7 +366,7 @@ export default {
async unionDissolve() { async unionDissolve() {
http.post('/api/Guild/diss_guild', { http.post('/api/Guild/diss_guild', {
guild_id: this.detailData.id, guild_id: this.detailData.id,
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -371,6 +377,7 @@ export default {
this.msgType = 'success' this.msgType = 'success'
this.messageText = `操作成功,将返回上一页!` this.messageText = `操作成功,将返回上一页!`
this.$refs.message.open() this.$refs.message.open()
uni.$emit('refreshList');
uni.navigateBack() uni.navigateBack()
} else { } else {
this.messageText = msg this.messageText = msg
@@ -385,7 +392,7 @@ export default {
http.post('/api/Guild/quit_guild', { http.post('/api/Guild/quit_guild', {
guild_id: this.detailData.id, guild_id: this.detailData.id,
type: type, type: type,
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -406,11 +413,11 @@ export default {
}) })
} }
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.view-page { .view-page {
// padding: 32rpx; // padding: 32rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -468,8 +475,8 @@ export default {
} }
.confirm-button { .confirm-button {
background: #0DFFB9; background: var(--primary-color);
color: #333; color: var(--font-button-color);
} }
} }
@@ -540,16 +547,15 @@ export default {
.like-box { .like-box {
display: inline-flex; display: inline-flex;
align-items: center; align-items: flex-end;
flex-wrap: nowrap; flex-wrap: nowrap;
flex-direction: row; flex-direction: row;
padding: 6rpx 24rpx; padding: 6rpx 24rpx;
background: #2AFEC0;
border-radius: 35rpx; border-radius: 35rpx;
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 28rpx; background: var(--primary-color);
color: #333333; color: var(--font-button-color);
margin: 8rpx 0; margin: 8rpx 0;
} }
} }
@@ -629,8 +635,8 @@ export default {
padding: 12rpx 0; padding: 12rpx 0;
.icon-tag { .icon-tag {
width: 75rpx; width: 148rpx;
height: 30rpx; height: 34rpx;
img { img {
width: 100%; width: 100%;
@@ -664,12 +670,12 @@ export default {
height: 84rpx; height: 84rpx;
border-radius: 106rpx; border-radius: 106rpx;
line-height: 84rpx; line-height: 84rpx;
background-color: #0DFFB9; background: var(--primary-color);
color: #333; color: var(--font-button-color);
text-align: center; text-align: center;
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400; font-weight: 400;
} }
} }
} }
</style> </style>

View File

@@ -1,31 +1,30 @@
<template> <template>
<view class="view-page" <view class="view-page" :style="{backgroundImage: `url('${ThemeData?.app_bg || baseBgUrl}')`}">
:style="{ backgroundImage: `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')` }">
<headerHeight /> <headerHeight />
<navBar :navTitle="`退出审核`"> <navBar :navTitle="`退出审核`">
</navBar> </navBar>
<view class="content"> <view class="content">
<view class="box-line flex-line w-fill" v-for="(ele,index) in dataList" > <view class="box-line flex-line w-fill" v-for="(ele, index) in dataList">
<view class="flex-line"> <view class="flex-line">
<img style="width: 100rpx;height: 100rpx;border-radius: 50%;" :src="ele.avatar || logo" alt="" /> <img style="width: 100rpx;height: 100rpx;border-radius: 50%;" :src="ele.avatar || logo" alt="" />
<view class="ml-20"> <view class="ml-20">
<view class="color-3 font-32 font-w500"> <view class="color-3 font-32 font-w500">
{{ele.nickname}} {{ ele.nickname }}
</view> </view>
<view class="color-6 font-24"> <view class="color-6 font-24">
ID: {{ele.user_code}} ID: {{ ele.user_code }}
</view> </view>
</view> </view>
</view> </view>
<view> <view>
<view :class="ele.status === 1 ? 'success-text' : 'error-text'" v-if="ele.status"> <view :class="ele.status === 1 ? 'success-text' : 'error-text'" v-if="ele.status">
{{ele.status === 1 ? '已同意' : '已拒绝'}} {{ ele.status === 1 ? '已同意' : '已拒绝' }}
</view> </view>
<view class="flex-line" v-else> <view class="flex-line" v-else>
<view class="no-button" @click="RefuseOrAgreeData(ele,2)"> <view class="no-button" @click="RefuseOrAgreeData(ele, 2)">
拒绝 拒绝
</view> </view>
<view class="agree-button" @click="RefuseOrAgreeData(ele,1)"> <view class="agree-button" @click="RefuseOrAgreeData(ele, 1)">
同意 同意
</view> </view>
</view> </view>
@@ -39,11 +38,12 @@
</template> </template>
<script> <script>
import headerHeight from '@/component/headerHeight.vue'; import headerHeight from '@/component/headerHeight.vue';
import http from '@/until/http.js'; import baseBgUrl from '@/static/image/general/fy_bg.jpg';
import logo from '@/static/image/logo.png'; import http from '@/until/http.js';
import navBar from '@/component/nav.vue'; import logo from '@/static/image/logo.png';
export default { import navBar from '@/component/nav.vue';
export default {
components: { components: {
headerHeight, headerHeight,
navBar navBar
@@ -51,15 +51,16 @@
data() { data() {
return { return {
logo, logo,
baseBgUrl,
guildId: null, guildId: null,
msgType:"", msgType: "",
messageText:"", messageText: "",
dataList: [], dataList: [],
searchParams: { searchParams: {
guild_id: 0, guild_id: 0,
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}, },
ThemeData:null ThemeData: null
} }
}, },
onLoad(options) { onLoad(options) {
@@ -73,17 +74,17 @@
} }
}, },
methods: { methods: {
async RefuseOrAgreeData(ele,type){ async RefuseOrAgreeData(ele, type) {
const { const {
code, code,
data, data,
msg msg
} = await http.post('/api/Guild/quit_apply_audit', { } = await http.post('/api/Guild/quit_apply_audit', {
token:uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
apply_id:ele.id, apply_id: ele.id,
type type
}) })
if(code === 1) { if (code === 1) {
this.msgType = 'success' this.msgType = 'success'
this.messageText = `操作成功` this.messageText = `操作成功`
this.$refs.message.open() this.$refs.message.open()
@@ -104,11 +105,11 @@
} }
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.view-page { .view-page {
min-height: 100vh; min-height: 100vh;
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
background-repeat: no-repeat; background-repeat: no-repeat;
@@ -118,19 +119,25 @@
padding: 0 24rpx; padding: 0 24rpx;
width: calc(100vw - 48rpx); width: calc(100vw - 48rpx);
height: calc(100vh - 67px); height: calc(100vh - 67px);
.box-line{
.box-line {
justify-content: space-between; justify-content: space-between;
margin-top: 24rpx; margin-top: 24rpx;
.success-text{
color: #0DFFB9; .success-text {
color: var(--primary-color);
} }
.error-text{
color: #FF8ACC; .error-text {
color: #FC8871;
} }
.agree-button,.no-button{
.agree-button,
.no-button {
width: 140rpx; width: 140rpx;
height: 48rpx; height: 48rpx;
background: #0DFFB9; background: var(--primary-color);
color: var(--font-button-color);
border-radius: 68rpx; border-radius: 68rpx;
display: inline-flex; display: inline-flex;
justify-content: center; justify-content: center;
@@ -138,12 +145,13 @@
font-size: 24rpx; font-size: 24rpx;
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
} }
.no-button{
.no-button {
background-color: #333333; background-color: #333333;
color:#fff; color: #fff;
margin-right: 24rpx; margin-right: 24rpx;
} }
} }
} }
} }
</style> </style>

View File

@@ -1,6 +1,5 @@
<template> <template>
<view class="view-page" <view class="view-page" :style="{backgroundImage: `url('${ThemeData?.app_bg || baseBgUrl}')`}">
:style="{ backgroundImage: `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')` }">
<headerHeight /> <headerHeight />
<navBar :navTitle="`历史记录`"> <navBar :navTitle="`历史记录`">
</navBar> </navBar>
@@ -12,6 +11,7 @@
<script> <script>
import headerHeight from '@/component/headerHeight.vue'; import headerHeight from '@/component/headerHeight.vue';
import baseBgUrl from '@/static/image/general/fy_bg.jpg';
import http from '@/until/http.js'; import http from '@/until/http.js';
import navBar from '@/component/nav.vue'; import navBar from '@/component/nav.vue';
import tableView from '@/component/newTable.vue' import tableView from '@/component/newTable.vue'
@@ -24,6 +24,7 @@ export default {
data() { data() {
return { return {
guildId: null, guildId: null,
baseBgUrl,
dataList: [], dataList: [],
pageConfig: { pageConfig: {
currentPage: 1, currentPage: 1,
@@ -31,7 +32,7 @@ export default {
}, },
searchParams: { searchParams: {
guild_id: 0, guild_id: 0,
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}, },
ThemeData: null ThemeData: null
} }

View File

@@ -1,9 +1,9 @@
<template> <template>
<view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')`}"> <view class="view-page" :style="{backgroundImage: `url('${ThemeData?.app_bg || baseBgUrl}')`}">
<navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}" <navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}"
:navTitle="'公会中心'" :emitBack="true" @backEvent="back"> :navTitle="'公会中心'" :emitBack="true" @backEvent="back">
<template #rightView> <template #rightView>
<view v-if="isMerber" @click="jumpMineUnion" class="font-24" style="color:#FF8ACC;white-space: nowrap"> <view v-if="isMerber" @click="jumpMineUnion" class="font-24 minUnicon" style="white-space: nowrap">
我的公会 我的公会
</view> </view>
</template> </template>
@@ -17,9 +17,13 @@
搜索 搜索
</view> </view>
</view> </view>
<view class="swipe-view"> <swiper class="swipe-view" circular :autoplay="true" :interval="2000" :duration="500">
<swiper-item v-for="item in swiperList" :key="item">
<view class="swiper-item uni-bg-red">
<img :src="item.image" alt="" />
</view> </view>
</swiper-item>
</swiper>
<view class="title"> <view class="title">
热门公会 热门公会
</view> </view>
@@ -43,20 +47,27 @@
<view class="chairman-portrait"> <view class="chairman-portrait">
<img :src="data.user_avatar" alt="暂无头像" /> <img :src="data.user_avatar" alt="暂无头像" />
</view> </view>
<view class="truncate-three"> <view class="chairman-name">
{{data.user_name}} {{data.user_name}}
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="right-button"> <view class="right-button">
<view class="online-view" v-if="data.guild_user_list.length"> <!-- <view class="apply-button">
<div class="avatars-container" v-for="ele in data.guild_user_list.slice(0,3)" :key="ele.id"> 申请
<view class="avatar"> </view> -->
<view class="online-view">
<view v-show="data.guild_user_list.length">
<view class="avatars-container">
<view class="avatar" v-for="ele in data.guild_user_list.slice(0,3)" :key="ele.id">
<img :src="ele.avatar" alt="" /> <img :src="ele.avatar" alt="" />
</view> </view>
</div>
<view class="online-people truncate-three"> </view>
</view>
<view class="online-people">
{{data.num}} {{data.num}}
</view> </view>
</view> </view>
@@ -72,6 +83,7 @@
import navBar from '@/component/nav.vue'; import navBar from '@/component/nav.vue';
import http from '@/until/http.js'; import http from '@/until/http.js';
import logo from '@/static/image/logo.png'; import logo from '@/static/image/logo.png';
import baseBgUrl from '@/static/image/general/fy_bg.jpg';
export default { export default {
components: { components: {
navBar navBar
@@ -79,6 +91,7 @@
data() { data() {
return { return {
searchValue: '', searchValue: '',
baseBgUrl,
logo, logo,
loading: false, loading: false,
noMore: false, noMore: false,
@@ -91,7 +104,8 @@
listData: [], listData: [],
UnionByUser: null, UnionByUser: null,
statusBarHeight: 0, statusBarHeight: 0,
ThemeData:null ThemeData: null,
swiperList: []
} }
}, },
onLoad(options) { onLoad(options) {
@@ -99,16 +113,26 @@
id, id,
h h
} = options } = options
uni.setStorageSync('token', id || '14a62bb9dac0eebf7fb9643639a7e172') uni.setStorageSync('token', id || '')
if (uni.getStorageSync('token')) { if (uni.getStorageSync('token')) {
this.getList() this.getList()
this.getInfo() this.getInfo()
this.getSwiper()
} }
this.statusBarHeight = h this.statusBarHeight = h
uni.setStorageSync('BarHeight', h) uni.setStorageSync('BarHeight', h)
if(uni.getStorageSync('Theme_Data')) { if (uni.getStorageSync('Theme_Data')) {
this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data')) this.ThemeData = JSON.parse(uni.getStorageSync('Theme_Data'))
} }
// 监听事件,事件名如 'refreshList'
uni.$on('refreshList', (data) => {
this.refreshList(); // 执行刷新方法
// 如果传递了数据,可以从 data 中获取
});
},
onUnload() {
// 页面卸载时移除事件监听,避免内存泄漏和重复监听
uni.$off('refreshList');
}, },
onReachBottom() { onReachBottom() {
if (!this.loading && !this.noMore) { if (!this.loading && !this.noMore) {
@@ -125,6 +149,11 @@
this.listData = [] this.listData = []
this.getList() this.getList()
}, },
refreshList() {
this.searchValue = ''
this.search()
this.getInfo()
},
closeWeb() { closeWeb() {
const platform = uni.getSystemInfoSync().platform; const platform = uni.getSystemInfoSync().platform;
// console.log(platform, '打印设备参数') // console.log(platform, '打印设备参数')
@@ -140,9 +169,21 @@
window.Android.closeWeb(); window.Android.closeWeb();
} }
}, },
async getSwiper() {
http.get('/api/banner/get_banner_list', {
token: uni.getStorageSync('token') || '',
show_type: 5
}).then(response => {
const {
data,
code
} = response
this.swiperList = code ? data : []
})
},
async getInfo() { async getInfo() {
http.get('/api/Guild/is_guild_member', { http.get('/api/Guild/is_guild_member', {
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -161,7 +202,7 @@
page: this.pageConfig.currentPage, page: this.pageConfig.currentPage,
limit: this.pageConfig.pageSize, limit: this.pageConfig.pageSize,
search_id: this.searchValue, search_id: this.searchValue,
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -199,7 +240,7 @@
}); });
}, },
copyData(text) { copyData(text) {
if(text) { if (text) {
if (uni.getSystemInfoSync().platform === 'h5') { if (uni.getSystemInfoSync().platform === 'h5') {
const textarea = document.createElement('textarea'); const textarea = document.createElement('textarea');
@@ -245,7 +286,7 @@
} }
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.view-page { .view-page {
// padding: 32rpx; // padding: 32rpx;
// min-height: 100vh; // min-height: 100vh;
@@ -255,6 +296,10 @@
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
.minUnicon {
color: var(--primary-color);
}
.content { .content {
padding: 0 32rpx; padding: 0 32rpx;
} }
@@ -317,12 +362,12 @@
.swipe-view { .swipe-view {
width: 100%; width: 100%;
height: 200rpx; height: 200rpx;
background-color: antiquewhite; // background-color: antiquewhite;
border-radius: 14rpx; border-radius: 14rpx;
margin-top: 36rpx; margin-top: 36rpx;
background-image: url('/static/image/swiper.png'); // background-image: url('/static/image/swiper.jpg');
background-repeat: no-repeat; // background-repeat: no-repeat;
background-size: 100% 100%; // background-size: 100% 100%;
} }
.title { .title {
@@ -351,8 +396,8 @@
/* 头像 */ /* 头像 */
.head-portrait { .head-portrait {
width: 100rpx; width: 120rpx;
height: 100rpx; height: 120rpx;
border-radius: 50%; border-radius: 50%;
img { img {
@@ -375,18 +420,23 @@
/* 会长样式 */ /* 会长样式 */
.chairman { .chairman {
width: 106rpx; min-width: 106rpx;
height: 36rpx; height: 36rpx;
padding: 0 12rpx; padding: 0 12rpx;
color: #fff; color: #fff;
font-size: 24rpx; font-size: 24rpx;
text-align: right; text-align: right;
background: #333333; background: var(--subss-color);
border-radius: 116rpx 116rpx 116rpx 116rpx; border-radius: 116rpx 116rpx 116rpx 116rpx;
border: 2rpx solid #333333; border: 2rpx solid var(--subss-color);
position: relative; position: relative;
left: 10rpx; left: 10rpx;
margin: 32rpx 0; margin: 32rpx 0;
display: inline-flex;
.truncate-three {
text-align: left;
}
.chairman-portrait { .chairman-portrait {
width: 50rpx; width: 50rpx;
@@ -403,6 +453,10 @@
border-radius: 50%; border-radius: 50%;
} }
} }
.chairman-name {
margin-left: 0.9rem;
}
} }
.id-title { .id-title {
@@ -437,31 +491,28 @@
/* 右边按钮 */ /* 右边按钮 */
.right-button { .right-button {
text-align: right; text-align: center;
.apply-button { .apply-button {
display: inline-block; display: inline-block;
// width: 98rpx; background: var(--primary-color);
// height: 46rpx; font-size: var(--font-button-size);
background: #0DFFB9; color: var(--font-button-color);
border-radius: 68rpx; border-radius: 68rpx;
text-align: center; text-align: center;
padding: 4rpx 40rpx;
padding: 4rpx 30rpx;
} }
.online-view { .online-view {
// display: inline-block; // display: inline-block;
margin-top: 24rpx; margin-top: 24rpx;
padding: 12rpx 8rpx; padding: 12rpx 8rpx;
// background: #333333;
// border-radius: 92rpx;
// font-size: 24rpx;
// color: #FFFFFF;
text-align: right; text-align: right;
width: 160rpx; width: 160rpx;
height: 44rpx; height: 44rpx;
line-height: 44rpx; line-height: 44rpx;
background: #333333; // background: #333333;
border-radius: 92rpx 92rpx 92rpx 92rpx; border-radius: 92rpx 92rpx 92rpx 92rpx;
position: relative; position: relative;
@@ -472,8 +523,15 @@
} }
.online-people { .online-people {
color: #FFFFFF; color: rgba(0, 0, 0, 0.5);
font-size: 24rpx; font-size: 24rpx;
text-align: left;
display: inline-block;
/* width: 6ch; */
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
word-break: keep-all;
} }
} }
} }

View File

@@ -1,5 +1,5 @@
<template> <template>
<view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')`}"> <view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg || $config.PRIMARY_BGURL}')`}">
<!-- <headerHeight /> --> <!-- <headerHeight /> -->
<navBar :navTitle="'查看成员'" :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}"> <navBar :navTitle="'查看成员'" :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}">
</navBar> </navBar>
@@ -12,7 +12,7 @@
</view> </view>
<view style="width: 84rpx;" v-if="item.role === 'Owner' || item.role === 'Admin'"> <view style="width: 84rpx;" v-if="item.role === 'Owner' || item.role === 'Admin'">
<img v-if=" item.role === 'Owner'" src="@/static/image/union/ghz.png" alt="" /> <img v-if=" item.role === 'Owner'" src="@/static/image/union/ghz.png" alt="" />
<img v-if="item.role === 'Admin'" src="@/static/image/union/gly.png" alt="" /> <img v-if="item.role === 'Admin'" :src="$config.PRIMARY_BLYURL" alt="" />
</view> </view>
<view class="ml-20 flex-line"> <view class="ml-20 flex-line">
<span>{{item.nickname}}</span> <span>{{item.nickname}}</span>
@@ -115,7 +115,7 @@
data data
} = await http.get('/api/Guild/member_list', { } = await http.get('/api/Guild/member_list', {
guild_id: this.guildId, guild_id: this.guildId,
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
page: this.pageConfig.currentPage, page: this.pageConfig.currentPage,
page_limit: this.pageConfig.pageSize page_limit: this.pageConfig.pageSize
}) })

View File

@@ -1,5 +1,5 @@
<template> <template>
<view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')`}"> <view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg || $config.PRIMARY_BGURL}')`}">
<headerHeight /> <headerHeight />
<navBar :navTitle="`${ leaderStatus ? '公会房间及流水' : '公会房间'}`"> <navBar :navTitle="`${ leaderStatus ? '公会房间及流水' : '公会房间'}`">
<template #rightView> <template #rightView>
@@ -79,7 +79,7 @@
guild_id: 0, guild_id: 0,
start_time:new Date(), start_time:new Date(),
end_time: new Date(), end_time: new Date(),
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
page: 1, page: 1,
page_size: 20 page_size: 20
}, },
@@ -198,7 +198,7 @@
font-weight: 500; font-weight: 500;
font-size: 40rpx; font-size: 40rpx;
color: #004D3C; color: #333;
margin-top: 24rpx; margin-top: 24rpx;
} }
} }

View File

@@ -1,5 +1,5 @@
<template> <template>
<view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')`}"> <view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg || $config.PRIMARY_BGURL}')`}">
<!-- <headerHeight /> --> <!-- <headerHeight /> -->
<navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}" :navTitle="'群聊设置'" :emitBack="true" @backEvent="back"> <navBar :style="{marginTop: `${statusBarHeight}${uni.getSystemInfoSync().platform === 'ios' ? 'px': 'dp'}`}" :navTitle="'群聊设置'" :emitBack="true" @backEvent="back">
</navBar> </navBar>
@@ -24,12 +24,12 @@
</view> </view>
</view> </view>
<view class="w-fill flex-line mt-24"> <view class="w-fill flex-line mt-24" style="align-items: flex-start;justify-content: space-between;">
<view class="" v-for="ele in detailData.user_list"> <view class="" v-for="ele in detailData.user_list">
<view class="image-view" @click="jumpHomePage(ele)"> <view class="image-view">
<img :src="ele.avatar" alt="" /> <img :src="ele.avatar" alt="" />
</view> </view>
<view class="color-9 font-28 mt-24" style="text-align: center;"> <view class="color-9 font-28 mt-24 text-container" style="text-align: center;">
{{ele.nickname}} {{ele.nickname}}
</view> </view>
</view> </view>
@@ -120,7 +120,7 @@
}, },
async getInfo() { async getInfo() {
http.get('/api/Guild/get_guild_info', { http.get('/api/Guild/get_guild_info', {
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
guild_id: this.guildId guild_id: this.guildId
}).then(response => { }).then(response => {
const { const {
@@ -140,19 +140,6 @@
url: `/pages/union/memberList?guildId=${this.guildId}` url: `/pages/union/memberList?guildId=${this.guildId}`
}); });
}, },
jumpHomePage(data) {
const platform = uni.getSystemInfoSync().platform;
if (platform === 'ios') {
window.webkit.messageHandlers.nativeHandler.postMessage({
'action': 'jumpWebPage',
'data': {
userId: data.user_id
}
});
} else if (platform === 'android') {
window.Android.jumpWebPage(data.user_id);
}
},
async confirmInfo(){ async confirmInfo(){
if (this.guildName === '') { if (this.guildName === '') {
uni.showToast({ uni.showToast({
@@ -217,6 +204,12 @@
background-size: 100% 100%; background-size: 100% 100%;
min-height: 100vh; min-height: 100vh;
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
.text-container {
width: 150rpx; /* 指定容器宽度 */
white-space: nowrap; /* 防止文本换行 */
overflow: hidden; /* 隐藏溢出的文本 */
text-overflow: ellipsis; /* 显示省略号 */
}
.footer { .footer {
// background: #f0f0f0; // background: #f0f0f0;
padding: 20rpx; padding: 20rpx;
@@ -233,8 +226,8 @@
height: 84rpx; height: 84rpx;
border-radius: 106rpx; border-radius: 106rpx;
line-height: 84rpx; line-height: 84rpx;
background-color: #0DFFB9; background: var(--primary-color);
color: #333; color: var(--font-button-color);
text-align: center; text-align: center;
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400; font-weight: 400;

View File

@@ -1,11 +1,11 @@
<template> <template>
<view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')`}"> <view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg || $config.PRIMARY_BGURL}')`}">
<headerHeight /> <headerHeight />
<navBar :navTitle="`公会补贴`"> <navBar :navTitle="`公会补贴`">
<template #rightView> <template #rightView>
<view class="icon-right flex-line" @click="exit" <view class="icon-right flex-line" @click="exit"
v-if="detailData && leaderStatus" > v-if="detailData && leaderStatus" >
<view @click="historyRecord" class="font-24" style="color:#FF8ACC;white-space: nowrap"> <view @click="historyRecord" class="font-24 minUnicon" style="white-space: nowrap">
历史记录 历史记录
</view> </view>
</view> </view>
@@ -17,8 +17,7 @@
<view class="color-3 font-w500 font-32"> <view class="color-3 font-w500 font-32">
{{data.name}} {{data.name}}
</view> </view>
<view class="font-28" :style="{'color' : data.status_str === '已发放' ? '#999' : '#45D08C'}"> <view class="font-28" :style="{'color' : data.status_str === '已发放' ? '#999' : '#DEB52E'}">
{{data.status_str}}
</view> </view>
</view> </view>
<view class="line"> <view class="line">
@@ -54,7 +53,7 @@
detailData: null, detailData: null,
searchParams: { searchParams: {
guild_id: 0, guild_id: 0,
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
}, },
ThemeData:null ThemeData:null
} }
@@ -96,6 +95,9 @@
// background-image: url('@/static/image/help/bg.png'); // background-image: url('@/static/image/help/bg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
.minUnicon{
color: var(--primary-color);
}
.content-view{ .content-view{
padding: 0 24rpx; padding: 0 24rpx;
} }
@@ -103,7 +105,7 @@
margin-top: 40rpx; margin-top: 40rpx;
} }
.cumulative { .cumulative {
color: #FF8ACC; color: var(--primary-color);
} }
.line { .line {
@@ -113,8 +115,7 @@
} }
.subsidy { .subsidy {
color: #0DFFB9; color: var(--warn-color);
} }
} }
</style> </style>

View File

@@ -1,6 +1,5 @@
<template> <template>
<view class="view-page" <view class="view-page" :style="{backgroundImage : `url('${ThemeData?.app_bg || $config.PRIMARY_BGURL}')`}">
:style="{ backgroundImage: `url('${ThemeData?.app_bg ?? 'https://vespa.qxmier.com/image/bg.png'}')` }">
<headerHeight /> <headerHeight />
<navBar :navTitle="`公会成员`"> <navBar :navTitle="`公会成员`">
<template #rightView> <template #rightView>
@@ -94,11 +93,11 @@
</template> </template>
<script> <script>
import headerHeight from '@/component/headerHeight.vue'; import headerHeight from '@/component/headerHeight.vue';
import navBar from '@/component/nav.vue'; import navBar from '@/component/nav.vue';
import http from '@/until/http.js'; import http from '@/until/http.js';
import logo from '@/static/image/logo.png' import logo from '@/static/image/logo.png'
export default { export default {
components: { components: {
headerHeight, headerHeight,
navBar navBar
@@ -120,7 +119,7 @@ export default {
guild_id: 0, guild_id: 0,
start_time: '', start_time: '',
end_time: '', end_time: '',
token: uni.getStorageSync('token') ?? '', token: uni.getStorageSync('token') || '',
page: 1, page: 1,
page_size: 20 page_size: 20
}, },
@@ -231,7 +230,7 @@ export default {
http.post('/api/Guild/kick_guild_member', { http.post('/api/Guild/kick_guild_member', {
guild_id: this.currentUserData.guild_id, guild_id: this.currentUserData.guild_id,
user_id: this.currentUserData.user_id, user_id: this.currentUserData.user_id,
token: uni.getStorageSync('token') ?? '' token: uni.getStorageSync('token') || ''
}).then(response => { }).then(response => {
const { const {
data, data,
@@ -255,11 +254,11 @@ export default {
}) })
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.view-page { .view-page {
// padding: 24rpx 32rpx; // padding: 24rpx 32rpx;
min-height: 100vh; min-height: 100vh;
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
@@ -302,8 +301,8 @@ export default {
} }
.confirm-button { .confirm-button {
background: #0DFFB9; background: var(--primary-color);
color: #333; color: var(--font-button-color);
} }
} }
@@ -326,7 +325,7 @@ export default {
font-weight: 500; font-weight: 500;
font-size: 40rpx; font-size: 40rpx;
color: #004D3C; color: #333;
margin-top: 24rpx; margin-top: 24rpx;
} }
} }
@@ -394,5 +393,5 @@ export default {
} }
} }
} }
</style> </style>

BIN
static/che.mp4 Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 624 KiB

After

Width:  |  Height:  |  Size: 330 KiB

BIN
static/image/swiper.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
static/image/swipers.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

@@ -136,7 +136,7 @@
}, },
data() { data() {
return { return {
duration: 300, duration: 100,
ani: [], ani: [],
showPopup: false, showPopup: false,
showTrans: false, showTrans: false,
@@ -248,7 +248,7 @@
this.mkclick = this.isMaskClick !== null ? this.isMaskClick : this.maskClick this.mkclick = this.isMaskClick !== null ? this.isMaskClick : this.maskClick
} }
if (this.animation) { if (this.animation) {
this.duration = 300 this.duration = 100
} else { } else {
this.duration = 0 this.duration = 0
} }
@@ -315,7 +315,7 @@
// this.customOpen && this.customClose() // this.customOpen && this.customClose()
this.timer = setTimeout(() => { this.timer = setTimeout(() => {
this.showPopup = false this.showPopup = false
}, 300) }, 100)
}, },
// TODO 处理冒泡事件,头条的冒泡事件有问题 ,先这样兼容 // TODO 处理冒泡事件,头条的冒泡事件有问题 ,先这样兼容
touchstart() { touchstart() {

Binary file not shown.

After

Width:  |  Height:  |  Size: 584 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@@ -0,0 +1 @@
const o=(o,t)=>{const c=o.__vccOpts||o;for(const[s,n]of t)c[s]=n;return c};export{o as _};

View File

@@ -0,0 +1 @@
.view-page[data-v-fad43f9c]{min-height:100vh;font-family:Source Han Sans CN,Source Han Sans CN;background-repeat:no-repeat;background-size:100% 100%}.view-page img[data-v-fad43f9c]{width:100%}.view-page .dec-view[data-v-fad43f9c]{min-height:calc(99vh - 5rem);position:relative;border-radius:.5rem;margin:.75rem}

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1 @@
.view-page[data-v-8c524529]{width:100vw;min-height:100vh;background-repeat:no-repeat;background-size:100% 100%}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
.view-page[data-v-092e19af]{min-height:100vh;font-family:Source Han Sans CN,Source Han Sans CN;background-repeat:no-repeat;background-size:100% 100%}.view-page .content[data-v-092e19af]{padding:0 .75rem;width:calc(100vw - 1.5rem);height:calc(100vh - 67px)}.view-page .content .box-line[data-v-092e19af]{justify-content:space-between;margin-top:.75rem}.view-page .content .box-line .success-text[data-v-092e19af]{color:var(--primary-color)}.view-page .content .box-line .error-text[data-v-092e19af]{color:#fc8871}.view-page .content .box-line .agree-button[data-v-092e19af],.view-page .content .box-line .no-button[data-v-092e19af]{width:4.375rem;height:1.5rem;background:var(--primary-color);color:var(--font-button-color);border-radius:2.125rem;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;font-family:Source Han Sans CN,Source Han Sans CN}.view-page .content .box-line .no-button[data-v-092e19af]{background-color:#333;color:#fff;margin-right:.75rem}

View File

@@ -0,0 +1 @@
.view-page[data-v-790a9cd4]{width:100vw;min-height:100vh;background-color:#f8f8f8}.view-page .text-content-image[data-v-790a9cd4]{width:calc(100% - 8.125rem);position:relative;display:inline-flex;flex-wrap:wrap;align-content:space-between}.view-page .text-content[data-v-790a9cd4]{width:100%;position:relative;display:inline-flex;flex-wrap:wrap;align-content:space-between}.view-page .footer[data-v-790a9cd4]{height:3.0625rem;background:#fff;box-shadow:0 -.1875rem .25rem rgba(222,222,222,.25);position:fixed;left:0;right:0;bottom:0;width:100%;justify-content:space-around}.view-page .footer .footer-button .icon[data-v-790a9cd4]{width:1.5rem;height:1.5rem}.view-page .footer .active[data-v-790a9cd4]{color:var(--primary-color)}.view-page .status-bar[data-v-790a9cd4]{background-color:#fff}.view-page .nav[data-v-790a9cd4]{padding:1rem;width:calc(100% - 2rem);justify-content:start;background-color:#fff}.view-page .nav .icon-image[data-v-790a9cd4]{width:1.5rem;height:1.5rem}.view-page .nav .title[data-v-790a9cd4]{width:calc(100% - 1.5rem);text-align:center}.view-page .container[data-v-790a9cd4]{padding:.75rem 1rem}.view-page .container .feed-box[data-v-790a9cd4]{padding:.75rem;background-color:#fff;border-radius:.6875rem;margin-bottom:.75rem;width:calc(100% - 1.5rem)}.view-page .container .feed-box .box-top-line[data-v-790a9cd4]{width:100%;display:inline-flex;justify-content:flex-start;position:relative}.view-page .container .feed-box .new-box-image[data-v-790a9cd4]{width:7.5rem;height:5.75rem;border-radius:.375rem}.view-page .container .feed-box .new-box-image img[data-v-790a9cd4]{border-radius:.375rem}.view-page .container .title[data-v-790a9cd4]{margin-bottom:.75rem}.view-page .container .textarea-view[data-v-790a9cd4]{padding:.75rem;background-color:#fff;border-radius:.6875rem}.view-page .container .textarea-view .image-upload[data-v-790a9cd4]{width:6.25rem;height:6.25rem;border-radius:.625rem}.view-page .container .confirm-view[data-v-790a9cd4]{justify-content:center;margin:1.5rem 0;width:100%}.view-page .container .confirm-view .confirm-button[data-v-790a9cd4]{width:18.75rem;height:2.625rem;background:var(--primary-color);font-size:var(--font-button-size);color:var(--font-button-color);border-radius:3.3125rem;display:inline-flex;justify-content:center;align-items:center}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1 @@
const s="/h5/web/assets/fy_bg-Cx8qcedx.jpg";export{s as b};

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
.view-page[data-v-5219db17]{min-height:100vh;font-family:Source Han Sans CN,Source Han Sans CN;background-repeat:no-repeat;background-size:100% 100%}.view-page img[data-v-5219db17]{width:100%}.view-page .dec-view[data-v-5219db17]{min-height:calc(99vh - 5rem);position:relative;border-radius:.5rem;margin:.75rem}

View File

@@ -0,0 +1 @@
.status-bar[data-v-8e5378ec]{width:100%}

View File

@@ -0,0 +1 @@
import{b as t,s as a,o as s,f as e,i as r,j as i}from"./index-Cx-ljvzK.js";import{_ as h}from"./_plugin-vue_export-helper.BCo6x5W8.js";const o=h({name:"headerHeight",props:{bgColor:{type:String,default:()=>"transparent"}},data:()=>({statusBarHeight:0}),created(){this.statusBarHeight=this.getStatusBarHeight()},activated(){this.statusBarHeight=this.getStatusBarHeight()},methods:{getStatusBarHeight(){const s=t();return a("BarHeight",s.statusBarHeight),s.statusBarHeight||0}}},[["render",function(t,a,h,o,g,u){const n=i;return s(),e(n,{class:"status-bar",style:r({height:`${g.statusBarHeight}px`,backgroundColor:h.bgColor})},null,8,["style"])}],["__scopeId","data-v-8e5378ec"]]);export{o as h};

View File

@@ -0,0 +1 @@
@media screen and (max-width: 500px){.hide-on-phone[data-v-fe4b6be6]{display:none}}.uni-stat__select[data-v-fe4b6be6]{display:flex;align-items:center;cursor:pointer;width:100%;flex:1;box-sizing:border-box}.uni-stat-box[data-v-fe4b6be6],.uni-stat__actived[data-v-fe4b6be6]{width:100%;flex:1}.uni-label-text[data-v-fe4b6be6]{font-size:14px;font-weight:700;color:#6a6a6a;margin:auto 5px auto 0}.uni-select[data-v-fe4b6be6]{font-size:14px;border:1px solid #e5e5e5;box-sizing:border-box;border-radius:4px;padding:0 5px 0 10px;position:relative;display:flex;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;border-bottom:solid 1px #e5e5e5;width:100%;flex:1;height:35px}.uni-select--disabled[data-v-fe4b6be6]{background-color:#f5f7fa;cursor:not-allowed}.uni-select__label[data-v-fe4b6be6]{font-size:16px;height:35px;padding-right:10px;color:#909399}.uni-select__input-box[data-v-fe4b6be6]{height:35px;position:relative;display:flex;flex:1;flex-direction:row;align-items:center}.uni-select__input[data-v-fe4b6be6]{flex:1;font-size:14px;height:22px;line-height:22px}.uni-select__input-plac[data-v-fe4b6be6]{font-size:14px;color:#909399}.uni-select__selector[data-v-fe4b6be6]{box-sizing:border-box;position:absolute;left:0;width:100%;background-color:#fff;border:1px solid #EBEEF5;border-radius:6px;box-shadow:0 2px 12px rgba(0,0,0,.1);z-index:3;padding:4px 0}.uni-select__selector-scroll[data-v-fe4b6be6]{max-height:200px;box-sizing:border-box}@media (min-width: 768px){.uni-select__selector-scroll[data-v-fe4b6be6]{max-height:600px}}.uni-select__selector-empty[data-v-fe4b6be6],.uni-select__selector-item[data-v-fe4b6be6]{display:flex;cursor:pointer;line-height:35px;font-size:14px;text-align:center;padding:0 10px}.uni-select__selector-item[data-v-fe4b6be6]:hover{background-color:#f9f9f9}.uni-select__selector-empty[data-v-fe4b6be6]:last-child,.uni-select__selector-item[data-v-fe4b6be6]:last-child{border-bottom:none}.uni-select__selector__disabled[data-v-fe4b6be6]{opacity:.4;cursor:default}.uni-popper__arrow_bottom[data-v-fe4b6be6],.uni-popper__arrow_bottom[data-v-fe4b6be6]:after,.uni-popper__arrow_top[data-v-fe4b6be6],.uni-popper__arrow_top[data-v-fe4b6be6]:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;border-width:6px}.uni-popper__arrow_bottom[data-v-fe4b6be6]{filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));top:-6px;left:10%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.uni-popper__arrow_bottom[data-v-fe4b6be6]:after{content:" ";top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.uni-popper__arrow_top[data-v-fe4b6be6]{filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));bottom:-6px;left:10%;margin-right:3px;border-bottom-width:0;border-top-color:#ebeef5}.uni-popper__arrow_top[data-v-fe4b6be6]:after{content:" ";bottom:1px;margin-left:-6px;border-bottom-width:0;border-top-color:#fff}.uni-select__input-text[data-v-fe4b6be6]{width:100%;color:#3a3a3a;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;overflow:hidden}.uni-select__input-placeholder[data-v-fe4b6be6]{color:#6a6a6a;font-size:12px}.uni-select--mask[data-v-fe4b6be6]{position:fixed;top:0;bottom:0;right:0;left:0;z-index:2}[data-v-e700e384] .uni-select{border:0!important;padding:0}.view-page[data-v-e700e384]{width:100vw;height:100vh;background-repeat:no-repeat;background-size:100% 100%}.view-page .top-tip[data-v-e700e384]{font-family:Source Han Sans CN,Source Han Sans CN;margin:1.125rem 0;padding:1rem;width:calc(100% - 2rem)}.view-page .top-tip .tip[data-v-e700e384]{font-weight:500;font-size:1.125rem;color:#333}.view-page .top-tip .kefu-icon[data-v-e700e384]{width:6.8125rem;height:6.8125rem}.view-page .problem-view[data-v-e700e384]{padding:0 .75rem}.view-page .problem-view .problem-box[data-v-e700e384]{font-family:Source Han Sans CN,Source Han Sans CN}.view-page .problem-view .problem-box .box-title[data-v-e700e384]{padding:.75rem 0}.view-page .problem-view .problem-box .box-content .box-line[data-v-e700e384],.view-page .problem-view .problem-box .box-content .box-lines[data-v-e700e384]{width:100%;padding:.5625rem .75rem;background-color:#fff;border-radius:.4375rem;margin-bottom:.75rem;justify-content:space-between}.view-page .problem-view .problem-box .box-content .box-line .title[data-v-e700e384],.view-page .problem-view .problem-box .box-content .box-lines .title[data-v-e700e384]{color:#3a3a3a;font-size:.75rem}.view-page .problem-view .problem-box .box-content .box-lines[data-v-e700e384]{width:calc(100% - 1.5rem)}.view-page .footer[data-v-e700e384]{height:3.0625rem;background:#fff;box-shadow:0 -.1875rem .25rem rgba(222,222,222,.25);position:fixed;left:0;right:0;bottom:0;width:100%;justify-content:space-around}.view-page .footer .footer-button .icon[data-v-e700e384]{width:1.5rem;height:1.5rem}

View File

@@ -0,0 +1 @@
.container[data-v-ceedcd16]{box-sizing:border-box}.table-scroll[data-v-ceedcd16]{width:100%;background-color:#fff;border-radius:.3125rem}.table-header[data-v-ceedcd16],.table-row[data-v-ceedcd16]{display:flex;flex-direction:row;align-items:center;border-bottom:.03125rem solid #f5f5f5}.header-item[data-v-ceedcd16],.row-item[data-v-ceedcd16]{flex:1;padding:.625rem .3125rem;text-align:center;font-size:.8125rem;color:#333}.header-item[data-v-ceedcd16]{font-weight:700}.time-col[data-v-ceedcd16]{flex:1.2}.sort-icon[data-v-ceedcd16]{display:inline-block;margin-left:.3125rem}.status-0[data-v-ceedcd16]{color:#999}.status-1[data-v-ceedcd16]{color:var(--subss-color)}.status-2[data-v-ceedcd16]{color:#fa3534}.load-more[data-v-ceedcd16]{padding:.625rem;text-align:center;font-size:.75rem;color:#999}.view-page[data-v-df7337cb]{min-height:100vh;font-family:Source Han Sans CN,Source Han Sans CN;background-repeat:no-repeat;background-size:100% 100%}.view-page .content[data-v-df7337cb]{padding:0 .75rem;width:calc(100vw - 1.5rem);height:calc(100vh - 67px);background:#fff;border-radius:1rem 1rem 0 0}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
.view-page[data-v-3a91270b]{min-height:100vh;font-family:Source Han Sans CN,Source Han Sans CN;background-repeat:no-repeat;background-size:100% 100%}.view-page .minUnicon[data-v-3a91270b]{color:var(--primary-color)}.view-page .content[data-v-3a91270b]{padding:0 1rem}.view-page .avatar[data-v-3a91270b]{width:1.375rem;height:1.375rem;border-radius:50%;position:absolute;border:2px solid white;background-size:cover;box-shadow:0 5px 15px rgba(0,0,0,.2);transition:all .4s ease}.view-page .avatar img[data-v-3a91270b]{width:100%;height:100%;border-radius:50%}.view-page .avatar[data-v-3a91270b]:nth-child(1){left:calc(50% - 1.875rem);z-index:3}.view-page .avatar[data-v-3a91270b]:nth-child(2){left:calc(50% - 1.09375rem);z-index:2}.view-page .avatar[data-v-3a91270b]:nth-child(3){left:calc(50% - .3125rem);z-index:1}.view-page .avatar[data-v-3a91270b]:hover{transform:translateY(-10px);box-shadow:0 10px 25px rgba(0,0,0,.25);z-index:10}.view-page .flex-input[data-v-3a91270b]{width:100%;display:inline-flex;align-items:center;flex-wrap:nowrap;flex-direction:row}.view-page .flex-input .search-button[data-v-3a91270b]{padding:0 0 0 .625rem}.view-page .swipe-view[data-v-3a91270b]{width:100%;height:6.25rem;border-radius:.4375rem;margin-top:1.125rem}.view-page .title[data-v-3a91270b]{padding:.75rem 0;font-family:Source Han Sans CN,Source Han Sans CN;font-weight:500;font-size:1rem;color:#333}.view-page .hotspot-view .hotspot-box[data-v-3a91270b]{width:calc(100% - 1.5rem);padding:.75rem;background:#fff;border-radius:.625rem;margin-bottom:.75rem;display:inline-flex;align-items:center;flex-wrap:nowrap;justify-content:space-between;flex-direction:row}.view-page .hotspot-view .hotspot-box .head-portrait[data-v-3a91270b]{width:3.75rem;height:3.75rem;border-radius:50%}.view-page .hotspot-view .hotspot-box .head-portrait img[data-v-3a91270b]{width:100%;height:100%;border-radius:50%}.view-page .hotspot-view .hotspot-box .info-box[data-v-3a91270b]{padding:0 .75rem}.view-page .hotspot-view .hotspot-box .info-box .icon-box[data-v-3a91270b]{width:.625rem;height:.625rem;margin-left:.15625rem}.view-page .hotspot-view .hotspot-box .info-box .chairman[data-v-3a91270b]{min-width:3.3125rem;height:1.125rem;padding:0 .375rem;color:#fff;font-size:.75rem;text-align:right;background:var(--subss-color);border-radius:3.625rem;border:.0625rem solid var(--subss-color);position:relative;left:.3125rem;margin:1rem 0;display:inline-flex}.view-page .hotspot-view .hotspot-box .info-box .chairman .truncate-three[data-v-3a91270b]{text-align:left}.view-page .hotspot-view .hotspot-box .info-box .chairman .chairman-portrait[data-v-3a91270b]{width:1.5625rem;height:1.5625rem;border-radius:50%;border:.0625rem solid #FFFFFF;position:absolute;top:-.3125rem;left:-.625rem}.view-page .hotspot-view .hotspot-box .info-box .chairman .chairman-portrait img[data-v-3a91270b]{width:100%;height:100%;border-radius:50%}.view-page .hotspot-view .hotspot-box .info-box .chairman .chairman-name[data-v-3a91270b]{margin-left:.9rem}.view-page .hotspot-view .hotspot-box .info-box .id-title[data-v-3a91270b]{font-size:.75rem;color:#666;margin-left:.75rem}.view-page .hotspot-view .hotspot-box .info-box .subhead-title[data-v-3a91270b]{display:block;font-weight:400;font-size:.75rem;color:#666;margin:.25rem 0}.view-page .hotspot-view .hotspot-box .info-box .like-box[data-v-3a91270b]{display:inline-flex;align-items:center;flex-wrap:nowrap;flex-direction:row;padding:.1875rem .75rem;background:#2afec0;border-radius:1.09375rem;font-family:Source Han Sans CN,Source Han Sans CN;font-weight:400;font-size:.875rem;color:#333;margin:.25rem 0}.view-page .hotspot-view .hotspot-box .right-button[data-v-3a91270b]{text-align:center}.view-page .hotspot-view .hotspot-box .right-button .apply-button[data-v-3a91270b]{display:inline-block;background:var(--primary-color);font-size:var(--font-button-size);color:var(--font-button-color);border-radius:2.125rem;text-align:center;padding:.125rem .9375rem}.view-page .hotspot-view .hotspot-box .right-button .online-view[data-v-3a91270b]{margin-top:.75rem;padding:.375rem .25rem;text-align:right;width:5rem;height:1.375rem;line-height:1.375rem;border-radius:2.875rem;position:relative}.view-page .hotspot-view .hotspot-box .right-button .online-view .avatars-container[data-v-3a91270b]{position:absolute;top:.3125rem;left:40%}.view-page .hotspot-view .hotspot-box .right-button .online-view .online-people[data-v-3a91270b]{color:rgba(0,0,0,.5);font-size:.75rem;text-align:left;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

View File

@@ -0,0 +1 @@
const s="/h5/web/assets/logo-LS8UnBYJ.png";export{s as l};

View File

@@ -0,0 +1 @@
.view-page[data-v-173e0753]{display:flex;flex-direction:column;background-repeat:no-repeat;background-size:100% 100%;min-height:100vh;font-family:Source Han Sans CN,Source Han Sans CN}.view-page .image-view[data-v-173e0753]{width:3.125rem;height:3.125rem;margin:0 .75rem}.view-page .image-view img[data-v-173e0753]{border-radius:50%}.view-page .icon-button[data-v-173e0753]{width:4.375rem;height:1.5rem}.view-page .content[data-v-173e0753]{padding:0 1rem}

View File

@@ -0,0 +1 @@
.nav[data-v-d84aaf9a]{padding:1rem;width:calc(100% - 2rem);justify-content:start}.nav .icon-image[data-v-d84aaf9a]{width:1.5rem;height:1.5rem}.nav .title[data-v-d84aaf9a]{width:calc(100% - 3rem);text-align:center}

View File

@@ -0,0 +1 @@
import{E as a,o as e,f as t,w as s,k as A,J as o,p as l,l as i,u as n,i as r,j as d}from"./index-Cx-ljvzK.js";import{_ as c}from"./_plugin-vue_export-helper.BCo6x5W8.js";const f=c({name:"navBar",props:{bgColor:{type:String,default:()=>"transparent"},navTitle:{type:String,default:()=>"标题"},emitBack:{type:Boolean,default:()=>!1},isLeftSlot:{type:Boolean,default:()=>!1}},methods:{back(){this.emitBack?this.$emit("backEvent"):a()}}},[["render",function(a,c,f,g,B,u){const p=d;return e(),t(p,{class:"nav flex-line",style:r(`background-color:${f.bgColor}`)},{default:s((()=>[A(p,{class:"icon-image"},{default:s((()=>[f.isLeftSlot?o(a.$slots,"leftView",{key:0},void 0,!0):(e(),l("img",{key:1,src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAStJREFUaEPt2GEKwjAMBeBmeKDRHUdhHkFPokdQ0OOsJxIqgw2GqKxrXtJC9rsr70s6yEqu8ocqz+8MoN1B64B1ILMCdoRSCui93xPRbhiGe8p7/9aKdcB7fyGi0xgmxngIITw5ECKAZfgp9JGrC3DAZ/gY4zWEcOao/rgHFIAODwVIhIcBpMJDAJLh2QHS4VkBGuHZAFrhWQCa4bMB2uGzACWE3wwoJfwmQNd1vXPuNs8y3LNN6oyUPAtNM/2jWsAYvOojNFe+FETyEVqe0RIQWYASjlM2QBvBAtBEsAG0EKwADQQ7QBoBAUgiYAApBBQggYADfiDquhv9gqjnbnQ5O7Vt2zdN8+K6md70Q5P6w4FeL/INIBEGQFZ3zd7WgTVVQq6xDiCru2bvN0OV8zHm2XzEAAAAAElFTkSuQmCC",alt:"",onClick:c[0]||(c[0]=(...a)=>u.back&&u.back(...a))}))])),_:3}),A(p,{class:"color-3 title font-w500 font-36"},{default:s((()=>[i(n(f.navTitle),1)])),_:1}),A(p,{class:"flex-line"},{default:s((()=>[o(a.$slots,"rightView",{},void 0,!0)])),_:3})])),_:3},8,["style"])}],["__scopeId","data-v-d84aaf9a"]]);export{f as n};

View File

@@ -0,0 +1 @@
import{s as a,g as s,r as t,f as e,w as r,i as o,j as n,o as i,k as l,b as p,t as u}from"./index-Cx-ljvzK.js";import{n as m}from"./nav.-FlBmVf_.js";import{_ as c}from"./_plugin-vue_export-helper.BCo6x5W8.js";const g=c({components:{navBar:m},data:()=>({statusBarHeight:0}),onLoad(t){const{h:e}=t;this.statusBarHeight=e,a("BarHeight",e),s("Theme_Data")&&(this.ThemeData=JSON.parse(s("Theme_Data")))}},[["render",function(a,s,m,c,g,d){var f;const h=t("navBar"),_=n;return i(),e(_,{class:"view-page",style:o({backgroundImage:`url('${(null==(f=a.ThemeData)?void 0:f.app_bg)||a.$config.PRIMARY_BGURL}')`})},{default:r((()=>[l(h,{style:o({marginTop:`${g.statusBarHeight}${"ios"===p().platform?"px":"dp"}`}),navTitle:"在线客服",emitBack:!1},null,8,["style"]),l(_,{class:""},{default:r((()=>[u("img",{src:a.$config.kefu_url,alt:""},null,8,["src"])])),_:1})])),_:1},8,["style"])}],["__scopeId","data-v-8c524529"]]);export{g as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{h as a,g as e,E as t,r as s,e as l,f as o,w as n,j as i,o as r,k as c,l as d,u as f,m as p}from"./index-Cx-ljvzK.js";import{_ as u}from"./uni-icons.rIRNGGE5.js";import{r as h}from"./uni-app.es.C2wev25l.js";import{h as m}from"./headerHeight.BKcShUBq.js";import{n as _}from"./nav.-FlBmVf_.js";import{_ as g}from"./_plugin-vue_export-helper.BCo6x5W8.js";const v=g({components:{headerHeight:m,navBar:_},data:()=>({errorPage:!1,detailData:null,statusBarHeight:0}),onLoad(a){const{id:e}=a;e&&this.getDetail(e)},methods:{getDetail(t){a.get("/api/Help/help_detail",{token:e("token")||"",id:t}).then((a=>{const{data:e,code:t}=a;console.log(t,e),this.detailData=t?e:null,this.errorPage=!1})).catch((a=>{this.errorPage=!0}))},back(){t()}}},[["render",function(a,e,t,m,_,g){const v=s("headerHeight"),k=s("navBar"),b=i,j=h(l("uni-icons"),u);return r(),o(b,{class:"view-page"},{default:n((()=>[c(v),c(k,{navTitle:"问题详情",bgColor:"#fff",emitBack:!0,onBackEvent:g.back},null,8,["onBackEvent"]),_.detailData?(r(),o(b,{key:0,class:"container"},{default:n((()=>[c(b,{class:"title"},{default:n((()=>[d(f(_.detailData.title),1)])),_:1}),c(b,{class:"title mt-24",innerHTML:_.detailData.content},null,8,["innerHTML"])])),_:1})):p("",!0),c(b,{class:"flex-line footer mt-24 w-fill"},{default:n((()=>[c(b,{class:"help-box"},{default:n((()=>[c(b,{class:"help-icon"},{default:n((()=>[c(j,{type:"hand-up",size:"30"})])),_:1}),c(b,{class:"color-0 mt-24 font-24"},{default:n((()=>[d(" 有帮助 ")])),_:1})])),_:1}),c(b,{class:"help-box"},{default:n((()=>[c(b,{class:"help-icon"},{default:n((()=>[c(j,{type:"hand-down",size:"30"})])),_:1}),c(b,{class:"color-0 mt-24 font-24"},{default:n((()=>[d(" 没帮助 ")])),_:1})])),_:1})])),_:1})])),_:1})}],["__scopeId","data-v-4e1bb458"]]);export{v as default};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{s as a,g as e,b as t,h as s,n as i,r as o,e as n,f as r,w as l,i as d,j as g,o as c,k as h,p,q as u,F as f,l as m,u as b,t as v}from"./index-Cx-ljvzK.js";import{_}from"./uni-load-more.Biu55tCr.js";import{r as k}from"./uni-app.es.C2wev25l.js";import{n as L}from"./nav.-FlBmVf_.js";import{N as T}from"./tab.D5Tn0Q9n.js";import{_ as y}from"./_plugin-vue_export-helper.BCo6x5W8.js";const C=y({components:{navBar:L,NavigationTabs:T},data:()=>({errorPage:!0,currentIndex:0,statusBarHeight:0,pageConfig:{pageSize:10,currentPage:1,total:0},loading:!1,noMore:!1,tabs:[],dataList:[],ThemeData:null}),onReachBottom(){this.loading||this.noMore||this.getUnderageModeList(this.tabs[0].type)},onLoad(t){this.errorPage=!0,this.dataList=[];const{id:s,h:i}=t;a("token",s),this.statusBarHeight=i,a("BarHeight",i),e("token")&&this.getUnderageTypeList(),e("Theme_Data")&&(this.ThemeData=JSON.parse(e("Theme_Data")))},methods:{back(){this.closeWeb()},closeWeb(){const a=t().platform;"ios"===a?window.webkit.messageHandlers.nativeHandler.postMessage({action:"closeWeb"}):"android"===a&&window.Android.closeWeb()},async getUnderageTypeList(){s.get("/api/Usermode/getUnderageTypeList",{token:e("token")||""}).then((a=>{const{data:e,code:t}=a;t&&(this.tabs=e.map((a=>({type:a.id,value:a.type_name})))),this.errorPage=!1,this.$nextTick((()=>{this.getUnderageModeList(this.tabs[0].type)}))})).catch((a=>{this.tabs=[],this.errorPage=!0}))},async getUnderageModeList(a){s.get("/api/Usermode/getUnderageModeList",{token:e("token")||"",type:a,page:this.pageConfig.currentPage,page_limit:this.pageConfig.pageSize}).then((a=>{const{code:e,data:t}=a;if(e){this.pageConfig.total=t.total,this.loading=!1;const a=t.data||[];if(0===a.length)return void(this.noMore=!0);if(this.dataList=[...this.dataList,...a],this.pageConfig.currentPage++,this.dataList.length===this.pageConfig.total)return void(this.noMore=!0)}}))},handleTabChange(a){this.dataList=[],this.noMore=!1,this.loading=!1,this.pageConfig.currentPage=1,this.pageConfig.pageSize=10,this.getUnderageModeList(a.tab.type)},openDetail(a){i({url:`/pages/feedback/teenageDetail?dataId=${a.id}`})}}},[["render",function(a,e,s,i,L,T){var y;const C=o("navBar"),M=o("NavigationTabs"),w=g,B=k(n("uni-load-more"),_);return c(),r(w,{class:"view-page",style:d({backgroundImage:`url('${(null==(y=L.ThemeData)?void 0:y.app_bg)||a.$config.PRIMARY_BGURL}')`})},{default:l((()=>[h(C,{style:d({marginTop:`${L.statusBarHeight}${"ios"===t().platform?"px":"dp"}`}),navTitle:"青少年模式",emitBack:!0,onBackEvent:T.back},null,8,["style","onBackEvent"]),h(w,{class:"content-view"},{default:l((()=>[h(w,{class:"flex-line"},{default:l((()=>[h(M,{"tabs-data":L.tabs,"default-active":L.currentIndex,onTabChange:T.handleTabChange},null,8,["tabs-data","default-active","onTabChange"])])),_:1}),h(w,{class:""},{default:l((()=>[(c(!0),p(f,null,u(L.dataList,((a,e)=>(c(),r(w,{class:"flex-line flex-spaceB w-fill new-box",key:e,onClick:e=>T.openDetail(a)},{default:l((()=>[h(w,{class:""},{default:l((()=>[h(w,{class:"color-3 font-32 font-w500"},{default:l((()=>[m(b(a.title),1)])),_:2},1024),h(w,{class:"color-6 mt-24 font-28 font-w400 multi-line"},{default:l((()=>[m(b(a.introduced),1)])),_:2},1024)])),_:2},1024),h(w,{class:"new-box-image"},{default:l((()=>[v("img",{src:a.img,alt:""},null,8,["src"])])),_:2},1024)])),_:2},1032,["onClick"])))),128)),h(B,{class:"mt-24",status:L.loading?"loading":L.noMore?"noMore":"more"},null,8,["status"])])),_:1})])),_:1})])),_:1},8,["style"])}],["__scopeId","data-v-c0e4addd"]]);export{C as default};

View File

@@ -0,0 +1 @@
import{g as a,A as e,h as t,B as s,r as l,f as i,w as n,i as d,j as r,o,k as h,p as m,t as c,l as g,u,F as f,m as p}from"./index-Cx-ljvzK.js";import{h as D}from"./headerHeight.BKcShUBq.js";import{n as _}from"./nav.-FlBmVf_.js";import{_ as v}from"./_plugin-vue_export-helper.BCo6x5W8.js";const T=v({components:{headerHeight:D,navBar:_},data:()=>({detailData:null,ThemeData:null,BarHeight:0}),onLoad(e){const{dataId:t}=e;t&&this.getDetail(t),a("Theme_Data")&&(this.ThemeData=JSON.parse(a("Theme_Data"))),this.BarHeight=a("BarHeight")},methods:{async getDetail(l){e({mask:!0,title:"加载中"}),t.get("/api/Usermode/getUnderageModeContent",{id:l,token:a("token")||""}).then((a=>{s();const{data:e,code:t}=a;this.detailData=t?e:null,console.log(this.detailData)}))}}},[["render",function(a,e,t,s,D,_){var v;const T=l("headerHeight"),k=l("navBar"),y=r;return o(),i(y,{class:"view-page",style:d({backgroundImage:`url('${(null==(v=D.ThemeData)?void 0:v.app_bg)||a.$config.PRIMARY_BGURL}')`})},{default:n((()=>[h(T),h(k,{navTitle:"内容详情"}),D.detailData?(o(),m(f,{key:0},[2===D.detailData.from?(o(),i(y,{key:0,class:""},{default:n((()=>[c("iframe",{id:"myIframe",src:D.detailData.url,style:{width:"100%",border:"none",height:"100dvh"}},null,8,["src"])])),_:1})):(o(),i(y,{key:1,class:"detailContent"},{default:n((()=>[h(y,{class:""},{default:n((()=>[h(y,{class:"detailTitle"},{default:n((()=>[g(u(D.detailData.title),1)])),_:1}),h(y,{class:"detailData",innerHTML:D.detailData.content||""},null,8,["innerHTML"])])),_:1})])),_:1}))],64)):p("",!0)])),_:1},8,["style"])}],["__scopeId","data-v-a1c4d327"]]);export{T as default};

View File

@@ -0,0 +1 @@
import{Q as a,g as e,b as s,r as t,f as o,w as n,i as r,j as l,o as i,k as c,R as d}from"./index-Cx-ljvzK.js";import{n as p}from"./nav.-FlBmVf_.js";import{_ as h}from"./_plugin-vue_export-helper.BCo6x5W8.js";const m=h({components:{navBar:p},data:()=>({statusBarHeight:0,ThemeData:null,httpUrl:null}),onLoad(s){this.httpUrl=a.BASE_URL;const{h:t}=s;this.statusBarHeight=t,e("Theme_Data")&&(this.ThemeData=JSON.parse(e("Theme_Data")))},methods:{back(){this.closeWeb()},closeWeb(){const a=s().platform;"ios"===a?window.webkit.messageHandlers.nativeHandler.postMessage({action:"closeWeb"}):"android"===a&&window.Android.closeWeb()}}},[["render",function(a,e,p,h,m,u){var g;const v=t("navBar"),f=d,_=l;return i(),o(_,{class:"view-page",style:r({backgroundImage:`url('${(null==(g=m.ThemeData)?void 0:g.app_bg)||a.$config.PRIMARY_BGURL}')`})},{default:n((()=>[c(v,{style:r({marginTop:`${m.statusBarHeight}${"ios"===s().platform?"px":"dp"}`}),navTitle:"关于我们",emitBack:!0,onBackEvent:u.back},null,8,["style","onBackEvent"]),c(_,{class:"dec-view"},{default:n((()=>[c(f,{src:`${m.httpUrl}/api/Page/page_show?id=20`},null,8,["src"])])),_:1})])),_:1},8,["style"])}],["__scopeId","data-v-fad43f9c"]]);export{m as default};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{Q as a,g as t,r as e,f as s,w as l,i as n,j as r,o,k as i,m as p,R as u}from"./index-Cx-ljvzK.js";import{n as d}from"./nav.-FlBmVf_.js";import{_ as g}from"./_plugin-vue_export-helper.BCo6x5W8.js";const h=g({components:{navBar:d},data:()=>({httpUrl:null,statusBarHeight:0,flagIndex:null,ThemeData:null}),onLoad(e){const{h:s,flag:l}=e;this.flagIndex=+l,this.httpUrl=a.BASE_URL,this.statusBarHeight=s,t("Theme_Data")&&(this.ThemeData=JSON.parse(t("Theme_Data")))}},[["render",function(a,t,d,g,h,m){var f;const c=e("navBar"),_=u,v=r;return o(),s(v,{class:"view-page",style:n({backgroundImage:`url('${(null==(f=h.ThemeData)?void 0:f.app_bg)||a.$config.PRIMARY_BGURL}')`})},{default:l((()=>[i(c,{navTitle:"规则说明",style:n({"margin-top":`${h.statusBarHeight||0}px`})},null,8,["style"]),null!==h.flagIndex?(o(),s(v,{key:0,class:"dec-view"},{default:l((()=>[i(_,{src:`${h.httpUrl}/api/Page/page_show?id=${1===h.flagIndex?10:11}`},null,8,["src"])])),_:1})):p("",!0)])),_:1},8,["style"])}],["__scopeId","data-v-5219db17"]]);export{h as default};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{Q as a,f as e,w as s,j as r,o as t,k as l,t as o,R as n}from"./index-Cx-ljvzK.js";import{_ as d}from"./_plugin-vue_export-helper.BCo6x5W8.js";const i=d({data:()=>({httpUrl:null,webviewStyles:{progress:{color:"transparent"},android:{hardwareAccelerated:!0,backgroundColor:"transparent"},ios:{allowsInlineMediaPlayback:!0,backgroundColor:"transparent"}}}),onLoad(){this.httpUrl=a.BASE_URL},onReady(){}},[["render",function(a,d,i,p,c,u){const w=r,g=n;return t(),e(w,{class:"view-page"},{default:s((()=>[l(w,{class:"image"},{default:s((()=>[o("img",{src:"/h5/web/assets/rule-D8yU_r7I.png",alt:""})])),_:1}),l(w,{class:"dec-view",style:{"background-color":"transparent !important"}},{default:s((()=>[l(g,{style:{backgroundColor:"transparent"},"webview-styles":c.webviewStyles,src:`${c.httpUrl}/api/Page/page_show?id=17`},null,8,["webview-styles","src"])])),_:1})])),_:1})}],["__scopeId","data-v-7097dda3"]]);export{i as default};

View File

@@ -0,0 +1 @@
import{s as t,h as a,g as s,r as e,f as n,w as o,i as r,j as i,o as l,k as p,b as d,l as c,u as g}from"./index-Cx-ljvzK.js";import{n as u}from"./nav.-FlBmVf_.js";import{b as m}from"./fy_bg.cY2CWREb.js";import{_ as f}from"./_plugin-vue_export-helper.BCo6x5W8.js";const h=f({components:{navBar:u},data:()=>({content:"测试一下",statusBarHeight:0,ThemeData:{},baseBgUrl:m}),onLoad(e){const{id:n}=e;t("token",n),a.get("/api/Guild/guild_list",{page:1,limit:10,search_id:"",token:s("token")||""}).then((t=>{this.content=`token:${n}+++++++++++++${JSON.stringify(t)}`})).catch((t=>{this.content=`token:${n}+++++++++++++${JSON.stringify(response)}`}))},methods:{}},[["render",function(t,a,s,u,m,f){var h;const _=e("navBar"),v=i;return l(),n(v,{class:"view-page",style:r({backgroundImage:`url('${(null==(h=m.ThemeData)?void 0:h.app_bg)||m.baseBgUrl}')`})},{default:o((()=>[p(_,{style:r({marginTop:`${m.statusBarHeight}${"ios"===d().platform?"px":"dp"}`}),navTitle:"测试页面"},null,8,["style"]),p(v,{class:"content"},{default:o((()=>[c(g(m.content),1)])),_:1})])),_:1},8,["style"])}],["__scopeId","data-v-f7bd8541"]]);export{h as default};

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More