国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

動態(tài)獲取 微信小程序appid / 自定義啟動命令

這篇具有很好參考價值的文章主要介紹了動態(tài)獲取 微信小程序appid / 自定義啟動命令。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

官網(wǎng):https://uniapp.dcloud.net.cn/collocation/package.html#%E7%94%A8%E6%B3%95
小程序開發(fā)完成之后需要一套代碼多個小程序使用,每次都需要在manifest.json文件中手動修改,大大增加了開發(fā)的復(fù)雜度。

官網(wǎng):https://uniapp.dcloud.net.cn/collocation/package.html#%E7%94%A8%E6%B3%95
小程序開發(fā)完成之后需要一套代碼多個小程序使用,每次都需要在manifest.json文件中手動修改,大大增加了開發(fā)的復(fù)雜度,動態(tài)獲取appid,便于維護小程序數(shù)據(jù)。

一、修改 package.json 擴展配置

 "uni-app": {
    "scripts": {
      "fbl": {
        "title": "賦百齡",
        "env": {
          "UNI_PLATFORM": "mp-weixin",
          "ENV_TYPE": "fbl"
        },
        "define": {
          "MP-WEIXIN": true
        }
      },
      "wlsc": {
        "title": "無量商城",
        "env": {
          "UNI_PLATFORM": "mp-weixin",
          "ENV_TYPE": "wlsc"
        },
        "define": {
          "MP-WEIXIN": true
        }
      }
    }
  },

補充:

{
    /**
     * package.json其它原有配置 
     * 拷貝代碼后請去掉注釋!
     */
    "uni-app": {// 擴展配置
        "scripts": {
            "custom-platform": { //自定義編譯平臺配置,可通過cli方式調(diào)用
                "title":"自定義擴展名稱", // 在HBuilderX中會顯示在 運行/發(fā)行 菜單中
                "browser":"",  //運行到的目標(biāo)瀏覽器,僅當(dāng)UNI_PLATFORM為h5時有效
                "env": {//環(huán)境變量
                    "UNI_PLATFORM": "",  //基準(zhǔn)平臺
                    "MY_TEST": "", // ... 其他自定義環(huán)境變量
                 },
                "define": { //自定義條件編譯
                    "CUSTOM-CONST": true //自定義條件編譯常量,建議為大寫
                }
            }
        }    
    }
}

Tips: ●
UNI_PLATFORM僅支持填寫uni-app默認(rèn)支持的基準(zhǔn)平臺,目前僅限如下枚舉值:h5、mp-weixin、mp-alipay、mp-baidu、mp-toutiao、mp-qq
● browser
僅在UNI_PLATFORM為h5時有效,目前僅限如下枚舉值:chrome、firefox、ie、edge、safari、hbuilderx
● package.json文件中不允許出現(xiàn)注釋,否則擴展配置無效 ● vue-cli 需更新到最新版,HBuilderX需升級到
2.1.6+ 版本

二、根目錄創(chuàng)建config/env.ts 文件

type EnvConfigType = {
  appid: string
  appName: string
  appLogoUrl: string
}
// 翻倍了
const fbl: EnvConfigType = {
  appid: 'wx123cbb5e',
  appName: '翻倍了',
}

// 為了生存
const wlsc: EnvConfigType = {
  appid: 'wxd4573',
  appName: '為了生存',
}

// 注意:這里的屬性名要和上面package.json中定義的擴展節(jié)點編譯名稱相同
const ENV_CONFIG = {
  fbl,
  wlsc,
}

module.exports = ENV_CONFIG

三、 vite.config.ts 配置文件,修改appid

import { defineConfig } from 'vite'
import VueTypeImports from 'vite-plugin-vue-type-imports'
import uni from '@dcloudio/vite-plugin-uni'

