vue項目中所使用的element-UI / echarts

在這里插入圖片描述
高清版思維導圖見后臺管理項目地址

1.login登錄頁面

< el-form >表單

在 Form 組件中,每一個表單域由一個 Form-Item 組件構成,表單域中可以放置各種類型的表單控件,包括 Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker
Form 組件提供了表單驗證的功能,只需要通過 rules 屬性傳入約定的驗證規則,并將 Form-Item 的 prop 屬性設置為需校驗的字段名即可。


<el-form 
label-position="top"  --【 對齊方式 (頂部對齊)  登錄-換行-input的形式】
label-width="80px"  -- 【表單域標簽的寬度。作為 Form 直接子元素的 form-item 會繼承該值。支持 auto】
:model="formdata"  -- 【雙向數據綁定,表單數據對象】
class="login-form" 
:rules="rules"  -- 【表單驗證規則
ref="formdata" -- 【vue操作dom元素】
><el-form-item label="用戶名"  -- 【label是form-item的屬性】prop="username" -- 【設置為需校驗的字段名】><el-inputv-model="formdata.username"placeholder="請輸入一個美麗的用戶名"prefix-icon="el-icon-s-custom"></el-input></el-form-item><el-form-item label="密碼" prop="password"><el-input v-model="formdata.password" type="password"placeholder="請輸入密碼"prefix-icon="el-icon-s-goods" -- 【input標簽內使用圖標】show-password --【可顯示密碼】></el-input></el-form-item>
</el-form>

2.主頁home頁面

2.1< el-container > 布局容器

用于布局的容器組件,方便快速搭建頁面的基本結構:

< el-container>:外層容器。當子元素中包含 或 時,全部子元素會垂直上下排列,否則會水平左右排列。

< el-header>:頂欄容器。

< el-aside>:側邊欄容器。

< el-main>:主要區域容器。

< el-footer>:底欄容器。

以上組件采用了 flex 布局,使用前請確定目標瀏覽器是否兼容。此外,< el-container> 的子元素只能是后四者,后四者的父元素也只能是 < el-container>。

<el-container><el-header>Header</el-header><el-container><el-aside width="200px">Aside</el-aside><el-main>Main</el-main></el-container>
</el-container>

2.2 Layout 布局

通過基礎的 24 分欄,迅速簡便地創建布局。
用于< el-header>

<el-row><el-col :span="4" -- 【柵格占據的列數】> </el-col><el-col :span="16"></el-col><el-col :span="4"></el-col>
</el-row>

因此登錄頁面的【登錄】【重置】按鈕應使用layout布局

<el-row 
justify="center" -- 【flex 布局下的水平排列方式】
type="flex" -- 【布局模式,可選 flex,現代瀏覽器下有效】
><el-button type="primary" class="login-btn" @click="handleLogin('formdata')" >登錄</el-button><el-button @click="resetForm('formdata')" type="info" class="login-btn" >重置</el-button>
</el-row>

2.3 < el-menu>導航菜單-側欄

  1. 導航菜單默認為垂直模式,通過mode屬性可以使導航菜單變更為水平模式。另外,在菜單中通過submenu組件可以生成二級菜單。Menu 還提供了background-color、text-color和active-text-color,分別用于設置菜單的背景色、菜單的文字顏色和當前激活菜單的文字顏色。
  2. 通過el-menu-item-group組件可以實現菜單進行分組,分組名可以通過title屬性直接設定,也可以通過具名 slot 來設定。-- 在項目中未用到,因為菜單是動態生成而非一一列舉的,
<el-aside class="aside" width="200px"><el-col :span="24"><el-menudefault-active="2" -- 【當前激活菜單的 index】class="el-menu-vertical-demo"@open="handleOpen"@close="handleClose"background-color="teal"text-color="#fff"active-text-color="#ffff33":unique-opened= true -- 【是否只保持一個子菜單的展開】:router= true -- 【是否使用 vue-router 的模式,啟用該模式會在激活導航時以 index 作為 path 進行路由跳轉】><el-submenu  -- 【啟用二級菜單】:index="item1.order.toString()"  -- 【渲染一級菜單,index1~5】v-for="(item1,i) in menus" :key="item1.id"><template slot="title"> -- 【↖一級菜單】<i :class="iconlist[i]"></i><span>{{item1.authName}}</span></template><el-menu-item  -- 【二級菜單】:index="item2.path" v-for="item2 in item1.children" :key="item2.id"><i class="el-icon-menu"></i><span>{{item2.authName}}</span></el-menu-item></el-submenu></el-menu></el-col>
</el-aside>

