李万涛 2 лет назад
Родитель
Сommit
827e931eb9
100 измененных файлов с 1526 добавлено и 610 удалено
  1. 1 1
      manifest.json
  2. 30 0
      pages.json
  3. 0 441
      pages/index/index1.vue
  4. 88 12
      pages/index/scorePaySuc/index.vue
  5. 59 0
      pages/user/commission/withdraw-log.vue
  6. 65 0
      pages/user/commission/withdraw.vue
  7. 89 12
      pages/user/score/index.vue
  8. 68 0
      pages/user/score/preImg/index.scss
  9. 43 0
      pages/user/score/preImg/index.vue
  10. 58 0
      pages/user/score/preMp4/index.scss
  11. 42 0
      pages/user/score/preMp4/index.vue
  12. 57 0
      pages/user/score/prePdf/index.scss
  13. 72 0
      pages/user/score/prePdf/index.vue
  14. 57 63
      pages/user/score/record/index.vue
  15. 8 3
      pages/user/signin.scss
  16. 10 3
      pages/user/signin.vue
  17. 0 55
      pages/user/signin1.scss
  18. 24 19
      pages/user/withdrawRes/index.vue
  19. 1 1
      tuniao-ui/components/tn-nav-bar/tn-nav-bar.vue
  20. 2 0
      uni_modules/ss-download/changelog.md
  21. 289 0
      uni_modules/ss-download/components/ss-download/ss-download.vue
  22. 82 0
      uni_modules/ss-download/package.json
  23. 12 0
      uni_modules/ss-download/readme.md
  24. 2 0
      uni_modules/ss-preview/changelog.md
  25. 119 0
      uni_modules/ss-preview/components/ss-preview/ss-preview.vue
  26. 119 0
      uni_modules/ss-preview/components/ss-preview/ss-preview1.vue
  27. 119 0
      uni_modules/ss-preview/hybrid/html/file.html
  28. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/SELinux.pdf
  29. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-EUC-H.bcmap
  30. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-EUC-V.bcmap
  31. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-H.bcmap
  32. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-RKSJ-H.bcmap
  33. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-RKSJ-V.bcmap
  34. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-V.bcmap
  35. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78ms-RKSJ-H.bcmap
  36. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78ms-RKSJ-V.bcmap
  37. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/83pv-RKSJ-H.bcmap
  38. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90ms-RKSJ-H.bcmap
  39. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90ms-RKSJ-V.bcmap
  40. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90msp-RKSJ-H.bcmap
  41. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90msp-RKSJ-V.bcmap
  42. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90pv-RKSJ-H.bcmap
  43. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90pv-RKSJ-V.bcmap
  44. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Add-H.bcmap
  45. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Add-RKSJ-H.bcmap
  46. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Add-RKSJ-V.bcmap
  47. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Add-V.bcmap
  48. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-0.bcmap
  49. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-1.bcmap
  50. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-2.bcmap
  51. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-3.bcmap
  52. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-4.bcmap
  53. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-5.bcmap
  54. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-6.bcmap
  55. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-UCS2.bcmap
  56. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-0.bcmap
  57. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-1.bcmap
  58. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-2.bcmap
  59. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-3.bcmap
  60. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-4.bcmap
  61. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-5.bcmap
  62. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-UCS2.bcmap
  63. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-0.bcmap
  64. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-1.bcmap
  65. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-2.bcmap
  66. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-3.bcmap
  67. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-4.bcmap
  68. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-5.bcmap
  69. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-6.bcmap
  70. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-UCS2.bcmap
  71. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Korea1-0.bcmap
  72. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Korea1-1.bcmap
  73. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Korea1-2.bcmap
  74. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Korea1-UCS2.bcmap
  75. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/B5-H.bcmap
  76. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/B5-V.bcmap
  77. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/B5pc-H.bcmap
  78. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/B5pc-V.bcmap
  79. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS-EUC-H.bcmap
  80. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS-EUC-V.bcmap
  81. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS1-H.bcmap
  82. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS1-V.bcmap
  83. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS2-H.bcmap
  84. 3 0
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS2-V.bcmap
  85. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETHK-B5-H.bcmap
  86. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETHK-B5-V.bcmap
  87. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETen-B5-H.bcmap
  88. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETen-B5-V.bcmap
  89. 3 0
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETenms-B5-H.bcmap
  90. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETenms-B5-V.bcmap
  91. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/EUC-H.bcmap
  92. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/EUC-V.bcmap
  93. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Ext-H.bcmap
  94. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Ext-RKSJ-H.bcmap
  95. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Ext-RKSJ-V.bcmap
  96. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Ext-V.bcmap
  97. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/GB-EUC-H.bcmap
  98. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/GB-EUC-V.bcmap
  99. 4 0
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/GB-H.bcmap
  100. BIN
      uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/GB-V.bcmap

+ 1 - 1
manifest.json

xqd
@@ -120,7 +120,7 @@
             "mode" : "history",
             "base" : "/h5/"
         },
-        "title" : "",
+        "title" : "数趣AI",
         "devServer" : {
             "https" : false
         },

+ 30 - 0
pages.json

xqd
@@ -647,6 +647,36 @@
 				"navigationBarBackgroundColor": "#ffffff"
 			}
 