// 導(dǎo)入fs模塊
const fs = require('fs')
// 導(dǎo)入環(huán)境變量配置文件
const ENV_CONFIG = require('./config/env.ts')
const manifestPath = `${__dirname}/src/manifest.json` // 注意一下自己配置的 manifestPath 是否正確
let Manifest = fs.readFileSync(manifestPath, {
  encoding: 'utf-8',
})
function replaceManifest(path: string, value: string) {
  const arr = path.split('.')
  const len = arr.length
  const lastItem = arr[len - 1]

  let i = 0
  const ManifestArr = Manifest.split(/\n/)

  for (let index = 0; index < ManifestArr.length; index++) {
    const item = ManifestArr[index]
    if (new RegExp(`"${arr[i]}"`).test(item)) ++i
    if (i === len) {
      const hasComma = /,/.test(item)
      ManifestArr[index] = item.replace(
        new RegExp(`"${lastItem}"[\\s\\S]*:[\\s\\S]*`),
        `"${lastItem}": ${value}${hasComma ? ',' : ''}`,
      )
      break
    }
  }
  Manifest = ManifestArr.join('\n')
}
// 獲取執(zhí)行命令
const ENV_TYPE = JSON.parse(process.env.UNI_CUSTOM_DEFINE)['ENV_TYPE'] // 打印出來是否正確
// 讀取環(huán)境變量內(nèi)容
const appid = ENV_CONFIG[ENV_TYPE].appid
if (appid) {
  replaceManifest('mp-weixin.appid', `"${appid}"`)
}
fs.writeFileSync(manifestPath, Manifest, { flag: 'w' })

// https://vitejs.dev/config/
export default defineConfig({
  build: {
    // 開發(fā)階段啟用源碼映射:https://uniapp.dcloud.net.cn/tutorial/migration-to-vue3.html#需主動開啟-sourcemap
    sourcemap: process.env.NODE_ENV === 'development',
  },
  plugins: [uni(), VueTypeImports()],
})

四、運行及發(fā)布項目

1、啟動命令

vue-cli開發(fā)者可通過如下命令,啟動釘釘小程序平臺的編譯

運行項目

npm run dev:custom fbl 
npm run dev:custom wlsc  

發(fā)布項目

npm run build:custom fbl
npm run build:custom wlsc 

HBuilderX會根據(jù)package.json的擴展配置,在運行、發(fā)行菜單下,生成自定義菜單(釘釘小程序),開發(fā)者點擊對應(yīng)菜單編譯運行即可,如下圖:
動態(tài)獲取 微信小程序appid / 自定義啟動命令,uni-app,微信小程序,appid,uniapp,vue3
動態(tài)獲取 微信小程序appid / 自定義啟動命令,uni-app,微信小程序,appid,uniapp,vue3
動態(tài)獲取 微信小程序appid / 自定義啟動命令,uni-app,微信小程序,appid,uniapp,vue3動態(tài)獲取 微信小程序appid / 自定義啟動命令,uni-app,微信小程序,appid,uniapp,vue3

2、修改啟動命令

動態(tài)獲取 微信小程序appid / 自定義啟動命令,uni-app,微信小程序,appid,uniapp,vue3

添加指令

    "dev:mp-fbl": "uni -p fbl",
    "dev:mp-wlsc": "uni -p wlsc",
    
    "build:mp-fbl": "uni -p fbl",
    "build:mp-wlsc": "uni -p wlsc",

啟動打包命令:

# 啟動
npm run dev:mp-fbl
npm run dev:mp-wlsc
# 打包
npm run build:mp-fbl
npm run build:mp-wlsc

五、獲取自定義環(huán)境配置的信息

可以在 vite.config.ts 文件中,添加 define 共享選項 。

1、vite 的 define 共享選項

動態(tài)獲取 微信小程序appid / 自定義啟動命令,uni-app,微信小程序,appid,uniapp,vue3

2、配置共享選項

我們可以將處理好的當(dāng)前微信小程序環(huán)境配置信息,放到共享選項中的常量中,修改vite.config.ts文件。

import { defineConfig } from 'vite'
import VueTypeImports from 'vite-plugin-vue-type-imports'
import uni from '@dcloudio/vite-plugin-uni'

