Browse Source

[edit] 动态获取安装包 url

wenliming 3 years ago
parent
commit
e7eb360250
2 changed files with 73 additions and 7 deletions
  1. 30 4
      pages/index.vue
  2. 43 3
      pages/install.vue

+ 30 - 4
pages/index.vue

@@ -234,7 +234,11 @@ export default {
 			page_index: 1,
 			page_size: 20,
 			luck_list: [],
-			luck_list_end: false
+			luck_list_end: false,
+			config: {
+				extensionsInstallChannel : 'officeDownload', // chromeAppStore
+				extensionsInstallUrl: ''
+			}
 		}
 	},
 
@@ -272,8 +276,16 @@ export default {
 			return flag;
 		},
 		installExtension() {
-			let url = 'https://d3d9wvhy948gxx.cloudfront.net/extensions/chrome/denet.zip'
-			location.href = url;
+			let {extensionsInstallChannel, extensionsInstallUrl} = this.config;
+			let url = extensionsInstallUrl || "https://d1mcov78iir8kk.cloudfront.net/extensions/chrome/denet1_0_1.zip"
+			switch (extensionsInstallChannel) {
+				case "officeDownload":
+					location.href = url;
+					break;
+				case "chromeAppStore":
+					window.open(extensionsInstallUrl)
+					break;
+			}
 			this.$router.push({
 				path: '/install'
 			})
@@ -424,7 +436,20 @@ export default {
 			if (data.code == 0) {
 				this.detail.postBizData = JSON.parse(data.data.postBizData)
 			}
-		}
+		},
+		async getConfig() {
+			let {data} = await axios.post(`${baseURL}/denet/base/config/getFrontConfig`, {
+				baseInfo: {
+					appVersionCode: this.appVersionCode,
+					mid: this.mid
+				},
+				params: {
+				}
+			})
+			if (data.code == 0) {
+				this.config = data.data;
+			}
+		},
 	},
 
 	async asyncData(params) {
@@ -454,6 +479,7 @@ export default {
 
 
 	mounted() {
+		this.getConfig()
 		if (!this.detail.postId) {
 			return
 		}

+ 43 - 3
pages/install.vue

@@ -11,14 +11,54 @@
 </template>
 
 <script>
+import axios from 'axios';
+const api = {
+	prod: 'https://api.denetme.net',
+	pre: 'https://preapi.denetme.net',
+	test: 'https://testapi.denetme.net'
+}
+const baseURL = api[process.env.NUXT_ENV.MODE]
+
 export default {
 	name: "install",
+  data() {
+		return {
+			config: {
+				extensionsInstallChannel : 'officeDownload', // chromeAppStore
+				extensionsInstallUrl: ''
+      }
+    }
+  },
   methods: {
 		installExtension() {
-			let url = 'https://d3d9wvhy948gxx.cloudfront.net/extensions/chrome/denet.zip'
-			location.href= url;
+			let {extensionsInstallChannel, extensionsInstallUrl} = this.config;
+			let url = extensionsInstallUrl || "https://d1mcov78iir8kk.cloudfront.net/extensions/chrome/denet1_0_1.zip"
+			switch (extensionsInstallChannel) {
+				case "officeDownload":
+					location.href = url;
+					break;
+				case "chromeAppStore":
+					window.open(extensionsInstallUrl)
+					break;
+			}
 		},
-  }
+		async getConfig() {
+			let {data} = await axios.post(`${baseURL}/denet/base/config/getFrontConfig`, {
+				baseInfo: {
+					appVersionCode: this.appVersionCode,
+					mid: this.mid
+				},
+				params: {
+				}
+			})
+			if (data.code == 0) {
+				this.config = data.data;
+			}
+		},
+  },
+  mounted () {
+		this.getConfig();
+	}
 }
 </script>