+		},
+		{
+			"path": "pages/user/score/prePdf/index",
+			"style": {
+				"navigationBarTitleText": "pdf预览",
+				"navigationStyle": "custom",
+				"enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#ffffff"
+			}
+
+		},
+		{
+			"path": "pages/user/score/preMp4/index",
+			"style": {
+				"navigationBarTitleText": "视频预览",
+				"navigationStyle": "custom",
+				"enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#ffffff"
+			}
+
+		},
+		{
+			"path": "pages/user/score/preImg/index",
+			"style": {
+				"navigationBarTitleText": "图片预览",
+				"navigationStyle": "custom",
+				"enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#ffffff"
+			}
+
 		}
 	],
 	"globalStyle": {

+ 0 - 441
pages/index/index1.vue

xqd
@@ -1,441 +0,0 @@
-<template>
-	<view class="container">
-		<wike-skeleton :count="4" v-if="homeTemplate.length === 0"></wike-skeleton>
-		<view class="form" v-if="appInfo.page_template == 1 || !appInfo.page_template">
-			<view class="top-notice" v-if="appInfo && appInfo.notice"><u-notice-bar
-					:text="appInfo.notice"></u-notice-bar></view>
-			<view class="logo"><u--image :src="appInfo.site_logo_path?appInfo.site_logo_path:'/static/images/head.jpg'" shape="circle" width="200rpx"
-					height="200rpx"></u--image></view>
-			<u-transition :show="true" mode="slide-left">
-				<view class="title">{{ appInfo.site_name?appInfo.site_name:'A问答机器人' }}</view>
-			</u-transition>
-			<u-transition :show="true" mode="slide-right">
-				<view class="desc">{{ appInfo.sub_title }}</view>
-			</u-transition>
-			<view class="btn-group">
-				<view class="btn" @click="onToForm"><u-button shape="circle" iconColor="#ffffff" color="#26B3A0"
-						icon="chat" text="立即体验"></u-button></view>
-				<view v-if="appInfo.is_aipainting&&appInfo.is_aipainting == 1" class="btn" @click="ondraw"><u-button shape="circle" iconColor="#ffffff" color="#ffc107"
-						icon="edit-pen-fill" text="Ai绘画"></u-button></view>
-				<view class="btn">
-					<!-- #ifdef MP-WEIXIN -->
-					<u-button shape="circle" open-type="share" color="#26B3A0" :plain="true" icon="share"
-						text="分享好友"></u-button>
-					<!-- #endif -->
-					<!-- #ifdef H5 -->
-					<u-button shape="circle" @click="h5share = true" color="#26B3A0" :plain="true" icon="share"
-						text="分享好友"></u-button>
-					<!-- #endif -->
-				</view>
-			</view>
-		</view>
-		<view v-if="appInfo.page_template == 2">
-			<view class="directask">
-				<!-- 📝 -->
-				<view class="askaquestion u-flex align-center">
-					<!-- <image src="/static/images/ask.png"></image> -->
-					📝直接提问</view>
-				<view class="textarea">
-					<u--textarea @focus="focustextarea" maxlength="-1" v-model="valuechat" height="100" border="none"
-						placeholder="您可以向Ai提出任何问题..."></u--textarea>
-					<view class="operate u-flex align-center">
-						
-						<view @click="valuechat = ''" class="empty">清空</view>
-						<view @click="ondraw" v-if="appInfo.is_aipainting&&appInfo.is_aipainting == 1" style="background: #ffc107;margin-right: 30rpx;border: #ffc107 1px solid;" hover-class="hoversubmit" class="submit">Ai绘画</view>
-						<view @click="onSubmit(valuechat)" hover-class="hoversubmit" class="submit">提交问题</view>
-					</view>
-				</view>
-				<view class="askaquestion u-flex align-center justify-between">
-					<!-- 🔥 -->
-					<view class="u-flex align-center">
-						<!-- <image src="/static/images/heat.png"></image> -->
-						🔥热门提问
-					</view>
-					
-					<view @click="updateTemplate" class="tn-flex align-center"
-						style="justify-content: flex-end;margin-top: 15rpx;">
-						<view style="color: #9e9e9e;margin-right: 10rpx;">换一换</view>
-						<u-icon name="reload" color="#9e9e9e" size="18"></u-icon>
-					</view>
-				</view>
-				<block v-for="(item, index) in homeTemplate.hot" :key="index">
-					<view class="case" @click="onSubmit(item.text)">{{ item.text }}</view>
-				</block>
-				<!-- #ifdef MP-WEIXIN -->
-				<view class="wxad" v-if="appInfo.wxad_index && appInfo.wxad_index >= 1">
-					<view style="width: 100%;">
-						<wike-flow-main :flowtype="appInfo.wxad_index" :banner_id="appInfo.banner_id"
-							:video_banner_id="appInfo.video_banner_id" :native_id="appInfo.native_id"></wike-flow-main>
-					</view>
-				</view>
-				<!-- #endif -->
-				<view class="askaquestion u-flex align-center justify-between">
-					<!-- 🛠️ -->
-					<view class="u-flex align-center">
-						<!-- <image src="/static/images/formwork.png"></image> -->
-						🛠️提问模板
-					</view>
-					
-					<view @click="onhelper" class="tn-flex align-center"
-						style="justify-content: flex-end;margin-top: 15rpx;">
-						<view style="color: #9e9e9e;margin-right: 6rpx;">更多</view>
-						<u-icon name="arrow-right" color="#9e9e9e" size="18"></u-icon>
-					</view>
-				</view>
-				<view style="margin-bottom: 10rpx;" class="u-flex flex-wrap justify-between align-center">
-					<navigator class="helpme" :url="'/pages/template/detail?id=' + item.id"
-						v-for="(item, index) in homeTemplate.template" :key="index">
-						<view class="title">{{ item.title }}</view>
-						<view class="sub_title">{{ item.sub_title }}</view>
-					</navigator>
-				</view>
-				<wike-ad></wike-ad>
-			</view>
-		</view>
-		<view v-if="appInfo.page_template == 3"></view>
-		<!-- #ifdef H5 -->
-		<u-popup :show="h5share" mode="center" @close="h5share = false">
-			<view class="cu-dialog">
-				<image class="guide-img" src="http://shopro.7wpp.com/imgs/modal/share_guide.png" mode=""></image>
-			</view>
-		</u-popup>
-		<!-- #endif -->
-		<wike-tabbar :onTabbar="onTabbar" :isShowAnimate="isShowAnimate"></wike-tabbar>
-	</view>
-</template>
-
-<script>
-	import {
-		mapMutations,
-		mapActions,
-		mapState,
-		mapGetters
-	} from 'vuex';
-	let interstitialAd = null,
-		timer,
-		time2;
-	export default {
-		components: {},
-		data() {
-			return {
-				onTabbar: false,
-				isShowAnimate: false,
-				valuechat: '',
-				platform: this.$platform.get(),
-				h5share: false
-			};
-		},
-		computed: {
-			...mapGetters(['appInfo', 'isLogin', 'userInfo', 'homeTemplate', 'userData'])
-		},
-		watch: {
-			appInfo: function(e) {
-				let that = this;
-				uni.setNavigationBarTitle({
-					title: that.appInfo.site_name
-				});
-			}
-		},
-		onLoad() {
-			var that = this;
-			uni.getSystemInfo({
-				success: function(res) {}
-			});
-			setTimeout(() => {
-				that.onTabbar = true;
-				that.isShowAnimate = true;
-			}, 500);
-		},
-		onReady() {
-			let that = this;
-			// #ifdef MP-WEIXIN
-			clearTimeout(timer);
-			// 在适合的场景显示插屏广告
-			timer = setTimeout(function() {
-				// 在页面onLoad回调事件中创建插屏广告实例
-				if (wx.createInterstitialAd && that.appInfo.interstitial_status == 1) {
-					interstitialAd = wx.createInterstitialAd({
-						adUnitId: that.appInfo.interstitial_id
-					});
-					interstitialAd.onLoad(() => {});
-					interstitialAd.onError(err => {});
-					interstitialAd.onClose(() => {
-						if (that.appInfo.interstitial_infinite_status == 1) {
-							that.showInterstitial();
-						}
-					});
-					interstitialAd.show().catch(err => {
-						console.error(err);
-					});
-				}
-			}, 4000);
-			// #endif
-		},
-		onShow() {
-			if (this.isLogin) {
-				this.getUserData();
-			}
-		},
-		onUnload() {
-			clearInterval(time2);
-		},
-		methods: {
-			...mapActions(['appInit', 'logout', 'getUserInfo', 'getUserData']),
-			init() {
-				var that = this;
-				return Promise.all([this.appInit()]).then(res => {
-					
-				});
-			},
-			showInterstitial() {
-				time2 = setInterval(
-					function() {
-						interstitialAd.show().catch(err => {
-							console.error(err);
-						});
-					},
-					this.appInfo.gap ? this.appInfo.gap * 1000 : 12000
-				);
-			},
-			updateTemplate() {
-				this.$store.dispatch('getTemplate');
-			},
-			onToForm() {
-				uni.navigateTo({
-					url: '/pages/chat/chat'
-				});
-			},
-			onhelper() {
-				uni.switchTab({
-					url: '/pages/template/template'
-				});
-			},
-			focustextarea() {
-				if (!this.isLogin) {
-					uni.navigateTo({
-						url: '/pages/user/signin'
-					});
-					uni.setStorageSync('route', '/pages/index/index');
-					return;
-				}
-			},
-			ondraw(){
-				
-				uni.navigateTo({
-					url: '/pages/chat/chat?draw=1'
-				});
-			},
-			onSubmit(e) {
-				// console.log(e);
-				var that = this;
-				if (!that.isLogin) {
-
-					uni.navigateTo({
-						url: '/pages/user/signin'
-					});
-
-					uni.setStorageSync('route', '/pages/index/index');
-
-					return;
-				}
-				if (!e) {
-					uni.showToast({
-						title: '请输入关键词或问题',
-						icon: 'none'
-					});
-					return;
-				}
-				if (that.userData.is_validity == 0 && that.userData.coin <= 0) {
-					var alias = that.appInfo.number_alias?that.appInfo.number_alias:'点数';
-					uni.showModal({
-						confirmText: '立即获取',
-						confirmColor: '#26B3A0',
-						content: '您的提问'+alias+'/会员时长不足',
-						title: '提示',
-						success(res) {
-							if (res.confirm) {
-								uni.navigateTo({
-									url: '/pages/user/member/member'
-								});
-							}
-						}
-					});
-					return;
-				}
-				uni.navigateTo({
-					url: '/pages/chat/chat?question=' + e
-				});
-				that.valuechat = ''
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	.container{
-		// margin-top: 25%;
-	}
-	.top-notice {
-		position: fixed;
-		top: 0;
-		left: 0;
-		width: 100%;
-	}
-
-	.form {
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-		margin-top: 15%;
-
-		.title {
-			font-size: 38rpx;
-			font-weight: bolder;
-			// margin-top: 15rpx;
-			margin: 15rpx 35rpx 0;
-		}
-
-		.desc {
-			// margin-top: 15rpx;
-			font-size: 28rpx;
-			color: #666;
-			margin: 15rpx 35rpx;
-		}
-
-		.btn-group {
-			width: 80%;
-			// margin-top: 26%;
-            // margin-bottom: 42%;
-			    position: absolute;
-			    bottom: 80px;
-                padding-bottom: env(safe-area-inset-bottom);
-			.btn {
-				margin: 30rpx 0rpx;
-
-				.u-button {
-					height: 100rpx;
-				}
-			}
-		}
-	}
-
-	.directask {
-		padding: 30rpx 30rpx 200rpx;
-		border-top: 1px solid #ededed;
-
-		.askaquestion {
-			font-size: 32rpx;
-			margin-bottom: 25rpx;
-			image{
-				width: 32rpx;
-				height: 32rpx;
-				margin-right: 12rpx;
-			}
-		}
-
-		.textarea {
-			box-shadow: 0px 0px 10px 5px #9e9e9e36;
-			margin-top: 30rpx;
-			margin-bottom: 30rpx;
-			border-radius: 20rpx;
-			padding: 20rpx 30rpx 30rpx 12rpx;
-
-			.u-textarea {
-				border-radius: 20rpx;
-			}
-
-			.operate {
-				justify-content: flex-end;
-
-				.empty {
-					margin-right: 30rpx;
-					border: 1px solid #9e9e9e;
-					color: #9e9e9e;
-					padding: 12rpx 42rpx;
-					border-radius: 10rpx;
-				}
-
-				.submit {
-					padding: 12rpx 42rpx;
-					border-radius: 10rpx;
-					border: 1px solid #26b3a0;
-					background: #26b3a0;
-					color: #fff;
-				}
-
-				.hoversubmit {
-					background: #f7f7f7;
-					color: #acacb3;
-				}
-			}
-		}
-
-		.case {
-			color: #26b3a0;
-			background: #f5f8f7;
-			width: 100%;
-			height: 80rpx;
-			line-height: 80rpx;
-			font-size: 30rpx;
-			padding-left: 30rpx;
-			border-radius: 10rpx;
-			margin: 25rpx 0;
-			border-radius: 10rpx;
-			overflow: hidden;
-			display: -webkit-box !important;
-			text-overflow: ellipsis;
-			word-break: break-all;
-			-webkit-line-clamp: 1;
-			-webkit-box-orient: vertical !important;
-		}
-
-		.helpme {
-			background: #f5f8f7;
-			border-radius: 20rpx;
-			padding: 30rpx;
-			width: 48%;
-
-			margin-bottom: 25rpx;
-
-			height: 92px;
-
-			.title {
-				font-size: 30rpx;
-				font-weight: bold;
-				margin-bottom: 18rpx;
-				color: #000;
-				overflow:hidden; text-overflow:ellipsis; white-space:nowrap
-			}
-
-			.sub_title {
-				color: #8f9ca2;
-				font-size: 24rpx;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 2;
-			}
-		}
-	}
-
-	.wxad {
-		border-radius: 20rpx;
-		overflow: hidden;
-		margin-bottom: 24rpx;
-	}
-
-	.cu-dialog {
-		position: fixed;
-
-		top: 60rpx;
-		left: 100rpx;
-		// background: #000000;
-	}
-
-	.guide-img {
-		width: 580rpx;
-		height: 430rpx;
-	}
-</style>

+ 88 - 12
pages/index/scorePaySuc/index.vue

xqd
@@ -82,20 +82,96 @@
 
 
 			downLoad(fileName) {
-				if (fileName.endsWith('.mp4') || fileName.endsWith('.pdf')) {
-					let plat = uni.getSystemInfoSync().platform
-					if (plat == 'android' || plat == 'ios') {
-						console.log("plat == 'android' || plat == 'ios'");
-						window.open(
-							fileName
-						)
-					} else {
-						downLoad2(fileName, this.detail.course.name + '-学习资料', 'video/mp4')
+				let _this = this
+				//判断是否在微信
+				var ua = navigator.userAgent.toLowerCase();
+				var isWeixin = ua.indexOf('micromessenger') != -1;
+
+				const detectDeviceType = () => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
+					navigator.userAgent) ? false : true;
+
+				if (isWeixin) {
+					if (fileName.endsWith('.pdf')) {
+						uni.navigateTo({
+							url: '/pages/user/score/prePdf/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.mp4')) {
+						uni.navigateTo({
+							url: '/pages/user/score/preMp4/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.jpg') || fileName.endsWith('.png') || fileName.endsWith('.jpeg')) {
+						uni.navigateTo({
+							url: '/pages/user/score/preImg/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.zip') || fileName.endsWith('.rar')) {
+						let _that = this
+						uni.showModal({
+							title: '温馨提示',
+							content: '微信浏览器不支持直接打开zip或rar类型的文件,请复制链接至手机浏览器打开哦~',
+							confirmText: '复制',
+							confirmColor: '#26B3A0',
+							success: function(res) {
+								if (res.confirm) {
+									console.log('用户点击确定');
+									uni.setClipboardData({
+										data: fileName,
+										success: function() {
+											console.log('success');
+											uni.showToast({
+												title: "复制成功",
+												icon: 'success',
+											})
+										}
+									});
+								} else if (res.cancel) {
+									console.log('用户点击取消');
+								}
+							}
+						})
 					}
+
+				} else if (detectDeviceType()) {
+					// pc端
+					uni.downloadFile({
+						url: fileName, //文件链接
+						success: (res) => {
+							if (res.statusCode === 200) {
+								var oA = document.createElement("a");
+								oA.download = _this.detail.course.name + '-学习资料'; // 设置下载的文件名,默认是'下载'	
+								oA.href = res.tempFilePath; //临时路径再保存到本地
+								document.body.appendChild(oA);
+								oA.click();
+								oA.remove(); // 下载之后把创建的元素删除
+							}
+						},
+						fail: (err) => {
+							uni.showToast({
+								icon: 'none',
+								mask: true,
+								title: '失败请重新下载',
+							});
+						},
+					})
 				} else {
-					window.open(
-						fileName
-					)
+					// 其他手机浏览器
+					if (fileName.endsWith('.pdf')) {
+						uni.navigateTo({
+							url: '/pages/user/score/prePdf/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.mp4')) {
+						uni.navigateTo({
+							url: '/pages/user/score/preMp4/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.jpg') || fileName.endsWith('.png') || fileName.endsWith('.jpeg')) {
+						uni.navigateTo({
+							url: '/pages/user/score/preImg/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.zip') || fileName.endsWith('.rar')) {
+						downLoad2(fileName, this.detail.course.name + '-学习资料', 'application/zip')
+						// window.open(
+						// 	fileName
+						// )
+					}
 				}
 			},
 

+ 59 - 0
pages/user/commission/withdraw-log.vue

xqd xqd xqd
@@ -29,6 +29,47 @@
 					</view>
 				</view>
 
+				<view class="" v-if="item.method==1">
+					<view class="time-box item  u-flex u-col-center u-row-between">
+						<text class="item-title">开户行</text>
+						<view class="time">{{item.bank_name }}</view>
+					</view>
+					<view class="time-box item  u-flex u-col-center u-row-between">
+						<text class="item-title">银行卡号</text>
+						<view class="time">{{item.card_num }}</view>
+					</view>
+					<view class="time-box item  u-flex u-col-center u-row-between">
+						<text class="item-title">真实姓名</text>
+						<view class="time">{{hideName(item.real_name) }}</view>
+					</view>
+				</view>
+
+				<view class="" v-if="item.method==2">
+					<view class="time-box item  u-flex u-col-center u-row-between">
+						<text class="item-title">微信二维码</text>
+						<!-- <view class="time">{{item.wx_qrcode_url }}</view> -->
+						<image @click.stop="preImg(item.wx_qrcode_url)" style="width: 80rpx;height: 80rpx;"
+							:src="item.wx_qrcode_url" mode=""></image>
+					</view>
+					<view class="time-box item  u-flex u-col-center u-row-between">
+						<text class="item-title">真实姓名</text>
+						<view class="time">{{hideName(item.real_name)}}</view>
+					</view>
+				</view>
+
+				<view class="" v-if="item.method==3">
+					<view class="time-box item  u-flex u-col-center u-row-between">
+						<text class="item-title">支付宝二维码</text>
+						<!-- <view class="time">{{item.ali_qrcode_url }}</view> -->
+						<image @click.stop="preImg(item.ali_qrcode_url)" style="width: 80rpx;height: 80rpx;"
+							:src="item.ali_qrcode_url" mode=""></image>
+					</view>
+					<view class="time-box item  u-flex u-col-center u-row-between">
+						<text class="item-title">真实姓名</text>
+						<view class="time">{{hideName(item.real_name)}}</view>
+					</view>
+				</view>
+
 				<view class="time-box item  u-flex u-col-center u-row-between">
 					<text class="item-title">申请时间</text>
 					<view class="time">{{item.created_at}}</view>
@@ -77,6 +118,8 @@
 			...mapGetters(['appInfo', 'isLogin', 'userInfo'])
 		},
 		filters: {
+
+
 			applyInfoFilter: function(value) {
 				if (!value) return '-';
 				return Object.values(value).join(' | ');
@@ -101,6 +144,22 @@
 		// 	}
 		// },
 		methods: {
+			hideName(name) {
+				let flag = ''
+				for (let i = 0; i < name.length - 1; i++) {
+					flag += '*'
+				}
+				return name[0] + flag
+			},
+			//点击预览图片
+			preImg(item) {
+				uni.previewImage({
+					current: item,
+					urls: [item], //存放图片的数组
+					loop: true,
+					indicator: 'default'
+				})
+			},
 			toWithdrawRes(item) {
 				getApp().withDrawRes = item
 				uni.navigateTo({

+ 65 - 0
pages/user/commission/withdraw.vue

xqd xqd
@@ -58,6 +58,62 @@
 						</view>
 					</view>
 				</view>
+				<view class="" v-if="selectedWithdrawType==1">
+					<view class="bank-box u-flex u-col-center u-row-between u-m-b-30">
+						<view class="name">银行卡号:</view>
+						<view class="bank-list u-flex">
+							{{cardNum?cardNum:'暂无'}}
+						</view>
+					</view>
+					<view class="bank-box u-flex u-col-center u-row-between u-m-b-30">
+						<view class="name">开户行:</view>
+						<view class="bank-list u-flex">
+							{{bankName?bankName:'暂无'}}
+						</view>
+					</view>
+					<view class="bank-box u-flex u-col-center u-row-between u-m-b-30">
+						<view class="name">姓名:</view>
+						<view class="bank-list u-flex">
+							{{realname?realname:'暂无'}}
+						</view>
+					</view>
+				</view>
+				<view class="" v-if="selectedWithdrawType==2">
+					<view class="bank-box u-flex u-col-center u-row-between u-m-b-30">
+						<view class="name">微信二维码:</view>
+						<view class="bank-list u-flex">
+							<image @click="preImg(wx_qrcode_url)" v-if="wx_qrcode_url" :src="wx_qrcode_url" mode=""
+								style="width:80rpx;height: 80rpx;">
+							</image>
+							<text v-else>暂无</text>
+						</view>
+					</view>
+					<view class="bank-box u-flex u-col-center u-row-between u-m-b-30">
+						<view class="name">姓名:</view>
+						<view class="bank-list u-flex">
+							{{realname?realname:'暂无'}}
+						</view>
+					</view>
+				</view>
+				<view class="" v-if="selectedWithdrawType==3">
+					<view class="bank-box u-flex u-col-center u-row-between u-m-b-30">
+						<view class="name">支付宝二维码:</view>
+						<view class="bank-list u-flex">
+							<image @click="preImg(ali_qrcode_url)" v-if="ali_qrcode_url" :src="ali_qrcode_url" mode=""
+								style="width:80rpx;height: 80rpx;">
+							</image>
+							<text v-else>暂无</text>
+						</view>
+					</view>
+					<view class="bank-box u-flex u-col-center u-row-between u-m-b-30">
+						<view class="name">姓名:</view>
+						<view class="bank-list u-flex">
+							{{realname?realname:'暂无'}}
+						</view>
+					</view>
+				</view>
+
+
 				<!-- 提现信息 -->
 				<view class="bank-info u-m-b-80">
 					<view class="u-flex u-row-between u-col-center" v-if="withdrawType">
@@ -360,6 +416,15 @@
 			}
 		},
 		methods: {
+			//点击预览图片
+			preImg(item) {
+				uni.previewImage({
+					current: item,
+					urls: [item], //存放图片的数组
+					loop: true,
+					indicator: 'default'
+				})
+			},
 			updateWithDrawInfo(i) {
 				this.showWithdrawList = false;
 				this.showBindForm = true

+ 89 - 12
pages/user/score/index.vue

xqd xqd
@@ -39,6 +39,7 @@
 						{{'学习资料'+(index+1)}}</text><text>{{i.slice(i.lastIndexOf('.'))}}</text>
 				</view>
 			</view>
+			<!-- <button @click="test">cces</button> -->
 
 			<view class="divLine">
 
@@ -142,20 +143,96 @@
 				let pay = new ShoproPay(this.orderId);
 			},
 			downLoad(fileName) {
-				if (fileName.endsWith('.mp4') || fileName.endsWith('.pdf')) {
-					let plat = uni.getSystemInfoSync().platform
-					if (plat == 'android' || plat == 'ios') {
-						console.log("plat == 'android' || plat == 'ios'");
-						window.open(
-							fileName
-						)
-					} else {
-						downLoad2(fileName, this.detail.course.name + '-学习资料', 'video/mp4和zip')
+				let _this = this
+				//判断是否在微信
+				var ua = navigator.userAgent.toLowerCase();
+				var isWeixin = ua.indexOf('micromessenger') != -1;
+
+				const detectDeviceType = () => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
+					navigator.userAgent) ? false : true;
+
+				if (isWeixin) {
+					if (fileName.endsWith('.pdf')) {
+						uni.navigateTo({
+							url: '/pages/user/score/prePdf/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.mp4')) {
+						uni.navigateTo({
+							url: '/pages/user/score/preMp4/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.jpg') || fileName.endsWith('.png') || fileName.endsWith('.jpeg')) {
+						uni.navigateTo({
+							url: '/pages/user/score/preImg/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.zip') || fileName.endsWith('.rar')) {
+						let _that = this
+						uni.showModal({
+							title: '温馨提示',
+							content: '微信浏览器不支持直接打开zip或rar类型的文件,请复制链接至手机浏览器打开哦~',
+							confirmText: '复制',
+							confirmColor: '#26B3A0',
+							success: function(res) {
+								if (res.confirm) {
+									console.log('用户点击确定');
+									uni.setClipboardData({
+										data: fileName,
+										success: function() {
+											console.log('success');
+											uni.showToast({
+												title: "复制成功",
+												icon: 'success',
+											})
+										}
+									});
+								} else if (res.cancel) {
+									console.log('用户点击取消');
+								}
+							}
+						})
 					}
+
+				} else if (detectDeviceType()) {
+					// pc端
+					uni.downloadFile({
+						url: fileName, //文件链接
+						success: (res) => {
+							if (res.statusCode === 200) {
+								var oA = document.createElement("a");
+								oA.download = _this.detail.course.name + '-学习资料'; // 设置下载的文件名,默认是'下载'	
+								oA.href = res.tempFilePath; //临时路径再保存到本地
+								document.body.appendChild(oA);
+								oA.click();
+								oA.remove(); // 下载之后把创建的元素删除
+							}
+						},
+						fail: (err) => {
+							uni.showToast({
+								icon: 'none',
+								mask: true,
+								title: '失败请重新下载',
+							});
+						},
+					})
 				} else {
-					window.open(
-						fileName
-					)
+					// 其他手机浏览器
+					if (fileName.endsWith('.pdf')) {
+						uni.navigateTo({
+							url: '/pages/user/score/prePdf/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.mp4')) {
+						uni.navigateTo({
+							url: '/pages/user/score/preMp4/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.jpg') || fileName.endsWith('.png') || fileName.endsWith('.jpeg')) {
+						uni.navigateTo({
+							url: '/pages/user/score/preImg/index?url=' + fileName
+						})
+					} else if (fileName.endsWith('.zip') || fileName.endsWith('.rar')) {
+						downLoad2(fileName, this.detail.course.name + '-学习资料', 'application/zip')
+						// window.open(
+						// 	fileName
+						// )
+					}
 				}
 			}
 		},

+ 68 - 0
pages/user/score/preImg/index.scss

xqd
@@ -0,0 +1,68 @@
+page {
+		background: #ededed;
+		
+		
+		.log-list {
+			min-height: 213rpx;
+			background: #ffffff;
+			margin-bottom: 10rpx;
+			padding-bottom: 10rpx;
+			.head {
+				padding: 0 35rpx;
+				height: 80rpx;
+				border-bottom: 1rpx solid #eee;
+				margin-bottom: 20rpx;
+				.title {
+					font-size: 28rpx;
+					font-weight: 500;
+					color: #333333;
+				}
+				.num {
+					font-size: 28rpx;
+					font-weight: 500;
+					color: #7063d2;
+				}
+			}
+			.item {
+				padding: 0 30rpx 10rpx;
+				.item-icon {
+					color: #c0c0c0;
+					font-size: 36rpx;
+					margin-right: 8rpx;
+				}
+				.item-title {
+					width: 180rpx;
+					font-size: 24rpx;
+					font-weight: 400;
+					color: #c0c0c0;
+				}
+				.status-text {
+					font-size: 24rpx;
+					font-weight: 500;
+					color: #05c3a1;
+				}
+				.time {
+					font-size: 24rpx;
+					font-weight: 400;
+					color: #c0c0c0;
+				}
+			}
+		}
+	}
+	
+	.recordBox{
+		// padding: 30rpx;
+		width: 100%;
+		height: calc(100vh - 45px);
+		// margin-top: 50%;
+		display: flex;
+		align-items: center;
+		// transform: translateY(-50%);
+		overflow: hidden;
+		image{
+			width: 100%;
+			// height: 100%;
+		}
+	}
+	
+	

+ 43 - 0
pages/user/score/preImg/index.vue

xqd
@@ -0,0 +1,43 @@
+<template>
+	<view>
+		<view style="color: #fff;">
+			<tn-nav-bar backgroundColor="#26B3A0" :bottomShadow="false" @rightClick="jumpScoreRed">图片预览
+			</tn-nav-bar>
+			<view :style="{ height: tobheight + 'px' }"></view>
+		</view>
+		<view class="recordBox">
+			<image :src="src" mode=""></image>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		components: {
+
+		},
+		data() {
+			return {
+				tobheight: 45,
+				src: ""
+
+			};
+		},
+		computed: {
+
+		},
+		async onLoad(o) {
+			this.src = o.url
+		},
+		async onShow() {
+
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	@import './index.scss';
+</style>

+ 58 - 0
pages/user/score/preMp4/index.scss

xqd
@@ -0,0 +1,58 @@
+page {
+		background: #ededed;
+		
+		
+		.log-list {
+			min-height: 213rpx;
+			background: #ffffff;
+			margin-bottom: 10rpx;
+			padding-bottom: 10rpx;
+			.head {
+				padding: 0 35rpx;
+				height: 80rpx;
+				border-bottom: 1rpx solid #eee;
+				margin-bottom: 20rpx;
+				.title {
+					font-size: 28rpx;
+					font-weight: 500;
+					color: #333333;
+				}
+				.num {
+					font-size: 28rpx;
+					font-weight: 500;
+					color: #7063d2;
+				}
+			}
+			.item {
+				padding: 0 30rpx 10rpx;
+				.item-icon {
+					color: #c0c0c0;
+					font-size: 36rpx;
+					margin-right: 8rpx;
+				}
+				.item-title {
+					width: 180rpx;
+					font-size: 24rpx;
+					font-weight: 400;
+					color: #c0c0c0;
+				}
+				.status-text {
+					font-size: 24rpx;
+					font-weight: 500;
+					color: #05c3a1;
+				}
+				.time {
+					font-size: 24rpx;
+					font-weight: 400;
+					color: #c0c0c0;
+				}
+			}
+		}
+	}
+	
+	.recordBox{
+		height: calc(100vh - 45px);
+		overflow: hidden;
+	}
+	
+	

+ 42 - 0
pages/user/score/preMp4/index.vue

xqd
@@ -0,0 +1,42 @@
+<template>
+	<view>
+		<view style="color: #fff;">
+			<tn-nav-bar backgroundColor="#26B3A0" :bottomShadow="false" @rightClick="jumpScoreRed">视频预览
+			</tn-nav-bar>
+			<view :style="{ height: tobheight + 'px' }"></view>
+		</view>
+		<view class="recordBox">
+			<video style="width: 100%;height: 100%;" :src="src" autoplay="true"></video>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		components: {
+
+		},
+		data() {
+			return {
+				tobheight: 45,
+				src: ''
+			};
+		},
+		computed: {
+
+		},
+		async onLoad(o) {
+			this.src = o.url
+		},
+		async onShow() {
+
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	@import './index.scss';
+</style>

+ 57 - 0
pages/user/score/prePdf/index.scss

xqd
@@ -0,0 +1,57 @@
+page {
+		background: #ededed;
+		
+		
+		.log-list {
+			min-height: 213rpx;
+			background: #ffffff;
+			margin-bottom: 10rpx;
+			padding-bottom: 10rpx;
+			.head {
+				padding: 0 35rpx;
+				height: 80rpx;
+				border-bottom: 1rpx solid #eee;
+				margin-bottom: 20rpx;
+				.title {
+					font-size: 28rpx;
+					font-weight: 500;
+					color: #333333;
+				}
+				.num {
+					font-size: 28rpx;
+					font-weight: 500;
+					color: #7063d2;
+				}
+			}
+			.item {
+				padding: 0 30rpx 10rpx;
+				.item-icon {
+					color: #c0c0c0;
+					font-size: 36rpx;
+					margin-right: 8rpx;
+				}
+				.item-title {
+					width: 180rpx;
+					font-size: 24rpx;
+					font-weight: 400;
+					color: #c0c0c0;
+				}
+				.status-text {
+					font-size: 24rpx;
+					font-weight: 500;
+					color: #05c3a1;
+				}
+				.time {
+					font-size: 24rpx;
+					font-weight: 400;
+					color: #c0c0c0;
+				}
+			}
+		}
+	}
+	
+	.recordBox{
+		padding: 30rpx;
+	}
+	
+	

+ 72 - 0
pages/user/score/prePdf/index.vue

xqd
@@ -0,0 +1,72 @@
+<template>
+	<view>
+		<view style="color: #fff;">
+			<tn-nav-bar @rightClick="handleBtnClick()" backgroundColor="#26B3A0" :bottomShadow="false">pdf预览
+				<!-- <view class="" slot="right">
+					下载
+				</view> -->
+			</tn-nav-bar>
+			<view :style="{ height: tobheight + 'px' }"></view>
+
+		</view>
+		<view class="recordBox">
+			<web-view :webview-styles="webviewStyles" class="wiewer" :src="src"></web-view>
+			<!-- <ss-download ref="ssdownload" :fileUrl="fileUrl" :fileType="fileType"></ss-download> -->
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		components: {
+
+		},
+		data() {
+			return {
+				tobheight: 45,
+				fileUrl: '',
+				fileType: '2',
+				src: 'http://t20.9026.com/uploads/images/2023-07-11/3Sp0Cw18vxAJ.pdf',
+				reSrc: '',
+				webviewStyles: {
+					progress: {
+						color: '#FF3333',
+					},
+				},
+
+			};
+		},
+		computed: {
+
+		},
+		created() {},
+		async onLoad(o) {
+			this.src1 = o.url
+			this.previewPdf(this.src1)
+		},
+		async onShow() {
+
+		},
+		methods: {
+			previewPdf(value) {
+				this.src = `/uni_modules/ss-preview/hybrid/html/pdf-reader/index.html?file=${encodeURIComponent(value)}`;
+			},
+			// handleBtnClick() {
+			// 	if (this.fileType == '2') {
+			// 		return uni.$u.toast('文件已下载,请勿重复下载!')
+			// 	}
+			// 	console.log(123);
+			// 	this.fileUrl = this.src;
+			// 	this.fileType = '2';
+			// }
+		}
+	}
+</script>
+
+<style lang="scss">
+	@import './index.scss';
+
+	.wiewer {
+		margin-top: 45px;
+	}
+</style>

+ 57 - 63
pages/user/score/record/index.vue

xqd
@@ -89,81 +89,75 @@
 			async goScoreDetail(score) {
 				this.course_id = score.course_id
 
-
-				// return uni.navigateTo({
-				// 	url: '/pages/user/score/index?id=' + score.id
-				// })
-
-
 				if (score.status) {
 					uni.navigateTo({
 						url: '/pages/user/score/index?id=' + score.id
 					})
 				} else {
-					console.log('score信息', score, score.status);
-
-					// let res1 = await shopCourse({
-					// 	course_id: score.course_id
-					// })
-
-					let res1 = await myScoreOrderDetail({
-						course_order_id: score.id
-					})
-					if (res1.code == 0) {
-						let res2 = await wxPayPamars({
-							order_id: res1.data.id
-						})
-						let url = window.location.href.split('#')[0]
-						let res3 = await wxConfigPamars({
-							url: url
-						})
+					uni.showModal({
+						title: '提示',
+						content: '当前订单状态为待支付,确认继续支付?',
+						confirmColor: 'rgb(38, 179, 160)',
+						success: async (res) => {
+							if (res.confirm) {
+								let res1 = await myScoreOrderDetail({
+									course_order_id: score.id
+								})
+								if (res1.code == 0) {
+									let res2 = await wxPayPamars({
+										order_id: res1.data.id
+									})
+									let url = window.location.href.split('#')[0]
+									let res3 = await wxConfigPamars({
+										url: url
+									})
 
-						console.log('res2返回值', res2);
-						console.log('res3返回值', res3);
-						// http://localhost:8080/h5/pages/index/scoreDetail/index?id=44
-						if (res2.code == 0 && res3.code == 0) {
-							wxsdk.wxpay(res3.data, res2.data, (res) => {
-								if (res.errMsg == "chooseWXPay:ok") {
-									// uni.showToast({
-									// 	title: '付款成功',
-									// 	icon: 'success',
-									// 	duration: 1500
-									// })
-									setTimeout(() => {
-										uni.navigateTo({
-											url: '/pages/index/scorePaySuc/index?id=' + this
-												.course_id
-										})
-									}, 1500)
+									console.log('res2返回值', res2);
+									console.log('res3返回值', res3);
+									if (res2.code == 0 && res3.code == 0) {
+										wxsdk.wxpay(res3.data, res2.data, (res) => {
+											if (res.errMsg == "chooseWXPay:ok") {
+												setTimeout(() => {
+													uni.navigateTo({
+														url: '/pages/index/scorePaySuc/index?id=' +
+															this
+															.course_id
+													})
+												}, 1500)
+											} else {
+												uni.showToast({
+													title: '支付失败,请稍后重试!',
+													icon: 'error',
+													duration: 1500
+												})
+											}
+										});
+									} else {
+										if (res2.code != 0) {
+											uni.showToast({
+												title: res.msg,
+												icon: 'none',
+												duration: 1500
+											})
+										} else if (res3.code != 0) {
+											uni.showToast({
+												title: res.msg,
+												icon: 'none',
+												duration: 1500
+											})
+										}
+									}
 								} else {
 									uni.showToast({
-										title: '支付失败,请稍后重试!',
-										icon: 'error',
-										duration: 1500
+										title: res.msg,
+										icon: 'none'
 									})
 								}
-							});
-						} else {
-							if (res2.code != 0) {
-								uni.showToast({
-									title: res.msg,
-									icon: 'none',
-									duration: 1500
-								})
-							} else if (res3.code != 0) {
-								uni.showToast({
-									title: res.msg,
-									icon: 'none',
-									duration: 1500
-								})
+							} else if (res.cancel) {
+
 							}
 						}
-					} else {
-						uni.showToast({
-							title: res.msg,
-							icon: 'none'
-						})
-					}
+					});
 				}
 			},
 

+ 8 - 3
pages/user/signin.scss

xqd
@@ -145,11 +145,16 @@
 		margin-top: 180rpx;
 	}
 
+.scroll{
+	overflow-x: hidden;
+	overflow-y: scroll;
+	height: 750rpx;
+}
 	.container {
-		overflow-x: hidden;
-		overflow-y: scroll;
+		// overflow-x: hidden;
+		// overflow-y: scroll;
 		margin-top: 75rpx;	
-		height: 750rpx;
+		// height: 750rpx;
 		
 		.bg {
 			display: flex;

+ 10 - 3
pages/user/signin.vue

xqd xqd xqd xqd
@@ -5,7 +5,7 @@
 				<view class="topTxtAndImg">
 					<view class="swiper">
 						<swiper class="banner" circular :autoplay="false"
-							:style="{width:isPc?'600rpx':'680rpx',height:isPc?'auto':'450rpx'}">
+							:style="{width:isPc?'50vw':'680rpx',height:isPc?'auto':'450rpx'}">
 							<!-- <swiper class="banner" circular :autoplay="false"> -->
 							<swiper-item v-for="i in bannerList">
 								<image :src="i.picture" mode=""></image>
@@ -22,7 +22,7 @@
 						<view class="">欢迎立即加入我们!</view>
 					</view>
 					<u-popup :show="showlogin" mode="bottom" :round="10" closeable @close="showlogin = false">
-						<view class="container">
+						<view class="container" :class="[!isPc?'scroll':'']">
 							<view class="textl_ogin">{{showlogon?'账号密码登录':'账号密码注册'}}</view>
 							<view class="login">
 								<view class="input u-flex align-center">
@@ -206,6 +206,14 @@
 		computed: {
 			...mapGetters(['appInfo', 'userInfo', 'isLogin'])
 		},
+		mounted() {
+			window.onresize = () => {
+				if (navigator.userAgent.indexOf('Mobile') > -1) {
+					// alert('移动端')
+					this.isPc = false
+				}
+			}
+		},
 		async onLoad(option) {
 			if (navigator.userAgent.indexOf('Mobile') > -1) {
 				// alert('移动端')
@@ -608,5 +616,4 @@
 
 <style lang="scss" scoped>
 	@import './signin.scss';
-	@import './signin1.scss';
 </style>

+ 0 - 55
pages/user/signin1.scss

xqd
@@ -1,55 +0,0 @@
-.topTxtAndImg1{
-	// margin-bottom: 30px;
-	.swiper1{
-		width: 70%;
-		border-radius: 5px;
-		margin-left: 50%;
-		transform: translateX(-50%);
-			image{
-				width: 100%;
-				height: 120px;
-				border-radius: 5px;
-			}
-	}
-	
-}
-.txtDes{
-		padding: 0 30px;
-		font-size: 12px;
-		text-align: justify;
-		line-height: 25px;
-		text-indent: 2em;
-		// margin-top: 15px;
-	}
-.defBtn1{
-			    border: 1px solid #199063;
-			    width: 100px;
-			    height: 42px;
-			    border-radius: 26px;
-			    font-size: 12px;
-			    color: #199063;
-			    display: flex;
-			    align-items: center;
-			    justify-content: center;
-			    font-weight: bold;
-		}
-		.chatGpt1{
-			border: 1px solid #199063;
-			width: 100px;
-			height: 42px;
-			border-radius: 26px;
-			font-size: 12px;
-			color: #199063;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			font-weight: bold;
-		}
-
-
-
-
-	.custom-style {
-		color: #ff0000;
-		width: 220rpx;
-	}

+ 24 - 19
pages/user/withdrawRes/index.vue

xqd
@@ -4,30 +4,35 @@
 			<tn-nav-bar backgroundColor="#26B3A0" :bottomShadow="false">提现结果</tn-nav-bar>
 		</view>
 		<view class="z_tabs" :style="{ marginTop: tobheight + 'px' }"></view>
-		<view class="content">
+		<view class="content" :style="{}">
 			<view class="topIcon">
-				<icon :type="detail.status==2?'error':'success'" size="54" color="#26B3A0" />
-				<view class="txt">
-					{{detail.status==2?'提现审核失败':'提现审核成功'}}
+				<icon :type="detail.status==2?'error':detail.status==0?'info':'success'" size="54"
+					:color="detail.status==2?'red':detail.status==0?'orange':'#26B3A0'" />
+				<view class="txt" :style="{color:detail.status==2?'red':detail.status==0?'orange':'#26B3A0'}">
+					{{detail.status==2?'提现审核失败':detail.status==0?'提现待审核':'提现审核成功'}}
 				</view>
 			</view>
-			<view class="line">
-			</view>
-			<view class="sunTitle">
-				反馈内容
-			</view>
 
-			<view class="content2">
-				{{detail.feedback_reason}}
-			</view>
-			<view class="sunTitle">
-				反馈图片
-			</view>
 
-			<view class="chooscontainer">
-				<view class="addpicall" v-for="(item,index) in pic_url" :key="index">
-					<image style="width: 184rpx;height:186rpx;border-radius: 20rpx;" @click="previewImg(item)"
-						:src="item" mode="aspectFill"></image>
+			<view class="" v-if="detail.status">
+				<view class="line">
+				</view>
+				<view class="sunTitle">
+					反馈内容
+				</view>
+
+				<view class="content2">
+					{{detail.feedback_reason}}
+				</view>
+				<view class="sunTitle">
+					反馈图片
+				</view>
+
+				<view class="chooscontainer">
+					<view class="addpicall" v-for="(item,index) in pic_url" :key="index">
+						<image style="width: 184rpx;height:186rpx;border-radius: 20rpx;" @click="previewImg(item)"
+							:src="item" mode="aspectFill"></image>
+					</view>
 				</view>
 			</view>
 		</view>

+ 1 - 1
tuniao-ui/components/tn-nav-bar/tn-nav-bar.vue

xqd
@@ -19,7 +19,7 @@
 			<view class="tn-custom-nav-bar__bar__content" :style="[contentStyle]">
 				<slot></slot>
 			</view>
-			<view @click="handleRightClick">
+			<view @click="handleRightClick" style="margin-right: 20rpx;">
 				<slot name="right"></slot>
 			</view>
 		</view>

+ 2 - 0
uni_modules/ss-download/changelog.md

xqd
@@ -0,0 +1,2 @@
+## 1.0.0(2023-04-21)
+1.uni-app移动端-H5-小程序下载保存图片,文档和视频到手机,带进度条

+ 289 - 0
uni_modules/ss-download/components/ss-download/ss-download.vue

xqd
@@ -0,0 +1,289 @@
+<template>
+	<view></view>
+</template>
+
+<script>
+	export default {
+		name: 'ss-download',
+		props: {
+			fileUrl: {
+				type: String,
+				default: ''
+			},
+			fileType: {
+				type: String,
+				default: '', //1.预览图片,2.预览文件,3.预览视频
+			},
+		},
+		data() {
+			return {};
+		},
+		methods: {
+			toDownload(item) {
+				// #ifdef H5
+				this.downloadH5(item.src)
+				// #endif
+				// #ifdef MP-WEIXIN
+				if (item.type == 1) {
+					this.saveToPhotosAlbum(item.src)
+				} else if (item.type == 2) {
+					this.saveFile(item.src)
+				} else {
+					this.getDownVideo(item.src)
+				}
+				// #endif
+				// #ifdef APP-PLUS
+				this.saveFileToApp(item.src)
+				// #endif
+			},
+			//H5下载图片到本地
+			downloadH5(url) {
+				uni.downloadFile({
+					url: url, //仅为示例,并非真实的资源
+					success: (res) => {
+						console.log(res)
+						if (res.statusCode === 200) {
+							console.log('下载成功');
+							var oA = document.createElement("a");
+							oA.download = ''; // 设置下载的文件名,默认是'下载'
+							oA.href = res.tempFilePath; //临时路径再保存到本地
+							document.body.appendChild(oA);
+							oA.click();
+							oA.remove(); // 下载之后把创建的元素删除
+						}
+					}
+				});
+			},
+			//微信小程序保存文档,不支持h5
+			saveFile(url) {
+				uni.showLoading()
+				uni.downloadFile({ //下载文件资源到本地,返回文件的本地临时路径
+					url: url, //网络图片路径
+					success: (res) => {
+						var filePath = res.tempFilePath;
+						//保存到本地
+						uni.saveFile({
+							tempFilePath: filePath,
+							success: function(res) {
+								//res.savedFilePath文件的保存路径
+								uni.openDocument({
+									filePath: res.savedFilePath,
+									fileType: 'pdf',
+									showMenu: true,
+									success: function(res) {
+										uni.hideLoading()
+									},
+									fail: function(err) {
+										uni.hideLoading()
+									}
+								});
+							},
+							fail(err) {
+								console.log(err)
+								uni.hideLoading()
+								console.log('保存失败')
+							}
+						});
+					}
+				})
+			},
+			//微信小程序保存视频
+			getDownVideo(url) {
+				// 自定义 文件名称
+				uni.showLoading({
+					mask: true,
+					title: '下载中...'
+				})
+				let fileName = new Date().valueOf();
+				const task = uni.downloadFile({
+					url: url,
+					filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4', //  拼接本地文件路径
+					success: (res) => {
+						let filePath = res.filePath
+						uni.saveVideoToPhotosAlbum({
+							filePath,
+							success: (res) => {
+								uni.showToast({
+									title: '下载成功',
+									icon: 'success',
+								})
+								let fileMgr = wx.getFileSystemManager();
+								// 删除本地文件
+								fileMgr.unlink({
+									filePath: wx.env.USER_DATA_PATH + '/' + fileName +
+										'.mp4',
+									success: function(r) {
+										console.log('unlink-getFileSystemManager')
+										console.log(r)
+									},
+								})
+							},
+							fail(err) {
+								uni.showToast({
+									title: '保存失败',
+									icon: 'none',
+								})
+							},
+							complete(res) {
+								console.log('saveVideoToPhotosAlbum-complete')
+								console.log(res)
+								uni.hideLoading()
+							}
+						})
+					},
+					fail(err) {
+						uni.showToast({
+							title: '下载失败,请稍后再试',
+							icon: 'none',
+						})
+					},
+					complete(res) {
+						console.log('downloadFiledownloadFiledownloadFiledownloadFiledownloadFile')
+						console.log(res)
+					}
+				})
+				task.onProgressUpdate(this.onProgress)
+			},
+			// 提示下载进度
+			onProgress(res) {
+				uni.showLoading({
+					mask: true,
+					title: res.progress ? '下载中' + res.progress + "%" : '下载中...'
+				})
+			},
+			//微信小程序保存图片(此处也可用于app保存图片或视频)
+			saveToPhotosAlbum(url) {
+				// #ifdef APP-PLUS
+				var showLoading = plus.nativeUI.showWaiting("正在下载"); //创建一个showWaiting对象 
+				// #endif
+				let task = uni.downloadFile({
+					url: url,
+					success: res => {
+						const {
+							statusCode,
+							tempFilePath
+						} = res
+						if (statusCode === 200) { // saveImageToPhotosAlbum  saveVideoToPhotosAlbum  
+							uni.saveImageToPhotosAlbum({ //此处也可用saveVideoToPhotosAlbum
+								filePath: tempFilePath,
+								success: data => {
+									console.log('data----------------->', data)
+									uni.showToast({
+										title: '下载成功,文件已保存到' + data.path,
+										icon: 'success',
+									})
+								},
+								complete: (msg) => {
+									// #ifdef APP-PLUS
+									plus.nativeUI.closeWaiting()
+									// #endif
+								}
+							});
+						} else {
+							uni.showToast({
+								title: '下载失败',
+								icon: 'none',
+							})
+							// #ifdef APP-PLUS
+							plus.nativeUI.closeWaiting()
+							// #endif
+						}
+					},
+					complete: () => {
+
+					}
+				})
+				task.onProgressUpdate((res => {
+					// console.log('上传进度' + res.progress);
+					// console.log('已经上传的数据长度' + res.totalBytesSent);
+					// console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend);
+					showLoading.setTitle("  正在下载" + res.progress + "%  ");
+				}))
+			},
+			//移动端下载文件
+			saveFileToApp(url) {
+				// let _this = this;
+				var dtask = plus.downloader.createDownload(url, {},
+					function(d, status) {
+						uni.showToast({
+							title: '下载完成',
+							mask: false,
+							duration: 1000
+						});
+						//console.log(dtask);
+						// 下载完成
+						console.log('status: ' + status);
+						if (status == 200) {
+							console.log('下载成功:' + d.filename);
+							console.log('plus.io.convertLocalFileSystemURL(d.filename): ' + plus.io
+								.convertLocalFileSystemURL(d
+									.filename))
+							plus.nativeUI.toast('文件下载成功!');
+							setTimeout(() => {
+								plus.runtime.openFile(plus.io.convertLocalFileSystemURL(d.filename), {},
+									function(
+										success) {
+										console.log('打开成功')
+									},
+									function(error) {
+										console.log('打开失败')
+									})
+							}, 2000)
+						} else {
+							uni.showToast({
+								title: '下载失败-02',
+								mask: false,
+								duration: 1500
+							});
+						}
+					});
+				try {
+					dtask.start(); // 开启下载的任务
+					var prg = 0;
+					var showLoading = plus.nativeUI.showWaiting("正在下载"); //创建一个showWaiting对象 
+					dtask.addEventListener('statechanged', function(task, status) {
+						// 给下载任务设置一个监听 并根据状态  做操作
+						switch (task.state) {
+							case 1:
+								showLoading.setTitle("正在下载");
+								break;
+							case 2:
+								showLoading.setTitle("已连接到服务器");
+								break;
+							case 3:
+								prg = parseInt((parseFloat(task.downloadedSize) / parseFloat(task.totalSize)) *
+									100);
+								showLoading.setTitle("  正在下载" + prg + "%  ");
+								break;
+							case 4:
+								plus.nativeUI.closeWaiting();
+								//下载完成
+								break;
+						}
+					});
+				} catch (err) {
+					plus.nativeUI.closeWaiting();
+					uni.showToast({
+						title: '更新失败-03',
+						mask: false,
+						duration: 1500
+					});
+				}
+			},
+
+		},
+		watch: {
+			fileType: {
+				deep: true,
+				handler: function(value) {
+					if (this.fileUrl) {
+						this.toDownload({
+							type: this.fileType,
+							src: this.fileUrl,
+						})
+					}
+				}
+			}
+		}
+	};
+</script>

+ 82 - 0
uni_modules/ss-download/package.json

xqd
@@ -0,0 +1,82 @@
+{
+  "id": "ss-download",
+  "displayName": "移动端-H5-小程序下载保存图片,文档和视频到手机",
+  "version": "1.0.0",
+  "description": "uni-app移动端-H5-小程序下载保存图片,文档和视频到手机,带进度条",
+  "keywords": [
+    "移动端",
+    "H5",
+    "微信小程序",
+    "下载保存图片,文档和视频,带进度条"
+],
+  "repository": "",
+"engines": {
+  },
+  "dcloudext": {
+    "category": [
+        "前端组件",
+        "通用组件"
+    ],
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "无",
+      "permissions": "无"
+    },
+    "npmurl": ""
+  },
+  "uni_modules": {
+    "dependencies": [],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "Vue": {
+          "vue2": "y",
+          "vue3": "y"
+        },
+        "App": {
+          "app-vue": "y",
+          "app-nvue": "y"
+        },
+        "H5-mobile": {
+          "Safari": "y",
+          "Android Browser": "y",
+          "微信浏览器(Android)": "y",
+          "QQ浏览器(Android)": "y"
+        },
+        "H5-pc": {
+          "Chrome": "y",
+          "IE": "y",
+          "Edge": "u",
+          "Firefox": "u",
+          "Safari": "u"
+        },
+        "小程序": {
+          "微信": "y",
+          "阿里": "u",
+          "百度": "u",
+          "字节跳动": "u",
+          "QQ": "u"
+        },
+        "快应用": {
+          "华为": "u",
+          "联盟": "u"
+        }
+      }
+    }
+  }
+}

+ 12 - 0
uni_modules/ss-download/readme.md

xqd
@@ -0,0 +1,12 @@
+#ss-download
+
+### 下载保存图片,文档,视频到手机,兼容H5端,微信小程序端,APP端,	带进度条
+ 
+### 不清楚使用方式可点击右侧导入示例项目运行完整示例
+
+## 使用说明
+| 属性		| 是否必填	|  值类型	| 默认值	| 说明			|
+| --------- | -------- 	| -----: 	| --: 	| :------------:|
+| fileUrl	|	是		| String	|空	    | 预览单个文档或视频传递url		|
+| fileType	|	是 		| String	|空	    | 类型(1.预览图片,2.预览文件,3.预览视频)		|
+

+ 2 - 0
uni_modules/ss-preview/changelog.md

xqd
@@ -0,0 +1,2 @@
+## 1.0.0(2023-04-21)
+1.移动端,H5,小程序在线预览pdf,图片,视频

+ 119 - 0
uni_modules/ss-preview/components/ss-preview/ss-preview.vue

xqd
@@ -0,0 +1,119 @@
+<template>
+	<view class="page">
+		<!-- 预览文件 -->
+		<web-view :webview-styles="webviewStyles" :src="src" v-if="fileType === '2'"></web-view>
+	</view>
+</template>
+
+<script>
+	var wv; //计划创建的webview
+	export default {
+		name: 'ss-preview',
+		props: {
+			fileUrl: {
+				type: String,
+				default: ''
+			},
+			fileType: {
+				type: String,
+				default: '', //1.预览图片,2.预览文件,3.预览视频
+			},
+			imageList: { //预览图片,可以预览多张
+				type: Array,
+				default: () => {
+					return []
+				}
+			},
+		},
+		onReady() {
+			// #ifdef APP-PLUS
+			var currentWebview = this.$scope
+				.$getAppWebview() //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
+			setTimeout(function() {
+				wv = currentWebview.children()[0]
+				wv.setStyle({
+					top: 150,
+					height: 300,
+					'margin-top': 500
+				})
+				console.log('vm', wv);
+			}, 1000);
+			//如果是页面初始化调用时,需要延时一下
+			// #endif
+		},
+		data() {
+			return {
+				webviewStyles: {
+					// progress: {
+					// 	color: '#FF3333',
+					// },
+					// height: '50%'
+				},
+				src: '',
+			};
+		},
+		methods: {
+			//微信小程序预览文档,可预览.doc,.docx,.xls,.xlsx,.pdf等文件
+			previewWechat(urlPdf) {
+				uni.showLoading({
+					title: '正在加载中..'
+				})
+				uni.downloadFile({
+					url: urlPdf,
+					success: function(res) {
+						var filePath = res.tempFilePath;
+						uni.openDocument({
+							filePath: filePath,
+							showMenu: true,
+							success: function(res) {
+								console.log('打开文档成功');
+								uni.hideLoading()
+							},
+						});
+					},
+					complete: function(r) {
+						uni.hideLoading()
+					}
+				});
+			},
+			//APP,H5预览文档图片和视频,微信小程序预览图片和视频
+			previewPdf(value) {
+				this.src = `/uni_modules/ss-preview/hybrid/html/pdf-reader/index.html?file=${encodeURIComponent(value)}`;
+			},
+		},
+		watch: {
+			fileType: {
+				deep: true,
+				immediate: true,
+				handler: function(value) {
+					if (value === '2') { //预览文档
+						//#ifdef APP-PLUS || H5
+						this.previewPdf(this.fileUrl)
+						//#endif
+						//#ifdef MP-WEIXIN
+						console.log(333)
+						this.previewWechat(this.fileUrl)
+						//#endif
+					}
+				}
+			}
+		}
+	};
+</script>
+
+<style lang="scss" scoped>
+	.stat {
+		background-color: #00006D;
+		position: fixed;
+		z-index: 99999999999999999999999;
+		width: 100%;
+		top: 0;
+		left: 0;
+	}
+
+	.page {
+		height: 100%;
+
+
+	}
+</style>

+ 119 - 0
uni_modules/ss-preview/components/ss-preview/ss-preview1.vue

xqd
@@ -0,0 +1,119 @@
+<template>
+	<view class="page">
+		<!-- 预览文件 -->
+		<web-view :webview-styles="webviewStyles" :src="src" v-if="fileType === '2'"></web-view>
+	</view>
+</template>
+
+<script>
+	var wv; //计划创建的webview
+	export default {
+		name: 'ss-preview',
+		props: {
+			fileUrl: {
+				type: String,
+				default: ''
+			},
+			fileType: {
+				type: String,
+				default: '', //1.预览图片,2.预览文件,3.预览视频
+			},
+			imageList: { //预览图片,可以预览多张
+				type: Array,
+				default: () => {
+					return []
+				}
+			},
+		},
+		onReady() {
+			// #ifdef APP-PLUS
+			var currentWebview = this.$scope
+				.$getAppWebview() //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
+			setTimeout(function() {
+				wv = currentWebview.children()[0]
+				wv.setStyle({
+					top: 150,
+					height: 300,
+					'margin-top': 500
+				})
+				console.log('vm', wv);
+			}, 1000);
+			//如果是页面初始化调用时,需要延时一下
+			// #endif
+		},
+		data() {
+			return {
+				webviewStyles: {
+					// progress: {
+					// 	color: '#FF3333',
+					// },
+					// height: '50%'
+				},
+				src: '',
+			};
+		},
+		methods: {
+			//微信小程序预览文档,可预览.doc,.docx,.xls,.xlsx,.pdf等文件
+			previewWechat(urlPdf) {
+				uni.showLoading({
+					title: '正在加载中..'
+				})
+				uni.downloadFile({
+					url: urlPdf,
+					success: function(res) {
+						var filePath = res.tempFilePath;
+						uni.openDocument({
+							filePath: filePath,
+							showMenu: true,
+							success: function(res) {
+								console.log('打开文档成功');
+								uni.hideLoading()
+							},
+						});
+					},
+					complete: function(r) {
+						uni.hideLoading()
+					}
+				});
+			},
+			//APP,H5预览文档图片和视频,微信小程序预览图片和视频
+			previewPdf(value) {
+				this.src = `/uni_modules/ss-preview/hybrid/html/pdf-reader/index.html?file=${encodeURIComponent(value)}`;
+			},
+		},
+		watch: {
+			fileType: {
+				deep: true,
+				immediate: true,
+				handler: function(value) {
+					if (value === '2') { //预览文档
+						//#ifdef APP-PLUS || H5
+						this.previewPdf(this.fileUrl)
+						//#endif
+						//#ifdef MP-WEIXIN
+						console.log(333)
+						this.previewWechat(this.fileUrl)
+						//#endif
+					}
+				}
+			}
+		}
+	};
+</script>
+
+<style lang="scss" scoped>
+	.stat {
+		background-color: #00006D;
+		position: fixed;
+		z-index: 99999999999999999999999;
+		width: 100%;
+		top: 0;
+		left: 0;
+	}
+
+	.page {
+		height: 100%;
+
+
+	}
+</style>

+ 119 - 0
uni_modules/ss-preview/hybrid/html/file.html

xqd
@@ -0,0 +1,119 @@
+<!DOCTYPE html>
+<html lang="zh">
+	<head>
+		<meta charset="UTF-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1.0">
+		<meta http-equiv="X-UA-Compatible" content="ie=edge">
+		<title>上传文件</title>
+		<style>
+			* {
+				margin: 0;
+				padding: 0;
+			}
+
+			.head-btn {
+				margin: 24px;
+				text-align: center;
+			}
+
+			.file {
+				position: relative;
+				display: inline-block;
+				border: 1px solid #99D3F5;
+				border-radius: 10px;
+				padding: 12px 24px;
+				overflow: hidden;
+				background-color: #1975F7;
+				color: #fff;
+				text-decoration: none;
+				text-indent: 0;
+				line-height: 20px;
+				font-size: 20px;
+			}
+
+			.file input {
+				position: absolute;
+				font-size: 20px;
+				right: 0;
+				top: 0;
+				opacity: 0;
+			}
+
+			/* .file:hover {
+            background: #AADFFD;
+            border-color: #78C3F3;
+            color: #004974;
+            text-decoration: none;
+        } */
+			.determine {
+				color: #FFFFFF;
+				background-color: #007AFF;
+				display: inline-block;
+				font-size: 20px;
+				border-radius: 5px;
+				padding: 8px 24px;
+			}
+
+			.showFileName {
+				display: inline-block;
+				height: 30px;
+				min-width: 300px;
+			}
+		</style>
+	</head>
+	<body>
+		<div class="head-btn">
+			<form action="" method="post">
+				<a href="javascript:;" class="file" id="selectFile">选择文件
+					<input type="file" name="uploadFile" id="uploadFile">
+				</a>
+			</form>
+			<p class="showFileName"></p>
+		</div>
+
+		<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
+		<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js">
+		</script>
+		<script>
+			function getQuery(name) { // 获取uni传值
+			    // 正则:[找寻'&' + 'url参数名字' = '值' + '&']('&'可以不存在)
+			    // let reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
+				console.log(window.location.search)
+				// let r;
+				// // #ifdef H5
+			 //    r = window.location.search.substr(1).match(reg);
+				// // #endif
+				// // #ifdef APP-PLUS
+				// r = window.location.search;
+				// // #endif
+			 //    if(r != null) {
+			 //        // 对参数值进行解码
+			 //        return unescape(r[2]);
+			 //    }
+			 //    return null;
+			}
+			// console.log(44456,getQuery('token')); // 调用获取参数
+			$(".file").on("change", "input[type='file']", function() {
+				let filePath = $(this).val();
+				// console.log(333, filePath)
+				// console.log(4444, document.getElementById('uploadFile').files[0])
+				console.log(5555,document.getElementById('uploadFile'))
+				var receiver = document.getElementById('uploadFile')
+				let files = document.getElementById('uploadFile').files[0];
+				uni.postMessage({
+					data: {
+						files: files
+					}
+				})
+				receiver.postMessage("hello there!","*")
+				localStorage.setItem("fileAddress", filePath);
+				let lastname = localStorage.getItem("fileAddress");
+				if (lastname != "") {
+					$(".showFileName").html(lastname);
+				} else {
+					$(".showFileName").html("");
+				}
+			});
+		</script>
+	</body>
+</html>

BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/SELinux.pdf


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-EUC-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-EUC-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-RKSJ-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-RKSJ-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78ms-RKSJ-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/78ms-RKSJ-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/83pv-RKSJ-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90ms-RKSJ-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90ms-RKSJ-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90msp-RKSJ-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90msp-RKSJ-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90pv-RKSJ-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/90pv-RKSJ-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Add-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Add-RKSJ-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Add-RKSJ-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Add-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-0.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-1.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-2.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-3.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-4.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-5.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-6.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-CNS1-UCS2.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-0.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-1.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-2.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-3.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-4.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-5.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-GB1-UCS2.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-0.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-1.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-2.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-3.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-4.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-5.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-6.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Japan1-UCS2.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Korea1-0.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Korea1-1.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Korea1-2.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Adobe-Korea1-UCS2.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/B5-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/B5-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/B5pc-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/B5pc-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS-EUC-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS-EUC-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS1-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS1-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS2-H.bcmap


+ 3 - 0
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/CNS2-V.bcmap

xqd
@@ -0,0 +1,3 @@
+àRCopyright 1990-2009 Adobe Systems Incorporated.
+All rights reserved.
+See ./LICENSEáCNS2-H

BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETHK-B5-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETHK-B5-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETen-B5-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETen-B5-V.bcmap


+ 3 - 0
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETenms-B5-H.bcmap

xqd
@@ -0,0 +1,3 @@
+àRCopyright 1990-2009 Adobe Systems Incorporated.
+All rights reserved.
+See ./LICENSEá	ETen-B5-H` ^

BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/ETenms-B5-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/EUC-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/EUC-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Ext-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Ext-RKSJ-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Ext-RKSJ-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/Ext-V.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/GB-EUC-H.bcmap


BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/GB-EUC-V.bcmap


+ 4 - 0
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/GB-H.bcmap

xqd
@@ -0,0 +1,4 @@
+àRCopyright 1990-2009 Adobe Systems Incorporated.
+All rights reserved.
+See ./LICENSE!!�º]aX!!]`�21�>	�p�z�$]‚�"R‚d�-Uƒ7�*„
4„%�+ „Z „{�/…%…<�9K…b�1]†.�"‡‰`]‡,�"]ˆ
+�"]ˆh�"]‰F�"]Š$�"]‹�"]‹`�"]Œ>�"]��"]�z�"]ŽX�"]�6�"]��"]�r�"]‘P�"]’.�"]“�"]“j�"]”H�"]•&�"]–�"]–b�"]—@�"]˜�"]˜|�"]™Z�"]š8�"]›�"]›t�"]œR�"]�0�"]ž�"]žl�"]ŸJ�"] (�"]¡�"]¡d�"]¢B�"]£ �"X£~�']¤W�"]¥5�"]¦�"]¦q�"]§O�"]¨-�"]©�"]©i�"]ªG�"]«%�"]¬�"]¬a�"]­?�"]®�"]®{�"]¯Y�"]°7�"]±�"]±s�"]²Q�"]³/�"]´
�"]´k�"]µI�"]¶'�"]·�"]·c�"]¸A�"]¹�"]¹}�"]º[�"]»9

BIN
uni_modules/ss-preview/hybrid/html/pdf-reader/cmaps/GB-V.bcmap


Некоторые файлы не были показаны из-за большого количества измененных файлов