// 導(dǎo)入fs模塊
const fs = require('fs')
// 導(dǎo)入環(huán)境變量配置文件
const ENV_CONFIG = require('./config/env.ts')
const manifestPath = `${__dirname}/src/manifest.json`
let Manifest = fs.readFileSync(manifestPath, {
  encoding: 'utf-8',
})
function replaceManifest(path: string, value: string) {
  const arr = path.split('.')
  const len = arr.length
  const lastItem = arr[len - 1]

  let i = 0
  const ManifestArr = Manifest.split(/\n/)

  for (let index = 0; index < ManifestArr.length; index++) {
    const item = ManifestArr[index]
    if (new RegExp(`"${arr[i]}"`).test(item)) ++i
    if (i === len) {
      const hasComma = /,/.test(item)
      ManifestArr[index] = item.replace(
        new RegExp(`"${lastItem}"[\\s\\S]*:[\\s\\S]*`),
        `"${lastItem}": ${value}${hasComma ? ',' : ''}`,
      )
      break
    }
  }
  Manifest = ManifestArr.join('\n')
}
// 獲取執(zhí)行命令
const ENV_TYPE = JSON.parse(process.env.UNI_CUSTOM_DEFINE)['ENV_TYPE']
// 讀取環(huán)境變量內(nèi)容
const appid = ENV_CONFIG[ENV_TYPE].appid
if (appid) {
  replaceManifest('mp-weixin.appid', `"${appid}"`)
}
fs.writeFileSync(manifestPath, Manifest, { flag: 'w' })
console.log(ENV_CONFIG[ENV_TYPE])
// https://vitejs.dev/config/
export default defineConfig({
  build: {
    // 開發(fā)階段啟用源碼映射:https://uniapp.dcloud.net.cn/tutorial/migration-to-vue3.html#需主動開啟-sourcemap
    sourcemap: process.env.NODE_ENV === 'development',
  },
  plugins: [uni(), VueTypeImports()],
  // 定義全局常量替換方式。其中每項在開發(fā)環(huán)境下會被定義在全局,而在構(gòu)建時被靜態(tài)替換。
  define: {
    _PROCESS_ENV_APP_INFO: ENV_CONFIG[ENV_TYPE],
  },
})

3、頁面獲取自定義環(huán)境配置信息

打開App.vue文件,在 onShow 里面去執(zhí)行倉儲的賦值。

1)倉儲創(chuàng)建
import { defineStore } from 'pinia'

export const useAppInfoStore = defineStore('appInfo', () => {
  const appInfo = ref<{ appid: string, appName: string, appLogoUrl: string }>(uni.getStorageSync('_appInfo'))
  // 獲取緩存小程序自定義環(huán)境配置信息
  const setAppInfo = (appData: { appid: string; appName: string; appLogoUrl: string }) => {
    appInfo.value = appData
    uni.setStorage({
      key: '_appInfo',
      data: appData,
    })
  }
  return { setAppInfo, appInfo }
})
2)在App.vue文件中執(zhí)行賦值操作
<script setup lang="ts">
  import { onLaunch, onShow, onHide } from '@dcloudio/uni-app'
  import { useThemesStore, useAppInfoStore } from '@/stores'

  const themesStore = useThemesStore()
  const appInfoStore = useAppInfoStore()

  onLaunch(() => {
    console.log('App Launch')
  })
  onShow(() => {
    console.log('App Show', getCurrentPages())
    themesStore.actionThemeCfg() // 執(zhí)行倉儲賦值
    appInfoStore.setAppInfo(_PROCESS_ENV_APP_INFO) // 設(shè)置app信息
  })
  
  onHide(() => {
    console.log('App Hide')
  })

  // #ifndef MP-WEIXIN
  // 隱藏原生的底部tabbar
  uni.hideTabBar()
  // #endif
</script>

<style lang="scss">
</style>

取值:文章來源地址http://www.zghlxwxcb.cn/news/detail-834131.html

import { useAppInfoStore } from '@/stores'
const { appInfo } = useAppInfoStore()

 <image
   v-if="appInfo.appLogoUrl"
    class="app-logo"
    mode="heightFix"
    :src="appInfo.appLogoUrl"
  />
  <text v-else>{{ appInfo.appName }}</text>

