ccjgmwz 3 gadi atpakaļ
vecāks
revīzija
a41e9779b3
100 mainītis faili ar 285 papildinājumiem un 274 dzēšanām
  1. 5 13
      App.vue
  2. 93 0
      common/appUpdate.js
  3. 36 131
      components/chat/footer-input.vue
  4. 8 8
      components/chat/im-drawer.vue
  5. 2 2
      components/swiperup.vue
  6. 43 32
      components/upload.vue
  7. 1 0
      main.js
  8. 26 17
      manifest.json
  9. 7 7
      pageA/product/business_buy.vue
  10. 2 2
      pageC/chat/chat.vue
  11. 0 0
      pageC/chat/style.scss
  12. 9 7
      pageD/identity/companyIdentity.vue
  13. 1 4
      pageD/identity/companyIdentityThree.vue
  14. 2 2
      pages/attestation/index.vue
  15. 6 2
      pages/attestation/indexTwo.vue
  16. 1 7
      pages/business/business.vue
  17. 21 19
      pages/public/code.vue
  18. 22 21
      pages/user/user.vue
  19. BIN
      static/img/face/0.png
  20. BIN
      static/img/face/1.png
  21. BIN
      static/img/face/10.png
  22. BIN
      static/img/face/11.png
  23. BIN
      static/img/face/12.png
  24. BIN
      static/img/face/13.png
  25. BIN
      static/img/face/14.png
  26. BIN
      static/img/face/15.png
  27. BIN
      static/img/face/16.png
  28. BIN
      static/img/face/17.png
  29. BIN
      static/img/face/18.png
  30. BIN
      static/img/face/19.png
  31. BIN
      static/img/face/2.png
  32. BIN
      static/img/face/20.png
  33. BIN
      static/img/face/21.png
  34. BIN
      static/img/face/22.png
  35. BIN
      static/img/face/23.png
  36. BIN
      static/img/face/24.png
  37. BIN
      static/img/face/25.png
  38. BIN
      static/img/face/26.png
  39. BIN
      static/img/face/27.png
  40. BIN
      static/img/face/28.png
  41. BIN
      static/img/face/29.png
  42. BIN
      static/img/face/3.png
  43. BIN
      static/img/face/30.png
  44. BIN
      static/img/face/31.png
  45. BIN
      static/img/face/32.png
  46. BIN
      static/img/face/33.png
  47. BIN
      static/img/face/34.png
  48. BIN
      static/img/face/35.png
  49. BIN
      static/img/face/36.png
  50. BIN
      static/img/face/37.png
  51. BIN
      static/img/face/38.png
  52. BIN
      static/img/face/39.png
  53. BIN
      static/img/face/4.png
  54. BIN
      static/img/face/40.png
  55. BIN
      static/img/face/41.png
  56. BIN
      static/img/face/42.png
  57. BIN
      static/img/face/43.png
  58. BIN
      static/img/face/44.png
  59. BIN
      static/img/face/45.png
  60. BIN
      static/img/face/46.png
  61. BIN
      static/img/face/47.png
  62. BIN
      static/img/face/48.png
  63. BIN
      static/img/face/49.png
  64. BIN
      static/img/face/5.png
  65. BIN
      static/img/face/50.png
  66. BIN
      static/img/face/51.png
  67. BIN
      static/img/face/52.png
  68. BIN
      static/img/face/53.png
  69. BIN
      static/img/face/54.png
  70. BIN
      static/img/face/55.png
  71. BIN
      static/img/face/56.png
  72. BIN
      static/img/face/57.png
  73. BIN
      static/img/face/58.png
  74. BIN
      static/img/face/59.png
  75. BIN
      static/img/face/6.png
  76. BIN
      static/img/face/60.png
  77. BIN
      static/img/face/61.png
  78. BIN
      static/img/face/62.png
  79. BIN
      static/img/face/63.png
  80. BIN
      static/img/face/64.png
  81. BIN
      static/img/face/65.png
  82. BIN
      static/img/face/66.png
  83. BIN
      static/img/face/67.png
  84. BIN
      static/img/face/68.png
  85. BIN
      static/img/face/69.png
  86. BIN
      static/img/face/7.png
  87. BIN
      static/img/face/70.png
  88. BIN
      static/img/face/71.png
  89. BIN
      static/img/face/72.png
  90. BIN
      static/img/face/73.png
  91. BIN
      static/img/face/74.png
  92. BIN
      static/img/face/75.png
  93. BIN
      static/img/face/76.png
  94. BIN
      static/img/face/77.png
  95. BIN
      static/img/face/78.png
  96. BIN
      static/img/face/79.png
  97. BIN
      static/img/face/8.png
  98. BIN
      static/img/face/80.png
  99. BIN
      static/img/face/81.png
  100. BIN
      static/img/face/82.png

+ 5 - 13
App.vue

@@ -6,11 +6,15 @@
 	import {
 		mapMutations
 	} from 'vuex';
+	import appUpdate from 'common/appUpdate.js'
 	export default {
 		methods: {
 			...mapMutations(['login'])
 		},
 		onLaunch: function() {
+			// #ifdef APP-PLUS
+			appUpdate()
+			// #endif
 			this.$socket.initWebIM(this.$ws, true, true)
 			let userInfo = uni.getStorageSync('userInfo') || '';
 			if(userInfo.id){
@@ -22,19 +26,7 @@
 					}
 				});
 			}