2.4< el-main>

<el-main class="main"><router-view></router-view>
</el-main>

2.5 < el-card>

將信息聚合在卡片容器中展示。

3. < el-main>–users/goods 用戶/商品列表頁面

3.1 面包屑

為了可復用,自定義組件 src/components/cuscom/myBread.vue

通過Prop向子組件傳遞數據
Vue 的組件作用域都是孤立的,不允許在子組件的模板內直接引用父組件的數據。必須使用特定的方法才能實現組件之間的數據傳遞。
所有的 prop 都使得其父子 prop 之間形成了一個單向下行綁定:父級 prop 的更新會向下流動到子組件中,但是反過來則不行.當然對 props 傳遞的參數應該添加一些驗證規則;當 prop 驗證失敗的時候,(開發環境構建版本的) Vue 將會產生一個控制臺的警告。

子組件:
<template><!-- 面包屑 --><el-breadcrumb separator-class="el-icon-arrow-right"><el-breadcrumb-item :to="{ path: '/' }">首頁</el-breadcrumb-item><el-breadcrumb-item>{{level1}}</el-breadcrumb-item><el-breadcrumb-item>{{level2}}</el-breadcrumb-item></el-breadcrumb>
</template>
<script>
export default {props: ['level1', 'level2'],name: 'my-bread'
}
</script>
父組件:
<my-bread level1="商品管理" level2="商品列表"></my-bread>

3.2 搜索框

< el-input>

3.3 < el-table>列表

<el-table 
:data="userlist" 
height="450" 
border style="width: 100%;margin-top: 15px"
><el-table-column type="index" -- 【對應列的類型。如果設置了 selection 則顯示多選框;如果設置了 index 則顯示該行的索引(從 1 開始計算);如果設置了 expand 則顯示為一個可展開的按鈕】prop="id" -- 【對應列內容的字段名,表格使用在于數據配置】label="序號"width="50"></el-table-column><el-table-column prop="userlist" label="創建日期"><template slot-scope="userlist">{{userlist.row.create_time | fmtdate}}</template></el-table-column>
</el-table>

3.3.1 el-switch狀態開關

<el-switch v-model="userlist.row.mg_state" active-color="#13ce66" inactive-color="#ff4949" @change="changeState(userlist.row)">
</el-switch>

3.3.2 按鈕el-button中使用icon

使用type、plain、round和circle屬性來定義 Button 的樣式。

<el-buttontype="danger"icon="el-icon-delete"size="small"circle @click="delUser(userlist.row.id)"></el-button>

3.3.3 表格 - 展開行

通過設置 type=“expand” 和 Scoped slot 可以開啟展開行功能,el-table-column 的模板會被渲染成為展開行的內容,展開行可訪問的屬性與使用自定義列模板時的 Scoped slot 相同。

角色列表展開效果:
在這里插入圖片描述
!注意以下幾個el-table-column都是并列關系,展開內容就像是新增一列,但是現實效果展開后表頭的下方。

<el-table :data="roleList" height="450" border style="width: 100%;margin-top: 15px"><el-table-column type="expand" prop="roleList">... 這里面是要展開的內容...</el-table-column><el-table-column type="index" prop="id" label="序號" width="80"></el-table-column><el-table-column prop="roleName" label="角色名稱" width="180"></el-table-column>
</el-table>

3.3.4 tag標簽

這里比較難的是結構
在這里插入圖片描述

<el-table-column type="expand" prop="roleList"><template  slot-scope = "scope"><!-- 一級 一行兩列 --><span v-if="scope.row.children.length===0">該角色無權限</span><el-row v-for="(item1,i) in scope.row.children" :key="i"><!-- 第一列中放一級標簽 --><el-col :span="4"><!-- 可移除標簽,這里展示一級標簽,綁定取消權限方法 --><el-tag closable @close="delRight(item1.id,scope.row)">{{item1.authName}}</el-tag></el-col><el-col :span="20"><!-- 第二列也是一行兩列 --><el-row v-for="(item2,index) in item1.children" :key="index"><!-- 第二行第一列中放二級標簽 --><el-col :span="4"><el-tag type="success" closable @close="delRight(item2.id,scope.row)">{{item2.authName}}</el-tag></el-col><el-col :span="20"><el-tag @close="delRight(item3.id,scope.row)" closable type="warning" v-for="(item3,indexInner) in item2.children" :key="indexInner">{{item3.authName}}</el-tag></el-col></el-row></el-col></el-row></template>
</el-table-column>

