微信小程式製作個人簡歷

使用微信小程式雲開發製作自己的個人簡歷,簡單高效。

首先需要了解小程式的基本結構以及雲開發模式,及一些css樣式基礎。

使用小程式雲資料庫、vant組件庫實現簡歷內容。

最終效果如下:

首先申請個人微信小程式,具體流程參照官方。

程式碼如下:

index.json

{
  "usingComponents": {
//引入vant組件 "van-progress": "@vant/weapp/progress/index", "van-divider": "@vant/weapp/divider", "van-tag": "@vant/weapp/tag/index", "van-collapse": "@vant/weapp/collapse/index", "van-collapse-item": "@vant/weapp/collapse-item/index", "van-panel": "@vant/weapp/panel/index", "van-toast": "@vant/weapp/toast/index" } }

index.wxml

<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}">
	<!-- 第一個頁面 -->
	<swiper-item>
		<image class='background' src="../../images/user.jpg" mode="aspectFill"></image>
		<view class="myMsg">
			<view class="name">
				<text>陶</text>
				<text>威</text>
				<text>宏</text>
			</view>
			<view class="myText">
				我的簡歷
				<image class="rightImg" src="../../images/right.png"></image>
			</view>
		</view>
		<!-- 走馬燈 -->
		<swiper class="swiperUser" indicator-dots="{{indicatorDotsUser}}" autoplay="{{autoplayUser}}" interval="{{intervalUser}}" duration="{{durationUser}}" vertical="{{verticalUser}}" circular="{{circularUser}}" display-multiple-items="{{2}}">
			<block wx:for="{{userlist}}" wx:key="index">
				<swiper-item class="swiperItemUser">
					<view class="swiperItemUserMsg">
						<image class="userImg" src="{{item.userImg}}"></image>
						<view class="zanWord">{{item.name}}剛剛贊了你一下</view>
					</view>
				</swiper-item>
			</block>
		</swiper>

		<view class="myJob">
			<view>PHP程式設計師</view>
			<text class="jobYear">4年項目經驗</text>
			<button class="zanBtn" wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">
				<image class="zanImg" src="../../images/zan.png"></image>
				<block>點個贊吧</block>
			</button>
      <van-toast id="van-toast" />
		</view>
<!-- 第二個頁面 -->
	</swiper-item>
	<swiper-item>
		<van-divider contentPosition="left" customStyle="font-size: 30px;color:#8eaadb;border-color:#8eaadb;margin-bottom:20px;">基本資料</van-divider>
		<view class="myData">
			<view>姓名:陶威宏</view>
			<view>年齡:27</view>
		</view>
		<view class="myData">
			<view>電話:176****6021</view>
			<view>性別:男</view>
		</view>
		<view class="myData">郵箱:44298****@qq.com</view>
		<view class="myData marginBottom">地址:北京市朝陽區**(6號線)</view>

		<van-divider contentPosition="left" customStyle="font-size: 30px;color:#8eaadb;border-color:#8eaadb;">主要技能</van-divider>
		<view class="mainSkill">
			<view class="skillItems">
				HTML+CSS+JavaScript
			</view>
			<van-progress percentage="50" stroke-width="8" color="#f2826a" show-pivot="{{indicatorDots}}" />
			<view class="skillItems">
				PHP+MySql+Linux+Nginx
			</view>
			<van-progress percentage="75" stroke-width="8" color="#ee0a24" show-pivot="{{indicatorDots}}" />
			<view class="skillItems">
				Redis+Memcached
			</view>
			<van-progress percentage="65" stroke-width="8" color="#f2826a" show-pivot="{{indicatorDots}}" />
		</view>

		<view class="skillList">
			<view class="tabIcon" wx:for="{{skillList}}" wx:key="index">
				<van-tag plain size="{{item.size}}" type="{{item.type}}" bindtap="vanMax" data-id="{{index}}">{{item.name}}
				</van-tag>
			</view>
		</view>
	</swiper-item>
	<!-- 第三個頁面 -->
	<swiper-item>
		<van-divider contentPosition="left" customStyle="font-size: 30px;color:#8eaadb;border-color:#8eaadb;margin-bottom:20px;">工作經歷</van-divider>
		<van-panel title="北京****科技有限公司" desc="2016.05-2019.07" status="PHP開發">
			<view class="conText">
				<text>北京****科技有限公司是一家以鮮農產品為主的互聯網電商公司,公司產業主要有鮮肉類、農產品類、及自營酒業,以社區經營模式進行線上銷售、公司自主研發社區類遊戲、自營電商及其他互聯網項目累計用戶30萬。工作期間參與研發自營電商、線上遊戲兩大項目。
      </text>
			</view>
		</van-panel>
		<van-panel title="北京**網路科技有限公司" desc="2019.07-2020.05" status="PHP開發">
			<view class="conText">
				<text>北京**網路科技有限公司是一家創業型公司,主要業務以CPS廣告模式推廣,研發合成類小遊戲,網路眾包任務平台。公司成立蜘初加入,參與公司項目設計、項目搭建、及開發上線,項目迭代。
        </text>
			</view>
		</van-panel>
	</swiper-item>
	<!-- 第四個頁面 -->
	<swiper-item>
		<van-divider contentPosition="left" customStyle="font-size: 30px;color:#8eaadb;border-color:#8eaadb;margin-bottom:20px;">項目經驗</van-divider>
		<van-collapse value="{{ activeName }}" bind:change="onChange" accordion>
			<van-collapse-item title="**星球App" name="1">
				該項目是娛海網路公司自主研發App遊戲,通過第三方cpm廣告模式盈利,內置網路眾包平台,用戶可完成他人發布任務獲取遊戲積分。該項目由創業之初全程參與設計、項目搭建,使用Laravel框架開發,微信登錄,公眾號認證,微信企業付款到零錢、阿里企業付款,主要負責用戶師徒體系、寵物商店、活躍任務、企業付款,眾包平台模組。
			</van-collapse-item>
			<van-collapse-item title="**易購App" name="2">
				該項目是大道農聯公司自營電商項目,內置淘寶、京東、拼多多等主流電商優惠券返利模式,同時搭建自營商品,主要負責淘寶客返利傭金結算,自營商城搭建,商品sku系統及商城活動。
			</van-collapse-item>
			<van-collapse-item title="***H5" name="3">
				該項目是大道農聯公司自行研發的H5遊戲,模擬寵物合成、寵物交易等虛擬寵物市場,內容豐富,玩法多樣。使用Laravel框架開發,Laravel-admin搭建後台管理系統,後台使用echars圖表數據分析,支付方式使用微信支付。主要負責用戶個人中心、倉庫管理、消息通知、微信付款、交易走勢及模擬微信拼手氣紅包,不定期遊戲活動。
			</van-collapse-item>
			<van-collapse-item title="**商城" name="4">
				該項目是大道農聯公司第一版商城,使用ThinkPHP搭建,商城內置分銷系統、會員返利機制。此項目前後端、資料庫及後台均獨立開發完成,業務大致分用戶系統、訂單流程、邀請機制,獎勵機制等模組。使用第三方簡訊驗證登錄、七牛上傳、phpExcel導出,第三方銀行卡支付。
			</van-collapse-item>
		</van-collapse>
	</swiper-item>
</swiper>

index.wxss

page {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: #ffffff;
}

swiper {
  display: block;
  height: 100%;
}

.swiper-img {
  width: 100%;
  height: 100%;
}
/* 第一屏 */
.background {
  width: 100%;
  height: 100%;
  position: fixed;
  background-size: 100% 100%;
  z-index: -1;
}
.myMsg{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding:30rpx 20rpx 0 80rpx;
  box-sizing: border-box;
}
.name{
  font-size: 70rpx;
  font-family: 'Times New Roman', Times, serif;
  font-weight: 600;
  color:#666666;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.myText{
  display: flex;
  align-items: center;
  justify-content: end;
  font-size:40rpx;
  color:#1f1c1c;
  margin-top:30rpx;
}
.rightImg{
  width:40rpx;
  height:40rpx;
  margin-left:10rpx;
}
.myJob{
  position: fixed;
  bottom:100rpx;
  left:0;
  right:0;
  background:rgba(0,0,0,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 70rpx;
  color:#ffffff;
  padding:30rpx 0;
  box-sizing: border-box;
}
.jobYear{
  font-size: 40rpx;
  margin-top:10rpx;
}
/* 第二屏 */
.myData{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 100rpx 0 40rpx;
  box-sizing: border-box;
  margin-bottom: 10rpx;
}
.marginBottom{
  margin-bottom: 40rpx;
}
.mainSkill{
  padding:0 40rpx;
  box-sizing: border-box;
}
.skillItems{
  padding:40rpx 10rpx 20rpx 10rpx;
  box-sizing: border-box;
}
.skillList{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 50rpx 40rpx;
  box-sizing: border-box;
}
.tabIcon{
  margin-right:20rpx;
  margin-bottom:20rpx;
}
.van-tag--large{
  font-size: 50rpx !important;
}
.van-tag--medium {
  font-size: 30rpx !important;
}
.conText{
  font-size: 30rpx;
  color: #666666b2;
  padding: 50rpx 30rpx;
  box-sizing: border-box;
  text-indent: 2em;
  text-align: justify;
}
.swiperUser{
  width:100%;
  height:170rpx;
  margin-top:30rpx;
}
.swiperItemUser{
  width:auto !important;
  padding:0 30rpx 0 0;
}
.swiperItemUserMsg{
  /* height:100rpx; */
  display: flex;
  align-items: center;
  margin-bottom:10rpx;
  margin-left:10rpx;
  padding:0 30rpx 0 0;
  background:rgba(0,0,0,0.3);
  border-radius:100rpx;
}
.userImg{
  width:70rpx;
  height:70rpx;
  border-radius: 50%;
  margin-right:10rpx;
}
.zanBtn{
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36rpx;
  font-weight: 600;
  color:rgba(67, 5, 5, 0.851);
  margin-top:10rpx;
}
.zanImg{
  width:46rpx;
  height:46rpx;
  margin-right:10rpx;
}

index.js

// pages/index/jinali.js
import Toast from '@vant/weapp/toast/toast';
//標籤數組
const skillList = [
  {name:"PHP",type:"danger",size:"large"},
  {name:"Redis",type:"primary",size:"medium"},
  {name:"MySql",type:"success",size:"medium"},
  {name:"快取",type:"primary",size:"medium"},
  {name:"分布鎖",type:"danger",size:"medium"},
  {name:"Laravel",type:"success",size:"medium"},
  {name:"ThinkPHP",type:"danger",size:"medium"},
  {name:"支付",type:"primary",size:"medium"},
  {name:"後台",type:"warning",size:"medium"},
  {name:"Laravel-admin",type:"danger",size:"medium"},
  {name:"LNMP",type:"success",size:"medium"},
];
const db = wx.cloud.database();
Page({
  /**
   * 頁面的初始數據
   */
  data: {
    // 全螢幕swiper 配置
    indicatorDots: false,
    autoplay: false,
    // 走馬燈swiper配置
    indicatorDotsUser:false,//不要swiper點
    autoplayUser:true,//自動切換
    intervalUser:5000,//自動切換時長
    durationUser:1000,//滑動時長
    verticalUser:true,//滑動方向 縱向
    circularUser:true,//採用銜接滑動
    skillList:skillList,
    activeName:'1',
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    userlist:[]
  },
  //切換標籤放大效果
  vanMax:function(event){
    console.log("v")
    let id = event.target.dataset.id;
    let data = skillList
    data.forEach(Element => {
      console.log(Element);
      Element.size = "medium"
    });
    data[id].size = "large"
    this.setData({
      skillList:data
    })

  },
  //vant組件
  onChange(event) {
    this.setData({
      activeName: event.detail,
    });
  },
  //點贊記錄用戶資訊,更新彈幕列表
  bindGetUserInfo (e) {
    let userInfo = e.detail.userInfo
    let addData = {
        name:userInfo.nickName,
        userImg:userInfo.avatarUrl
    }
    db.collection('userInfo').add({
      data: {
        name:userInfo.nickName,
        userImg:userInfo.avatarUrl
      },
      success:res =>{
        console.log(res)
        Toast.success('點贊成功!');
        this.setData({
          userlist:this.data.userlist.concat(addData)
        })
      },
      fail: err =>{
        console.log(res);
      }
    })
  },
  /**
   * 生命周期函數--監聽頁面載入
   */
  onLoad: function (options) {
    //獲取點贊用戶
    db.collection('userInfo').field({
      name:true,
      userImg:true
    }).get().then( res =>{
      console.log(res)
        this.setData({
          userlist:res.data
        })
    }).catch( err =>{
      console.log(err)
    })
  },
  

  /**
   * 生命周期函數--監聽頁面初次渲染完成
   */
  onReady: function () {
    console.log(this.data.userlist);
    // this.getUserInfo()
  },

  /**
   * 生命周期函數--監聽頁面顯示
   */
  onShow: function () {

  },

  /**
   * 生命周期函數--監聽頁面隱藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函數--監聽頁面卸載
   */
  onUnload: function () {

  },

  /**
   * 頁面相關事件處理函數--監聽用戶下拉動作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 頁面上拉觸底事件的處理函數
   */
  onReachBottom: function () {

  },

  /**
   * 用戶點擊右上角分享
   */
  onShareAppMessage: function () {

  }
})

 

注意需在小程式雲資料庫中,添加”userInfo”集合,用於儲存點贊用戶資訊,頁面載入前會獲取用戶資訊

以上就是小程式版個人簡歷的全部程式碼,具體審核流程,參照微信小程式審核文檔(我這一版本的小程式基本秒批,開發完成即可上線)

大家可以根據自己的需求,自由設計簡歷內容,樣式

如果您覺得不錯,請點個收藏,謝謝

Exit mobile version