-			// #ifdef APP-PLUS
-			var that = this
-			plus.push.getClientInfoAsync((info) => {
-				var name = 'clientId'
-				var value = info.clientid
-				that.$store.commit('$uStore', {
-					name,
-					value
-				});
-				console.log("info.clientid",info.clientid)
-			   }, err => {
-			});
-			// #endif
+			
 		},
 		onShow: function() {
 			console.log('App Show')

+ 93 - 0
common/appUpdate.js

@@ -0,0 +1,93 @@
+
+//APP更新
+
+import * as config from '../config'
+export default function appUpdate() {
+	var data ={
+			appid: plus.runtime.appid,
+			version: plus.runtime.version,
+			imei: "1"
+		}
+		
+	let baseUrl = config.def().baseUrl
+	let _gp = 'user'
+	let _mt = 'updateAppVersion'
+	uni.request({
+		url: baseUrl + '/m.api',
+		data: {
+			...data,
+			_gp,
+			_mt
+		},
+		method: 'POST',
+		header: {
+			'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
+			'ACCESSTOKEN': 'accessToken'
+		},
+		success: (res) => {
+			
+			console.log("uni.request update success",res)
+			plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
+				let client_version = wgtinfo.version
+				var flag_update = client_version.split(".").splice(0, 2).join(".") != res.data.data.version.split(".").splice(0, 2)
+					.join(".")
+				var flag_hot = (Number(client_version.split(".")[2]) < Number(res.data.data.version.split(".")[2])) & !flag_update
+				console.log("client_version",client_version) 
+				console.log("flag_update",flag_update)
+				console.log("flag_hot",flag_hot)
+
+				if (flag_update) {
+					console.log("更新弹窗")
+					// 提醒用户更新
+					uni.showModal({
+						title: '更新提示',
+						content: res.data.data.note,
+						success: (showResult) => {
+							if (showResult.confirm) {
+								plus.nativeUI.toast("正在准备环境,请稍后!");
+								console.log(res.data.data.url, )
+								var dtask = plus.downloader.createDownload(res.data.data.url, {
+									method: 'GET',
+									filename: '_doc/update/'
+								}, function(d, status) {
+									if (status == 200) {
+										var path = d.filename; //下载apk
+										plus.runtime.install(path); // 自动安装apk文件
+									} else {
+										plus.nativeUI.alert('版本更新失败:' + status);
+									}
+								});
+								dtask.start();
+							}
+						}
+					})
+				} else if (flag_hot) {
+					console.log("热更新") 
+					uni.downloadFile({
+						url: res.data.data.wgtUrl,
+						success: (downloadResult) => {
+							console.log(downloadResult.tempFilePath)
+							if (downloadResult.statusCode === 200) {
+								plus.nativeUI.toast(`正在热更新!${res.data.data.versionCode}`);
+								plus.runtime.install(downloadResult.tempFilePath, {
+									force: false
+								}, function() {
+									plus.nativeUI.toast("热更新成功");
+									plus.runtime.restart();
+								}, function(e) {
+									console.log(e)
+									plus.nativeUI.toast(`热更新失败:${e.message}`);
+								});
+							}
+						}
+					});
+				}
+
+			});
+
+
+
+
+		}
+	})
+}

+ 36 - 131
components/chat/footer-input.vue

@@ -1,45 +1,45 @@
 <template>
 	<view>
 		<!-- 底部输入栏 -->
-		<view :style='{bottom:bottomHeight+"px;"}' class="input-box" :class="popupLayerClass" @touchmove.stop.prevent="discard">
+		<view class="input-box" :class="popupLayerClass" :style="{ bottom: inputOffsetBottom > 0 ? '30rpx' : '0' }" @touchmove.stop.prevent="discard">
 			<!-- H5下不能录音,输入栏布局改动一下 -->
 			<!-- #ifndef H5 -->
 			<view class="voice">
-				<view class="cuIcon-notification" :class="isVoice?'cuIcon-community':'cuIcon-notification'" @tap="switchVoice"></view>
+				<view class="iconfont iconshuru" :class="isVoice?'iconshuru':'iconyuyin1'" @tap="switchVoice"></view>
 			</view>
 			<!-- #endif -->
+			
 			<!-- #ifdef H5 -->
 			<view class="more" @tap="showMore">
-				<view class="cuIcon-roundadd"></view>
+				<view class="iconfont icontianjia"></view>
 			</view>
 			<!-- #endif -->
+			
 			<!-- 录音 -->
-			<view class="textbox" >
+			<view class="textbox">
 				<view class="voice-mode" :class="[isVoice?'':'hidden',recording?'recording':'']" @touchstart="voiceBegin"
 				 @touchmove.stop.prevent="voiceIng" @touchend="voiceEnd" @touchcancel="voiceCancel">{{voiceTis}}</view>
 				<view class="text-mode" :class="isVoice?'hidden':''">
 					<view class="box">
-						 <textarea id='textarea' :confirm-type="'send'" :confirm-hold="false" :show-confirm-bar="false" @confirm="sendMsg(0, textMsg)"
-						  auto-height="true" :adjust-position='false' :disabled="disabledSay===1" :hold-keyboard='true'
-						   v-model="textMsg" @focus="textareaFocus" @blur='textareaBlur' />
+						 <textarea ref="tt" :confirm-type="'send'" :confirm-hold="true" @confirm="sendMsg(0, textMsg)"
+						  auto-height="true" :disabled="disabledSay===1"
+						   v-model="textMsg" @focus="enterInput" />
 					</view>