到了這里,關(guān)于動態(tài)獲取 微信小程序appid / 自定義啟動命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 微信小程序的AppID在哪?

    微信小程序的AppID在哪?

    第一步打開百度,搜索微信小程序,進去官網(wǎng),如下圖所示 第二步進去之后,登錄微信小程序的賬號,需要注意的是小程序的賬號和公眾號賬號不一樣,如果沒有的話,需要重新注冊微信小程序賬號,如下圖所示: 第三步進去小程序后臺之后,點擊開發(fā),如下圖所示: 第四

    2024年02月12日
    瀏覽(30)
  • 【微信小程序 | 實戰(zhàn)開發(fā)】配置微信小程序APPID并快速接入

    【微信小程序 | 實戰(zhàn)開發(fā)】配置微信小程序APPID并快速接入

    你是否想要掌握人工智能的最新技術(shù)和應(yīng)用?你是否想要成為未來社會的創(chuàng)新者和領(lǐng)導(dǎo)者?你是否想要和全球的優(yōu)秀導(dǎo)師和同學(xué)一起學(xué)習(xí)和交流?如果你的答案是肯定的,那么歡迎來到床長人工智能教程網(wǎng)站,這里是你實現(xiàn)夢想的起點! 個人名片: ?? 作者簡介:一名大一在

    2024年01月24日
    瀏覽(22)
  • 七、微信小程序運行報錯:Error: AppID 不合法,invalid appid

    七、微信小程序運行報錯:Error: AppID 不合法,invalid appid

    運行報錯:Error: AppID 不合法,invalid appid ———————————————————————————或——————————————————————————— 微信開發(fā)者工具控制臺報錯:TypeError: First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object. 解決:在

    2023年04月09日
    瀏覽(70)
  • 微信小程序——運行他人的項目、尋找appid

    微信小程序——運行他人的項目、尋找appid

    如果想要運行他人寫好的微信小程序且規(guī)避一些報錯的的話,如何實現(xiàn)? 1.導(dǎo)入項目 2.修改appid 首先找到 project.config.json 文件里面的 appid ,然后將appid改為自己小程序的 appid 即可。 自己的appid在哪里找? 1.進入微信公眾平臺https://mp.weixin.qq.com/ 2.有賬號的掃碼登錄,沒賬號的

    2024年02月14日
    瀏覽(22)
  • 查看微信小程序的原始賬號ID和AppId

    查看微信小程序的原始賬號ID和AppId

    略 打開一個小程序,進入小程序后點擊右上角 三個點 點擊小程序的名字 點擊更多資料 更多資料中出現(xiàn)原始賬號ID和AppId 打開一個小程序,進入小程序后點擊右上角 三個點 點擊添加到桌面 回到桌面,找到圖標(biāo)點擊右鍵,在右鍵菜單中點擊屬性 屬性中出現(xiàn)AppId s s s

    2024年02月13日
    瀏覽(22)
  • uni-app微信小程序報錯:更改appid失敗touristappid Error:tourist appid

    uni-app微信小程序報錯:更改appid失敗touristappid Error:tourist appid

    最開始是使用的測試賬號。后面想改成實際賬號。結(jié)果就報錯了。 這個appid一定要是正確的才能上傳代碼。之前我都沒注意。一直點提交都是失敗的。后面才想到appid不對。 我在2個地方操作都是錯的(正確的方法在后面,這里可以跳過不看): 1,最開始我在微信開發(fā)者工具

    2024年02月11日
    瀏覽(34)
  • 【微信小程序入門到精通】— AppID和個性配置你學(xué)會了么?

    【微信小程序入門到精通】— AppID和個性配置你學(xué)會了么?

    對于目前形式,微信小程序是一個熱門,那么我們該如何去學(xué)習(xí)并且掌握之后去做實際項目呢? 為此我特意開設(shè)此專欄,在我學(xué)習(xí)的同時也將其分享給大家! 微信小程序官方文檔可以點擊下方鏈接查詢: 小程序組件參考文檔 小程序API參考文檔 小程序服務(wù)端API參考文檔 如果

    2024年01月19日
    瀏覽(37)
  • 微信小程序在哪里看自己的appId 和 Secret 如何查看

    微信公眾平臺 - 傳送門

    2024年02月11日
    瀏覽(20)
  • 解決微信小程序dom的獲取問題,動態(tài)修改CSS樣式

    解決微信小程序dom的獲取問題,動態(tài)修改CSS樣式

    哥們兒用UNIAPP開發(fā)微信小程序的過程中,遇到這么一個組件 這是插件市場中的一個案例,作者使用的進度條是vant的Circle 環(huán)形進度條 哥們兒開心的很呀,這東西粘貼一下改改數(shù),一天的工作量不就達成了嗎? 但是因為種種原因,我還是太高估自己了,vant引入不進去! 還好哥

    2024年02月05日
    瀏覽(25)
  • 微信小程序自定義組件boundingClientRect獲取到的rect值為null

    const query = wx.createSelectorQuery().in(this) 這一句是最重要的,要用.in(this),this傳入的是自定義組件的實例。 不然獲取到的rect值為null

    2024年02月13日
    瀏覽(93)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包