OSDN Git Service

update the bapp domain meta logic
authorZhiting Lin <zlin035@uottawa.ca>
Thu, 27 Aug 2020 06:21:24 +0000 (14:21 +0800)
committerZhiting Lin <zlin035@uottawa.ca>
Thu, 27 Aug 2020 06:21:24 +0000 (14:21 +0800)
icons/logo.png
src/assets/bapp/bapp.json
src/popup.js
src/prompt.js
src/utils/utils.js

index 65b66d8..4761ddb 100644 (file)
Binary files a/icons/logo.png and b/icons/logo.png differ
index 403ddf4..ff1558d 100644 (file)
     {
       "icon":"red-packet.jpg",
       "color":"linear-gradient(274.27deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%), #EB4232",
-      "link":"https://bapp.blockmeta.com/redpacket/",
-      "domainsMeta": {
-        "icon": "https://supertx.bymov.io/favicon.ico"
-      }
+      "link":"https://bapp.blockmeta.com/redpacket/"
     }
   ]
 }
index dd67f12..2ddb958 100644 (file)
@@ -77,11 +77,14 @@ store.dispatch(Actions.LOAD_BYTOM).then(() => {
     },
   );
 
-  getDomains().then((domains)=>{
+  const lang = store.getters.language === 'zh'?'cn':'en'
+
+  getDomains(lang).then(({domains, domainMeta})=>{
     const _bytom = store.state.bytom.clone()
 
     if(!domains.every(v => _bytom.settings.domains.includes(v))){
       _bytom.settings.domains = Array.from(new Set(_bytom.settings.domains.concat(domains)))
+      _bytom.settings.domainsMeta = Object.assign(_bytom.settings.domainsMeta, domainMeta)
       store.dispatch(Actions.UPDATE_STORED_BYTOM, _bytom)
     }
   })
index f3ed1b4..2a7cd21 100644 (file)
@@ -79,11 +79,12 @@ store.dispatch(Actions.LOAD_BYTOM).then(() => {
     },
   );
 
-  getDomains().then((domains)=>{
+  getDomains().then(({domains, domainMeta})=>{
     const _bytom = store.state.bytom.clone()
 
     if(!domains.every(v => _bytom.settings.domains.includes(v))){
       _bytom.settings.domains = Array.from(new Set(_bytom.settings.domains.concat(domains)))
+      _bytom.settings.domainsMeta = Object.assign(_bytom.settings.domainsMeta, domainMeta)
       store.dispatch(Actions.UPDATE_STORED_BYTOM, _bytom)
     }
   })
index fbe240d..ec662ef 100644 (file)
@@ -54,21 +54,43 @@ export function removeFromArray(original, remove) {
   return original.filter(value => !remove.includes(value));
 }
 
-export function getDomains(){
+export function getDomains(lang = 'en'){
   let domains = bappData.list.filter( l => l.link!== undefined).map(a => a.link.split('/')[2]);
   const crossChainLink = "crosschain.bymov.io"
 
+  let domainMeta = {
+    "crosschain.bymov.io":{
+      icon: "https://crosschain.bymov.io/favicon.ico",
+      title: "MOV"
+    }
+  }
+
+  updateDomainMeta(bappData, domainMeta, lang)
+
   return fetch(bappRequestUrl)
     .then(response => response.json())
     .then(json => {
       if(!_.isEqual(json, bappData)){
         domains = json.list.filter( l => l.link!== undefined).map(a => a.link.split('/')[2]);
+        updateDomainMeta(json, domainMeta, lang)
       }
 
       domains.push(crossChainLink)
-      return domains;
+      return {domains, domainMeta};
     }).catch((e)=>{
       domains.push(crossChainLink)
-      return domains;
+      return {domains, domainMeta};
     });
 }
+
+function updateDomainMeta(jsonData, domainMeta, lang){
+  const list = jsonData.list
+  for(let index in list){
+    const meta = list[index].domainsMeta
+    if(meta){
+      meta.title = jsonData[lang][index].title
+      const domain = list[index]['link'].split('/')[2]
+      domainMeta[domain] = meta
+    }
+  }
+}