-					<view class="em" @tap.stop="chooseEmoji(e)">
-						<view class="cuIcon-emoji"></view>
+					<view class="em" @tap="chooseEmoji">
+						<view class="iconfont iconbiaoqing"></view>
 					</view>
 				</view>
 			</view>
-			<view v-if='!show' class="more" @tap="showMore">
-				<view class="cuIcon-roundadd"></view>
-			</view>
-			<button v-else @tap="btnSend(0, textMsg)"  class="cu-btn bg-green shadow textmsg">发送</button>
-			<!-- <view class='textmsg' v-show='show'>
-				<view @tap="">发送</view>
-			</view> -->
-			<!-- #ifdef H5 -->
-			<view class="send" @tap="sendMsg(0, textMsg)" :class="isVoice?'hidden':''">
-				<view class="iconfont icontuiguang-weixuan"></view>
+			
+			<!-- #ifndef H5 -->
+			<view class="more" @tap="showMore" :class="isBtn?'hidden':''">
+				<view class="iconfont icontianjia"></view>
 			</view>
 			<!-- #endif -->
+			
+			<view class="send" :class="isBtn?'':'hidden'">
+				<u-button @tap="sendMsg(0, textMsg)" type="success" size="mini">发送</u-button>
+			</view>
 		</view>
 		
 		<!-- 录音UI效果 -->
@@ -60,14 +60,12 @@
 			<view class="cancel" :class="willStop?'':'hidden'"><view class="icon chehui" ></view></view>
 			<view class="tis" :class="willStop?'change':''">{{recordTis}}</view>
 		</view>