3.3.5 表格流體高度(滾動條)

通過設置max-height屬性為 Table 指定最大高度。此時若表格所需的高度大于最大高度,則會顯示一個滾動條。

3.3.6 Tree樹形控件

關鍵在于配置,和綁定請求到數據的屬性名,善用組件提供的方法

node-key的值,是treelist這個數據來源中的該值的key名
:default-expanded-keys=“allRoleId” 不需要forEach獲得所有id了,這一個屬性就完成所有功能
check-strictly在顯示復選框的情況下,是否嚴格的遵循父子不互相關聯的做法,默認為 false

<el-tree
ref="mytree"
default-expand-all
:data="treelist"
show-checkbox
node-key="id"
:default-checked-keys="checklistArr"
:props="defaultProps">
</el-tree>

注意:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

async confirmRole () {this.dialogFormVisibleRight = false// getCheckedKeys若節點可被選擇(即 show-checkbox 為 true),則返回目前被選中的節點的 key 所組成的數組// getHalfCheckedKeys若節點可被選擇(即 show-checkbox 為 true),則返回目前半選中的節點的 key 所組成的數組// 角色授權接口post roles/:roleId/rights請求體ridslet arr1 = this.$refs.mytree.getCheckedKeys()let arr2 = this.$refs.mytree.getHalfCheckedKeys()let arr = [...arr1, ...arr2]const res = await this.$http.post(`roles/${this.currentRoleId}/rights`, {rids: arr.join(',')})console.log('設置角色', res)this.getRoleList()
}
editRight (role) {this.dialogFormVisibleRight = truethis.checklist = role.childrenthis.currentRoleId = role.id//  這里只展示現有的功能this.getRightsList()// 將所有權限的id賦值給數組allRoleId// console.log('role', role)// console.log('checklist:', this.checklist)// 問題:發現這里拿不到treelistvar tmpArr = []this.checklist.forEach(item1 => {// tmpArr.push(item1.id)var item2 = item1.childrenitem2.forEach(item2 => {//   tmpArr.push(item2.id)var item3 = item2.childrenitem3.forEach(item3 => {tmpArr.push(item3.id)})})})this.checklistArr = tmpArr
},

3.4 < el-pagination>分頁

<el-pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="queryinfo.pagenum":page-sizes="[2, 5, 10, 15]":page-size="queryinfo.pagesize"layout="total, sizes, prev, pager, next, jumper":total="total">
</el-pagination>

4.商品管理

4.1 params分類參數

在這里插入圖片描述

4.1.1 Alert 警告

<el-alerttitle="只允許為第三級分類設置參數"type="error">
</el-alert>

4.1.2 Cascader級聯選擇器

4.1.3 Tabs 標簽頁

<el-form ref="form" label-width="80px" ><el-form-item label="商品名稱"> -- 【有form就有form-item】<el-cascader:show-all-levels="false"clearablev-model="value":options="options":props="{expandTrigger: 'hover', label: 'cat_name',value: 'cat_id',children: 'children'}"@change="handleChange"></el-cascader><el-tabs v-model="active" @tab-click="tabsHandleClick"><el-tab-pane label="動態參數" name="1"></el-tab-pane><el-tab-pane label="靜態參數" name="2"></el-tab-pane></el-tabs></el-form-item>
</el-form>

4.2 categories商品分類 - tree-grid樹形結構

在這里插入圖片描述
tree-grid 和table-column一樣使用
treeGrid

1.安裝包
2.
<script>
// 引入tree-grid
var ElTreeGrid = require('element-tree-grid')
export default {// 局部注冊 組件名<el-tree-grid>components: {ElTreeGrid}
</script>
3.
<el-table
:data="options"
border
style="width: 100%"><el-tree-gridtreeKey="cat_id"parentKey="cat_pid"levelKey="cat_level"childKey="children"prop="cat_name"label="分類名稱"width="350"></el-tree-grid><el-table-columnprop="cat_deleted"label="是否有效"></el-table-column>
</el-table>

4.3 添加商品

4.3.1 步驟條

  <!-- 步驟條 樣式改變取決于屬性active--><el-steps :active="parseInt(active)-1" finish-status="success" simple style="margin-top: 20px"><el-step title="基本信息" ></el-step><el-step title="商品參數" ></el-step><el-step title="商品屬性" ></el-step><el-step title="商品圖片" ></el-step><el-step title="商品內容" ></el-step></el-steps>

4.3.2 縱向tabs標簽頁

  <!-- 縱向tabs標簽頁 樣式改變取決于屬性name/activeName--><!-- 最外層要用form包裹 --><el-form ref="form" :model="form" label-width="80px"><el-tabs tab-position="left" style="height:500px;margin-top: 20px;margin-bottom: 30px; overflow: scroll;"v-model="active" @tab-click="handleClick" ><el-tab-pane label="基本信息" name="1"><el-form-item label="商品名稱"><el-input v-model="form.goods_name"></el-input></el-form-item>  </el-tab-pane><el-tab-pane label="商品參數" name="2"><!-- 商品參數 顯示動態信息 checkbox多選框組 checkbox-group元素能把多個 checkbox 管理為一組,只需要在 Group 中使用v-model綁定Array類型的變量即可。--></el-tab-pane><!-- 上傳圖片 upload組件 --><el-tab-pane label="商品圖片" name="4"><el-form-item label-width="auto"><el-uploadaction="http://47.105.184.7:8888/api/private/v1/upload":headers="header":on-preview="handlePreview":on-remove="handleRemove":on-success="handleSuccess":file-list="fileList"list-type="picture"><el-button size="small" type="primary">點擊上傳</el-button><div slot="tip" class="el-upload__tip">只能上傳jpg/png文件,且不超過500kb</div></el-upload></el-form-item></el-tab-pane><el-tab-pane label="商品內容" name="5"><el-form-item label-width="auto"><el-button type="primary" size="small" @click="addGoods">添加商品</el-button><!-- 富文本編輯器 vue-quill-editor --><quill-editor v-model="form.goods_introduce"></quill-editor></el-form-item></el-tab-pane></el-tabs></el-form>

4.3.3 el-upload上傳圖片

<el-tab-pane label="商品圖片" name="4"><el-form-item label-width="auto"><el-uploadaction="http://47.105.184.7:8888/api/private/v1/upload":headers="header":on-preview="handlePreview":on-remove="handleRemove":on-success="handleSuccess":file-list="fileList"list-type="picture"><el-button size="small" type="primary">點擊上傳</el-button><div slot="tip" class="el-upload__tip">只能上傳jpg/png文件,且不超過500kb</div></el-upload></el-form-item>
</el-tab-pane>

5.Dialog 對話框 - 彈框

<el-dialogtitle="提示":visible.sync="dialogVisible"width="30%":before-close="handleClose"><span>這是一段信息</span><span slot="footer" class="dialog-footer"><el-button @click="dialogVisible = false">取 消</el-button><el-button type="primary" @click="dialogVisible = false">確 定</el-button></span>
</el-dialog>

6.導入

6.1 自定義組件 - 面包屑

myBread.vue

<template><!-- 面包屑 --><el-breadcrumb separator-class="el-icon-arrow-right" class="mybreadcrumb"><el-breadcrumb-item :to="{ path: '/' }">首頁</el-breadcrumb-item><el-breadcrumb-item>{{level1}}</el-breadcrumb-item><el-breadcrumb-item>{{level2}}</el-breadcrumb-item></el-breadcrumb>
</template>
<script>
export default {props: ['level1', 'level2'],name: 'my-bread'
}
</script>
<style scoped>
.mybreadcrumb {margin-bottom: 15px;
}
</style>

main.js

import myBread from '@/components/cuscom/myBread.vue'
Vue.component(myBread.name, myBread)

6.2 富文本編輯器

npm上搜 vue-quill-editor

npm install vue-quill-editor --save

html:

<quill-editor v-model="form.goods_introduce"></quill-editor>

js:(按需)局部注冊組件

mount with component
// require styles
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'import { quillEditor } from 'vue-quill-editor'export default {components: {quillEditor}
}

6.3 非element-UI的樹形結構

npm搜索element-tree-grid

npm install element-tree-grid --save

html:
適用于< el-table>,可以直接像< el-table-column>一樣使用

<el-tree-gridtreeKey="cat_id"parentKey="cat_pid"levelKey="cat_level"childKey="children"prop="cat_name"label="分類名稱"width="350"
>
</el-tree-grid>

js:

var ElTreeGrid = require('element-tree-grid')
export default {// 局部注冊 組件名<el-tree-grid>components: {ElTreeGrid}
}

6.4 城市數據

html:

<el-cascader
:options="citydata"
>
</el-cascader>

js:

import cityData from '@/assets/city_data2017_element.js'
export default {data () {return {citydata: []}}

6.5 數據報表echarts

echarts文檔

6.5.1 安裝

npm install echarts --save

6.5.2 引入 ECharts

html:

<!-- 為echart準備一個div容器 -->
<div id="main" style="width: 600px;height:400px;"></div>

js:

var echarts = require('echarts')
export default {data () {return {}},methods: {async useEchart () {// initvar myChart = echarts.init(document.getElementById('main'))const res = await this.$http.get(`reports/type/1`)// legend:// data: (5) ["華東", "華南", "華北", "西部", "其他"]// __proto__: Object// series: (5) [{…}, {…}, {…}, {…}, {…}]// xAxis: [{…}]// yAxis: [{…}]let option1 = {title: {text: '用戶來源'},tooltip: {trigger: 'axis',axisPointer: {type: 'cross',label: {backgroundColor: '#E9EEF3'}}},toolbox: {feature: {saveAsImage: {}}},grid: {left: '3%',right: '4%',bottom: '3%',containLabel: true}}console.log('數據報表', res)let option2 = res.data.datalet option = {...option1, ...option2}console.log(option)// setOptionmyChart.setOption(option)}},mounted () {// 這里操作元素this.useEchart()}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251383.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251383.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251383.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

es6 --- 使用yield*命令遍歷完全二叉樹

首先定義二叉樹的結構: // 定義二叉樹的結構 function Tree(left, label, right) {this.left left;this.label label;this.right right; }// 對二叉樹采用中序遍歷 function* inorder(t) {if(t) {yield* inorder(t.left);yield t.label;yield* inorder(t.right);} }// 生成…

面向對象之繼承與派生

閱讀目錄 一 初識繼承二 繼承與抽象&#xff08;先抽象再繼承&#xff09;三 繼承與重用性四 派生五 組合與重用性六 接口與歸一化設計七 抽象類八 繼承實現的原理&#xff08;可惡的菱形問題&#xff09;九 子類中調用父類的方法一 初識繼承 什么是繼承 繼承是一種創建新類的方…

SpringBoot(十三)-- 不同環境下讀取不同配置

一、場景&#xff1a; 在開發過程中 會使用 開發的一套數據庫&#xff0c;測試的時候 又會使用測試的數據庫&#xff0c;生產環境中 又會切換到生產環境中。常用的方式是 注釋掉一些配置&#xff0c;然后釋放一下配置。SpringBoot提供了在不同環境下切換不同配置的功能&#xf…

MDN文檔基礎知識搜集

Array數組&#xff0c;一種允許你存儲多個值在一個引用里的結構。var myVariable [1,Bob,Steve,10]; 引用數組的元素只需&#xff1a;myVariable[0], myVariable[1], 等等. 發布工具: FTP 客戶端 你還需要一種將文件從本地硬盤上傳到遠程Web服務器的方法。 為了做到這一點&am…

vue-cli生成項目時你應當知道的

一、安裝 npm install -g vue-cli二、創建項目 vue init 模板名 項目名 vue init webpack mymall模板名: 1 . webpack 最常用 2 . webpack-simple // 一個簡單webpackvue-loader的模板&#xff0c;不包含其他功能。 3 . browserify // 一個全面的Browserifyvueify 的模板&am…

es6 --- 正確獲取Generator函數內部的this對象使其可以使用new

首先看2個例子 function * g() {this.a 11; }let o g(); console.log(o.a);可以看見Generator函數里面的this指向的對象取不出來. 再看下一個例子: function* F() {yield this.x 2;yield this.y 3; } new F();可以看出Generator函數無法使用new操作符, 下面一共一個解決…

mysql三-3:完整性約束

閱讀目錄 一 介紹二 not null與default三 unique四 primary key五 auto_increment六 foreign key七 作業一 介紹 約束條件與數據類型的寬度一樣&#xff0c;都是可選參數 作用&#xff1a;用于保證數據的完整性和一致性主要分為&#xff1a; PRIMARY KEY (PK) 標識該字段為該…

LOL

[分享] 從《LOL》談游戲中的隨機動作優化 http://bbs.gameres.com/thread_472292.html 光子工作室陳宇復盤《全民突擊》研發歷程&#xff08;完整版&#xff09; https://mp.weixin.qq.com/s?__bizMjM5OTc2ODUxMw&mid400110877&idx2&sn372fd6492a9d8dd1791d87eb2c…

超級簡易法上傳本地文件到github上

之前文章寫過廖雪峰老師關于git教程的帖子&#xff0c;現在終于有時間實踐了&#xff01;我這段時間在學微信小程序版的貪吃蛇&#xff0c; 想著先把寫好的文件上傳試試&#xff0c;于是乎&#xff0c;便有了如下…… 大家要是不想聽廢話可以拉到最后去…… 1、我先在github…

es6 --- 對任意對象部署可遍歷接口

有時候需要對對象進行遍歷,下面提供一個比較方便的接口, 其基本思路是,首先得到對象的所有鍵(key), 然后將其放在yield* 后面. yield* 可以通過 for … of … 循環遍歷 具體實現如下: function* iterEntries (obj) {let keys Object.keys(obj);for ( let i 0; i < keys.…

element-ui表單驗證:用戶名、密碼、電話、郵箱

之前設計login組件時增加了簡單的表單驗證&#xff0c;因此對應的users組件&#xff0c;添加用戶功能也必須設置相應的驗證規則。 文檔form表單驗證只提供了用戶名/密碼&#xff0c;是否必須/長度限制的驗證。對于電話、郵箱和地址的驗證如下&#xff1a; html部分&#xff0c…

composer(作曲家)安裝php-ml

剛開始我用的是up5.6版本php命令安裝composer 后來使用composer時發現命令行會提示php版本太低 于是我下載了wamp&#xff0c;使用7.1版本的php重新安裝了composer&#xff0c;因為php-ml要求必須是7.1版本 在安裝的時候有一些問題&#xff0c;那就是安裝不成功&#xff0c;并沒…

前端解析返回的對象時json顯示$ref問題的解決

在mapper中寫的語句&#xff0c;結果集中association&#xff0c;采用的一個對象&#xff0c;整個list列表中每個元素有一個對象元素&#xff0c;如果第二個元素中有一個與第一個元素中對象同名的&#xff0c;就會去引用上一個元素的地址&#xff0c;在json前臺解析的時候就不會…

Uncaught TypeError: Cannot redefine property: $router

原因&#xff1a;就如報錯提示所描述的&#xff0c;不能重新定義router&#xff0c;說明是重復定了router&#xff0c;說明是重復定了router&#xff0c;說明是重復定了router。通常是因為在項目中安裝了vue-router的依賴并且用Vue.use()使用了vue-router&#xff0c;還在index…

微信小程序模仿開眼視頻app(一)——視頻首頁、視頻詳情、分類

可到我的github賬號上去copy文件 先展示一下我實現了的功能吧 提示&#xff0c;如果有出現無法加載域名之類問題的的&#xff0c;可以在“設置”-“項目設置”-打鉤“不校驗合法域名……”&#xff1b; 或者直接登錄自己的微信小程序后臺設置域名信息 首頁部分&#xff1a; 1…

es6 --- Thunkify源碼分析

首先看一個例子:讀取package.json下的文件,并將讀取的數據(若讀取失敗)打印出來 // 導入fs和thunkify模塊 var thunkify require(thunkify); var fs require(fs);// 定義讀取文件的函數read var read thunkify(fs.readFile);// 調用read函數讀取package.json下的文件.并對數…

(轉)C# WebApi 身份認證解決方案:Basic基礎認證

原文地址&#xff1a;http://www.cnblogs.com/landeanfen/p/5287064.html 閱讀目錄 一、為什么需要身份認證二、Basic基礎認證的原理解析 1、常見的認證方式2、Basic基礎認證原理三、Basic基礎認證的代碼示例 1、登錄過程2、/Home/Index主界面3、WebApiCORS驗證部分&#xff08…

commit之后,想撤銷commit

git reset --soft HEAD^轉載于:https://www.cnblogs.com/gjack/p/9271556.html

ZNZD平臺vue項目

一、安裝配置node.js 1.1 配置企業級軟件倉庫 1&#xff09;首先用的是Nexus Repository Manager搭建npm私服&#xff1b;&#xff08;待補充&#xff09; 2&#xff09;項目使用修改.npmrc文件來修改源 現在需要做的就是修改源&#xff01;采取配置npmrc文件的方式&#x…

微信小程序模仿開眼視頻app(二)——搜索功能

微信小程序模仿開眼視頻app&#xff08;一&#xff09;有介紹首頁、視頻詳情和分類部分 可到我的github賬號上去copy文件 搜索部分 一開始沒想要設置歷史記錄啊、熱門搜索啊這些的&#xff0c;只是想把搜索框弄好看一點&#xff0c;無意中發現了微信官方ui庫&#xff1a;weu…