<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 程序猿视觉</title>
    <description>The latest articles on DEV Community by 程序猿视觉 (@vpanda666).</description>
    <link>https://dev.to/vpanda666</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F880295%2Fc09c2fbc-66a0-4975-9243-6e5d70111726.png</url>
      <title>DEV Community: 程序猿视觉</title>
      <link>https://dev.to/vpanda666</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vpanda666"/>
    <language>en</language>
    <item>
      <title>Simple beautiful fast admin template:vue3+elementplus+pinia+echart</title>
      <dc:creator>程序猿视觉</dc:creator>
      <pubDate>Tue, 21 Jun 2022 10:21:58 +0000</pubDate>
      <link>https://dev.to/vpanda666/simple-and-beautiful-admin-managementvue3elementpluspiniaechart-1j8a</link>
      <guid>https://dev.to/vpanda666/simple-and-beautiful-admin-managementvue3elementpluspiniaechart-1j8a</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;TodoAdmin-Vue:It is an integrated management back-end template solution. The project uses TS script language and is based onVue 3.2+/Vue-cli 5.0+/Vue-router 4.0+、Axios0.2.7+、Element-plus 2.2+、Pinia 2.0+、ECharts 5.3+,The project is composition API style,use remote API &amp;amp; mock dual interface mode to load data.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xPgx7n89--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/txq74vuijxw7daqhe8jp.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xPgx7n89--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/txq74vuijxw7daqhe8jp.gif" alt="todoadmin dashboard vue3 pinia element-plus mock echarts" width="640" height="360"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0tfFa5eM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r9bqa3hgpo8j96pc2gfc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0tfFa5eM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r9bqa3hgpo8j96pc2gfc.gif" alt="todoadmin dashboard vue3 pinia element-plus mock echarts" width="640" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://pro.todoadmin.com"&gt;Todoadmin-pro Pro demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://base.todoadmin.com"&gt;Todoadmin-base Basic demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Username：guest&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Password：123456&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/todoadmin/vue-admin-chart"&gt;Clone Github repository&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Clone&lt;/span&gt;
git clone &lt;span class="nt"&gt;-b&lt;/span&gt;  https://github.com/todoadmin/vue-admin-chart.git
&lt;span class="c"&gt;# install&lt;/span&gt;
npm i
&lt;span class="c"&gt;# run project&lt;/span&gt;
npm run serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;a href="https://gitee.com/todoadmin/vue-admin-chart"&gt;Clone Gitee repository&lt;/a&gt;
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Clone&lt;/span&gt;
git clone &lt;span class="nt"&gt;-b&lt;/span&gt;  https://gitee.com/todoadmin/vue-admin-chart.git
&lt;span class="c"&gt;# install&lt;/span&gt;
npm i
&lt;span class="c"&gt;# run project&lt;/span&gt;
npm run serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Ecosystem
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Project&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/vuejs/vue"&gt;vue&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/vuejs/vue"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--THKbXZC8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/Vue-v3.2.36-brightgreen" alt="vue-ico" width="84" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Progressive JS Framework&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/vuejs/vue-router"&gt;vue-router&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/vuejs/vue-router"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a6wBJvug--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/Vue--router-v4.0.15-brightgreen" alt="vue-router-ico" width="122" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Single-page application routing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/vuejs/vue-cli"&gt;vue-cli&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/vuejs/vue-cli"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wcMZrFzT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/Vue--cli-v5.0.1-brightgreen" alt="vue-cli-ico" width="92" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Project scaffolding&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/axios/axios"&gt;axios&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/axios/axios"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n_w4pLZS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/axios-v0.2.7-brightgreen" alt="axios-ico" width="84" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Promise network request Library&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/element-plus/element-plus"&gt;element-plus&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/element-plus/element-plus"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ralYWqM8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/element--plus-v2.2.2-brightgreen" alt="element-plus-ico" width="128" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Vue3 component library&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/element-plus/element-plus-icons"&gt;element-plus-icons&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/element-plus/element-plus-icons"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--71GZAq1u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/element--plus--icons-2.x-brightgreen" alt="element-plus-icons-ico" width="142" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Vue3 component Icon library&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/vueup/vue-quill"&gt;vue-quill&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/vueup/vue-quill"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rW3GbosY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/Vue--quill-v1.0.0--beta.8-brightgreen" alt="vue-quill-ico" width="144" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Visual online text editor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/kensnyder/quill-image-resize-module"&gt;quill-image-resize&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/kensnyder/quill-image-resize-module"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TOp6Ex11--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/Quill--image--resize-v3.0.0-brightgreen" alt="quill-image-resize-ico" width="156" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;online text resize image&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/xyxiao001/vue-cropper"&gt;vue-cropper&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/xyxiao001/vue-cropper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fbTUhd9u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/vue--cropper-v1.0.3-brightgreen" alt="vue-cropper-ico" width="122" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;vue image cropper&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/vuejs/pinia"&gt;pinia&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/vuejs/pinia"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jyFFuEYC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/Pinia-v2.0.14-brightgreen" alt="pinia-ico" width="90" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;state management&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/intlify/vue-i18n-next/tree/master/packages/vue-i18n"&gt;vue-i18n-next&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/intlify/vue-i18n-next/tree/master/packages/vue-i18n"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zfBiPGcQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/Vue--i18n-v9.1.10-brightgreen" alt="vue-i18n-next-ico" width="112" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Multi language&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/emn178/js-md5"&gt;js-md5&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/emn178/js-md5"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--D1v9O9aQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/js--md5-v0.7.3-brightgreen" alt="js-md5-ico" width="94" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;MD5 encryption&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/rstacruz/nprogress"&gt;nprogress&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/rstacruz/nprogress"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RBIbSWCa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/nprogress-v0.2.0-brightgreen" alt="nprogress-ico" width="110" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Progress bar loading&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="http://echarts.apache.org"&gt;echarts&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="http://echarts.apache.org"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sqE1SN53--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.shields.io/badge/echarts-v5.3.2-brightgreen" alt="echarts-ico" width="96" height="20"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;echarts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Install（dependencies）
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install   or  yarn install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Run dev
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run serve  or  yarn serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Build production
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run build  or  yarn build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ESLint
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run lint
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  setting
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;config.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Rendering Preview
&lt;/h2&gt;

&lt;p&gt;The following is the screenshot of the pro version：&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9LdcSy-1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6q8qwcad4fy39f38ep4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9LdcSy-1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6q8qwcad4fy39f38ep4e.png" alt="todoadmin dashboard admin management visual data screen " width="880" height="532"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vsn1pUHH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/boi3bba988dnzlqz76x5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vsn1pUHH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/boi3bba988dnzlqz76x5.png" alt="todoadmin banner list" width="880" height="532"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uVvkUpsG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hawxa2p5vbswmput1ld7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uVvkUpsG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hawxa2p5vbswmput1ld7.png" alt="todoadmin dashboard" width="880" height="532"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7noSBcZK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bwu84ajqu8sbpj968qm3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7noSBcZK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bwu84ajqu8sbpj968qm3.png" alt="todoadmin visual data big screen" width="880" height="532"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IbpXAek4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9o02c67wdke1yf78zxbg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IbpXAek4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9o02c67wdke1yf78zxbg.png" alt="todoadmin dashboard map json" width="880" height="532"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jJGCqVMl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zyp0bnz9ivjparvrubu6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jJGCqVMl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zyp0bnz9ivjparvrubu6.png" alt="todoadmin vue element pinia mock php springboot" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction functions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Web&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CDN Distributed js/ css / image / map json data&lt;/li&gt;
&lt;li&gt;Adopted exclusively API remote real-time interface and mock data, and API or mock can be switched freely&lt;/li&gt;
&lt;li&gt;120+ high quality components page&lt;/li&gt;
&lt;li&gt;The management real-time interface data transmission&lt;/li&gt;
&lt;li&gt;Real time generation of large screen dynamic chart of visual data&lt;/li&gt;
&lt;li&gt;Real-time data websocket interaction&lt;/li&gt;
&lt;li&gt;Composition API models&lt;/li&gt;
&lt;li&gt;JWT authentication&lt;/li&gt;
&lt;li&gt;Real-time monitoring system &amp;amp; server resource usage&lt;/li&gt;
&lt;li&gt;Commercially available free of charge&lt;/li&gt;
&lt;li&gt;PC, mobile, tablet and other multi terminal compatibility&lt;/li&gt;
&lt;li&gt;Dynamic routing menu authentication&lt;/li&gt;
&lt;li&gt;Support MarkDown(md) file to Vue Component page&lt;/li&gt;
&lt;li&gt;Support mock data and remote data&lt;/li&gt;
&lt;li&gt;Support button function permission control&lt;/li&gt;
&lt;li&gt;Support the assignment of roles and permissions of member and administrator&lt;/li&gt;
&lt;li&gt;Support multiple theme switching and adding custom theme styles&lt;/li&gt;
&lt;li&gt;Support multi language text switching&lt;/li&gt;
&lt;li&gt;Support Pinia state management&lt;/li&gt;
&lt;li&gt;Support for custom Vue directives&lt;/li&gt;
&lt;li&gt;Support docking with third-party logistics platforms&lt;/li&gt;
&lt;li&gt;Support binding third-party accounts&lt;/li&gt;
&lt;li&gt;Support log tracing (member and administrator operation)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Restful &amp;amp; Websocket&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go apis ver（1.7+）&lt;/li&gt;
&lt;li&gt;PHP apis ver （8.0.2 +）/Swoole （4.8+）&lt;/li&gt;
&lt;li&gt;SpringBoot apis ver （2.2+）&lt;/li&gt;
&lt;li&gt;Support multiple open source relational database switching：MySQL、MariaDB、PostgreSQL、openGauss、TiDB&lt;/li&gt;
&lt;li&gt;Supports multiple memory database switching：Redis、Memcached&lt;/li&gt;
&lt;li&gt;Cluster supporting relational database&lt;/li&gt;
&lt;li&gt;Cluster supporting memory database&lt;/li&gt;
&lt;li&gt;Support cloud storage and CDN distribution of static files (images, videos, documents, ...) &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>vue</category>
      <category>vueadmin</category>
      <category>adminlte3</category>
      <category>admintemplate</category>
    </item>
  </channel>
</rss>