-		<!-- <v-keyboard ref="keyboard" :disorderly="false" @typing="typing" @enter="enter"></v-keyboard> -->
 	</view>
 </template>
 
 <script>
 	export default {
 		name:'footer-input',
-		components: {  } ,
 		props: {
 			inputOffsetBottom: {
 				type: Number,
@@ -77,10 +75,6 @@
 				type: Boolean,
 				default: false
 			},
-			focus: {
-				type: Boolean,
-				default: false
-			},
 			disabledSay: {
 				type: Number,
 				default: 0
@@ -98,9 +92,7 @@
 			return {
 				placeholder: '',
 				initPoint:{identifier:0,Y:0},
-				//录音相关参数
 				// #ifndef H5
-				//H5不能录音
 				RECORDER:uni.getRecorderManager(),
 				// #endif
 				recordTis:"手指上滑 取消发送",
@@ -110,24 +102,21 @@
 				recordTimer:null,
 				recordLength:0,
 				textMsg:'',
-				bottomHeight:0,
-				show:false
 			};
 		},
+		computed:{
+			isBtn:function(){
+				return this.textMsg!="";
+			}
+		},
 		watch:{
 			textMsg:function(v){
-				console.log(v)
-				if(v.length>0){
-					this.show=true
-				}else{
-					this.show=false
-				}
-				this.$emit('textMsgFunc',v)
-				if(this.textMsg.indexOf('@')!=-1){
+				this.$emit('textMsgTap',v);
+				if(v.indexOf('@')!=-1){
 				  if (this.chatObj.chatType==1){
 					  this.$u.route({
-					  	url:'pageC/chat/remind',
-					  	params:{ msg :this.textMsg }
+					  	url:'pages/chat/remind',
+					  	params:{ msg :v }
 					  });	
 				  }
 				}
@@ -141,46 +130,24 @@
 			this.RECORDER.onStart((e)=>{
 				this.recordBegin(e);
 			})
-			//录音结束事件
 			this.RECORDER.onStop((e)=>{
 				this.recordEnd(e);
 			})
 			// #endif
 		},
 		methods:{
+			enterInput(){
+				this.$emit('enterInput');
+			},
 			discard(){
 				return;
 			},
-			btnSend(index, msg){
-				uni.hideKeyboard()
-				console.log('this.focus',this.focus)
-				this.focus=false  
-				this.sendMsg(index, msg)
-			},
-			// sendmsg(){
-			// 	console.log(uni.createSelectorQuery().select("#iamnode"))
-			// },
 			sendMsg(index, msg){
-				this.bottomHeight=0
-				this.show=false
 				this.$emit('sendMsg', index,msg);
-				this.textMsg = ''
-			},
-			textareaBlur(e){
-				console.log('textareaBlur',e)
-				this.bottomHeight=0
-			},
-			textareaFocus(e){
-				this.$refs.keyboard.activate()
-				console.log('textareaFocus',this.focus)
-				this.bottomHeight=e.detail.height
-				this.$emit('textareaFocus', true);
+				this.textMsg = '';
 			},
 			// 选择表情
-			chooseEmoji(e){
-				e.preventDefault();
-				this.bottomHeight=0
-				uni.hideKeyboard()
+			chooseEmoji(){
 				this.$emit('chooseEmoji', true);
 			},
 			// 切换语音/文字输入
@@ -241,17 +208,13 @@
 			},
 			//录音结束(回调文件)
 			recordEnd(e){
-				console.log('--------到此一游------1-')
 				clearInterval(this.recordTimer);
-				if(this.recordLength == 0){
-					this.$api.msg("录音时长过短")
-					return
-				}
 				if(!this.willStop){
 			      let tempFilePaths =e.tempFilePath;
 				  let that=this;
 					uni.uploadFile({
-						url: this.$uploadUrl, //仅为示例,非真实的接口地址
+						//仅为示例,非真实的接口地址
+						url: this.$uploadUrl, 
 						filePath: tempFilePaths,
 						header: {
 						'merchcode':'md5'
@@ -271,7 +234,6 @@
 							min = min<10?'0'+min:min;
 							sec = sec<10?'0'+sec:sec;
 							msg.length = min+':'+sec;
-							console.log('--------到此一游------2-')
 							this.$emit('sendMsg', 3,JSON.stringify(msg));
 						}
 					});
@@ -279,7 +241,6 @@
 					// console.log('取消发送录音');
 				}
 				this.willStop = false;
-				console.log('--------到此一游------3-')
 			},
 			//更多功能(点击+弹出)
 			showMore(){
@@ -297,62 +258,6 @@
 	}
 </script>
 
-<style lang="scss" scoped>
+<style lang="scss">
 @import "@/pageC/chat/style.scss";
-[class^='cuIcon']{
-	font-size:50rpx;
-}
-.input-box{
-	position:fixed;
-}
-.textmsg{
-	width: 160upx;
-	padding: 5upx;
-	margin-top: 10upx
-}
-.textmsg view{
-	border: 1px solid;
-	background: #39b54a;
-	color: #fff;
-	padding: 10px;
-}
-.voice_an_icon{
-	position: relative;
-}
-.voice_an_icon .wave:nth-child(1){
-    left: 0px;
-    animation: musicWave 0.5s infinite linear both alternate;
-}
-.voice_an_icon .wave:nth-child(2){
-    left: 10px;
-    animation: musicWave 0.2s infinite linear both alternate;
-}
-.voice_an_icon .wave:nth-child(3){
-    left: 20px;
-    animation: musicWave 0.6s infinite linear both alternate;
-}
-.voice_an_icon .wave:nth-child(4){
-    left: 40px;
-    animation: musicWave 0.3s infinite linear both alternate;
-}
-.voice_an_icon .wave:nth-child(5){
-    left: 50px;
-    animation: musicWave 0.4s infinite linear both alternate;
-}
-.voice_an_icon .wave:nth-child(6){
-    left: 50px;
-    animation: musicWave 0.7s infinite linear both alternate;
-}
-.voice_an_icon .wave:nth-child(7){
-    left: 50px;
-    animation: musicWave 0.1s infinite linear both alternate;
-}
-@keyframes musicWave{
-    0%{
-        height: 10px;
-    }
-    100%{
-        height: 30px;
-    }
-}
 </style>

+ 8 - 8
components/chat/im-drawer.vue

@@ -6,18 +6,18 @@
 			<emotion @addEmoji="addEmoji" @send="sendMsg(0,textMsg)" :class="{hidden:hideEmoji}"></emotion>
 			<!-- 更多功能 相册-拍照-红包 -->
 			<view class="more-layer" :class="{hidden:hideMore}">
-				<!-- <view class="list">
+				<view class="list">
 					<view class="box" @tap="chooseImage">
-						<image class="box-xx" src="../../static/img/more/tupian.png"></image>
+						<image class="box-xx" src="@/static/img/more/tupian.png"></image>
 					</view>
 					<view class="box" @tap="camera">
-						<image class="box-xx" src="../../static/img/more/paizhao.png"></image>
+						<image class="box-xx" src="@/static/img/more/paizhao.png"></image>
 					</view>
-					<view class="box" @tap="redShow">
-						<image class="box-xx" src="../../static/img/more/hongbao.png"></image>
-					</view>
-				</view> -->
-			</view>
+					<!-- <view class="box" @tap="redShow">
+						<image class="box-xx" src="@/static/img/more/hongbao.png"></image>
+					</view> -->
+				</view>
+		 	</view>
 		</view>
 	</view>
 </template>

+ 2 - 2
components/swiperup.vue

@@ -78,10 +78,10 @@
 
 <style scoped>
 	.wrap{
-		height: 74rpx;
+		height: 78rpx;
 		margin-bottom: 20rpx;
 		background: #fff;
-		line-height: 74rpx;
+		line-height: 78rpx;
 		position: relative;
 		width:90%;
 		margin:0 auto;

+ 43 - 32
components/upload.vue

@@ -89,6 +89,8 @@
  * @event {Function} on-choose-complete 每次选择图片后触发,只是让外部可以得知每次选择后,内部的文件列表
  * @example <u-upload :action="action" :file-list="fileList" ></u-upload>
  */
+
+import uploadImage from '@/components/ossutil/uploadFile.js';
 export default {
 	name: 'upload',
 	props: {
@@ -385,42 +387,51 @@ export default {
 			}
 			this.lists[index].error = false;
 			this.uploading = true;
-			// 创建上传对象
-			const task = uni.uploadFile({
-				url: this.action,
-				filePath: this.lists[index].url,
-				name: this.name,
-				formData: this.formData,
-				header: this.header,
-				success: res => {
-					// 判断是否json字符串,将其转为json格式
-					let data = this.toJson && this.checkIsJSON(res.data) ? JSON.parse(res.data) : res.data;
-					if (![200, 201].includes(res.statusCode)) {
-						this.uploadError(index, data);
-					} else {
+			uploadImage(this.lists[index].url, 'appData/',
+					result => {
 						// 上传成功
-						this.lists[index].response = data;
+						this.lists[index].response = result;
 						this.lists[index].progress = 0;
 						this.lists[index].error = false;
-						this.$emit('on-success', data, index, this.lists);
+						this.$emit('on-success', result, index, this.lists);
 					}
-				},
-				fail: e => {
-					this.uploadError(index, e);
-				},
-				complete: res => {
-					uni.hideLoading();
-					this.uploading = false;
-					this.uploadFile(index + 1);
-					this.$emit('on-change', res, index, this.lists);
-				}
-			});
-			task.onProgressUpdate(res => {
-				if (res.progress > 0) {
-					this.lists[index].progress = res.progress;
-					this.$emit('on-progress', res, index, this.lists);
-				}
-			});
+				)
+			// // 创建上传对象
+			// const task = uni.uploadFile({
+			// 	url: this.action,
+			// 	filePath: this.lists[index].url,
+			// 	name: this.name,
+			// 	formData: this.formData,
+			// 	header: this.header,
+			// 	success: res => {
+			// 		// 判断是否json字符串,将其转为json格式
+			// 		let data = this.toJson && this.checkIsJSON(res.data) ? JSON.parse(res.data) : res.data;
+			// 		if (![200, 201].includes(res.statusCode)) {
+			// 			this.uploadError(index, data);
+			// 		} else {
+			// 			// 上传成功
+			// 			this.lists[index].response = data;
+			// 			this.lists[index].progress = 0;
+			// 			this.lists[index].error = false;
+			// 			this.$emit('on-success', data, index, this.lists);
+			// 		}
+			// 	},
+			// 	fail: e => {
+			// 		this.uploadError(index, e);
+			// 	},
+			// 	complete: res => {
+			// 		uni.hideLoading();
+			// 		this.uploading = false;
+			// 		this.uploadFile(index + 1);
+			// 		this.$emit('on-change', res, index, this.lists);
+			// 	}
+			// });
+			// task.onProgressUpdate(res => {
+			// 	if (res.progress > 0) {
+			// 		this.lists[index].progress = res.progress;
+			// 		this.$emit('on-progress', res, index, this.lists);
+			// 	}
+			// });
 		},
 		// 上传失败
 		uploadError(index, err) {

+ 1 - 0
main.js

@@ -35,6 +35,7 @@ let urlAddress = 'liangxin.zthymaoyi.com'
 Vue.prototype.$url = 'https://'+urlAddress+'/upload/'
 Vue.prototype.$uploadUrl = 'https://'+urlAddress+'/file/upload'
 Vue.prototype.$ws = 'wss://'+urlAddress+'/chat'
+Vue.prototype.$ossUrl = 'https://taohaoliang.oss-cn-beijing.aliyuncs.com/appData'
 
 // let urlAddress = 'localhost'
 // Vue.prototype.$url = 'https://liangxin.zthymaoyi.com/upload/'

+ 26 - 17
manifest.json

@@ -2,8 +2,8 @@
     "name" : "易粮易运",
     "appid" : "__UNI__7297DA2",
     "description" : "易粮易运——为天下粮食人服务的App",
-    "versionName" : "1.0.7",
-    "versionCode" : 107,
+    "versionName" : "1.0.8",
+    "versionCode" : 108,
     "transformPx" : false,
     /* SDK配置 */
     "quickapp" : {},
@@ -45,33 +45,43 @@
         }
     },
     "app-plus" : {
+        "privacy" : {
+            "prompt" : "template",
+            "template" : {
+                "title" : "服务协议和隐私政策",
+                "message" : "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href=\"https://liangxin.zthymaoyi.com/userAgreement.html\">《服务协议》</a>和<a href=\"https://liangxin.zthymaoyi.com/screctAgreement.html\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
+                "buttonAccept" : "同意",
+                "buttonRefuse" : "拒绝"
+            }
+        },
         "compatible" : {
             "ignoreVersion" : true
         },
         "distribute" : {
             "sdkConfigs" : {
                 "ad" : {},
-                "oauth" : {
-                    "weixin" : {
-                        "appid" : "wx4505a6ea6f703e17",
-                        "appsecret" : "610838e6d27468602fbdeb1394520679",
-                        "UniversalLinks" : "https://app.zthymaoyi.com/"
-                    },
-                    "apple" : {}
-                },
+                "oauth" : {},
                 "push" : {
                     "unipush" : {}
                 }
             },
             "android" : {
+                "autoSdkPermissions" : true,
+                "permissionPhoneState" : {
+                    "request" : "once",
+                    "prompt" : "为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许。"
+                },
+                "permissionExternalStorage" : {
+                    "request" : "once",
+                    "prompt" : "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
+                },
                 "permissions" : [
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
                     "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>"
-                ],
-                "permissionExternalStorage" : {
-                    "request" : "always",
-                    "prompt" : "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
-                }
+                    "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
+                    "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>"
+                ]
             },
             "icons" : {
                 "android" : {
@@ -133,7 +143,6 @@
         },
         "nvueCompiler" : "weex",
         "modules" : {
-            "OAuth" : {},
             "SQLite" : {},
             "Push" : {}
         },

+ 7 - 7
pageA/product/business_buy.vue

@@ -6,8 +6,8 @@
 		<view  class="c-row b-b">
 			<view class="title">卖方</view>
 			<view class="con-list">
-				<view v-if='goods.customerTypeFlag==1' class="title" @click="liang">{{purchaseOrder.customer?purchaseOrder.customer:goods.customerName}}></view>
 				<view v-if='goods.customerTypeFlag==2' class="title" @click="liang">{{purchaseOrder.compName?purchaseOrder.compName:goods.compName}}></view>
+				<view v-else class="title" @click="liang">{{purchaseOrder.customer?purchaseOrder.customer:goods.customerName}}></view>
 			</view>
 		</view>
 		<view  class="c-row">
@@ -74,7 +74,7 @@
 		<view  class="c-row b-b">
 			<view class="title">出售数量(吨)</view>
 			<view class="con-list">
-			<input v-model='purchaseOrder.transactionsNumber' placeholder="请填写出售数量" name="input"></input>
+			<input v-model='purchaseOrder.transactionsNumber' placeholder="请填写出售数量" placeholder-style="font-size: 12px;" name="input"></input>
 			</view>
 		</view>
 		<view  class="c-row b-b">
@@ -90,7 +90,7 @@
 		<view v-if='packingIndex==0' class="beizhu align-start">
 			<view class="title">袋装备注</view>
 			<view >
-			<textarea maxlength="-1" v-model='purchaseOrder.baggingNotes' placeholder="请填写包装规格、质量、包装物要求。例:50kg袋装、大粒、彩包" class="textareas"></textarea>
+			<textarea maxlength="-1" v-model='purchaseOrder.baggingNotes' placeholder="请填写包装规格、质量、包装物要求。例:50kg袋装、大粒、彩包" placeholder-style="font-size: 12px;" class="textareas"></textarea>
 			</view>
 		</view>
 		<view  v-if="purchaseOrder.procurementPlanType=='期货'" class="c-row b-b align-start">
@@ -460,6 +460,7 @@
 	.transaction{
 		background-color: #FFFFFF;
 		margin-top: 10px;
+		padding-bottom: 10px;
 		border-radius: 20px;
 	}
 	.btn{
@@ -469,15 +470,14 @@
 		margin-top: 10px;
 	}
 	.textareas{
-		width: 260px;
-		height: 130px;
+		width: 95%;
 		background-color: #F9F9FA;
-		margin: 10px;
-		padding: 10px 20px;
+		padding: 10px 20px 0px 20px;
 		border-radius: 10px;
 	}
 	.beizhu{
 		margin-left: 20px;
+		margin-bottom: 20px;
 		/* margin: 10px; */
 		margin-top: 10px;
 	}

+ 2 - 2
pageC/chat/chat.vue

@@ -142,7 +142,7 @@
 				this.viewOffsetBottom = res.height + uni.upx2px(100);
 				if (res.height == 0) {
 					// #ifndef MP-WEIXIN
-					//this.showInput = false;
+					this.showInput = false;
 					// #endif
 				}
 			});
@@ -155,7 +155,7 @@
 							//暂时不支持h5的滚动方式 因为h5不支持键盘的高度监听
 							//微信小程序会把input的焦点和placeholder顶起,正在寻找解决方案
 							// #ifndef MP-WEIXIN || H5
-							//this.bindScroll(this.sel, 100);
+							this.bindScroll(this.sel, 100);
 							// #endif
 						});
 					}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
pageC/chat/style.scss


+ 9 - 7
pageD/identity/companyIdentity.vue

@@ -163,10 +163,10 @@
 
 			license() {
 				var that = this
-				wx.chooseImage({
-					sourceType: ['camera', 'album'],
+				uni.chooseImage({
+					count:1,
 					success: function(res) {
-						wx.uploadFile({
+						uni.uploadFile({
 							url: 'https://www.zthymaoyi.com/upload/admin',
 							filePath: res.tempFilePaths[0],
 							name: 'file',
@@ -183,9 +183,10 @@
 			},
 			idUp(){
 				var that = this
-				wx.chooseImage({
+				uni.chooseImage({
+					count:1,
 					success: function(res) {
-						wx.uploadFile({
+						uni.uploadFile({
 							url: 'https://www.zthymaoyi.com/upload/admin',
 							filePath: res.tempFilePaths[0],
 							name: 'file',
@@ -212,9 +213,10 @@
 			},
 			idLow(){
 				var that = this
-				wx.chooseImage({
+				uni.chooseImage({
+					count:1,
 					success: function(res) {
-						wx.uploadFile({
+						uni.uploadFile({
 							url: 'https://www.zthymaoyi.com/upload/admin',
 							filePath: res.tempFilePaths[0],
 							name: 'file',

+ 1 - 4
pageD/identity/companyIdentityThree.vue

@@ -80,7 +80,7 @@
 			<button :class='codestatus&&!sendDisabled?"active":""' @click='obtain'
 				class='getcode'>{{sendText}}</button>
 			<view style='width:70%;position:relative;margin-left: 200px;'>
-				<input v-model='verifyCode' placeholder="请输入验证码" type="text">
+				<input v-model='verifyCode' placeholder="请输入验证码" type="number">
 			</view>
 		</view>
 		<view class="c-row b-b" v-if="identityAuthenticationInfo.customerTypeFlag == 2">
@@ -256,9 +256,6 @@
 				if(this.verification == false){
 					return
 				}
-				console.log(this.verification)
-				console.log("未成功")
-				return
 				this.$api.doRequest('post', '/identityAuthenticationInfo/api/addIdentityAuthenticationInfo', this
 						.identityAuthenticationInfo)
 					.then(res => {

+ 2 - 2
pages/attestation/index.vue

@@ -24,7 +24,7 @@
 			<image src="../../static/img/authentication/siji@3x.png" class="portrait1"></image>
 		</view>
 		
-		<view class="homePage2">
+		<!-- <view class="homePage2">
 			<image src="../../static/img/authentication/bg@2x.png" class="background"></image>
 			<view class="title">
 				粮农身份
@@ -33,7 +33,7 @@
 				<view style="margin-right: 30px;">{{changes}}</view>
 			</view>
 			<image src="../../static/img/authentication/farmer@2x.png" class="portrait1"></image>
-		</view>
+		</view> -->
 
 	</view>
 </template>

+ 6 - 2
pages/attestation/indexTwo.vue

@@ -30,7 +30,7 @@
 				<view class="yuan flex">
 					<view v-bind:class="defaults1" @click.stop="select(item)" v-if="item.basis == 'false'"></view>
 					<view v-bind:class="defaults2" @click.stop="select(item)" v-if="item.basis == 'true'">√</view>
-					<text @click.stop="select(item)">设为默认</text>
+					<text style="font-size: 12px;" @click.stop="select(item)">设为默认</text>
 				</view>
 				<view class="options flex">
 					<view class='but' @click="open(item)">更换手机号</view>
@@ -112,6 +112,10 @@
 		onLoad() {
 			this.getList()
 		},
+		onPullDownRefresh() {
+			this.getList()
+			uni.stopPullDownRefresh()
+		},
 		methods: {
 			resend() {
 				if (this.sendText == "获取验证码") {
@@ -403,7 +407,7 @@
 		padding: 0 8px;
 		text-align: center;
 		margin-left: 20px;
-		font-size: 14px;
+		font-size: 10px;
 		font-weight: 500;
 	}
 

+ 1 - 7
pages/business/business.vue

@@ -63,13 +63,7 @@
 		</view>
 		<u-back-top :scroll-top="scrollTop" tips="顶部" :custom-style="{backgroundColor: '#a0cfff',color: '#2979ff'}"
 			:iconStyle="{color: '#2979ff',fontSize: '34rpx'}" mode="square" icon="arrow-up"></u-back-top>
-		<view>
-			<view id="_drag_button" class="drag" style="right:0;bottom:60px;" @touchstart="touchstart"
-				@touchmove.stop.prevent="touchmove" @touchend="touchend" @click.stop.prevent="fabu">
-				<image class='side-bg' src='../../static/img/jiaoyi/ic_fabu@3x.png'></image>
-			</view>
-		</view>
-		<!-- <drag-button :isDock="true" :existTabBar="true" :isIcon="true" text="发布" location="20" @btnClick="fabu" /> -->
+		
 	</view>
 </template>
 

+ 21 - 19
pages/public/code.vue

@@ -6,7 +6,7 @@
 			<view class="top_two">验证码已发送到<text class="text">{{phone}}</text></view>
 			<!-- 六个显示框 -->
 			<view class="top_three">
-				<view :class="[ !inputList[0]||inputList.length>0 ? 'inb' : '' ]" class="input">
+				<view  :class="[ !inputList[0]||inputList.length>0 ? 'inb' : '' ]" class="input">
 					<text>{{inputList[0]}}</text>
 					<view v-if="!inputList[0]"  class="fours"></view>
 				</view>
@@ -33,7 +33,7 @@
 			</view>
 			<!-- 隐藏的input -->
 			<view class="top_four">
-				<input type="text" class="input_show" maxlength="6" @input='submit' v-model="inputList" focus="true"/>
+				<input type="number" class="input_show" maxlength="6" @input='submit'  v-model="inputList" focus="true"/>
 			</view>
 			<!-- 重新获取 -->
 			<view class="top_five" @click='regain' :class="!status ? 'active' : '' "><text v-if="!status">重新发送</text><text v-if="status">{{count_down}}秒后重新发送</text></view>
@@ -53,25 +53,25 @@
 				status:false
 			}
 		},
+		onLoad(options){
+			console.log("options",options.phone)
+			this.phone=options.phone
+			console.log("phone:",this.phone);
+			if(this.phone){
+				this.regain()
+			}else{
+				uni.showToast({
+					title: '请输入正确的手机号',
+					icon:'none',
+					duration: 2000
+				})
+			}
+		},
 		methods: {
-			
-			//因项目原型要求 所以用了onshow页面加载触发函数,可换成单击事件@click
-			onShow:function(e){
-				
-				
-			},
-			onLoad:function(options){
-				this.phone=this.options.phone
-				if(this.phone){
-					this.regain()
-				}else{
-					uni.showToast({
-						title: '请输入正确的手机号',
-						icon:'none',
-						duration: 2000
-					})
-				}
+			navBack() {
+				uni.navigateBack();
 			},
+			
 			liangxinLogin(){
 				const that = this
 				var userInfoTmp = uni.getStorageSync("userInfo")
@@ -127,6 +127,8 @@
 				});
 			},
 			regain(){
+				
+				console.log("regain",this.phone);
 				this.status=true
 				// console.log(e)150500
 				// 设定一个定时器 1000是1秒的意思

+ 22 - 21
pages/user/user.vue

@@ -11,11 +11,11 @@
 					<u-avatar v-else class="portrait" text=""></u-avatar>
 				</view>
 				<view class="info-box">
-					<view @click="toLogin" class="username">{{hasLogin? (userInfo.userName || '点击设置昵称') : '立即登录' }}</view>
+					<view @click="toLogin" class="username">{{hasLogin? (userInfo.userName || '点击修改昵称') : '立即登录' }}</view>
 				</view>
-				<view class="qr-wrap">
+				<!-- <view class="qr-wrap">
 					<text class="cuIcon-qrcode"  @click="qrClick(userInfo)"></text>
-				</view>
+				</view> -->
 			</view>
 			
 		</view>
@@ -69,12 +69,12 @@
 			:show="inputShow" 
 			@close="cancel" 
 			:style="{display:inputStatus}"
-			title="点击按钮开启客服对话" 
+			title="修改昵称" 
 			showCancel="true"
 			>
-			<!-- <input v-model="inputContent" style="margin:20upx;"  placeholder="请输入昵称" /> -->
-			<button open-type='contact' class="margin:20upx;bg-green">
-				<text class="cuIcon-phone">联系我们</text>
+			<input v-model="inputContent" style="margin:20upx;"  placeholder="请输入昵称" />
+			<button class="margin:20upx;bg-green">
+				确认修改
 			</button>
 			
 		</neil-modal>
@@ -166,13 +166,7 @@
 						// 	show:true
 						// },
 						// {
-						// 	num:7,
-						// 	name: '退出登录',
-						// 	icon:'cuIcon-exit',
-						// 	tips: 0,
-						// 	url:'',
-						// 	show:true
-						// },
+					
 						{
 							num:0,
 							name: '身份认证',
@@ -213,7 +207,14 @@
 							url:`/pages/user/task`,
 							show:true
 						},
-						
+						{
+							num:5,
+							name: '退出登录',
+							icon:'cuIcon-exit',
+							tips: 0,
+							url:'',
+							show:true
+						},
 					],
 					showTran:true,
 					companyId:1,
@@ -360,12 +361,12 @@
 						url: '/pages/public/login'
 					})
 				}
-				else if(!this.userInfo.nickname){
-					this.inputShow = true
-					this.inputStatus = 'inline'
-					this.feild = "nickname"
-					this.inputContent = ''
-				}
+				// else if(!this.userInfo.nickname){
+				// 	this.inputShow = true
+				// 	this.inputStatus = 'inline'
+				// 	this.feild = "nickname"
+				// 	this.inputContent = ''
+				// }
 			},
 			confirm() {
 				const that = this

BIN
static/img/face/0.png


BIN
static/img/face/1.png


BIN
static/img/face/10.png


BIN
static/img/face/11.png


BIN
static/img/face/12.png


BIN
static/img/face/13.png


BIN
static/img/face/14.png


BIN
static/img/face/15.png


BIN
static/img/face/16.png


BIN
static/img/face/17.png


BIN
static/img/face/18.png


BIN
static/img/face/19.png


BIN
static/img/face/2.png


BIN
static/img/face/20.png


BIN
static/img/face/21.png


BIN
static/img/face/22.png


BIN
static/img/face/23.png


BIN
static/img/face/24.png


BIN
static/img/face/25.png


BIN
static/img/face/26.png


BIN
static/img/face/27.png


BIN
static/img/face/28.png


BIN
static/img/face/29.png


BIN
static/img/face/3.png


BIN
static/img/face/30.png


BIN
static/img/face/31.png


BIN
static/img/face/32.png


BIN
static/img/face/33.png


BIN
static/img/face/34.png


BIN
static/img/face/35.png


BIN
static/img/face/36.png


BIN
static/img/face/37.png


BIN
static/img/face/38.png


BIN
static/img/face/39.png


BIN
static/img/face/4.png


BIN
static/img/face/40.png


BIN
static/img/face/41.png


BIN
static/img/face/42.png


BIN
static/img/face/43.png


BIN
static/img/face/44.png


BIN
static/img/face/45.png


BIN
static/img/face/46.png


BIN
static/img/face/47.png


BIN
static/img/face/48.png


BIN
static/img/face/49.png


BIN
static/img/face/5.png


BIN
static/img/face/50.png


BIN
static/img/face/51.png


BIN
static/img/face/52.png


BIN
static/img/face/53.png


BIN
static/img/face/54.png


BIN
static/img/face/55.png


BIN
static/img/face/56.png


BIN
static/img/face/57.png


BIN
static/img/face/58.png


BIN
static/img/face/59.png


BIN
static/img/face/6.png


BIN
static/img/face/60.png


BIN
static/img/face/61.png


BIN
static/img/face/62.png


BIN
static/img/face/63.png


BIN
static/img/face/64.png


BIN
static/img/face/65.png


BIN
static/img/face/66.png


BIN
static/img/face/67.png


BIN
static/img/face/68.png


BIN
static/img/face/69.png


BIN
static/img/face/7.png


BIN
static/img/face/70.png


BIN
static/img/face/71.png


BIN
static/img/face/72.png


BIN
static/img/face/73.png


BIN
static/img/face/74.png


BIN
static/img/face/75.png


BIN
static/img/face/76.png


BIN
static/img/face/77.png


BIN
static/img/face/78.png


BIN
static/img/face/79.png


BIN
static/img/face/8.png


BIN
static/img/face/80.png


BIN
static/img/face/81.png


BIN
static/img/face/82.png


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels