第一版同步(文本修改 稻田→伯才)

cyl/dev
wangxia 1 year ago
parent 3eb6d6be42
commit 8709485564

@ -0,0 +1,22 @@
{
"overrides": [
{
"files": "*.wxml",
"options": {
"parser": "html"
}
},
{
"files": "*.wxss",
"options": {
"parser": "css"
}
},
{
"files": "*.wxs",
"options": {
"parser": "babel"
}
}
]
}

@ -0,0 +1,31 @@
接口地址:
正式https://d.matripe.com.cn
测试http://bl7.matripe.com.cn:8001
1.职位列表
/overall/store/job/list
参数:
当前页pageNum
每页条数pageSize
企业名搜索:aliasName
省市县district北京市,北京市,海淀区
工价monthlyPayStr3000-4000
年龄ageStr, 16-18或58
特色jobSpecialLabelIds多个ID英文逗号隔开
热门企业IDhotStoreId
城市cityName和levelType两个要同时传
性别sex1男 2女-1不限
2.职位详情
/overall/store/job/getStoreJobDetailById?storeJobId=123456
3.工单详情
/yishoudan/user/apply/order/details?orderId=123
4.根据渠道经理获取代理列表
/agency/getByPmdUserId
参数:
渠道经理ID可不传不传就是登录人IDpmdUserId
搜索代理的名称agencyName

572
app.js

@ -0,0 +1,572 @@
import { customRequest } from './utils/request.js'
App({
globalData: {
userInfo: null,
// ip: 'http://bl7.matripe.com.cn:8001',
ip: "https://daotian.matripe.com.cn",
// ip: "https://test.renminshitang.com.cn/daotian/api_dev",
// ip: 'http://localhost:8001',
sessionId: "",
headers2: {
"content-type": "multipart/form-data",
Authorization: "",
Cookie: "",
appId: 'wxbc6d9dbb9dff5b37',
"g-open-env": 'MP_MINI',
// 请求来源标识 1.小程序 2.app 3.网页
appClassify: 1,
appName: encodeURIComponent('伯才')
},
headers1: {
"content-type": "application/json",
Authorization: "",
Cookie: "",
appId: 'wxbc6d9dbb9dff5b37',
"g-open-env": 'MP_MINI',
appClassify: 1,
appName: encodeURIComponent('伯才')
},
headers: {
"content-type": "application/x-www-form-urlencoded",
Authorization: "",
Cookie: "",
appId: 'wxbc6d9dbb9dff5b37',
"g-open-env": 'MP_MINI',
appClassify: 1,
appName: encodeURIComponent('伯才')
},
userLoginTokenInfo: {
tel: "", //用户电话
token: "", //用户token
},
isLogin: false, //是否登录
loginUserInfo: {
id: "",
userName: "",
tel: "",
imgSrc: "",
},
lng: "",
lat: "",
autoLoginTag: 0, //是否是自动登录0否、1是
isScanQRCodes: 0, //是否是扫码进来的0否、1是
hasUserInfo: 1, //是否有用户授权信息
agencyStatus: 0, //是否是代理
openId: "",
unionid: "",
isCommission: 0, //是否计算佣金0否、1是
user: {}, //用户信息
serviceInfo: {}, // 客服电话
version: null,
loginKey: "",
},
// "permission": {
// "scope.userLocation": {
// "desc": "你的位置信息将用于小程序位置接口的效果展示"
// }
// },
onLaunch () {
let that = this;
wx.hideShareMenu();
Array.prototype.logResult = function (data) {
console.log("Array");
return data;
};
const updateManager = wx.getUpdateManager();
updateManager.onCheckForUpdate(function (res) {
console.log("onCheckForUpdate====", res);
// 请求完新版本信息的回调
if (res.hasUpdate) {
console.log("res.hasUpdate====");
updateManager.onUpdateReady(function () {
wx.showModal({
title: "更新提示",
content: "新版本已经准备好,是否重启应用?",
confirmColor: "#ff4400",
success: function (res) {
console.log("success====", res);
// res: {errMsg: "showModal: ok", cancel: false, confirm: true}
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate();
}
},
});
});
updateManager.onUpdateFailed(function () {
// 新的版本下载失败
wx.showModal({
title: "已经有新版本了哟~",
content: "新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~",
confirmColor: "#ff4400",
});
});
}
});
// 获取小程序版本
const miniProgram = wx.getAccountInfoSync();
console.log(miniProgram);
this.globalData.version = miniProgram.miniProgram.version || "1.0.100";
that.getServiceInfo().then(() => {
console.log("getServiceInfo");
});
// 展示本地存储能力
const { statusBarHeight, platform } = wx.getSystemInfoSync();
const { top, height } = wx.getMenuButtonBoundingClientRect();
console.log(statusBarHeight);
console.log(wx.getMenuButtonBoundingClientRect());
console.log(top, height);
// 状态栏高度
wx.setStorageSync("statusBarHeight", statusBarHeight);
// 胶囊按钮高度 一般是32 如果获取不到就使用32
wx.setStorageSync("menuButtonHeight", height ? height : 32);
// 胶囊按钮信息
wx.setStorageSync("menuButtonInfo", wx.getMenuButtonBoundingClientRect());
// 判断胶囊按钮信息是否成功获取
if (top && top !== 0 && height && height !== 0) {
const navigationBarHeight = (top - statusBarHeight) * 2 + height;
// 导航栏高度
wx.setStorageSync("navigationBarHeight", navigationBarHeight);
} else {
wx.setStorageSync("navigationBarHeight", platform === "android" ? 48 : 40);
}
const logs = wx.getStorageSync("logs") || [];
logs.unshift(Date.now());
wx.setStorageSync("logs", logs);
this.getLoginUserTokenInfo().then(() => {
that.getTemplateList()
});
// 登录
wx.login({
success: (res) => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
// this.appLoginByTel()
},
});
// 引入云开发
// wx.cloud.init({
// env: "cloud1-2gnvowo5e7ab00ec",
// });
},
/**
* 获取商家配置信息
*/
getConfigInfo () {
let that = this;
customRequest("/yishoudan/agency/config/get", { header: 'headers' }).then((res) => {
that.globalData.configInfo = res.data.data.config
// setData({
// configInfo: res.data.data.config,
// });
wx.setStorageSync('configInfo', res.data.data.config)
})
// wx.request({
// url: that.globalData.ip + "/yishoudan/agency/config/get", // 分类列表获取接口
// header: that.globalData.headers,
// method: "GET",
// success: function (res) {
// console.log(res);
// if (res.data.status == 200) {
// }
// },
// });
},
isEmptyCheck: function (str) {
if (str == null || str == "" || str == "null" || str == "undefined" || typeof str == "undefined") {
return true;
}
return false;
},
isNotEmptyCheck: function (str) {
return !this.isEmptyCheck(str);
},
logout: function () {
var that = this;
return new Promise(function (reslove, reject) {
try {
wx.removeStorageSync("loginUserTokenInfo");
wx.removeStorageSync("loginUser");
wx.removeStorageSync("LOGINUSER_ID");
that.globalData.autoLoginTag = 0;
that.globalData.sessionId = "";
that.globalData.loginUserInfo = {};
that.globalData.userLoginTokenInfo = {};
that.globalData.headers.Cookie = "";
that.globalData.headers2.Cookie = "";
// that.globalData.header.Authorization = "";
that.globalData.headers.Authorization = "";
that.globalData.headers1.Authorization = "";
that.globalData.headers2.Authorization = "";
that.globalData.isLogin = false;
that.globalData.hasUserInfo = 0;
reslove();
} catch (e) {
console.log("退出登录失败");
console.log(e);
reject();
}
});
},
load: function (text) {
wx.showLoading({
title: text,
mask: true,
});
},
hideLoad: function () {
wx.hideLoading();
},
showTips: function (_that, msg) {
/*_that.setData({
popErrorMsg: msg,
pop: 1,
});
setTimeout(() => {
_that.setData({
popErrorMsg: '',
pop: 0,
});
return;
}, 2000)*/
wx.showToast({
icon: "none",
title: msg,
duration: 3000,
});
},
setLoginUserTokenInfo: function (tel, token) {
var that = this;
return new Promise(function (resolve, reject) {
try {
that.globalData.userLoginTokenInfo.tel = tel;
that.globalData.userLoginTokenInfo.token = token;
// debugger
wx.setStorageSync("loginUserTokenInfo", that.globalData.userLoginTokenInfo);
that.appLoginByTel(resolve, reject);
} catch (e) {
console.log("设置登录信息错误");
console.log(e);
reject();
}
});
},
/**
* 微信快速登录调用
*/
appLoginByTel: function (resolve, reject) {
var that = this;
var channelContactId = "";
try {
var value = wx.getStorageSync("fromQrCodeChannelContactId");
if (value) {
console.log("fromQrCodeChannelContactId======", value);
channelContactId = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
var agencyUserId = "";
try {
var value = wx.getStorageSync("storageSyncAgencyUserId");
if (value) {
console.log("storageSyncAgencyUserId======", value);
agencyUserId = value;
}
} catch (e) {
console.log("获取缓存设置的参数错误:", e);
}
console.log('that.globalData', that.globalData);
customRequest("/appLoginByTelYiShouDan", {
method: 'post', header: 'headers', data: {
tel: that.globalData.userLoginTokenInfo.tel,
autoLoginTag: that.globalData.autoLoginTag,
isScanQRCodes: that.globalData.isScanQRCodes,
channelContactId: channelContactId,
agencyUserId: agencyUserId,
openId: that.globalData.openId,
unionid: that.globalData.unionid,
loginKey: that.globalData.loginKey,
},
}).then((res) => {
console.log('appLoginByTelYiShouDan res', res);
if (res.data.status == 200) {
that.globalData.user = res.data.data.user;
// that.globalData.user.idauth = 0;
that.globalData.sessionId = res.data.data.sessionId;
// that.globalData.headers.Cookie = "JSESSIONID=" + res.data.data.sessionId;
// that.globalData.headers2.Cookie = "JSESSIONID=" + res.data.data.sessionId;
that.globalData.headers.Authorization = "Bearer " + res.data.data.token;
that.globalData.headers2.Authorization = "Bearer " + res.data.data.token;
that.globalData.isLogin = true;
that.globalData.read = res.data.data.read;
that.globalData.userLoginTokenInfo.tel = res.data.data.tel;
that.globalData.userLoginTokenInfo.token = res.data.data.token;
that.globalData.hasUserInfo = res.data.data.imgSrc != "" && res.data.data.imgSrc != null && res.data.data.imgSrc != undefined && res.data.data.nickName != "" && res.data.data.nickName != null && res.data.data.nickName != undefined ? 1 : 0
that.globalData.loginUserInfo = res.data.data
if (that.globalData.loginUserInfo.admin == true) {
that.globalData.loginUserInfo.user.agencyRole = 2
} else {
that.globalData.loginUserInfo.user.agencyRole = 3
}
wx.setStorageSync("loginUserTokenInfo", that.globalData.userLoginTokenInfo);
wx.setStorageSync("loginUser", that.globalData.loginUserInfo);
wx.setStorageSync("LOGINUSER_ID", that.globalData.loginUserInfo.user.agencyId);
console.log("readySet");
wx.showToast({
title: "登录成功",
icon: "success",
duration: 2000,
});
that.getServiceInfo().then(() => {
console.log("getServiceInfo");
});
console.log("appLoginByTel" + "+++++++++++++++++++++++++++++++++++++++++++");
resolve();
} else {
wx.showToast({
icon: "none",
title: res.data.msg,
duration: 2000,
});
reject();
}
if (that.userLoginCallback) {
that.userLoginCallback(res);
}
console.log("login====result=======1");
console.log(that.globalData);
console.log("login====result=======2");
})
// wx.request({
// url: that.globalData.ip + "/appLoginByTelYiShouDan",
// data: {
// tel: that.globalData.userLoginTokenInfo.tel,
// autoLoginTag: that.globalData.autoLoginTag,
// isScanQRCodes: that.globalData.isScanQRCodes,
// channelContactId: channelContactId,
// agencyUserId: agencyUserId,
// openId: that.globalData.openId,
// unionid: that.globalData.unionid,
// loginKey: that.globalData.loginKey,
// },
// header: {
// "content-type": "application/json",
// },
// success: function (res) {
// console.log(res);
// },
// });
},
/**
* 获取伯才客服信息
*
*
*/
getServiceInfo () {
let that = this;
console.log("fromLogin");
return new Promise((resolve, reject) => {
customRequest("/costumer/manager", { header: 'headers' }).then((res) => {
that.globalData.serviceInfo = res.data.data;
console.log(that.globalData.serviceInfo);
if (that.globalData.serviceInfo.workPhone) {
let tel = that.globalData.serviceInfo.workPhone.trim();
let num1 = tel.slice(0, 3);
let num2 = tel.slice(3, 7);
let num3 = tel.slice(7, 11);
that.globalData.serviceInfo.tel = num1 + "-" + num2 + "-" + num3;
console.log(that.globalData.serviceInfo.tel);
}
resolve(true);
})
// wx.request({
// url: that.globalData.ip + "/costumer/manager",
// header: that.globalData.headers,
// success (res) {
// console.log(res);
// if (res.data.status == 200) {
// }
// },
// });
});
},
/**
* 获取模板图片
*
*
*/
getTemplateList () {
let that = this;
customRequest("/daotian/image/list", { method: 'GET', header: 'headers' }).then((res) => {
that.globalData.templateList = res.data.data.images;
})
// wx.request({
// url: that.globalData.ip + "/daotian/image/list",
// success (res) {
// console.log(res);
// if (res.data.status == 200) {
// }
// },
// });
},
getLoginUserTokenInfo: function () {
var that = this;
// debugger;
return new Promise((resloveOutter, rejectOutter) => {
try {
var value = wx.getStorageSync("loginUserTokenInfo");
console.log(value);
if (value) {
that.globalData.userLoginTokenInfo = value;
// console.log(that.isNotEmptyCheck(that.globalData.userLoginTokenInfo.token));
if (that.isNotEmptyCheck(that.globalData.userLoginTokenInfo.token)) {
let token = that.globalData.userLoginTokenInfo.token;
that.globalData.headers.Authorization = "Bearer " + token;
that.globalData.headers1.Authorization = "Bearer " + token;
that.globalData.headers2.Authorization = "Bearer " + token;
console.log(that.globalData.headers);
customRequest("/checkToken", { method: 'GET', header: 'headers', data: { loginKey: that.globalData.loginKey } }).then((res) => {
if (res.data.status == 200) {
if (wx.getStorageSync("messageClick" + res.data.data.id)) {
console.log("messageClick" + res.data.data.id);
} else {
wx.setStorageSync("messageClick" + res.data.data.id, false);
}
that.globalData.isLogin = true;
that.globalData.test = "b";
that.globalData.user = res.data.data.user;
// that.globalData.user.idauth = 0;
that.globalData.loginUserInfo = res.data.data;
if (that.globalData.loginUserInfo.admin == true) {
that.globalData.loginUserInfo.user.agencyRole = 2
} else {
that.globalData.loginUserInfo.user.agencyRole = 3
}
console.log(that.globalData.loginUserInfo);
that.getServiceInfo().then(() => {
console.log("getServiceInfo");
});
wx.setStorageSync("loginUser", that.globalData.loginUserInfo);
wx.setStorageSync("LOGINUSER_ID", that.globalData.loginUserInfo.user.agencyId);
if (that.userLoginCallback) {
that.userLoginCallback(res);
}
let loginKeyTmp = that.globalData.loginKey;
that.getConfigInfo()
resloveOutter(loginKeyTmp);
} else {
//已过期
that.globalData.autoLoginTag = 1;
// that.appLoginByTel();
// that.globalData.isLogin = false;
return new Promise(function (resolve, reject) {
try {
that.appLoginByTel(resolve, reject);
} catch (e) {
console.log("设置登录信息错误");
console.log(e);
reject();
}
});
rejectOutter();
}
})
// wx.request({
// url: that.globalData.ip + "/checkToken",
// method: "GET",
// header: that.globalData.headers,
// data: { loginKey: that.globalData.loginKey },
// success: function (res) {
// console.log(res);
// },
// });
// console.log(that.globalData.isLogin);
} else if (that.isNotEmptyCheck(that.globalData.userLoginTokenInfo.tel)) {
that.globalData.autoLoginTag = 1;
// that.appLoginByTel();
return new Promise(function (resolve, reject) {
try {
that.appLoginByTel(resolve, reject);
} catch (e) {
console.log("设置登录信息错误");
console.log(e);
reject();
}
});
rejectOutter();
}
} else {
console.log("nologinInfo");
if (that.userLoginCallback) {
that.userLoginCallback();
}
rejectOutter();
}
} catch (e) { }
});
},
onTabItemTap (e) {
console.log(123);
console.log(e);
let that = this;
if (!that.globalData.isLogin) {
// wx.showModal({
// title: '提示',
// content: '账号尚未登录,请先登录账号',
// success: res => {
// if (res.confirm) {
wx.navigateTo({
url: "/pages/login/login",
});
// } else if (res.cancel) {
// wx.reLaunch({
// url: '/pages/main/homePage'
// })
// }
// }
// })
}
},
dialog: function (title, content, btxt) {
wx.showModal({
title: title,
content: content,
showCancel: false,
confirmColor: "#027AFF",
confirmText: btxt,
success: function (res) {
if (res.confirm) {
console.log("用户点击确定");
} else if (res.cancel) {
console.log("用户点击取消");
}
},
});
},
});

@ -0,0 +1,154 @@
{
"pages": [
"pages/firstBill/index",
"pages/search/index",
"pages/workBench/index",
"pages/myBill/index",
"pages/billDetail/index",
"pages/billDetail/enrollJob/index",
"pages/billDetail/enroll/index",
"pages/townsMan/index",
"pages/townsmanDetail/index",
"pages/mine/index",
"pages/userDetail/index",
"pages/balanceDetail/index",
"pages/withdraw/index",
"pages/realName1/index",
"pages/userTel/index",
"pages/wxNickname/index",
"pages/changeGender/index",
"pages/userName/index",
"pages/changeAvatar/index",
"pages/login/index",
"pages/setting/index",
"pages/city/index",
"pages/screen/index",
"pages/detail/index",
"pages/specialArea/index",
"pages/index/index",
"pages/newEnroll/index",
"pages/newEnroll/enrollEdit/index",
"pages/newEnroll/enroll/index",
"pages/newEnroll/enrollJob/index",
"pages/underReview/index",
"pages/message/index",
"pages/collect/index",
"pages/ceshi/index",
"pages/myEnroll/index",
"pages/addUserCard/index",
"pages/seeIdCard/index",
"pages/makeInfo/index",
"pages/myMember/index",
"pages/recordChoice/index",
"pages/addressPage/index",
"pages/addOrEditMember/index",
"pages/secret/index",
"pages/serviceTerm/index",
"pages/addCard/index",
"pages/bindBankCard/index",
"pages/bindBankCardSuccess/index",
"pages/cardDetail/index",
"pages/wodeBill/index",
"pages/wodeBillDetail/index",
"pages/wodeBillSharePage/index",
"pages/friendHelper/index",
"pages/jobSelectPage/index",
"pages/setAnnunciateImg/index",
"pages/bocaiTV/index",
"pages/versionPage/index",
"pages/trueName/index",
"pages/messageDetail/index",
"pages/configAnnunciate/index",
"pages/configAnnunciateAddContact/index",
"pages/returnMessage/index",
"pages/bocaiTVConfig/index",
"pages/jobListSearch/index",
"pages/changePsw/index",
"pages/IDCardWithNFC/index",
"pages/inputIDInfo/index",
"pages/filterPage/index",
"pages/merchantManagement/index",
"pages/hotList/index",
"pages/xiangmuhezuo/index",
"pages/tobeAgency/index",
"pages/connectUs/index",
"pages/activity/index",
"pages/listSharePage/index",
"pages/opinion/index",
"pages/opinionList/index",
"pages/dataDetail/index",
"pages/shareList/index",
"pages/publishJob/index",
"pages/mineJob/index",
"pages/memberGroupList/index",
"pages/sendCreatorCode/index",
"pages/creatorSelectPage/index"
],
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
},
"subpackages": [
{
"root": "subPage",
"name": "subPage",
"pages": [
"vocationalList/index",
"vocationalDetail/index",
"webForm/index",
"todayData/index",
"addressBook/index",
"billShowInfo/index",
"addAddress/index"
]
}
],
"requiredPrivateInfos": [
"getLocation",
"chooseLocation",
"chooseAddress"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "Weixin",
"navigationBarTextStyle": "black"
},
"plugins": {
"yz-reader": {
"version": "1.6.3",
"provider": "wx0d82ce42bf0f4960"
}
},
"tabBar": {
"custom": true,
"color": "#444",
"borderStyle": "black",
"selectedColor": "#ff4400",
"list": [
{
"iconPath": "./assets/images/ysd.png",
"selectedIconPath": "./assets/images/ysd1.png",
"pagePath": "pages/firstBill/index",
"text": "首页"
},
{
"iconPath": "./assets/images/wd.png",
"selectedIconPath": "./assets/images/wd1.png",
"pagePath": "pages/mine/index",
"text": "我的"
}
]
},
"usingComponents": {},
"useExtendedLib": {
"weui": true
},
"style": "v2",
"sitemapLocation": "sitemap.json",
"lazyCodeLoading": "requiredComponents",
"miniApp": {
"useAuthorizePage": true
}
}

@ -0,0 +1,5 @@
{
"adapteByMiniprogram": {
"userName": "gh_12e652212cc2"
}
}

2094
app.wxss

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="39px" height="18px" viewBox="0 0 39 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title></title>
<g id="稻田1.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="标" transform="translate(0.012000, 0.220000)" fill-rule="nonzero">
<path d="M4.42,17.2 L5.46,7.86 C5.79333333,8.52666667 6.1,9.18666667 6.38,9.84 L6.38,9.84 L7.86,8.94 C6.99333333,7.44666667 6.28,6.30666667 5.72,5.52 L5.72,5.52 L5.76,5.02 L7.7,5.02 L7.92,3.28 L5.96,3.28 L6.32,0 L4.46,0 L4.1,3.28 L1.66,3.28 L1.44,5.02 L3.72,5.02 C2.77333333,7.14 1.53333333,9.3 0,11.5 L0,11.5 L1.5,12.34 C2.28666667,11.14 2.94666667,10 3.48,8.92 L3.48,8.92 L2.58,17.18 L4.42,17.2 Z M17.32,2.7 L17.52,0.94 L9.2,0.94 L9,2.7 L17.32,2.7 Z M11.42,17.22 C12.3,17.22 12.78,16.7733333 12.86,15.88 L12.86,15.88 L13.82,7.32 L17.66,7.32 L17.86,5.56 L8.02,5.56 L7.82,7.32 L11.92,7.32 L11,15.1 C10.9733333,15.26 10.8933333,15.34 10.76,15.34 L10.76,15.34 L10.66,15.32 C10.14,15.2266667 9.55333333,15.0666667 8.9,14.84 L8.9,14.84 L8.68,16.62 C9.38666667,16.9 10.1666667,17.0933333 11.02,17.2 C11.1133333,17.2133333 11.2466667,17.22 11.42,17.22 Z M8.42,14.52 C8.88666667,13.3866667 9.6,11.3866667 10.56,8.52 L10.56,8.52 L8.9,8.52 C8.07333333,10.76 7.28,12.76 6.52,14.52 L6.52,14.52 L8.42,14.52 Z M17.52,14.8 C17.16,12.7733333 16.7333333,10.72 16.24,8.64 L16.24,8.64 L14.52,8.64 C15.0666667,11.0666667 15.4933333,13.12 15.8,14.8 L15.8,14.8 L17.52,14.8 Z" fill="#FF4400"></path>
<path d="M20.49,16.284 L25.306,5.77 L23.766,5.77 L18.95,16.284 L20.49,16.284 Z M27.63,7.786 C27.994,7.29133333 28.2506667,6.92733333 28.4,6.694 L28.4,6.694 L29.422,6.694 L29.856,7.744 L31.13,7.744 L30.654,6.694 L32.194,6.694 L32.32,5.574 L29.058,5.574 L29.52,4.706 L28.092,4.706 C27.56,5.72333333 26.916,6.75 26.16,7.786 L26.16,7.786 L27.63,7.786 Z M33.244,7.884 C33.496,7.492 33.734,7.1 33.958,6.708 L33.958,6.708 L34.896,6.708 L35.372,7.856 L36.688,7.856 L36.17,6.708 L37.948,6.708 L38.074,5.588 L34.56,5.588 L34.77,5.182 L34.98,4.734 L33.58,4.734 C33.2533333,5.47133333 32.6606667,6.52133333 31.802,7.884 L31.802,7.884 L33.244,7.884 Z M29.59,9.802 L29.73,8.626 L27.756,7.968 L27.616,9.06 L29.59,9.802 Z M35.064,16.816 C35.512,16.844 35.8433333,16.76 36.058,16.564 C36.2726667,16.368 36.408,16.018 36.464,15.514 L36.464,15.514 L37.136,9.662 C37.1546667,9.45666667 37.164,9.31666667 37.164,9.242 C37.164,8.878 37.08,8.62833333 36.912,8.493 C36.744,8.35766667 36.45,8.29 36.03,8.29 L36.03,8.29 L30.402,8.29 L30.248,9.41 L35.82,9.41 L35.162,15.29 C35.1526667,15.4113333 35.12,15.5 35.064,15.556 C35.0266667,15.584 34.9613333,15.598 34.868,15.598 C34.728,15.598 34.574,15.5746667 34.406,15.528 L34.406,15.528 L34.042,15.472 C33.8366667,15.4346667 33.5753333,15.3786667 33.258,15.304 L33.258,15.304 L33.132,16.508 C33.832,16.676 34.476,16.7786667 35.064,16.816 Z M27.49,16.788 L28.386,9.872 L27.07,9.872 L26.216,16.788 L27.49,16.788 Z M33.944,15.01 L34.322,11.356 C34.3406667,11.188 34.35,11.076 34.35,11.02 C34.35,10.7026667 34.266,10.4763333 34.098,10.341 C33.93,10.2056667 33.65,10.138 33.258,10.138 L33.258,10.138 L30.598,10.138 C30.178,10.138 29.8816667,10.222 29.709,10.39 C29.5363333,10.558 29.4266667,10.866 29.38,11.314 L29.38,11.314 L28.96,15.01 L33.944,15.01 Z M33.09,12.084 L30.43,12.084 L30.528,11.174 L33.188,11.174 L33.09,12.084 Z M32.88,13.974 L30.234,13.974 L30.332,13.064 L32.978,13.064 L32.88,13.974 Z" id="/简" fill="#333333"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 25 24" style="enable-background:new 0 0 25 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#333333;}
.st2{fill:#FF4400;}
</style>
<title>报名中</title>
<g id="一手单小程序">
<g id="工具" transform="translate(-132.000000, -406.000000)">
<g id="编组-4" transform="translate(10.000000, 348.000000)">
<g id="编组-16" transform="translate(113.333333, 58.000000)">
<g id="报名中" transform="translate(9.000000, 0.000000)">
<rect id="矩形" x="0" class="st0" width="24" height="24"/>
<g id="报名-_x28_3_x29_" transform="translate(0.296667, 0.000000)">
<g id="编辑铅笔">
<path id="形状" class="st1" d="M14.1,1.3c1.8-1.8,4.7-1.8,6.5,0c1.8,1.8,1.8,4.7,0,6.5L9.1,19.4c-0.1,0.1-0.2,0.2-0.3,0.2
l-6.5,2.3c-1.4,0.5-2.7-0.8-2.2-2.2l2.3-6.5c0-0.1,0.1-0.2,0.2-0.3L14.1,1.3z M19.5,2.5c-0.6-0.6-1.3-0.9-2.1-0.9
S15.9,2,15.3,2.5L3.9,14l-2.2,6.3c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0L8,18.1L19.5,6.7
C20.6,5.5,20.6,3.7,19.5,2.5L19.5,2.5z"/>
<path id="形状_1_" class="st1" d="M12.9,2.9c0.2-0.2,0.4-0.2,0.6-0.2c0.2,0,0.4,0.1,0.6,0.2l5,5c0.2,0.2,0.3,0.5,0.2,0.8
C19.3,9,19,9.2,18.7,9.3c-0.3,0.1-0.6,0-0.8-0.2l-5-5C12.6,3.7,12.6,3.2,12.9,2.9L12.9,2.9z M3,12.8c0.2-0.2,0.4-0.2,0.6-0.2
s0.4,0.1,0.6,0.2l5,5c0.2,0.2,0.3,0.5,0.2,0.8c-0.1,0.3-0.3,0.5-0.6,0.6S8.2,19.2,8,19l-5-5C2.7,13.7,2.7,13.2,3,12.8L3,12.8
z"/>
</g>
<g>
<path class="st2" d="M22.8,19.5h-7.8c-0.3,0-0.6,0.3-0.6,0.8c0,0.4,0.3,0.8,0.6,0.8h7.8c0.3,0,0.6-0.3,0.6-0.8
C23.4,19.9,23.1,19.5,22.8,19.5z"/>
<path class="st2" d="M22.8,16h-6c-0.3,0-0.6,0.3-0.6,0.8c0,0.4,0.3,0.8,0.6,0.8h6c0.3,0,0.6-0.3,0.6-0.8
C23.4,16.4,23.1,16,22.8,16z"/>
<path class="st2" d="M18.6,14.1h4.2c0.3,0,0.6-0.3,0.6-0.8c0-0.4-0.3-0.8-0.6-0.8h-4.2c-0.3,0-0.6,0.3-0.6,0.8
C18.1,13.7,18.3,14.1,18.6,14.1z"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="22px" height="5px" viewBox="0 0 22 5" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>选中</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="首页" transform="translate(-32.000000, -129.000000)" fill="#FF4400">
<g id="编组-18" transform="translate(25.000000, 100.000000)">
<g id="编组" transform="translate(0.000000, 4.000000)">
<path d="M8.28138892,25.468138 C12.1255901,26.8227127 15.3651271,27.5 18,27.5 C20.6348729,27.5 23.8744099,26.8227127 27.7186111,25.468138 C28.2195856,25.2916181 28.7688069,25.5546331 28.9453335,26.0556052 C28.9815152,26.1582864 29,26.2663656 29,26.375235 C29,27.2229167 28.4707493,27.9804265 27.674788,28.2719911 C24.5298758,29.423997 21.3049465,30 18,30 C14.6950535,30 11.4701242,29.423997 8.32521195,28.2719911 C7.52925068,27.9804265 7,27.2229167 7,26.375235 C7,25.8440715 7.43059314,25.4134783 7.9617567,25.4134783 C8.07062612,25.4134783 8.17870529,25.4319632 8.28138892,25.468138 Z" id="选中"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#333333;}
.st2{fill:#FF4400;}
</style>
<title>待面试</title>
<g id="一手单小程序">
<g id="工具" transform="translate(-46.000000, -266.000000)">
<g id="编组-4" transform="translate(10.000000, 210.000000)">
<g id="收藏-_x28_1_x29_" transform="translate(27.000000, 56.000000)">
<g id="待面试" transform="translate(9.000000, 0.000000)">
<g id="矩形">
<rect class="st0" width="24" height="24"/>
</g>
<g id="编组-5" transform="translate(1.000000, 1.000000)">
<g id="路径">
<path class="st1" d="M20,4.8c-2-3-5.4-4.8-9-4.8C7.4,0,4,1.8,1.9,4.7L1.6,4C1.5,3.5,1,3.3,0.6,3.5s-0.7,0.6-0.5,1.1L1,7.2
C1,7.4,1.2,7.6,1.4,7.7c0.1,0.1,0.2,0.1,0.4,0.1c0.1,0,0.2,0,0.3,0l2.9-1c0.3-0.1,0.5-0.3,0.6-0.6s0-0.6-0.3-0.8
C5,5.2,4.7,5.1,4.4,5.2l-1,0.3C4,4.6,4.8,3.9,5.7,3.3c3.5-2.3,8-2.1,11.2,0.6s4.2,7.2,2.5,11c-1.7,3.8-5.7,6-9.9,5.4
s-7.3-3.9-7.9-8c0-0.3-0.2-0.5-0.5-0.7s-0.6-0.1-0.8,0.1S0,12.1,0,12.4C0.7,17.9,5.4,22,10.9,22c4.1,0,7.8-2.3,9.7-5.8
S22.3,8.2,20,4.8L20,4.8z"/>
<path class="st1" d="M10.9,22.1c-5.6,0-10.3-4.2-11-9.7c0-0.3,0.1-0.7,0.4-0.9s0.6-0.2,0.9-0.1c0.3,0.1,0.5,0.4,0.6,0.7
c0.5,4.1,3.7,7.3,7.8,7.9c4.1,0.6,8.1-1.6,9.8-5.3C21,11.1,20,6.6,16.9,3.9C13.7,1.3,9.2,1,5.8,3.3c-0.8,0.6-1.5,1.2-2.1,2
l0.7-0.2C4.7,5,5,5.1,5.3,5.3c0.3,0.2,0.4,0.6,0.3,0.9C5.5,6.5,5.3,6.8,5,6.9l-2.9,1c-0.1,0-0.2,0-0.3,0
c-0.1,0-0.3,0-0.4-0.1C1.1,7.7,1,7.5,0.9,7.3L0,4.6c-0.1-0.2-0.1-0.5,0-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.5-0.1,0.7,0
c0.2,0.1,0.4,0.3,0.5,0.5l0.2,0.6c2.1-2.9,5.4-4.6,9-4.6c0,0,0,0,0.1,0c3.7,0,7.1,1.8,9.1,4.9l0,0c2.3,3.4,2.5,7.8,0.6,11.4
C18.8,19.8,15.1,22.1,10.9,22.1C10.9,22.1,10.9,22.1,10.9,22.1z M0.8,11.6c-0.2,0-0.3,0.1-0.4,0.1c-0.2,0.2-0.3,0.4-0.3,0.7
c0.7,5.4,5.3,9.5,10.8,9.5c0,0,0,0,0,0c4,0,7.7-2.2,9.6-5.8c1.9-3.6,1.7-7.9-0.6-11.2l0,0c-2-3-5.4-4.8-9-4.8c0,0,0,0-0.1,0
C7.4,0.1,4,1.9,2,4.8L1.9,5L1.6,4C1.4,3.6,1,3.4,0.6,3.6C0.4,3.6,0.3,3.8,0.2,3.9c-0.1,0.2-0.1,0.4,0,0.6l0.9,2.7
c0.1,0.2,0.2,0.3,0.4,0.4c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.1,0,0.2,0l2.9-1c0.3-0.1,0.5-0.3,0.5-0.5s0-0.5-0.2-0.7
C5,5.3,4.7,5.2,4.4,5.3L3.1,5.7l0.2-0.2c0.6-0.9,1.4-1.7,2.4-2.3C9.1,0.8,13.8,1.1,17,3.8c3.2,2.7,4.2,7.3,2.5,11.1
c-1.7,3.8-5.8,6.1-10,5.5c-4.2-0.6-7.4-4-8-8.1c0-0.3-0.2-0.5-0.4-0.6C1,11.6,0.9,11.6,0.8,11.6z"/>
</g>
<g id="路径_1_">
<path class="st2" d="M11.3,12.8c0.5,0,0.8-0.4,0.8-0.8V6.6c0-0.5-0.4-0.8-0.8-0.8s-0.8,0.4-0.8,0.8v4.5H6.8
c-0.3,0-0.6,0.2-0.7,0.4c-0.1,0.3-0.1,0.6,0,0.8c0.1,0.3,0.4,0.4,0.7,0.4L11.3,12.8z"/>
<path class="st2" d="M11.3,12.9l-4.5,0c0,0,0,0,0,0c-0.3,0-0.6-0.2-0.8-0.5c-0.2-0.3-0.2-0.6,0-0.9S6.5,11,6.8,11h3.6V6.6
c0-0.5,0.4-0.9,0.9-0.9c0.5,0,0.9,0.4,0.9,0.9V12C12.3,12.5,11.9,12.9,11.3,12.9z M6.8,12.7l4.5,0c0.4,0,0.7-0.3,0.7-0.7V6.6
c0-0.4-0.3-0.7-0.7-0.7c-0.4,0-0.7,0.3-0.7,0.7v4.6H6.8c-0.3,0-0.5,0.1-0.6,0.4c-0.1,0.2-0.1,0.5,0,0.7
C6.3,12.6,6.6,12.7,6.8,12.7C6.8,12.7,6.8,12.7,6.8,12.7z"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#333333;}
.st1{fill:#FF4400;}
</style>
<title>待入职</title>
<g id="形状">
<path class="st0" d="M9.5,0c-1.5,0-3,0.6-4,1.7C4.4,2.9,3.8,4.4,3.8,5.9c0,1.6,0.6,3.1,1.7,4.2c1,1.1,2.5,1.7,4,1.7
c1.5,0,3-0.6,4-1.7c1.1-1.1,1.7-2.6,1.7-4.2c0-1.6-0.6-3.1-1.7-4.2C12.4,0.6,11,0,9.5,0L9.5,0z M5.8,5.9c0-0.5,0.1-1,0.3-1.5
s0.5-0.9,0.8-1.2C7.2,2.8,7.6,2.6,8,2.4C8.9,2,10,2,10.9,2.4c0.4,0.2,0.9,0.5,1.2,0.8c0.3,0.4,0.6,0.8,0.8,1.2
c0.2,0.5,0.3,1,0.3,1.5c0,1-0.4,2-1.1,2.7c-0.7,0.7-1.6,1.1-2.6,1.1c-1,0-1.9-0.4-2.6-1.1C6.2,7.9,5.8,6.9,5.8,5.9L5.8,5.9z
M9.9,16.5c0.3,0,0.5-0.2,0.7-0.4c0.3-0.5,0.2-1.1-0.2-1.5c-0.2-0.2-0.5-0.2-0.7-0.2c-1.1,0.2-2.8,0.5-4.5,1.1
c-1.7,0.6-3.4,1.5-4.6,2.9c-0.1,0.2-0.2,0.4-0.2,0.7c0,1.1,0.3,2.1,0.7,2.9c0.4,0.7,0.8,1.3,1.2,1.7C2.4,23.9,2.6,24,2.9,24h7.9
c0.3,0,0.5-0.1,0.7-0.3c0.2-0.2,0.3-0.5,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7c-0.2-0.2-0.4-0.3-0.7-0.3H3.3c-0.2-0.2-0.4-0.5-0.5-0.8
c-0.2-0.5-0.4-1-0.5-1.5c0.8-0.8,2-1.5,3.4-2C7.1,17.1,8.5,16.7,9.9,16.5L9.9,16.5z"/>
</g>
<path class="st1" d="M23.4,18.8c-0.1-0.2-0.4-0.2-0.6-0.2h-5.6l1.1-1.2c0.2-0.2,0.2-0.4,0.2-0.6c0-0.2-0.1-0.4-0.2-0.6
c-0.1-0.2-0.4-0.2-0.6-0.2c0,0,0,0,0,0c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.3,0.2l-2.5,2.6c-0.1,0.1-0.2,0.3-0.2,0.6v0
c0,0.2,0.1,0.4,0.2,0.6l2.5,2.6c0.1,0.2,0.3,0.2,0.5,0.2c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.2c0.2-0.2,0.2-0.4,0.2-0.6
c0-0.2-0.1-0.4-0.2-0.6l-1.1-1.2h5.6c0.2,0,0.4-0.1,0.6-0.2s0.2-0.4,0.2-0.6C23.6,19.1,23.5,18.9,23.4,18.8z M18.3,21.5L18.3,21.5
c0.1,0.1,0.1,0.2,0.2,0.3C18.4,21.6,18.4,21.5,18.3,21.5l-1.2-1.3h0L18.3,21.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>稻田logo</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="我的-设置-版本" transform="translate(-156.000000, -208.000000)">
<g id="编组-2" transform="translate(137.000000, 208.000000)">
<g id="稻田logo" transform="translate(19.000000, 0.000000)">
<rect id="矩形" fill="#FF4400" x="0" y="0" width="64" height="64" rx="13"></rect>
<path d="M16.792,42.816 L16.792,34.872 L19,36.144 L19,32.712 L16.792,31.44 L16.792,29.568 L19.288,29.568 L19.288,26.64 L16.792,26.64 L16.792,24.264 C17.688,24.136 18.368,24.032 18.832,23.952 L18.832,23.952 L18.832,21 C15.728,21.464 12.976,21.696 10.576,21.696 L10.576,21.696 L10.576,24.624 C11.648,24.624 12.696,24.6 13.72,24.552 L13.72,24.552 L13.72,26.64 L10.264,26.64 L10.264,29.568 L13.888,29.568 L13.888,42.816 L16.792,42.816 Z M19.744,24.84 C21.744,24.856 23.792,24.784 25.888,24.624 C27.984,24.464 29.968,24.216 31.84,23.88 L31.84,23.88 L31.84,21 C29.888,21.32 27.868,21.56 25.78,21.72 C23.692,21.88 21.68,21.96 19.744,21.96 L19.744,21.96 L19.744,24.84 Z M31.456,29.016 L32.296,25.08 L29.536,25.08 L28.696,29.016 L31.456,29.016 Z M23.344,29.016 L22.6,25.56 L19.792,25.56 L20.536,29.016 L23.344,29.016 Z M27.736,29.016 L27.112,25.56 L24.304,25.56 L24.928,29.016 L27.736,29.016 Z M31.912,42.48 L31.912,29.904 L26.104,29.904 L26.104,32.472 L29.032,32.472 L29.032,34.704 L26.272,34.704 L26.272,37.272 L29.032,37.272 L29.032,39.912 L22.432,39.912 L22.432,37.272 L25.072,37.272 L25.072,34.704 L22.432,34.704 L22.432,32.592 C23.408,32.512 24.36,32.408 25.288,32.28 L25.288,32.28 L25.288,29.712 C23.032,30 21.12,30.144 19.552,30.144 L19.552,30.144 L19.552,42.48 L31.912,42.48 Z M12.376,41.88 C12.952,38.536 13.24,34.8 13.24,30.672 L13.24,30.672 L10.984,30.672 C10.984,34.528 10.656,38.264 10,41.88 L10,41.88 L12.376,41.88 Z M54.64,42.192 L54.64,21.84 L35.728,21.84 L35.728,42.192 L54.64,42.192 Z M43.648,30.36 L38.848,30.36 L38.848,24.984 L43.648,24.984 L43.648,30.36 Z M51.52,30.36 L46.72,30.36 L46.72,24.984 L51.52,24.984 L51.52,30.36 Z M43.648,39.048 L38.848,39.048 L38.848,33.432 L43.648,33.432 L43.648,39.048 Z M51.52,39.048 L46.72,39.048 L46.72,33.432 L51.52,33.432 L51.52,39.048 Z" id="稻田" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>地址本</title>
<g id="一手单小程序" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="我的" transform="translate(-305.000000, -476.000000)">
<g id="地址本" transform="translate(289.000000, 476.000000)">
<g transform="translate(16.000000, 0.000000)">
<g id="编组-6" transform="translate(1.790000, 0.770000)" fill-rule="nonzero">
<path d="M17.868802,0 C19.2786292,0 20.421488,1.13145565 20.421488,2.52715717 L20.421488,19.9364796 C20.421488,21.3321812 19.2786292,22.4636368 17.868802,22.4636368 L2.552686,22.4636368 C1.14285879,22.4636368 0,21.3321812 0,19.9364796 L0,2.52715717 C0,1.13145565 1.14285879,0 2.552686,0 L17.868802,0 Z M3.5737604,1.5316116 L2.552686,1.5316116 C1.98876575,1.5316116 1.5316116,1.91484021 1.5316116,2.38753698 L1.5316116,20.0761266 C1.5316116,20.5488233 1.98876575,20.9320252 2.552686,20.9320252 L3.5737604,20.9320252 L3.5737604,1.5316116 L3.5737604,1.5316116 Z M5.105372,1.5316116 L5.105372,20.8736923 L17.9326192,20.8736923 C18.4001723,20.8736923 18.7800993,20.498139 18.787769,20.0319672 L18.787769,20.0177913 L18.787769,2.38753934 C18.787769,1.91484127 18.4049024,1.5316116 17.9326192,1.5316116 L5.105372,1.5316116 Z" id="形状" fill="#333333"></path>
<path d="M11.7934001,5.89670005 C14.2746736,5.89670005 16.2861327,7.96480965 16.2861327,10.5159485 C16.2861327,11.7442522 15.8198196,12.8605975 15.0592769,13.6880572 L14.9702473,13.7822465 L12.5985629,16.2206899 C12.1888212,16.6419617 11.5290489,16.6729984 11.0826372,16.3073503 L10.9991883,16.2317989 L8.61655295,13.7822465 L8.52752331,13.6880572 C7.76700695,12.8605975 7.30066748,11.7442522 7.30066748,10.5159485 C7.30066748,7.96480965 9.31212664,5.89670005 11.7934001,5.89670005 Z M11.7934001,7.5814715 C10.2532294,7.5814715 8.98543893,8.88498443 8.98543893,10.5159485 C8.98543893,11.2355302 9.23244221,11.9091228 9.657847,12.4229518 L9.75172036,12.5305666 L9.82429716,12.6075659 L11.7934001,14.6316872 L13.7460239,12.6247295 L13.8188639,12.5479408 C14.3177932,12.0051285 14.6013613,11.286942 14.6013613,10.5159485 C14.6013613,8.88498443 13.3335708,7.5814715 11.7934001,7.5814715 Z" id="形状" fill="#FF4400"></path>
</g>
<rect id="矩形" x="0" y="0" width="24" height="24"></rect>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title></title>
<defs>
<linearGradient x1="12.7614952%" y1="1.45369123%" x2="98.7159369%" y2="98.5494974%" id="linearGradient-1">
<stop stop-color="#FFE4BB" offset="0%"></stop>
<stop stop-color="#FFBD66" offset="100%"></stop>
</linearGradient>
</defs>
<g id="稻田3.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="职位列表样式2024-0607" transform="translate(-288.000000, -271.000000)">
<g id="编组-16" transform="translate(10.000000, 179.000000)">
<g id="编组-14备份" transform="translate(10.000000, 10.000000)">
<g id="编组-9" transform="translate(82.714286, 82.000000)">
<g id="费" transform="translate(185.285714, 0.000000)">
<path d="M2,0 L12,0 C16.418278,-8.11624501e-16 20,3.581722 20,8 L20,20 L20,20 L2,20 C0.8954305,20 1.3527075e-16,19.1045695 0,18 L0,2 C-1.3527075e-16,0.8954305 0.8954305,2.02906125e-16 2,0 Z" id="矩形" fill="url(#linearGradient-1)"></path>
<path d="M8.50390879,9.90228013 C8.6689468,9.66775244 8.82529859,9.3897937 8.97296417,9.06840391 L8.97296417,9.06840391 L10.9794788,9.06840391 L10.9794788,9.90228013 L12.6211726,9.90228013 L12.6211726,9.06840391 L14.0283388,9.06840391 L14.0283388,9.81107492 L15.6700326,9.81107492 L15.6700326,7.80456026 L12.6211726,7.80456026 L12.6211726,7.32247557 L15.2661238,7.32247557 L15.2661238,4.45602606 L12.6211726,4.45602606 L12.6211726,4 L10.9794788,4 L10.9794788,4.45602606 L9.29869707,4.45602606 L9.29869707,4 L7.65700326,4 L7.65700326,4.45602606 L4.62117264,4.45602606 L4.62117264,5.73289902 L7.65700326,5.73289902 L7.64397394,6.21498371 L4.97296417,6.21498371 L4.46482085,9.06840391 L7.13583062,9.06840391 C7.00553746,9.3029316 6.78403909,9.58089034 6.4713355,9.90228013 L6.4713355,9.90228013 L8.50390879,9.90228013 Z M10.9794788,6.21498371 L9.28566775,6.21498371 L9.29869707,5.73289902 L10.9794788,5.73289902 L10.9794788,6.21498371 Z M13.62443,6.21498371 L12.6211726,6.21498371 L12.6211726,5.73289902 L13.62443,5.73289902 L13.62443,6.21498371 Z M7.64397394,7.80456026 L6.39315961,7.80456026 L6.4713355,7.32247557 L7.64397394,7.32247557 L7.64397394,7.80456026 Z M10.9794788,7.80456026 L9.28566775,7.80456026 L9.28566775,7.32247557 L10.9794788,7.32247557 L10.9794788,7.80456026 Z M6.69283388,13.5114007 L6.69283388,11.5179153 L13.2335505,11.5179153 L13.2335505,13.5114007 L14.9143322,13.5114007 L14.9143322,10.0977199 L5.01205212,10.0977199 L5.01205212,13.5114007 L6.69283388,13.5114007 Z M15.8263844,16 L15.8263844,14.3843648 L10.6667752,12.9120521 C10.9013029,12.5559175 11.1010858,12.1563518 11.2661238,11.713355 L11.2661238,11.713355 L9.45504886,11.713355 C8.71672096,13.320304 6.93170467,14.2236699 4.1,14.4234528 L4.1,14.4234528 L4.1,15.9478827 C5.25526602,15.8957655 6.28458198,15.7176982 7.18794788,15.4136808 C8.09131379,15.1096634 8.86004343,14.7014115 9.49413681,14.1889251 L9.49413681,14.1889251 L15.8263844,16 Z" fill="#754300" fill-rule="nonzero"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="39px" height="18px" viewBox="0 0 39 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title></title>
<g id="稻田1.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="简" transform="translate(0.760000, 0.180000)" fill-rule="nonzero">
<path d="M3.094,16.814 L3.822,10.276 C4.05533333,10.7426667 4.27,11.2046667 4.466,11.662 L4.466,11.662 L5.502,11.032 C4.89533333,9.98666667 4.396,9.18866667 4.004,8.638 L4.004,8.638 L4.032,8.288 L5.39,8.288 L5.544,7.07 L4.172,7.07 L4.424,4.774 L3.122,4.774 L2.87,7.07 L1.162,7.07 L1.008,8.288 L2.604,8.288 C1.94133333,9.772 1.07333333,11.284 0,12.824 L0,12.824 L1.05,13.412 C1.60066667,12.572 2.06266667,11.774 2.436,11.018 L2.436,11.018 L1.806,16.8 L3.094,16.814 Z M12.124,6.664 L12.264,5.432 L6.44,5.432 L6.3,6.664 L12.124,6.664 Z M7.994,16.828 C8.61,16.828 8.946,16.5153333 9.002,15.89 L9.002,15.89 L9.674,9.898 L12.362,9.898 L12.502,8.666 L5.614,8.666 L5.474,9.898 L8.344,9.898 L7.7,15.344 C7.68133333,15.456 7.62533333,15.512 7.532,15.512 L7.532,15.512 L7.462,15.498 C7.098,15.4326667 6.68733333,15.3206667 6.23,15.162 L6.23,15.162 L6.076,16.408 C6.57066667,16.604 7.11666667,16.7393333 7.714,16.814 C7.77933333,16.8233333 7.87266667,16.828 7.994,16.828 Z M5.894,14.938 C6.22066667,14.1446667 6.72,12.7446667 7.392,10.738 L7.392,10.738 L6.23,10.738 C5.65133333,12.306 5.096,13.706 4.564,14.938 L4.564,14.938 L5.894,14.938 Z M12.264,15.134 C12.012,13.7153333 11.7133333,12.278 11.368,10.822 L11.368,10.822 L10.164,10.822 C10.5466667,12.5206667 10.8453333,13.958 11.06,15.134 L11.06,15.134 L12.264,15.134 Z M14.742,16.324 L19.558,5.81 L18.018,5.81 L13.202,16.324 L14.742,16.324 Z" id="标/" fill="#333333"></path>
<path d="M23.088,4.4 C23.608,3.69333333 23.9746667,3.17333333 24.188,2.84 L24.188,2.84 L25.648,2.84 L26.268,4.34 L28.088,4.34 L27.408,2.84 L29.608,2.84 L29.788,1.24 L25.128,1.24 L25.788,0 L23.748,0 C22.988,1.45333333 22.068,2.92 20.988,4.4 L20.988,4.4 L23.088,4.4 Z M31.108,4.54 C31.468,3.98 31.808,3.42 32.128,2.86 L32.128,2.86 L33.468,2.86 L34.148,4.5 L36.028,4.5 L35.288,2.86 L37.828,2.86 L38.008,1.26 L32.988,1.26 L33.288,0.68 L33.588,0.04 L31.588,0.04 C31.1213333,1.09333333 30.2746667,2.59333333 29.048,4.54 L29.048,4.54 L31.108,4.54 Z M25.888,7.28 L26.088,5.6 L23.268,4.66 L23.068,6.22 L25.888,7.28 Z M33.708,17.3 C34.348,17.34 34.8213333,17.22 35.128,16.94 C35.4346667,16.66 35.628,16.16 35.708,15.44 L35.708,15.44 L36.668,7.08 C36.6946667,6.78666667 36.708,6.58666667 36.708,6.48 C36.708,5.96 36.588,5.60333333 36.348,5.41 C36.108,5.21666667 35.688,5.12 35.088,5.12 L35.088,5.12 L27.048,5.12 L26.828,6.72 L34.788,6.72 L33.848,15.12 C33.8346667,15.2933333 33.788,15.42 33.708,15.5 C33.6546667,15.54 33.5613333,15.56 33.428,15.56 C33.228,15.56 33.008,15.5266667 32.768,15.46 L32.768,15.46 L32.248,15.38 C31.9546667,15.3266667 31.5813333,15.2466667 31.128,15.14 L31.128,15.14 L30.948,16.86 C31.948,17.1 32.868,17.2466667 33.708,17.3 Z M22.888,17.26 L24.168,7.38 L22.288,7.38 L21.068,17.26 L22.888,17.26 Z M32.108,14.72 L32.648,9.5 C32.6746667,9.26 32.688,9.1 32.688,9.02 C32.688,8.56666667 32.568,8.24333333 32.328,8.05 C32.088,7.85666667 31.688,7.76 31.128,7.76 L31.128,7.76 L27.328,7.76 C26.728,7.76 26.3046667,7.88 26.058,8.12 C25.8113333,8.36 25.6546667,8.8 25.588,9.44 L25.588,9.44 L24.988,14.72 L32.108,14.72 Z M30.888,10.54 L27.088,10.54 L27.228,9.24 L31.028,9.24 L30.888,10.54 Z M30.588,13.24 L26.808,13.24 L26.948,11.94 L30.728,11.94 L30.588,13.24 Z" fill="#FF4400"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>快速报名</title>
<g id="稻田1.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="职位2023-0819备份" transform="translate(-231.000000, -676.000000)" fill-rule="nonzero">
<g id="编组-21备份-2" transform="translate(0.000000, 676.000000)">
<g id="快速报名" transform="translate(164.000000, 0.000000)">
<g transform="translate(67.000000, 0.000000)">
<g id="路径" fill="#FF4400">
<path d="M24,48 C10.8,48 0,37.2 0,24 C0,10.8 10.8,0 24,0 C37.2,0 48,10.8 48,24 C48,37.2 37.2,48 24,48 Z"></path>
</g>
<g transform="translate(11.900000, 11.400000)" fill="#FFFFFF" id="形状结合">
<path d="M10.4,14.4 C10.8,14.4 11.1,14.5 11.3,14.6 C11.5,14.8 11.6,15 11.6,15.4 L11.6,15.7 L11.6,15.7 C11.5,16.3 11.4,17 11.3,17.7 C11.2,18.1 11.1,18.3 10.8,18.5 C10.6,18.6 10.3,18.7 9.9,18.7 C9.3,18.7 8.6,18.5 7.9,18.4 L7.7,18.4 L7.9,16.9 L8.1,17 C8.6,17.1 9.2,17.2 9.7,17.3 L9.8,17.3 L9.8,17.3 C9.9,16.9 9.9,16.5 10,16.2 L7.1,16.2 L6.7,19 L10.3,19 C10.6,19 10.9,19.1 11.1,19.3 C11.3,19.5 11.4,19.7 11.4,20 C11.4,20.2 11.4,20.5 11.3,20.7 C11,21.6 10.5,22.5 9.8,23.3 C10.4,23.9 11,24.4 11.7,24.9 L11.9,25.1 L10.5,25.9 L10.4,25.8 C9.8,25.3 9.2,24.8 8.6,24.2 L8.51121058,24.274502 C8.25550413,24.5058638 7.98338993,24.7233835 7.69486796,24.9337072 C7.36508462,25.1892086 7.00863309,25.4446043 6.6,25.7 L6.5,25.8 L5.8,25.3 L5.8,25.7 L4.2,25.7 L5.4,15.6 C5.4,15.2 5.6,14.9 5.8,14.7 C6,14.5 6.3,14.4 6.7,14.4 L10.4,14.4 Z M4.2,14.1 L4,16.1 L5.1,16.1 L4.9,17.7 L3.8,17.7 L3.6,19.1 L4.8,18.7 L4.6,20.4 L3.4,20.8 L3.1,24.6 C3.00625,25.44375 2.47304688,25.6722656 1.99477539,25.6975342 L1.9,25.7 C1.3,25.7 0.7,25.5 0.2,25.3 L0.131,25.231 L0,25.2 L0.2,24.1 L0.244,24.117 L0.3,23.7 L0.5,23.8 C0.9,24 1.2,24.1 1.5,24.1 L1.5,24 L1.5,24 L1.8,21.3 L0.3,21.7 L0.5,20 L2,19.6 L2.2,17.7 L0.7,17.7 L0.9,16.1 L2.4,16.1 L2.6,14.1 L4.2,14.1 Z M19.8,14.1 L19.1,15 L22.9,15 C23.2,15 23.4,15.1 23.6,15.2 C23.8,15.3 24,15.5 24.1,15.7 C24.2,15.8 24.2,16 24.2,16.1 C24.2,16.4 24.1,16.7 23.8,17 C23,17.7 22.2,18.4 21.5,18.9 C21,19.3 20.4,19.6 19.9,19.9 L22.9,19.9 C23.7,19.9 24.1,20.3 24.1,21 L24.1,21.3 L24.1,21.3 L23.5,25.5 L15,25.5 L15.4,21.7 L13.9,22 L13.9,22 L13.8,22 L12.9,20.6 L13.2,20.6 C14.3,20.4 15.2,20.2 16,19.9 C16.7,19.7 17.4,19.4 18,19.1 L16.4,18 L15.4,18.9 L13.2,18.7 L13.6,18.4 C14.4,17.7 15.1,17 15.7,16.3 C16.2,15.8 16.8,15 17.5,14.2 L17.6,14.1 L19.8,14.1 Z M6.4,20.8 L5.9,24.4 C6.5,24 7.1,23.5 7.6,23.1 C7.1,22.3 6.7,21.6 6.4,20.8 Z M22.2,21.6 L17.1,21.6 L16.9,23.9 L22,23.9 L22.2,21.6 Z M9.5,20.4 L7.8,20.4 C8,21 8.3,21.5 8.6,22 C8.94285714,21.5714286 9.2122449,21.1428571 9.40816327,20.651312 L9.5,20.4 L9.5,20.4 Z M21.5,16.8 L17.6,16.8 L17.5,16.9 L19.5,18.3 C20.1,17.9 20.8,17.4 21.5,16.8 Z M4.2,0.1 L4,2.6 L5.1,2.6 L5.2,3.2 L5.4,1.8 L7.2,1.8 L7.4,0.1 L9.1,0.1 L8.9,1.8 L10.1,1.8 C10.5,1.8 10.9,1.9 11.1,2.1 C11.3,2.3 11.4,2.6 11.4,3 L11.4,3.3 L11.4,3.3 L11.1,5.3 L12,5.3 L11.8,6.9 L8.7,6.9 C9,7.6 9.4,8.2 9.8,8.8 C10.3,9.5 10.9,10.1 11.6,10.7 L11.8,10.9 L10.3,11.9 L10.2,11.8 C9,10.6 8.1,9.4 7.5,8.1 C7.2,8.8 6.8,9.4 6.3,9.9 C5.8,10.6 5.2,11.2 4.6,11.6 L4.5,11.7 L2.9,11 L2.8,11.7 L1.2,11.7 L2.2,2.7 L1.5,6.6 L0.1,6.6 L0.9,2.5 L2.3,2.5 L2.6,0.1 L4.2,0.1 Z M22.1,0 L22.079,0.199 L22.1,0.2 L22.019,1 L24.9,1 L24.9,2.6 L22,2.6 L22,3 L23.5,3 C23.9,3 24.2,3.1 24.4,3.3 C24.6,3.5 24.7,3.9 24.6,4.3 L24.3,6.8 L22.2,6.8 C23.1,7.3 23.9,7.9 24.7,8.5 L24.9,8.6 L23.8,9.8 L23.6,9.6 C22.7,8.9 22,8.3 21.4,7.9 L21.1,10.1 L24.9,10.1 L24.4,11.6 L18.7,11.6 C17.9,11.6 17.2,11.4 16.6,11.1 C16.2,10.9 15.9,10.7 15.6,10.4 C15.4,10.9 15.1,11.4 14.6,11.9 L12.9,11.4 L13.1,11.2 C13.5,10.7 13.9,10.3 14.1,9.9 C14.3,9.5 14.5,9 14.5,8.5 L14.9,5.3 L13.4,5.3 L13.6,3.8 L13.99,3.8 L14,3.7 L15.8,3.7 L15.922449,3.7058309 C16.155102,3.72857143 16.3142857,3.81428571 16.4,3.9 C16.5,4 16.6,4.2 16.6,4.5 L16.6,4.5 L16.6,4.7 L16.42,6.027 L16.2,8.6 L16.2,8.6 L16.4,8.5 C17.4,7.9 18.3,7.4 19.1,6.7 L17.2,6.7 L17.5,3.9 C17.6,3.3 18,2.9 18.6,2.9 L20.3,2.9 L20.3,2.5 L17.3,2.5 L17.5,1 L20.5,1 L20.6,0 L22.1,0 Z M7,3.3 L5.2,3.3 L5.4,5.3 L4,5.3 L3.9,3.703 L3,10.9 L3.1,10.8 C3.9,10.2 4.5,9.6 5.1,8.9 C5.6,8.3 5.9,7.7 6.2,7 L4.4,7 L4.6,5.4 L6.8,5.4 C6.8,5.2 6.9,4.9 6.9,4.6 L7,3.3 Z M19.8,8.1 C19.1,8.7 18.3,9.2 17.4,9.7 C17.9,10 18.5,10.1 19.2,10.1 L19.6,10.1 L19.8,8.1 Z M9.7,3.3 L8.7,3.3 L8.5,5 C8.5,5.2 8.4,5.3 8.4,5.4 L9.4,5.4 L9.7,3.3 Z M23,4.4 L21.8,4.4 L21.7,5.3 L22.9,5.3 L23,4.4 Z M20.2,4.4 L19,4.4 L18.9,5.3 L20.1,5.3 L20.2,4.4 Z M14.5,0.3 L17.2,1.6 L17.1,3.3 L14.3,2 L14.5,0.3 Z"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="23px" viewBox="0 0 20 23" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>批量分享</title>
<g id="稻田1.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="职位2023-0829-关注提示备份" transform="translate(-325.000000, -987.000000)" fill="#333333" fill-rule="nonzero">
<g id="编组-32" transform="translate(311.000000, 932.000000)">
<g id="编组-31" transform="translate(6.000000, 48.000000)">
<path d="M9.59,16.98 C10.25,16.98 10.59,16.63 10.59,15.94 L10.59,13.35 C10.86,13.25 11.13,13.14 11.4,13.03 L11.4,12.05 C11.13,12.16 10.86,12.27 10.59,12.37 L10.59,10.53 L11.47,10.53 L11.47,9.52 L10.59,9.52 L10.59,7.79 L9.57,7.79 L9.57,9.52 L8.56,9.52 L8.56,10.53 L9.57,10.53 L9.57,12.69 C9.19,12.79 8.81,12.87 8.43,12.94 L8.68,13.94 C8.98,13.86 9.27,13.78 9.57,13.69 L9.57,15.67 C9.57,15.91 9.45,16.03 9.23,16.03 C9,16.03 8.76,16 8.52,15.96 L8.74,16.98 L9.59,16.98 Z M16.26,16.94 C16.64,16.94 16.93,16.83 17.11,16.62 C17.31,16.4 17.45,15.7 17.53,14.53 L16.58,14.23 C16.55,15.07 16.49,15.56 16.41,15.72 C16.33,15.87 16.22,15.95 16.07,15.95 L15.68,15.95 C15.48,15.95 15.38,15.84 15.38,15.62 L15.38,11.62 C16.04,11.4 16.74,11.1 17.48,10.71 L16.88,9.85 C16.4,10.15 15.9,10.39 15.38,10.59 L15.38,7.82 L14.35,7.82 L14.35,15.85 C14.35,16.57 14.68,16.94 15.36,16.94 L16.26,16.94 Z M11.57,16.95 C12.51,16.73 13.35,16.48 14.09,16.18 L13.9,15.22 C13.56,15.38 13.18,15.52 12.78,15.64 L12.78,11.67 L14.01,11.67 L14.01,10.65 L12.78,10.65 L12.78,7.84 L11.75,7.84 L11.75,15.38 C11.75,15.69 11.6,15.89 11.31,15.98 L11.57,16.95 Z M26.39,10.5 L26.39,7.93 L19.64,7.93 L19.64,10.5 L26.39,10.5 Z M25.39,8.93 L20.64,8.93 L20.64,8.52 L25.39,8.52 L25.39,8.93 Z M25.39,9.92 L20.64,9.92 L20.64,9.51 L25.39,9.51 L25.39,9.92 Z M27.51,11.62 L27.51,10.88 L18.49,10.88 L18.49,11.62 L27.51,11.62 Z M27.51,16.87 L27.51,16.09 L23.51,16.09 L23.51,15.67 L26.79,15.67 L26.79,15 L23.51,15 L23.51,14.61 L26.6,14.61 L26.6,11.99 L19.42,11.99 L19.42,14.61 L22.47,14.61 L22.47,15 L19.23,15 L19.23,15.67 L22.47,15.67 L22.47,16.09 L18.49,16.09 L18.49,16.87 L27.51,16.87 Z M22.47,13.02 L20.41,13.02 L20.41,12.6 L22.47,12.6 L22.47,13.02 Z M25.61,13.02 L23.51,13.02 L23.51,12.6 L25.61,12.6 L25.61,13.02 Z M25.61,14.01 L23.51,14.01 L23.51,13.58 L25.61,13.58 L25.61,14.01 Z M22.47,14.01 L20.41,14.01 L20.41,13.58 L22.47,13.58 L22.47,14.01 Z M16.9,24.2 L17.61,23.37 C16.13,22.51 15.12,21.33 14.58,19.84 L13.67,20.35 C14.28,21.93 15.36,23.21 16.9,24.2 Z M8.95,24.25 C9.83,23.62 10.49,23.05 10.95,22.53 C11.42,22.01 11.89,21.33 12.35,20.51 L11.45,19.96 C11.04,20.72 10.61,21.35 10.16,21.87 C9.6,22.5 9,22.98 8.38,23.32 L8.95,24.25 Z M9.53,29.07 C10.55,28.49 11.32,27.83 11.84,27.1 C12.24,26.49 12.55,25.68 12.78,24.66 L14.94,24.66 C14.9,26.04 14.79,26.94 14.63,27.36 C14.47,27.76 14.15,27.97 13.66,27.97 C13.14,27.97 12.58,27.95 11.99,27.93 L12.27,28.96 L14.19,28.96 C14.7,28.93 15.07,28.76 15.3,28.46 C15.54,28.14 15.7,27.59 15.8,26.79 C15.9,25.99 15.96,24.95 16,23.65 L9.92,23.65 L9.92,24.66 L11.72,24.66 C11.52,25.46 11.24,26.11 10.89,26.61 C10.43,27.19 9.75,27.72 8.85,28.2 L9.53,29.07 Z M27.38,21.48 L27.38,20.5 L23.45,20.5 C23.33,20.23 23.2,19.98 23.07,19.76 L21.86,19.96 C22,20.13 22.13,20.31 22.25,20.5 L18.62,20.5 L18.62,21.48 L27.38,21.48 Z M26.14,24.08 L26.14,21.85 L19.87,21.85 L19.87,24.08 L26.14,24.08 Z M25.13,23.2 L20.88,23.2 L20.88,22.73 L25.13,22.73 L25.13,23.2 Z M22.62,29.04 C23.33,29.04 23.69,28.67 23.69,27.95 L23.69,27.28 L27.6,27.28 L27.6,26.34 L23.72,26.34 C24.78,25.92 25.72,25.54 26.52,25.2 L26.52,24.47 L19.37,24.47 L19.37,25.39 L24.42,25.39 L22.66,26.09 L22.66,26.34 L18.4,26.34 L18.4,27.28 L22.66,27.28 L22.66,27.65 C22.66,27.99 22.51,28.17 22.21,28.17 C21.91,28.17 21.49,28.15 20.96,28.11 L21.24,29.04 L22.62,29.04 Z" id="批量分享"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 16 14" style="enable-background:new 0 0 16 14;" xml:space="preserve">
<style type="text/css">
.st0{fill:#333333;}
.st1{fill:#FF4400;}
</style>
<title>拍照</title>
<g id="一手单小程序">
<g id="工具" transform="translate(-33.000000, -169.000000)">
<g id="编组-37" transform="translate(22.000000, 162.000000)">
<g id="拍照-" transform="translate(12.000000, 8.000000)">
<g id="形状">
<path class="st0" d="M12.4,1.8c-0.6,0-1-0.1-1.3-0.3S10.6,1,10.5,0.7C10.2,0.2,10.1,0,9.6,0H4.4C3.9,0,3.7,0.2,3.5,0.7
C3.4,1,3.2,1.3,2.9,1.5C2.4,1.8,2.4,1.8,1.6,1.8S0,2.4,0,3.4v6.9c0,1,0.8,1.7,1.8,1.7h10.5c1,0,1.7-0.8,1.7-1.7V3.4
C14,2.4,13.3,1.8,12.4,1.8z M12.3,11.2H1.7c-0.5,0-0.9-0.4-0.9-0.9V3.5c0-0.5,0.4-0.9,0.9-0.9C2.5,2.5,3,2.5,3.2,2.4
c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.5,0.4-0.9,0.9-0.9h4.4c0.5,0,0.6,0.5,0.9,0.9s0.3,0.4,0.7,0.6c0.3,0.2,0.8,0.2,1.4,0.2
c0.5,0,0.9,0.4,0.9,0.9v6.9C13.1,10.9,12.7,11.2,12.3,11.2z"/>
<path class="st0" d="M12.2,12.1H1.8c-1,0-1.9-0.8-1.9-1.8V3.4c0-1,0.9-1.7,1.7-1.7h0.1c0.7,0,0.7,0,1.1-0.3
C3.1,1.2,3.3,1,3.4,0.6c0.2-0.5,0.4-0.7,1-0.7h5.2c0.5,0,0.7,0.2,1,0.7c0.1,0.4,0.3,0.6,0.6,0.8c0.3,0.2,0.7,0.2,1.2,0.3
c1,0,1.7,0.7,1.7,1.7v6.9C14.1,11.3,13.3,12.1,12.2,12.1z M1.6,1.9c-0.7,0-1.5,0.6-1.5,1.5v6.9c0,0.9,0.7,1.6,1.6,1.6h10.5
c0.9,0,1.7-0.7,1.7-1.6V3.4c0-0.9-0.6-1.5-1.5-1.5h0c-0.6,0-1-0.1-1.3-0.3c-0.3-0.2-0.5-0.5-0.7-0.9c-0.2-0.5-0.3-0.6-0.8-0.6
H4.4c-0.4,0-0.6,0.2-0.8,0.6C3.5,1.1,3.3,1.4,2.9,1.6C2.5,1.9,2.4,1.9,1.7,1.9H1.6z M12.2,11.3H1.8c-0.5,0-1-0.4-1-1V3.5
c0-0.5,0.4-1,1-1c0.7,0,1.2-0.1,1.4-0.2C3.4,2.2,3.6,2,3.9,1.7C3.9,1.6,4,1.5,4,1.4c0.2-0.4,0.4-0.6,0.8-0.6h4.4
c0.4,0,0.6,0.3,0.8,0.6c0.1,0.1,0.1,0.2,0.2,0.3c0.3,0.4,0.3,0.4,0.7,0.6c0.3,0.2,0.8,0.2,1.4,0.2c0.5,0,1,0.4,1,1v6.9
C13.2,10.9,12.8,11.3,12.2,11.3z M4.8,1C4.5,1,4.4,1.2,4.2,1.5c0,0.1-0.1,0.2-0.2,0.3C3.8,2.1,3.5,2.4,3.3,2.5
C3,2.6,2.5,2.6,1.8,2.7C1.3,2.7,1,3,1,3.5v6.9c0,0.4,0.3,0.8,0.8,0.8h10.5c0.4,0,0.8-0.3,0.8-0.8V3.5c0-0.4-0.3-0.8-0.8-0.8
c-0.7,0-1.2-0.1-1.5-0.2c-0.5-0.2-0.5-0.3-0.8-0.7C9.9,1.7,9.9,1.6,9.8,1.5C9.7,1.2,9.5,1,9.2,1H4.8z"/>
</g>
<g id="形状_1_">
<path class="st1" d="M7,3.9c0.8,0,1.5,0.3,2,0.8c0.5,0.5,0.8,1.2,0.8,2c0,0.8-0.3,1.5-0.8,2C8.5,9.1,7.8,9.4,7,9.4
S5.5,9.1,5,8.6c-0.5-0.5-0.8-1.2-0.8-2c0-0.8,0.3-1.5,0.8-2C5.5,4.2,6.2,3.9,7,3.9z M7,4.8C6.5,4.8,6,5,5.7,5.3
C5.4,5.7,5.2,6.1,5.2,6.6c0,0.5,0.2,1,0.5,1.3C6,8.2,6.5,8.4,7,8.4c0.5,0,1-0.2,1.3-0.5c0.3-0.3,0.5-0.8,0.5-1.3
c0-0.5-0.2-1-0.5-1.3C8,5,7.5,4.8,7,4.8z"/>
<path class="st1" d="M7,9.5c-0.8,0-1.5-0.3-2.1-0.9C4.4,8.1,4.1,7.4,4.1,6.6s0.3-1.5,0.9-2.1C5.5,4,6.2,3.7,7,3.7
c0.8,0,1.5,0.3,2.1,0.9c0.6,0.6,0.9,1.3,0.9,2.1c0,0.8-0.3,1.5-0.9,2.1S7.8,9.5,7,9.5z M7,4C6.3,4,5.6,4.3,5.1,4.8
C4.6,5.3,4.4,5.9,4.4,6.6S4.6,8,5.1,8.5C5.6,9,6.3,9.2,7,9.2S8.4,9,8.9,8.5C9.4,8,9.6,7.3,9.6,6.6S9.4,5.3,8.9,4.8
C8.4,4.3,7.7,4,7,4z M7,8.6C6.5,8.6,6,8.4,5.6,8C5.2,7.6,5,7.1,5,6.6c0-0.5,0.2-1,0.6-1.4S6.5,4.7,7,4.7s1,0.2,1.4,0.6
C8.8,5.6,9,6.1,9,6.6c0,0.5-0.2,1-0.6,1.4C8,8.4,7.5,8.6,7,8.6z M7,5C6.6,5,6.1,5.1,5.8,5.4C5.5,5.8,5.3,6.2,5.3,6.6
c0,0.4,0.2,0.9,0.5,1.2C6.1,8.1,6.6,8.3,7,8.3s0.9-0.2,1.2-0.5c0.3-0.3,0.5-0.7,0.5-1.2c0-0.4-0.2-0.9-0.5-1.2
C7.9,5.1,7.4,5,7,5z"/>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>收藏</title>
<g id="一手单小程序" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="我的" transform="translate(-46.000000, -476.000000)">
<g id="编组-19" transform="translate(10.000000, 418.000000)">
<g id="收藏-(1)" transform="translate(20.000000, 57.999922)">
<g id="编组-14" transform="translate(0.000000, -0.000000)">
<g id="收藏" transform="translate(16.000000, 0.000000)">
<g id="收藏-(11)">
<rect id="矩形" x="0" y="7.82712469e-05" width="24" height="24"></rect>
<path d="M18.2303794,13.502687 C17.4599575,14.2925901 17.1084713,15.4305079 17.2904462,16.5456709 L18.1803238,22.0000391 L13.5214436,19.4249067 C13.0520847,19.1659403 12.5300502,19.0303832 12,19.0298322 C11.4716351,19.0298322 10.9463602,19.1662888 10.4785564,19.4249067 L5.8196762,22.0000391 L6.70955383,16.5456709 C6.8915287,15.4305079 6.54004252,14.2925901 5.76962058,13.502687 L2,9.63966354 L7.20949203,8.84366626 C8.27407816,8.68131505 9.19440309,7.97824913 9.67025089,6.96381312 L12,2.00003914 L14.3297491,6.96381312 C14.8057171,7.97842107 15.7263103,8.6815154 16.791126,8.84366626 L22,9.63966354 L18.2303794,13.502687 Z M22.8222236,8.08388663 L16.9104107,7.18575546 C16.4628198,7.11790692 16.0759168,6.82396574 15.8760084,6.39989071 L13.2324027,0.800369093 C13.0036968,0.307422522 12.5240979,-0.00401644968 12,3.91356235e-05 C11.5103989,3.91356235e-05 11.0195979,0.266633327 10.7675973,0.800369093 L8.12399155,6.39989071 C7.92391948,6.82382154 7.53709954,7.11769962 7.08958929,7.18575546 L1.1777764,8.08388663 C0.0509739334,8.25510858 -0.399027036,9.70265515 0.416374733,10.5336773 L4.69438408,14.8919967 C5.01778478,15.2218969 5.16538511,15.6979315 5.08918492,16.1633039 L4.07938272,22.3178856 C3.92698238,23.2467489 4.63318392,24 5.43358569,24 C5.64418614,24 5.86198661,23.9479435 6.07258707,23.831914 L11.3609986,20.9261586 C11.7610763,20.7064616 12.2389237,20.7064616 12.6390014,20.9261586 L17.9274129,23.831914 C18.1374134,23.9479435 18.3552139,24 18.5664143,24 C19.3668161,24 20.0730176,23.246749 19.9206173,22.3178856 L18.9108151,16.1633039 C18.834693,15.6974758 18.9822657,15.2222736 19.3056159,14.8919967 L23.5836253,10.5336773 C24.399027,9.70265512 23.9490261,8.25510855 22.8222236,8.08388663 Z" id="形状" fill="#333333" fill-rule="nonzero"></path>
</g>
<path d="M9.87902171,16.8766471 C9.54859617,16.8766471 9.25947384,16.5875247 9.25947384,16.2570992 C9.25947384,13.0767534 7.64864936,12.333296 7.56604297,12.2919928 C7.23561743,12.1680832 7.11170786,11.7963545 7.23561745,11.465929 C7.35952703,11.1355034 7.73125575,11.0115938 8.02037809,11.1355034 C8.10298448,11.1768066 10.4572664,12.1680832 10.4572664,16.2570992 C10.4985696,16.5875247 10.2094472,16.8766471 9.87902171,16.8766471 Z" id="路径" stroke="#FF4400" stroke-width="0.6" fill="#FF4400" fill-rule="nonzero"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 25 24" style="enable-background:new 0 0 25 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FF4400;}
.st2{fill:#333333;}
.st3{fill:#343333;}
</style>
<title>我的报名</title>
<g id="一手单小程序">
<g id="我的" transform="translate(-132.000000, -476.000000)">
<g id="编组-19" transform="translate(10.000000, 418.000000)">
<g id="编组-16" transform="translate(106.333333, 58.000000)">
<g id="我的报名" transform="translate(16.000000, 0.000000)">
<g id="矩形">
<rect x="0" class="st0" width="24" height="24"/>
</g>
<g transform="translate(0.509091, 0.545455)">
<g id="形状">
<path class="st1" d="M22.2,18.1h-2.8v-2.7c0-0.4-0.3-0.7-0.7-0.7s-0.7,0.3-0.7,0.7v2.7h-2.8c-0.4,0-0.7,0.3-0.7,0.7
c0,0.4,0.3,0.7,0.7,0.7h2.8v2.7c0,0.4,0.3,0.7,0.7,0.7c0.4,0,0.7-0.3,0.7-0.7v-2.7h2.8c0.4,0,0.7-0.3,0.7-0.7
C22.9,18.4,22.6,18.1,22.2,18.1z"/>
<path class="st1" d="M18.7,23c-0.4,0-0.8-0.4-0.8-0.8v-2.6h-2.7c-0.4,0-0.8-0.4-0.8-0.8c0-0.4,0.4-0.8,0.8-0.8H18v-2.6
c0-0.4,0.4-0.8,0.8-0.8c0.4,0,0.8,0.4,0.8,0.8V18h2.7c0.4,0,0.8,0.4,0.8,0.8c0,0.4-0.4,0.8-0.8,0.8h-2.7v2.6
C19.5,22.7,19.2,23,18.7,23z M15.3,18.2c-0.3,0-0.6,0.3-0.6,0.6s0.3,0.6,0.6,0.6h2.9v2.8c0,0.3,0.3,0.6,0.6,0.6
c0.3,0,0.6-0.3,0.6-0.6v-2.8h2.9c0.3,0,0.6-0.3,0.6-0.6s-0.3-0.6-0.6-0.6h-2.9v-2.8c0-0.3-0.3-0.6-0.6-0.6
c-0.3,0-0.6,0.3-0.6,0.6v2.8H15.3z"/>
</g>
<g id="编组-10">
<g id="形状_1_">
<path class="st2" d="M11.3,11.9c-3.5,0-6.4-2.6-6.4-6c0.1-3.4,2.9-6,6.4-6s6.4,2.6,6.4,6C17.7,9.2,14.9,11.9,11.3,11.9z
M11.3,1.4C8.7,1.4,6.4,3.5,6.4,6s2.3,4.6,4.9,4.6s4.9-2.1,4.9-4.6S14.1,1.4,11.3,1.4z"/>
<path class="st3" d="M11.3,12.2c-3.7,0-6.6-2.8-6.6-6.2c0.1-3.5,3-6.2,6.6-6.2c3.7,0,6.6,2.8,6.6,6.2
C17.9,9.4,15,12.2,11.3,12.2z M11.3,0.2C8,0.2,5.3,2.8,5.2,6c0,3.1,2.7,5.7,6.1,5.7c3.4,0,6.1-2.6,6.1-5.7
C17.4,2.8,14.7,0.2,11.3,0.2z M11.3,10.8c-2.8,0-5.2-2.2-5.2-4.9s2.4-4.8,5.2-4.8c2.8,0,5.2,2.2,5.2,4.8
C16.5,8.6,14.1,10.8,11.3,10.8z M11.3,1.6c-2.5,0-4.7,2-4.7,4.3s2.1,4.4,4.7,4.4S16,8.3,16,6C16,3.6,13.9,1.6,11.3,1.6z"/>
</g>
<g id="路径">
<path class="st2" d="M0.6,22.9c-0.4,0-0.6-0.2-0.6-0.5c0-5.8,5.3-10.5,11.9-10.5c2.8,0,3.8,0.5,5.5,1.5
c0.2,0.2,0.6,0.6,0.3,0.9c-0.2,0.3-0.6,0.3-1.2,0c-1.4-0.8-2.9-1.2-4.6-1.2C6,13,1.3,17.2,1.3,22.4
C1.2,22.7,0.9,22.9,0.6,22.9z"/>
<path class="st2" d="M0.6,23.2c-0.5,0-0.8-0.3-0.8-0.8c0-6,5.4-10.8,12.1-10.8c2.8,0,3.8,0.5,5.5,1.5l0.1,0.1
c0.5,0.5,0.6,0.9,0.4,1.2c-0.2,0.3-0.6,0.5-1.5,0.1c-1.3-0.8-2.8-1.1-4.5-1.1c-5.7,0-10.3,4.1-10.3,9.1l0,0.1
C1.4,22.9,1,23.2,0.6,23.2z M11.9,12.1c-6.4,0-11.6,4.6-11.6,10.3c0,0.3,0.2,0.3,0.3,0.3c0.2,0,0.4-0.1,0.5-0.3
c0-5.3,4.9-9.5,10.8-9.5c1.8,0,3.4,0.4,4.8,1.2c0.4,0.2,0.7,0.3,0.9,0.1c0,0,0.1-0.2-0.3-0.6l-0.1,0
C15.5,12.6,14.6,12.1,11.9,12.1z"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 25 24" style="enable-background:new 0 0 25 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#333333;}
.st2{fill:#FF4400;}
</style>
<title>我的老乡</title>
<g id="一手单小程序">
<g id="我的" transform="translate(-218.000000, -476.000000)">
<g id="地址本" transform="translate(202.666667, 476.000000)">
<g id="我的老乡" transform="translate(16.000000, 0.000000)">
<g id="矩形">
<rect x="0" class="st0" width="24" height="24"/>
</g>
<g id="编组-24" transform="translate(0.333333, 0.900000)">
<g id="编组-2">
<g id="形状">
<path class="st1" d="M0,22.4h1.7c0-1.3,0.2-2.6,0.7-3.8c0.4-1.2,1-2.2,1.8-3.1c1.5-1.7,3.5-2.7,5.5-2.7s4,1,5.5,2.7
c0.8,0.9,1.4,1.9,1.8,3.1c0.4,1.2,0.7,2.5,0.7,3.8h1.7c0-4.7-2.5-8.7-6-10.4c2.2-1.1,3.5-3.3,3.5-5.6c0-3.5-3-6.4-6.7-6.4
S3.4,2.9,3.4,6.4c0,2.2,1.2,4.2,3.1,5.4C2.7,13.4,0,17.5,0,22.4z M5,6.4c0-2.3,1.7-4.3,4.1-4.7s4.7,0.8,5.6,2.9
c0.9,2.1,0.1,4.6-1.9,5.8s-4.7,1-6.4-0.6C5.6,8.9,5,7.7,5,6.4z"/>
<path class="st1" d="M19.4,22.5h-1.8v0c0-1.3-0.2-2.6-0.7-3.8c-0.4-1.2-1-2.2-1.8-3.1c-1.5-1.7-3.4-2.7-5.5-2.7s-4,1-5.5,2.7
c-0.8,0.9-1.4,1.9-1.8,3.1c-0.4,1.2-0.7,2.5-0.7,3.8v0H0v0c0-4.8,2.6-9,6.4-10.6c-1.9-1.2-3.1-3.2-3.1-5.4
c0-3.6,3-6.5,6.8-6.5c3.7,0,6.8,2.9,6.8,6.5c0,2.3-1.3,4.5-3.4,5.6C17,13.8,19.4,17.9,19.4,22.5L19.4,22.5z M17.7,22.4h1.6
c0-4.5-2.4-8.6-6-10.3l-0.1,0l0.1,0c2.1-1.1,3.5-3.3,3.5-5.6c0-3.5-3-6.4-6.7-6.4S3.4,2.9,3.4,6.4c0,2.2,1.2,4.2,3.1,5.4
l0.1,0.1l-0.1,0c-3.9,1.5-6.4,5.8-6.5,10.5h1.6c0-1.3,0.2-2.6,0.7-3.8c0.4-1.2,1-2.2,1.8-3.1c1.5-1.8,3.5-2.7,5.6-2.7
s4.1,1,5.6,2.7c0.8,0.9,1.4,1.9,1.8,3.1C17.4,19.8,17.7,21.1,17.7,22.4z M10.1,11.3c-1.3,0-2.6-0.5-3.6-1.4
C5.5,8.9,5,7.7,5,6.4c0-2.3,1.7-4.3,4.1-4.8c2.4-0.4,4.8,0.8,5.7,2.9c0.9,2.1,0.1,4.6-1.9,5.9C12,11,11.1,11.3,10.1,11.3z
M10.1,1.7c-0.3,0-0.6,0-1,0.1c-2.3,0.4-4,2.4-4,4.7l0,0c0,1.3,0.5,2.5,1.5,3.4c1.7,1.6,4.3,1.8,6.3,0.6
c2-1.3,2.7-3.7,1.8-5.8C13.9,2.8,12,1.7,10.1,1.7z"/>
</g>
<g id="路径">
<path class="st1" d="M18,12.9c1.8-1,3-2.9,3-4.9c0-2.7-1.9-4.9-4.5-5.5c0.4,0.6,0.8,1.4,0.9,2.1c0.2,0.2,0.5,0.3,0.7,0.5
C19.3,6.3,19.6,8,19,9.5C18.3,11,16.8,12,15.1,12c-0.1,0-0.2,0-0.3,0l0,0c0.9,0.6,1.8,1.4,2.5,2.4c0.8,0.4,1.5,1,2.2,1.7
c0.7,0.8,1.3,1.8,1.7,2.8c0.4,1.1,0.6,2.3,0.6,3.5h1.7C23.5,18.2,21.2,14.5,18,12.9L18,12.9z"/>
<path class="st1" d="M23.5,22.5h-1.8v0c0-1.2-0.2-2.4-0.6-3.5c-0.4-1.1-1-2-1.7-2.8c-0.6-0.7-1.4-1.3-2.2-1.7l0,0
c-0.7-0.9-1.6-1.7-2.5-2.3l-0.1,0l0.1-0.1l0,0c0.1,0,0.2,0,0.3,0c1.7,0,3.2-1,3.8-2.4C19.6,8,19.2,6.3,18,5.2
c-0.2-0.2-0.4-0.4-0.7-0.5l0,0l0,0c-0.2-0.7-0.5-1.4-0.9-2.1l-0.1-0.1l0.1,0C19.2,3.1,21,5.4,21,8c0,2-1.1,3.9-2.9,4.9
C21.4,14.6,23.5,18.3,23.5,22.5L23.5,22.5z M21.9,22.4h1.6c0-4.1-2.2-7.8-5.5-9.4l-0.1,0l0.1,0c1.8-1,3-2.8,3-4.8
c0-2.6-1.8-4.8-4.4-5.4c0.4,0.6,0.7,1.3,0.9,2c0.2,0.2,0.5,0.3,0.7,0.5C19.3,6.3,19.7,8,19,9.6c-0.7,1.5-2.2,2.5-3.9,2.5
c0,0-0.1,0-0.1,0c0.9,0.6,1.7,1.4,2.4,2.3c0.8,0.4,1.6,1,2.2,1.7c0.7,0.8,1.3,1.8,1.7,2.8C21.7,20,21.9,21.2,21.9,22.4z"/>
</g>
</g>
<g id="银行卡">
<polygon class="st2" points="9.8,18.2 13.8,18.2 13.8,17.1 9.8,17.1 "/>
<path class="st2" d="M13.8,18.5h-4c-0.2,0-0.3-0.1-0.3-0.3v-1.1c0-0.2,0.1-0.3,0.3-0.3h4c0.2,0,0.3,0.1,0.3,0.3v1.1
C14.1,18.4,13.9,18.5,13.8,18.5z M10.1,17.9h3.4v-0.5h-3.4V17.9z"/>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="33px" height="20px" viewBox="0 0 33 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>编组 37</title>
<g id="控件" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="编组-37">
<path d="M2,0 L33,0 L33,0 L33,20 L2,20 C0.8954305,20 1.3527075e-16,19.1045695 0,18 L0,2 C-1.3527075e-16,0.8954305 0.8954305,2.02906125e-16 2,0 Z" id="矩形" fill="#E3F5FF"></path>
<path d="M6.91075269,13.8 C7.50143369,13.6910394 8.01469534,13.4860215 8.45053763,13.1849462 C8.88637993,12.883871 9.21899642,12.5010753 9.4483871,12.0365591 C10.1021505,12.4322581 10.5035842,12.9942652 10.6526882,13.7225806 L10.6526882,13.7225806 L11.6935484,13.7225806 C11.4870968,12.8681004 11.1057348,12.1913978 10.5494624,11.6924731 L10.5494624,11.6924731 L11.444086,11.6924731 L11.444086,7.64946237 L9.72365591,7.64946237 L9.83548387,7.09892473 L11.788172,7.09892473 L11.788172,6.05806452 L6.84193548,6.05806452 L6.84193548,7.09892473 L8.80322581,7.09892473 L8.69139785,7.64946237 L7.18602151,7.64946237 L7.18602151,11.6924731 L8.25268817,11.6924731 L8.25268817,8.65591398 L10.3774194,8.65591398 L10.3774194,11.5462366 C10.1939068,11.3971326 9.98172043,11.2594982 9.74086022,11.1333333 C9.78100358,10.9326165 9.80107527,10.7032258 9.80107527,10.4451613 L9.80107527,10.4451613 L9.80107527,9.09462366 L8.76021505,9.09462366 L8.76021505,10.4021505 C8.76021505,11.0501792 8.60107527,11.5548387 8.2827957,11.916129 C7.96451613,12.2774194 7.50716846,12.5182796 6.91075269,12.6387097 L6.91075269,12.6387097 L6.91075269,13.8 Z M3.9,12.7763441 L6.99677419,12.2516129 L6.99677419,11.055914 L5.95591398,11.2365591 L5.95591398,7.49462366 L6.70430108,7.49462366 L6.70430108,6.37634409 L4.01182796,6.37634409 L4.01182796,7.49462366 L4.85483871,7.49462366 L4.85483871,11.4172043 L3.9,11.5806452 L3.9,12.7763441 Z M19.6419355,13.5763441 L19.6419355,6.10967742 L13.2763441,6.10967742 L13.2763441,13.5763441 L19.6419355,13.5763441 Z M18.4978495,8.22580645 L14.4204301,8.22580645 L14.4204301,7.21075269 L18.4978495,7.21075269 L18.4978495,8.22580645 Z M18.4978495,10.3247312 L14.4204301,10.3247312 L14.4204301,9.31827957 L18.4978495,9.31827957 L18.4978495,10.3247312 Z M18.4978495,12.4752688 L14.4204301,12.4752688 L14.4204301,11.4172043 L18.4978495,11.4172043 L18.4978495,12.4752688 Z M21.0870968,13.7569892 C21.9989247,13.4702509 22.6827957,13.0043011 23.1387097,12.3591398 C23.5946237,11.7139785 23.8512545,10.9383513 23.9086022,10.0322581 L23.9086022,10.0322581 L27.2290323,10.0322581 L27.2290323,12.5956989 L25.9989247,12.5956989 L25.9989247,13.7139785 L28.3387097,13.7139785 L28.3387097,8.9311828 L23.9258065,8.9311828 L23.9258065,7.72688172 L28.9322581,7.72688172 L28.9322581,6.62580645 L25.6290323,6.62580645 L25.6290323,5.8 L24.4935484,5.8 L24.4935484,6.62580645 L21.1903226,6.62580645 L21.1903226,7.72688172 L22.8075269,7.72688172 L22.8075269,9.53333333 C22.8075269,10.2329749 22.6684588,10.8394265 22.3903226,11.3526882 C22.1121864,11.8659498 21.6777778,12.2401434 21.0870968,12.4752688 L21.0870968,12.4752688 L21.0870968,13.7569892 Z" id="项目方" fill="#555666" fill-rule="nonzero"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 25 24" style="enable-background:new 0 0 25 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#333333;}
.st2{fill:#FF4400;}
</style>
<title>银行卡</title>
<g id="一手单小程序">
<g id="我的" transform="translate(-132.000000, -337.000000)">
<g id="编组-18" transform="translate(119.330000, 337.000000)">
<g id="银行卡" transform="translate(13.000000, 0.000000)">
<g id="矩形">
<rect x="0" class="st0" width="24" height="24"/>
</g>
<g>
<path class="st1" d="M20.2,1H3.7C2.2,1,1,2.4,1,4.2v15.5C1,21.6,2.2,23,3.7,23h16.5c1.5,0,2.8-1.4,2.8-3.2V4.2
C23,2.4,21.8,1,20.2,1z M21.9,19.8c0,1.1-0.7,1.9-1.6,1.9H3.7c-0.9,0-1.7-0.9-1.7-1.9V4.2c0-1.1,0.7-1.9,1.7-1.9h16.5
c0.9,0,1.6,0.9,1.6,1.9V19.8z M1.3,9.1h21.1V7.8H1.3V9.1z"/>
<path class="st1" d="M20.3,23.2H3.8c-1.7,0-3-1.6-3-3.5V4.2c0-1.9,1.3-3.5,3-3.5h16.5c1.7,0,3,1.6,3,3.5v15.5
C23.3,21.7,21.9,23.2,20.3,23.2z M1.3,9.4v10.4c0,1.6,1.1,3,2.5,3h16.5c1.4,0,2.5-1.3,2.5-3V4.2c0-1.6-1.1-3-2.5-3H3.8
c-1.4,0-2.5,1.3-2.5,3v3.3h0.6V4.2C1.9,3,2.7,2,3.8,2h16.5c1,0,1.9,1,1.9,2.2v3.3h0.4v1.8h-0.4v10.4c0,1.2-0.9,2.2-1.9,2.2H3.8
c-1,0-1.9-1-1.9-2.2V9.4H1.3z M2.4,9.4v10.4c0,0.9,0.6,1.7,1.4,1.7h16.5c0.8,0,1.4-0.8,1.4-1.7V9.4H2.4z M2.4,8.9h19.3V8.1H2.4
V8.9z M1.5,8.9h0.3V8.1H1.5V8.9z M2.4,7.6h19.3V4.2c0-0.9-0.6-1.7-1.4-1.7H3.8C3,2.5,2.4,3.3,2.4,4.2V7.6z"/>
</g>
<g>
<polygon class="st2" points="13.3,16 19.4,16 19.4,14.9 13.3,14.9 "/>
<path class="st2" d="M19.3,16.3h-6c-0.2,0-0.3-0.1-0.3-0.3v-1.1c0-0.2,0.1-0.3,0.3-0.3h6c0.2,0,0.3,0.1,0.3,0.3V16
C19.6,16.1,19.5,16.3,19.3,16.3z M13.6,15.7H19v-0.5h-5.5V15.7z"/>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 25 24" style="enable-background:new 0 0 25 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#333333;}
.st2{fill:#FF4400;}
</style>
<title>已完成</title>
<g id="一手单小程序">
<g id="工具" transform="translate(-305.000000, -266.000000)">
<g id="编组-4" transform="translate(10.000000, 210.000000)">
<g id="地址本" transform="translate(286.000000, 56.000000)">
<g id="已完成" transform="translate(9.000000, 0.000000)">
<g id="矩形">
<rect class="st0" width="24" height="24"/>
</g>
<g id="已完成-_x28_3_x29_" transform="translate(1.750000, 2.000000)">
<g id="形状">
<path class="st1" d="M11.8,6.5H5.7C5.5,6.5,5.2,6.3,5.2,6v0c0-0.3,0.2-0.5,0.5-0.5h6.1c0.3,0,0.5,0.2,0.5,0.5v0
C12.2,6.3,12,6.5,11.8,6.5z M11.8,10.5H5.7c-0.3,0-0.5-0.2-0.5-0.5v0c0-0.3,0.2-0.5,0.5-0.5h6.1c0.3,0,0.5,0.2,0.5,0.5v0
C12.2,10.3,12,10.5,11.8,10.5z"/>
<path class="st1" d="M11.8,10.9H5.7c-0.5,0-0.8-0.4-0.8-0.8c0-0.5,0.4-0.9,0.8-0.9h6.1c0.5,0,0.8,0.4,0.8,0.8
C12.6,10.5,12.2,10.9,11.8,10.9z M5.7,9.9c-0.1,0-0.1,0.1-0.1,0.1c0,0.1,0.1,0.2,0.1,0.2h6.1c0.1,0,0.1-0.1,0.1-0.1
c0-0.1-0.1-0.2-0.1-0.2H5.7z M11.8,6.9H5.7C5.3,6.9,4.9,6.5,4.9,6c0-0.5,0.4-0.9,0.8-0.9h6.1c0.5,0,0.8,0.4,0.8,0.8
C12.6,6.5,12.2,6.9,11.8,6.9z M5.7,5.9C5.7,5.9,5.6,5.9,5.6,6c0,0.1,0.1,0.2,0.1,0.2h6.1c0.1,0,0.1-0.1,0.1-0.1
c0-0.1-0.1-0.2-0.1-0.2H5.7z"/>
</g>
<g id="路径">
<path class="st1" d="M9.8,15H5.7c-0.2,0-0.4-0.2-0.4-0.5v0c0-0.3,0.2-0.5,0.4-0.5c0.6,0,1,0,1.2,0c0.4,0,1.4,0,2.9,0
c0.2,0,0.4,0.2,0.4,0.5v0C10.2,14.8,10.1,15,9.8,15z"/>
<path class="st1" d="M9.8,15.3H5.7c-0.4,0-0.8-0.4-0.8-0.8c0-0.5,0.3-0.9,0.8-0.9h4.1c0.4,0,0.8,0.4,0.8,0.8
C10.6,15,10.3,15.3,9.8,15.3z M5.7,14.3c0,0-0.1,0.1-0.1,0.1c0,0.1,0.1,0.2,0.1,0.2h4.1c0,0,0.1-0.1,0.1-0.1
c0-0.1-0.1-0.2-0.1-0.2H5.7z"/>
</g>
<g id="形状_1_">
<path class="st1" d="M8.5,21H3c-1.6,0-3-1.3-3-3V3c0-1.6,1.3-3,3-3h11.8c1.6,0,3,1.3,3,3v9.3c0,0.3-0.3,0.6-0.6,0.6
s-0.6-0.3-0.6-0.6V3c0-0.9-0.8-1.7-1.7-1.7H3C2,1.2,1.2,2,1.2,3V18C1.2,19,2,19.8,3,19.8h5.6c0.3,0,0.6,0.3,0.6,0.6
S8.9,21,8.5,21z"/>
<path class="st1" d="M8.5,21.2H3c-1.8,0-3.2-1.4-3.2-3.2V3c0-1.8,1.4-3.2,3.2-3.2h11.8C16.6-0.2,18,1.2,18,3v9.3
c0,0.5-0.4,0.9-0.9,0.9s-0.9-0.4-0.9-0.9V3c0-0.8-0.7-1.5-1.5-1.5H3C2.2,1.5,1.5,2.2,1.5,3V18c0,0.8,0.7,1.5,1.5,1.5h5.6
c0.5,0,0.9,0.4,0.9,0.9S9,21.2,8.5,21.2z M3,0.2C1.5,0.2,0.2,1.5,0.2,3V18c0,1.5,1.2,2.7,2.7,2.7h5.6c0.2,0,0.4-0.2,0.4-0.4
S8.7,20,8.5,20H3c-1.1,0-2-0.9-2-2V3c0-1.1,0.9-2,2-2h11.8c1.1,0,2,0.9,2,2v9.3c0,0.2,0.2,0.4,0.4,0.4s0.4-0.2,0.4-0.4V3
c0-1.5-1.2-2.7-2.7-2.7H3z"/>
</g>
<g id="路径-2">
<path class="st2" d="M21.9,14.3L21.9,14.3c0.3,0.3,0.3,0.7,0.1,1l-4.7,5c-0.1,0.1-0.2,0.2-0.3,0.2c-0.2,0.1-0.5,0-0.6-0.1
l-1.9-1.7c-0.3-0.2-0.3-0.7-0.1-0.9l0,0c0.2-0.3,0.7-0.3,0.9-0.1l1.4,1.3l4.3-4.5C21.2,14.1,21.6,14.1,21.9,14.3z"/>
<path class="st2" d="M16.7,20.8c-0.2,0-0.5-0.1-0.7-0.2l-1.9-1.7c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.2-0.7
c0.4-0.4,1-0.5,1.4-0.1l1.2,1.1l4.1-4.3c0.4-0.4,1-0.4,1.4,0l0,0c0.4,0.4,0.4,1,0,1.4l-4.8,5c-0.1,0.1-0.3,0.2-0.4,0.3
C16.9,20.8,16.8,20.8,16.7,20.8z M14.8,17.8c-0.1,0-0.2,0-0.3,0.1c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3l1.9,1.7
c0.1,0.1,0.2,0.1,0.4,0.1c0.1,0,0.1-0.1,0.2-0.1l4.8-5c0.1-0.1,0.1-0.4,0-0.5l0.2-0.2l-0.2,0.2c-0.1-0.1-0.4-0.1-0.5,0
l-4.5,4.7l-1.6-1.4C15,17.8,14.9,17.8,14.8,17.8z"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#333333;}
.st1{fill:#FF4400;}
.st2{fill:none;}
</style>
<title>证件</title>
<g id="一手单小程序">
<g id="我的" transform="translate(-46.000000, -337.000000)">
<g id="证件_1_" transform="translate(30.000000, 337.000000)">
<g id="编组-5" transform="translate(14.000000, 0.000000)">
<g id="证件" transform="translate(2.000000, 0.000000)">
<g id="形状" transform="translate(1.000000, 1.000000)">
<g>
<path class="st0" d="M19.2,0H2.8C1.2,0,0,1.4,0,3.2v15.5C0,20.6,1.2,22,2.8,22h16.5c1.5,0,2.8-1.4,2.8-3.2V3.2
C22,1.4,20.8,0,19.2,0z M20.9,18.8c0,1.1-0.7,1.9-1.6,1.9H2.8c-0.9,0-1.6-0.9-1.6-1.9V3.2c0-1.1,0.7-1.9,1.6-1.9h16.5
c0.9,0,1.6,0.9,1.6,1.9V18.8z M3.5,16.2h5.1v-1.3H3.4L3.5,16.2z M3.4,11.6h5.2v-1.3H3.4V11.6z M3.4,7.1h5.2V5.8H3.4V7.1z"/>
<path class="st0" d="M19.2,22.2H2.8c-1.7,0-3-1.6-3-3.5V3.2c0-1.9,1.3-3.5,3-3.5h16.5c1.7,0,3,1.6,3,3.5v15.5
C22.2,20.7,20.9,22.2,19.2,22.2z M2.8,0.2c-1.4,0-2.5,1.3-2.5,3v15.5c0,1.6,1.1,3,2.5,3h16.5c1.4,0,2.5-1.3,2.5-3V3.2
c0-1.6-1.1-3-2.5-3H2.8z M19.2,21H2.8c-1,0-1.9-1-1.9-2.2V3.2C0.9,2,1.7,1,2.8,1h16.5c1,0,1.9,1,1.9,2.2v15.5
C21.2,20,20.3,21,19.2,21z M2.8,1.5C2,1.5,1.4,2.3,1.4,3.2v15.5c0,0.9,0.6,1.7,1.4,1.7h16.5c0.8,0,1.4-0.8,1.4-1.7V3.2
c0-0.9-0.6-1.7-1.4-1.7H2.8z M8.9,16.4H3.3l-0.1-1.8h5.7V16.4z M3.8,15.9h4.6v-0.8H3.7L3.8,15.9z M8.9,11.9H3.2v-1.8h5.7
V11.9z M3.7,11.4h4.7v-0.8H3.7V11.4z M8.9,7.4H3.2V5.6h5.7V7.4z M3.7,6.9h4.7V6.1H3.7V6.9z"/>
</g>
<g>
<path class="st1" d="M16.8,13.1c0.7-0.6,1.1-1.4,1.1-2.4c0-1.7-1.4-3.2-3.1-3.2s-3.1,1.4-3.1,3.2c0,1,0.4,1.8,1.1,2.4
c-1.4,0.7-2.4,2.2-2.4,3.9c0,0.3,0.3,0.6,0.6,0.6c0.3,0,0.6-0.3,0.6-0.6c0-1.7,1.4-3.2,3.1-3.2S18,15.2,18,17
c0,0.3,0.3,0.6,0.6,0.6s0.6-0.3,0.6-0.6C19.2,15.3,18.2,13.8,16.8,13.1z M14.9,12.6c-1,0-1.9-0.8-1.9-1.9s0.8-1.9,1.9-1.9
s1.9,0.8,1.9,1.9S15.9,12.6,14.9,12.6z"/>
<path class="st1" d="M18.6,17.8c-0.5,0-0.8-0.4-0.8-0.8c0-1.6-1.3-3-2.9-3c-1.6,0-2.9,1.3-2.9,3c0,0.5-0.4,0.8-0.8,0.8
c-0.5,0-0.8-0.4-0.8-0.8c0-1.6,0.8-3.1,2.2-3.9c-0.6-0.6-1-1.5-1-2.4c0-1.9,1.5-3.4,3.3-3.4s3.3,1.5,3.3,3.4
c0,0.9-0.4,1.7-1,2.4c1.4,0.8,2.2,2.3,2.2,3.9C19.4,17.4,19,17.8,18.6,17.8z M14.8,13.6c1.8,0,3.3,1.5,3.3,3.4
c0,0.2,0.2,0.4,0.4,0.4S19,17.2,19,17c0-1.6-0.9-3-2.3-3.7l-0.3-0.1l0.2-0.2c0.7-0.6,1-1.4,1-2.3c0-1.6-1.3-3-2.9-3
c-1.6,0-2.9,1.3-2.9,3c0,0.9,0.4,1.7,1,2.3l0.2,0.2L13,13.2c-1.4,0.7-2.3,2.2-2.3,3.7c0,0.2,0.2,0.4,0.4,0.4s0.4-0.2,0.4-0.4
C11.5,15.1,13,13.6,14.8,13.6z M14.8,12.8c-1.1,0-2.1-0.9-2.1-2.1c0-1.2,0.9-2.1,2.1-2.1s2.1,0.9,2.1,2.1
C16.9,11.8,16,12.8,14.8,12.8z M14.8,9c-0.9,0-1.7,0.8-1.7,1.7c0,0.9,0.7,1.7,1.7,1.7s1.7-0.8,1.7-1.7
C16.5,9.7,15.8,9,14.8,9z"/>
</g>
</g>
<g id="矩形">
<rect class="st2" width="24" height="24"/>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="22px" viewBox="0 0 20 22" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>智能匹配</title>
<g id="稻田1.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="职位2023-0920" transform="translate(-325.000000, -669.000000)" fill="#333333" fill-rule="nonzero">
<g id="编组-32" transform="translate(311.000000, 614.000000)">
<g id="编组-31" transform="translate(6.000000, 48.000000)">
<path d="M10.82,17.07 L10.82,16.7 L15.44,16.7 L15.44,17.07 L16.5,17.07 L16.5,12.76 L12.66,12.76 L13.25,12.17 C12.74,11.79 12.12,11.42 11.38,11.04 L11.41,10.95 L13.38,10.95 L13.38,10 L11.62,10 C11.65,9.78 11.67,9.56 11.69,9.32 L13.1,9.32 L13.1,8.41 L10.41,8.41 C10.49,8.25 10.56,8.07 10.63,7.89 L9.69,7.68 C9.34,8.42 8.94,8.99 8.48,9.39 L8.97,10 L8.53,10 L8.53,10.95 L10.32,10.95 C10.01,11.57 9.34,12.11 8.32,12.56 L9.02,13.41 C9.28,13.28 9.53,13.14 9.77,13 L9.77,17.07 L10.82,17.07 Z M17.23,12.27 L17.23,8.44 L13.65,8.44 L13.65,12.27 L17.23,12.27 Z M10.62,10 L9.32,10 C9.52,9.8 9.72,9.58 9.9,9.32 L10.71,9.32 C10.69,9.56 10.66,9.78 10.62,10 Z M16.21,11.36 L14.67,11.36 L14.67,9.36 L16.21,9.36 L16.21,11.36 Z M12.34,12.76 L10.12,12.76 C10.5,12.47 10.81,12.15 11.04,11.81 C11.55,12.13 11.98,12.44 12.34,12.76 Z M15.44,14.3 L10.82,14.3 L10.82,13.68 L15.44,13.68 L15.44,14.3 Z M15.44,15.78 L10.82,15.78 L10.82,15.2 L15.44,15.2 L15.44,15.78 Z M22.71,11.14 L23.57,10.53 C23.25,9.95 22.81,9.27 22.23,8.48 L21.43,8.99 C21.61,9.26 21.79,9.52 21.95,9.78 C21.21,9.86 20.51,9.93 19.85,9.97 C20.36,9.48 20.81,8.85 21.21,8.07 L20.21,7.77 C19.91,8.39 19.47,9.06 18.87,9.76 C18.74,9.88 18.58,9.96 18.4,10.02 L18.68,10.89 C20.11,10.81 21.35,10.68 22.39,10.52 C22.5,10.73 22.61,10.94 22.71,11.14 Z M26.32,12.25 C26.69,12.25 26.97,12.17 27.15,12.02 C27.33,11.86 27.46,11.35 27.54,10.51 L26.57,10.19 C26.55,10.73 26.5,11.05 26.43,11.16 C26.36,11.26 26.26,11.31 26.12,11.31 L24.98,11.31 C24.74,11.31 24.63,11.14 24.63,10.82 L24.63,9.91 C25.68,9.75 26.61,9.58 27.43,9.4 L27.09,8.48 C26.45,8.65 25.63,8.81 24.63,8.97 L24.63,7.83 L23.6,7.83 L23.6,11.03 C23.6,11.84 23.96,12.25 24.69,12.25 L26.32,12.25 Z M19.97,17.06 L19.97,15.21 L21.93,15.21 L21.93,15.67 C21.93,15.93 21.81,16.07 21.59,16.07 L20.89,16.02 L21.15,16.99 L21.92,16.99 C22.6,16.99 22.94,16.62 22.94,15.89 L22.94,11.25 L18.96,11.25 L18.96,17.06 L19.97,17.06 Z M21.93,12.84 L19.97,12.84 L19.97,12.15 L21.93,12.15 L21.93,12.84 Z M26.32,16.89 C26.69,16.89 26.96,16.81 27.14,16.66 C27.32,16.5 27.46,16 27.54,15.15 L26.59,14.85 C26.56,15.39 26.51,15.71 26.43,15.82 C26.37,15.92 26.26,15.97 26.12,15.97 L24.97,15.97 C24.74,15.97 24.63,15.88 24.63,15.71 L24.63,14.57 C25.63,14.47 26.56,14.31 27.43,14.08 L27.09,13.15 C26.37,13.37 25.55,13.53 24.63,13.63 L24.63,12.58 L23.6,12.58 L23.6,15.94 C23.6,16.57 23.96,16.89 24.68,16.89 L26.32,16.89 Z M21.93,14.35 L19.97,14.35 L19.97,13.7 L21.93,13.7 L21.93,14.35 Z M17.42,28.68 L17.42,27.66 L10.01,27.66 L10.01,21.24 L11.75,21.24 C11.67,23.51 11.15,25.06 10.2,25.89 L11.04,26.55 C12.09,25.57 12.67,23.8 12.77,21.24 L13.95,21.24 L13.95,25.06 C13.95,25.79 14.28,26.16 14.96,26.16 L16.23,26.16 C16.58,26.16 16.84,26.07 17.02,25.89 C17.2,25.71 17.33,25.14 17.4,24.17 L16.42,23.85 C16.4,24.51 16.35,24.9 16.28,25.02 C16.23,25.14 16.15,25.2 16.04,25.2 L15.28,25.2 C15.06,25.2 14.96,25.08 14.96,24.86 L14.96,21.24 L17.17,21.24 L17.17,20.22 L8.96,20.22 L8.96,28.68 L17.42,28.68 Z M19.56,29 L19.56,28.55 L22.05,28.55 L22.05,29 L22.97,29 L22.97,21.95 L21.92,21.95 L21.92,21.08 L23.09,21.08 L23.09,20.1 L18.44,20.1 L18.44,21.08 L19.68,21.08 L19.68,21.95 L18.64,21.95 L18.64,29 L19.56,29 Z M26.26,28.89 C26.77,28.89 27.1,28.73 27.25,28.42 C27.4,28.1 27.52,27.41 27.61,26.35 L26.57,26.02 C26.55,26.75 26.51,27.25 26.46,27.52 C26.41,27.78 26.29,27.92 26.09,27.92 L24.62,27.92 C24.49,27.9 24.43,27.74 24.43,27.44 L24.43,24.43 L27.06,24.43 L27.06,20.11 L23.34,20.11 L23.34,21.09 L26.06,21.09 L26.06,23.43 L23.41,23.43 L23.41,27.86 C23.41,28.54 23.66,28.89 24.16,28.89 L26.26,28.89 Z M21.04,21.95 L20.56,21.95 L20.56,21.08 L21.04,21.08 L21.04,21.95 Z M19.56,25.09 L19.56,22.89 L19.91,22.89 L19.91,23.4 C19.9,24.12 19.78,24.69 19.56,25.09 Z M22.05,25.91 L19.56,25.91 L19.56,25.38 L19.98,25.75 C20.37,25.25 20.57,24.47 20.58,23.4 L20.58,22.89 L21,22.89 L21,24.56 C21,25.06 21.24,25.31 21.73,25.31 L22.05,25.31 L22.05,25.91 Z M22.05,24.52 L21.94,24.52 C21.76,24.52 21.68,24.46 21.68,24.34 L21.68,22.89 L22.05,22.89 L22.05,24.52 Z M22.05,27.57 L19.56,27.57 L19.56,26.85 L22.05,26.85 L22.05,27.57 Z" id="智能匹配"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="22px" viewBox="0 0 20 22" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>智能匹配1</title>
<g id="稻田1.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M2.82,10.07 L2.82,9.7 L7.44,9.7 L7.44,10.07 L8.5,10.07 L8.5,5.76 L4.66,5.76 L5.25,5.17 C4.74,4.79 4.12,4.42 3.38,4.04 L3.41,3.95 L5.38,3.95 L5.38,3 L3.62,3 C3.65,2.78 3.67,2.56 3.69,2.32 L5.1,2.32 L5.1,1.41 L2.41,1.41 C2.49,1.25 2.56,1.07 2.63,0.89 L1.69,0.68 C1.34,1.42 0.94,1.99 0.48,2.39 L0.97,3 L0.53,3 L0.53,3.95 L2.32,3.95 C2.01,4.57 1.34,5.11 0.32,5.56 L1.02,6.41 C1.28,6.28 1.53,6.14 1.77,6 L1.77,10.07 L2.82,10.07 Z M9.23,5.27 L9.23,1.44 L5.65,1.44 L5.65,5.27 L9.23,5.27 Z M2.62,3 L1.32,3 C1.52,2.8 1.72,2.58 1.9,2.32 L2.71,2.32 C2.69,2.56 2.66,2.78 2.62,3 Z M8.21,4.36 L6.67,4.36 L6.67,2.36 L8.21,2.36 L8.21,4.36 Z M4.34,5.76 L2.12,5.76 C2.5,5.47 2.81,5.15 3.04,4.81 C3.55,5.13 3.98,5.44 4.34,5.76 Z M7.44,7.3 L2.82,7.3 L2.82,6.68 L7.44,6.68 L7.44,7.3 Z M7.44,8.78 L2.82,8.78 L2.82,8.2 L7.44,8.2 L7.44,8.78 Z M14.71,4.14 L15.57,3.53 C15.25,2.95 14.81,2.27 14.23,1.48 L13.43,1.99 C13.61,2.26 13.79,2.52 13.95,2.78 C13.21,2.86 12.51,2.93 11.85,2.97 C12.36,2.48 12.81,1.85 13.21,1.07 L12.21,0.77 C11.91,1.39 11.47,2.06 10.87,2.76 C10.74,2.88 10.58,2.96 10.4,3.02 L10.68,3.89 C12.11,3.81 13.35,3.68 14.39,3.52 C14.5,3.73 14.61,3.94 14.71,4.14 Z M18.32,5.25 C18.69,5.25 18.97,5.17 19.15,5.02 C19.33,4.86 19.46,4.35 19.54,3.51 L18.57,3.19 C18.55,3.73 18.5,4.05 18.43,4.16 C18.36,4.26 18.26,4.31 18.12,4.31 L16.98,4.31 C16.74,4.31 16.63,4.14 16.63,3.82 L16.63,2.91 C17.68,2.75 18.61,2.58 19.43,2.4 L19.09,1.48 C18.45,1.65 17.63,1.81 16.63,1.97 L16.63,0.83 L15.6,0.83 L15.6,4.03 C15.6,4.84 15.96,5.25 16.69,5.25 L18.32,5.25 Z M11.97,10.06 L11.97,8.21 L13.93,8.21 L13.93,8.67 C13.93,8.93 13.81,9.07 13.59,9.07 L12.89,9.02 L13.15,9.99 L13.92,9.99 C14.6,9.99 14.94,9.62 14.94,8.89 L14.94,4.25 L10.96,4.25 L10.96,10.06 L11.97,10.06 Z M13.93,5.84 L11.97,5.84 L11.97,5.15 L13.93,5.15 L13.93,5.84 Z M18.32,9.89 C18.69,9.89 18.96,9.81 19.14,9.66 C19.32,9.5 19.46,9 19.54,8.15 L18.59,7.85 C18.56,8.39 18.51,8.71 18.43,8.82 C18.37,8.92 18.26,8.97 18.12,8.97 L16.97,8.97 C16.74,8.97 16.63,8.88 16.63,8.71 L16.63,7.57 C17.63,7.47 18.56,7.31 19.43,7.08 L19.09,6.15 C18.37,6.37 17.55,6.53 16.63,6.63 L16.63,5.58 L15.6,5.58 L15.6,8.94 C15.6,9.57 15.96,9.89 16.68,9.89 L18.32,9.89 Z M13.93,7.35 L11.97,7.35 L11.97,6.7 L13.93,6.7 L13.93,7.35 Z M9.42,21.68 L9.42,20.66 L2.01,20.66 L2.01,14.24 L3.75,14.24 C3.67,16.51 3.15,18.06 2.2,18.89 L3.04,19.55 C4.09,18.57 4.67,16.8 4.77,14.24 L5.95,14.24 L5.95,18.06 C5.95,18.79 6.28,19.16 6.96,19.16 L8.23,19.16 C8.58,19.16 8.84,19.07 9.02,18.89 C9.2,18.71 9.33,18.14 9.4,17.17 L8.42,16.85 C8.4,17.51 8.35,17.9 8.28,18.02 C8.23,18.14 8.15,18.2 8.04,18.2 L7.28,18.2 C7.06,18.2 6.96,18.08 6.96,17.86 L6.96,14.24 L9.17,14.24 L9.17,13.22 L0.96,13.22 L0.96,21.68 L9.42,21.68 Z M11.56,22 L11.56,21.55 L14.05,21.55 L14.05,22 L14.97,22 L14.97,14.95 L13.92,14.95 L13.92,14.08 L15.09,14.08 L15.09,13.1 L10.44,13.1 L10.44,14.08 L11.68,14.08 L11.68,14.95 L10.64,14.95 L10.64,22 L11.56,22 Z M18.26,21.89 C18.77,21.89 19.1,21.73 19.25,21.42 C19.4,21.1 19.52,20.41 19.61,19.35 L18.57,19.02 C18.55,19.75 18.51,20.25 18.46,20.52 C18.41,20.78 18.29,20.92 18.09,20.92 L16.62,20.92 C16.49,20.9 16.43,20.74 16.43,20.44 L16.43,17.43 L19.06,17.43 L19.06,13.11 L15.34,13.11 L15.34,14.09 L18.06,14.09 L18.06,16.43 L15.41,16.43 L15.41,20.86 C15.41,21.54 15.66,21.89 16.16,21.89 L18.26,21.89 Z M13.04,14.95 L12.56,14.95 L12.56,14.08 L13.04,14.08 L13.04,14.95 Z M11.56,18.09 L11.56,15.89 L11.91,15.89 L11.91,16.4 C11.9,17.12 11.78,17.69 11.56,18.09 Z M14.05,18.91 L11.56,18.91 L11.56,18.38 L11.98,18.75 C12.37,18.25 12.57,17.47 12.58,16.4 L12.58,15.89 L13,15.89 L13,17.56 C13,18.06 13.24,18.31 13.73,18.31 L14.05,18.31 L14.05,18.91 Z M14.05,17.52 L13.94,17.52 C13.76,17.52 13.68,17.46 13.68,17.34 L13.68,15.89 L14.05,15.89 L14.05,17.52 Z M14.05,20.57 L11.56,20.57 L11.56,19.85 L14.05,19.85 L14.05,20.57 Z" id="智能匹配1" fill="#FF4400" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 25 24" style="enable-background:new 0 0 25 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#333333;}
.st2{fill:#FF4400;}
</style>
<title>在职</title>
<g id="一手单小程序">
<g id="工具" transform="translate(-218.000000, -406.000000)">
<g id="编组-4" transform="translate(10.000000, 348.000000)">
<g id="地址本" transform="translate(199.666667, 58.000000)">
<g id="在职" transform="translate(9.000000, 0.000000)">
<g id="我的老乡">
<g id="矩形">
<rect x="0" class="st0" width="24" height="24"/>
</g>
<g id="编组-24" transform="translate(0.633333, 2.000000)">
<g id="编组-2">
<g id="形状">
<path class="st1" d="M0,20h1.5c0-1.2,0.2-2.3,0.6-3.4c0.4-1,0.9-2,1.6-2.7c1.3-1.6,3.1-2.4,4.9-2.4s3.6,0.9,4.9,2.4
c0.7,0.8,1.2,1.7,1.6,2.7c0.4,1.1,0.6,2.2,0.6,3.4h1.5c0-4.2-2.2-7.8-5.4-9.3c1.9-1,3.1-2.9,3.1-5C15,2.6,12.3,0,9,0
S3,2.6,3,5.7c0,2,1.1,3.8,2.8,4.8C2.4,11.9,0,15.6,0,20z M4.5,5.7c0-2,1.5-3.8,3.6-4.2s4.2,0.7,5,2.6s0.1,4.1-1.7,5.2
s-4.2,0.9-5.7-0.5C5,7.9,4.5,6.9,4.5,5.7z"/>
<path class="st1" d="M17.4,20.2h-1.8V20c0-1.2-0.2-2.3-0.6-3.4c-0.4-1-0.9-1.9-1.6-2.7c-1.3-1.5-3-2.4-4.8-2.4
s-3.5,0.8-4.8,2.4c-0.7,0.8-1.2,1.7-1.6,2.7c-0.4,1.1-0.6,2.2-0.6,3.4v0.2h-1.8V20c0-4.2,2.2-8,5.6-9.5
C3.8,9.4,2.8,7.6,2.8,5.7c0-3.2,2.8-5.9,6.1-5.9c3.4,0,6.1,2.6,6.1,5.9c0,2.1-1.1,4-2.9,5c3.2,1.6,5.2,5.2,5.2,9.3V20.2z
M15.9,19.8h1.2c0-4-2.1-7.5-5.3-9l-0.3-0.1l0.3-0.1c1.9-1,3-2.8,3-4.9c0-3.1-2.6-5.6-5.8-5.6S3.1,2.6,3.1,5.7
c0,1.9,1,3.7,2.7,4.7l0.3,0.2l-0.3,0.1c-3.4,1.4-5.6,5-5.7,9.2h1.2c0-1.2,0.2-2.3,0.6-3.3c0.4-1,0.9-2,1.6-2.8
c1.4-1.6,3.2-2.5,5-2.5s3.7,0.9,5,2.5c0.7,0.8,1.2,1.7,1.6,2.8C15.6,17.6,15.8,18.7,15.9,19.8z M9,10.1
c-1.2,0-2.4-0.4-3.3-1.3C4.8,8,4.3,6.9,4.3,5.7c0-2.1,1.6-3.9,3.7-4.4C10.2,1,12.4,2.1,13.3,4c0.8,2,0.1,4.2-1.7,5.4
C10.8,9.9,9.9,10.1,9,10.1z M9,1.6c-0.3,0-0.6,0-0.8,0.1C6.1,2,4.6,3.7,4.6,5.7v0c0,1.1,0.5,2.2,1.3,2.9
c1.5,1.4,3.8,1.6,5.5,0.5c1.7-1.1,2.4-3.2,1.6-5C12.3,2.6,10.7,1.6,9,1.6z"/>
</g>
<g id="路径">
<path class="st1" d="M20.6,5.2c0-2.4-1.7-4.3-4-4.9c0.2,0.5,0.3,0.9,0.5,1.6C17.3,2,17.8,2.5,18,2.7c1.1,1,1.4,2.6,0.8,3.9
c-0.6,1.3-1.9,2.2-3.4,2.2c-0.1,0-0.2,0-0.2,0l0,0c0.8,0.6,1.6,1.3,2.2,2.1c0.7,0.4,1.4,0.9,1.9,1.5
c0.6,0.7,1.1,1.6,1.5,2.5c0.4,1,0.6,2.1,0.6,3.1h1.5c0-3.8-2-7.1-4.8-8.5C19.6,8.7,20.6,7,20.6,5.2z"/>
<path class="st1" d="M22.9,18.2h-1.8V18c0-1.1-0.2-2.1-0.5-3.1c-0.3-0.9-0.8-1.8-1.4-2.5c-0.6-0.6-1.2-1.1-1.9-1.5l0,0
c-0.6-0.8-1.4-1.5-2.2-2.1l-0.2-0.1l0.2-0.2l0.1,0c0.1,0,0.2,0,0.2,0h0c1.4,0,2.7-0.8,3.3-2.1c0.5-1.3,0.2-2.7-0.8-3.7
C17.7,2.6,17.2,2.2,17,2L17,2l0-0.1c-0.2-0.6-0.3-1-0.5-1.6l-0.1-0.3l0.3,0.1c2.4,0.5,4.1,2.6,4.1,5c0,1.8-0.9,3.4-2.5,4.4
c2.8,1.6,4.7,4.9,4.7,8.5V18.2z M21.5,17.9h1.2c-0.1-3.6-1.9-6.8-4.8-8.2l-0.3-0.1l0.2-0.1c1.6-0.9,2.5-2.5,2.5-4.2
c0-2.2-1.5-4-3.6-4.7C17,1,17.1,1.3,17.2,1.8C17.5,2,18,2.4,18.1,2.6c1.1,1.1,1.4,2.7,0.8,4.1c-0.6,1.3-1.9,2.2-3.3,2.3
c0.7,0.5,1.3,1.1,1.8,1.8c0.7,0.4,1.4,0.9,1.9,1.6c0.6,0.7,1.1,1.6,1.5,2.6C21.3,15.8,21.4,16.9,21.5,17.9z"/>
</g>
</g>
<g id="矩形_1_">
<path class="st2" d="M8.9,16.3h2.9c0.3,0,0.6,0.2,0.6,0.5v0c0,0.3-0.2,0.5-0.6,0.5H8.9c-0.3,0-0.6-0.2-0.6-0.5v0
C8.4,16.5,8.6,16.3,8.9,16.3z"/>
<path class="st2" d="M11.8,17.7H8.9c-0.5,0-0.9-0.4-0.9-0.9s0.4-0.9,0.9-0.9h2.9c0.5,0,0.9,0.4,0.9,0.9S12.3,17.7,11.8,17.7
z M8.9,16.6c-0.1,0-0.2,0.1-0.2,0.2S8.8,17,8.9,17h2.9c0.1,0,0.2-0.1,0.2-0.2s-0.1-0.2-0.2-0.2H8.9z"/>
</g>
</g>
</g>
<g id="人员组管理" transform="translate(0.000000, 1.500000)">
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 26 24" style="enable-background:new 0 0 26 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#333333;}
.st1{fill:#FF4400;}
</style>
<title>在职中</title>
<g id="一手单小程序">
<g id="工具" transform="translate(-219.000000, -266.000000)">
<g id="编组-4" transform="translate(10.000000, 210.000000)">
<g id="地址本" transform="translate(199.666667, 56.000000)">
<g id="在职中" transform="translate(10.000000, 0.000000)">
<g id="形状">
<path class="st0" d="M9.1,0c-1.5,0-3,0.6-4,1.7C4,2.9,3.5,4.4,3.5,5.9c0,1.6,0.6,3.1,1.7,4.2c1,1.1,2.5,1.7,4,1.7
c1.5,0,3-0.6,4-1.7c1.1-1.1,1.7-2.6,1.7-4.2c0-1.6-0.6-3.1-1.7-4.2C12.1,0.6,10.6,0,9.1,0L9.1,0z M5.4,5.9
c0-0.5,0.1-1,0.3-1.5s0.5-0.9,0.8-1.2c0.3-0.4,0.7-0.6,1.2-0.8C8.6,2,9.6,2,10.5,2.4c0.4,0.2,0.9,0.5,1.2,0.8
c0.3,0.4,0.6,0.8,0.8,1.2c0.2,0.5,0.3,1,0.3,1.5c0,1-0.4,2-1.1,2.7C11,9.4,10.1,9.8,9.1,9.8c-1,0-1.9-0.4-2.6-1.1
C5.8,7.9,5.4,6.9,5.4,5.9L5.4,5.9z M9.5,16.5c0.3,0,0.5-0.2,0.7-0.4c0.3-0.5,0.2-1.1-0.2-1.5c-0.2-0.2-0.5-0.2-0.7-0.2
c-1.1,0.2-2.8,0.5-4.5,1.1c-1.7,0.6-3.4,1.5-4.6,2.9C0.1,18.7,0,19,0,19.2c0,1.1,0.3,2.1,0.7,2.9c0.4,0.7,0.8,1.3,1.2,1.7
C2.1,23.9,2.3,24,2.5,24h7.9c0.3,0,0.5-0.1,0.7-0.3c0.2-0.2,0.3-0.5,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7c-0.2-0.2-0.4-0.3-0.7-0.3
H2.9c-0.2-0.2-0.4-0.5-0.5-0.8c-0.2-0.5-0.4-1-0.5-1.5c0.8-0.8,2-1.5,3.4-2C6.8,17.1,8.1,16.7,9.5,16.5L9.5,16.5z"/>
</g>
<g id="路径">
<path class="st1" d="M18,21c-0.2,0-0.3-0.1-0.4-0.2l-2.4-2.4c-0.2-0.2-0.2-0.6,0-0.8c0.1-0.1,0.3-0.2,0.4-0.2s0.3,0.1,0.4,0.2
l2,2l5-4.4c0.1-0.1,0.3-0.2,0.4-0.2s0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.3,0.2,0.4s-0.1,0.3-0.2,0.4l-5.4,4.8
C18.3,20.9,18.1,21,18,21z"/>
<path class="st1" d="M18,21.4L18,21.4c-0.3,0-0.5-0.1-0.7-0.3l-2.4-2.4c-0.4-0.4-0.4-1,0-1.4c0.4-0.4,1-0.4,1.4,0L18,19
l4.7-4.1c0.3-0.3,1-0.4,1.4,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-5.4,4.8C18.5,21.3,18.2,21.4,18,21.4L18,21.4z
M15.6,17.8c-0.1,0-0.1,0-0.1,0.1c-0.1,0.1-0.1,0.2,0,0.3l2.4,2.4c0,0,0.1,0.1,0.1,0.1c0.1,0,0.1,0,0.1-0.1l5.4-4.8
c0,0,0-0.1,0-0.1c0-0.1,0-0.1-0.1-0.1c-0.1-0.1-0.2-0.1-0.3,0L18,20.1l-2.2-2.2C15.7,17.8,15.6,17.8,15.6,17.8z"/>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@ -0,0 +1,430 @@
var formatDateYYYYMMDDHHMM = function (time) {
var date = getDate(time);
var m = date.getMonth() + 1;
if (m < 10) {
m = "0" + m;
}
var d = date.getDate();
if (d < 10) {
d = "0" + d;
}
var h = date.getHours();
if (h < 10) {
h = "0" + h;
}
var mm = date.getMinutes();
if (mm < 10) {
mm = "0" + mm;
}
return date.getFullYear() + '-' + m + '-' + d + ' ' + h + ':' + mm;
}
var formatDateYYYYMMDD = function (time) {
var date = getDate(time);
var m = date.getMonth() + 1;
if (m < 10) {
m = "0" + m;
}
var d = date.getDate();
if (d < 10) {
d = "0" + d;
}
return date.getFullYear() + '-' + m + '-' + d;
}
var formatDateYYYYMMDD2 = function (time) {
var date = getDate(time);
var m = date.getMonth() + 1;
if (m < 10) {
m = "0" + m;
}
var d = date.getDate();
if (d < 10) {
d = "0" + d;
}
return date.getFullYear() + '/' + m + '/' + d;
}
var formatDateMMSS = function (time) {
return (getDate(time).getHours() > 9 ? getDate(time).getHours() : '0' + getDate(time).getHours()) + ':' + (getDate(time).getMinutes() > 9 ? getDate(time).getMinutes() : '0' + getDate(time).getMinutes());
}
var showClockResult = function (confirmStatus, confirmReason) {
temp = "";
if (confirmStatus == 0) {
temp = "未出勤";
} else if (confirmStatus == 1) {
temp = "出勤半天";
} else if (confirmStatus == 2) {
temp = "出勤一天";
}
if (confirmReason == 0) {
temp = temp + " 休息";
} else if (confirmReason == 1) {
temp = temp + " 请假";
}
return temp;
}
var showClockResult2 = function (reason) {
temp = "未出勤 ";
if (reason == 0) {
temp += "休息";
} else if (reason == 1) {
temp += "请假";
}
return temp;
}
var showWorkState = function (followNewState, appraiserState) {
var res = "";
if (appraiserState === 0) {
res = "未鉴定";
} else if (appraiserState == 1) {
res = "待鉴定";
} else if (appraiserState == 2) {
res = "已鉴定";
}
var temp = "";
switch (followNewState) {
case 10:
temp = "已预约";
break;
case 20:
temp = "待面试";
break;
case 30:
temp = "待入职";
break;
case 40:
temp = "在职中";
break;
case 50:
temp = "已离职";
break;
case 60:
temp = "关闭期望";
break;
default:
temp = res;
}
return temp;
}
showSourceName = function (intervieweeSource) {
var result = '';
switch (intervieweeSource) {
case 0:
result = '58';
break;
case 5:
result = '赶集';
break;
case 6:
result = '打勾网预约';
break;
case 1:
result = '推广军推荐';
break;
case 2:
result = '御林军推荐';
break;
case 3:
result = '会员推荐';
break;
case 4:
result = '其它';
break;
default:
break;
}
return result;
}
initHopePositionType = function (type) {
var res = '';
if (isNotEmptyCheck(type)) {
switch (type) {
case 1:
res = '全职';
break;
case 2:
res = '兼职';
break;
case 3:
res = '小时工';
break;
}
}
return res;
}
/**
* 如果是null '' 'null' 'undefined'
* @param item
* @returns
*/
function isEmptyCheck (value) {
if (value == null || value === '' || value == 'null' || typeof (value) == "undefined") {
return true;
}
return false;
}
/**
* 如果不是是null '' 'null' 'undefined'
* @param item
* @returns
*/
function isNotEmptyCheck (value) {
return !isEmptyCheck(value);
}
function showNotNullStr (value) {
return value == null ? '' : value;
}
function showNotNullNum (value) {
return value == null || value == '' ? 0 : value;
}
function showStoreAddress (township, distance) {
result = '';
if (!isEmptyCheck(township) && !isEmptyCheck(distance)) {
if (distance >= 1000) {
distance = distance / 1000;
return township + '·' + parseInt(distance) + '千米';
} else {
return township + '·' + distance + '米';
}
} else if (!isEmptyCheck(township) && isEmptyCheck(distance)) {
result = township;
} else if (isEmptyCheck(township) && !isEmptyCheck(distance)) {
if (distance >= 1000) {
distance = distance / 1000;
result = parseInt(distance) + '千米';
} else {
result = distance + '米';
}
}
return result;
}
function initDormType (_type) {
var temp = "";
switch (_type) {
case 0:
temp = "有宿舍";
break;
case 1:
temp = "男有宿舍";
break;
case 2:
temp = "女有宿舍";
break;
case 3:
temp = "无宿舍";
break;
}
return temp;
}
function timeago (timestamp) {
var mistiming = Math.round((getDate().getTime() - timestamp) / 1000);
var arrr = ['年', '个月', '天', '小时', '分钟', '秒'];
var arrn = [31536000, 2592000, 86400, 3600, 60, 1];
var str = "";
for (var i = 0; i < 6; ++i) {
var inm = Math.floor(mistiming / arrn[i]);
if (inm > 0) {
str = inm + arrr[i] + '前';
break;
} else if (inm < 0) {
str = '1秒前';
break;
}
}
if (str == "") {
str = '1秒前';
}
return str;
}
function timeafter (timestamp) {
var mistiming = Math.round((timestamp - getDate().getTime()) / 1000);
var arrr = ['年', '个月', '天', '小时', '分钟', '秒'];
var arrn = [31536000, 2592000, 86400, 3600, 60, 1];
var str = "";
for (var i = 0; i < 6; ++i) {
var inm = Math.floor(mistiming / arrn[i]);
if (inm > 0) {
str = inm + arrr[i] + '后';
break;
} else if (inm < 0) {
str = '1秒后';
break;
}
}
if (str == "") {
str = '1秒后';
}
return str;
}
function timeago4str (date) {
var reg = getRegExp("-", "g");
return timeago(getDate(date.replace(reg, "/")).getTime());
}
function showNum (_money, num) {
if (_money == null || _money == '' || typeof _money == 'undefined') {
return 0;
} else {
if (parseInt(_money) - _money != 0) {
if (num == 1) {
return parseInt(_money * 10) / 10.0;
} else if (num == 2) {
return parseInt(_money * 100) / 100.0;
} else {
return parseInt(_money);
}
} else {
return parseInt(_money);
}
}
}
/**
* 获取几天前、几小时前等格式(剩余|超时)
*/
function timeagoLater (timestamp) {
if (timestamp == '' || timestamp == null || timestamp == undefined) {
return '';
}
var str = "";
var arrr = ['年', '个月', '天', '小时', '分钟', '秒'];
var arrn = [31536000, 2592000, 86400, 3600, 60, 1];
if (getDate().getTime() - timestamp > 0) {
var mistiming = Math.round((getDate().getTime() - timestamp) / 1000);
for (var i = 0; i < 6; ++i) {
var inm = Math.floor(mistiming / arrn[i]);
if (inm > 0) {
// str = '超时' + (inm + arrr[i]);
// str = '已处理' + (inm + arrr[i]);
str = (inm + arrr[i]) + '前';
break;
} else if (inm < 0) {
str = '剩余' + (-inm + arrr[5 - i]);
//str = '1秒前';
break;
}
}
if (str == "") {
// str = '超时1秒';
// str = '已处理1秒';
str = '1秒前';
}
} else {
var mistiming = Math.round((timestamp - getDate().getTime()) / 1000);
for (var i = 0; i < 6; ++i) {
var inm = Math.floor(mistiming / arrn[i]);
if (inm > 0) {
str = '剩余' + (inm + arrr[i]);
break;
} else if (inm < 0) {
// str = '超时1秒';
// str = '已处理1秒';
str = '1秒前';
break;
}
}
if (str == "") {
// str = '超时1秒';
// str = '已处理1秒';
str = '1秒前';
}
}
return str;
}
// 数字转汉字
function changeNum (index) {
var str = ''
if (index == 1) {
str = '一'
} else if (index == 2) {
str = '二'
} else if (index == 3) {
str = '三'
} else if (index == 4) {
str = '四'
} else if (index == 5) {
str = '五'
} else if (index == 6) {
str = '六'
} else if (index == 7) {
str = '七'
} else if (index == 8) {
str = '八'
} else if (index == 9) {
str = '九'
} else if (index == 10) {
str = '十'
}
return str
}
/**
* 格式化距离
*/
function getDistanceNum (distance) {
if (distance == null || distance === '' || distance == 'null' || typeof (distance) == "undefined") {
return '';
}
if (distance < 1000) {
return distance + 'm';
} else if (distance == 99999999) {
return '';
} else {
var num = distance / 1000;
return num.toFixed(2) + 'km'
}
}
/**
* endwith
*/
function spliceStr (str) {
return str.split('_')[1]
}
module.exports.spliceStr = spliceStr;
module.exports.timeagoLater = timeagoLater;
module.exports.timeago = timeago;
module.exports.timeago4str = timeago4str;
module.exports.formatDateYYYYMMDDHHMM = formatDateYYYYMMDDHHMM;
module.exports.formatDateYYYYMMDD = formatDateYYYYMMDD;
module.exports.formatDateYYYYMMDD2 = formatDateYYYYMMDD2;
module.exports.formatDateMMSS = formatDateMMSS;
module.exports.showClockResult = showClockResult;
module.exports.showClockResult2 = showClockResult2;
module.exports.showWorkState = showWorkState;
module.exports.showSourceName = showSourceName;
module.exports.initHopePositionType = initHopePositionType;
module.exports.isEmptyCheck = isEmptyCheck;
module.exports.isNotEmptyCheck = isNotEmptyCheck;
module.exports.showStoreAddress = showStoreAddress;
module.exports.showNotNullStr = showNotNullStr;
module.exports.showNotNullNum = showNotNullNum;
module.exports.initDormType = initDormType;
module.exports.showNum = showNum;
module.exports.changeNum = changeNum;
module.exports.getDistanceNum = getDistanceNum;

@ -0,0 +1,117 @@
Component({
data: {},
properties: {
// 抽屉高度
height: {
type: String,
value: "",
},
drawerType: {
type: String,
value: "",
},
//抽屉显示隐藏
show: {
type: Boolean,
value: false
},
titleText: {
type: String,
value: ''
},
// 是否需要显示tabbar
hideTabbar: {
type: Boolean,
value: false
},
cancerShow: {
type: Boolean,
value: true
},
//
touchClose: {
type: Boolean,
value: true
},
color: {
type: String,
value: '#fff'
},
},
methods: {
/**
* 阻止滑动穿透
*
*
*/
modalMove () {
console.log(this.data.color);
return false;
},
// 触摸开始事件
handletouchtart: function (event) {
this.data.lastX = event.touches[0].pageX;
this.data.lastY = event.touches[0].pageY;
},
filterTouchStart (event) {
this.handletouchtart(event);
},
filterTouchMove (event) {
let tx = this.handletouchmove(event);
if (this.data.touchClose) {
if (tx.ty > 100) {
this.hideLeft();
}
} else {
return false
}
},
/**
* 页面滑动事件监听
*
*
*/
handletouchmove: function (event) {
let that = this;
var currentX = event.touches[0].pageX;
var currentY = event.touches[0].pageY;
var tx = currentX - this.data.lastX;
var ty = currentY - this.data.lastY;
var text = "";
//左右方向滑动
if (Math.abs(tx) > Math.abs(ty)) {
return {
tx,
};
}
//上下方向滑动
else {
return {
ty,
};
}
},
hideLeft () {
// this.data.show = false
// this.setData({
// show: false
// })
var eventDetail = {
type: this.data.drawerType
};
this.triggerEvent("hidedrawer", eventDetail);
if (this.data.hideTabbar) {
console.log('this.getTabBar()',this.getTabBar());
setTimeout(() => {
this.getTabBar().setData({
isShow: true,
});
}, 200);
}
},
}
})

@ -0,0 +1,3 @@
{
"component": true
}

@ -0,0 +1,17 @@
<view class="leftBox" hover-class="none" catchtouchmove="filterTouchMove" hover-stop-propagation="false">
<view class="mask" wx:if="{{show}}" catchtouchmove="modalMove" bindtap="hideLeft"></view>
<view class="hideBox {{show ? 'leftShow':''}}" hover-class="none" wx:if="{{touchClose}}" style="height: {{height}};background-color:{{color}}" bindtouchstart="filterTouchStart" >
<view class="tac bb1 fw500 por" hover-class="none" hover-stop-propagation="false">
<slot name="title"></slot>
<view class="iconfont icon-guanbi11 f14 c9 poa" wx:if="{{cancerShow}}" style="color:#333;right:8px;top:16px;width:32px;height:32px" catchtap="hideLeft"></view>
</view>
<slot></slot>
</view>
<view class="hideBox {{show ? 'leftShow':''}}" wx:else hover-class="none" style="height: {{height}};background-color:{{color}}">
<view class="tac bb1 fw500 por" hover-class="none" hover-stop-propagation="false">
<slot name="title"></slot>
<view class="iconfont icon-guanbi11 f14 c9 poa" wx:if="{{cancerShow}}" style="color:#333;right:8px;top:16px;width:32px;height:32px" catchtap="hideLeft"></view>
</view>
<slot></slot>
</view>
</view>

@ -0,0 +1,35 @@
@import "../../app.wxss";
.leftBox {
position: fixed;
left: 0;
top: 0;
width: 0;
height: 0;
/* width: 100vw;
height: 100vh; */
z-index: 999;
}
.leftBox .mask {
position: fixed;
width: 100vw;
height: 100vh;
z-index: 99;
background-color: rgba(0, 0, 0, 0.5);
}
.leftBox .hideBox {
position: fixed;
left: 0;
bottom: -100vh;
width: 100vw;
/* height: 100vh; */
overflow: hidden;
z-index: 99;
/* background-color: #fff; */
border-radius: 8px 8px 0px 0px;
transition: bottom linear 0.2s;
}
.leftBox .leftShow {
bottom: 0px !important;
}

@ -0,0 +1,73 @@
const app = getApp();
Component({
data: {},
properties: {
// 抽屉高度
recordList: {
type: Array,
value: [],
},
isLogin: {
type: Boolean,
value: true
},
storeJobListSearchForm: {
type: Object,
value: {},
},
agencyStatus: {
type: Boolean,
value: true
},
hasUserInfo: {
type: Number,
value: 0
},
selectJob: {
type: Boolean,
value: false
}
},
methods: {
goLogin () {
wx.setStorageSync("comeFromPage", "firstBill");
wx.navigateTo({
url: "/pages/login/index",
});
},
stoptap (e) {
return false;
},
getPhoneNumber (e) {
let that = this
that.triggerEvent("getPhoneNumber", e.detail);
},
collectPaste (e) {
let that = this
console.log('collectPaste', e);
that.triggerEvent("collectPaste", e.currentTarget);
},
getUserInfoBtn (e) {
let that = this
console.log('getUserInfoBtn', e);
that.triggerEvent("getUserInfoBtn", e.currentTarget);
},
goDetail (e) {
console.log(e);
var that = this;
if (that.data.selectJob) {
that.triggerEvent("getDetail", e.currentTarget);
} else {
wx.navigateTo({
url: `../detail/index?storeJobId=${e.currentTarget.dataset.id}&jobClassify=${e.currentTarget.dataset.info.jobClassify}` ,
});
}
},
}
})

@ -0,0 +1,3 @@
{
"component": true
}

@ -0,0 +1,117 @@
<view class="jcenter br8">
<view class="listcontainer" style="border-top: 1px solid #f3f3f3;">
<view class="jobOne" hover-start-time="50" hover-stay-time="0" wx:for="{{recordList}}" data-id="{{item.id}}" data-info="{{item}}" bindtap="goDetail" wx:key="index" hover-class="{{item.recruitment == 1 ? 'ahover':''}}" style="background-color:{{item.recruitment == 1 ? '#fff':'#f5f5f5'}};border-bottom: {{item.recruitment == 1 ? '':'1px solid #ddd'}};">
<view class="p1020 jobIn" hover-class="none">
<image style="width: 80px;height: 80px;position: absolute;right: 100px;z-index:99" src="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/tingzhao.svg" wx:if="{{item.state == 1 && item.recruitment == 2}}"></image>
<image style="width: 72px;height: 72px;position: absolute;right: 100px;" src="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/weishangxian.svg" wx:if="{{item.state == 0}}"></image>
<view class="display-flex">
<view class="prImg">
<view class="por" wx:if="{{item.logo}}">
<span class="f10 ysd-basebg-color tac fw500" style="width:24px;padding:0;line-height:14px;background: linear-gradient(142deg,#ff7900 10%, #ff4400);position:absolute;right:0;top:4px;border-radius:2px 0 0 2px" hover-class="none" wx:if="{{item.hotJob == 1}}" hover-stop-propagation="false">
<!-- <i class="iconfont icon-dianzan1 f10 cf mr4"></i> -->
<span class="cf">主推</span>
</span>
<image src="{{item.logo || 'https://matripe.oss-cn-beijing.aliyuncs.com/default.png'}}" mode="aspecFill" class="logoClass" alt></image>
</view>
<!-- <view class="br4 f14 fsa" wx:else style="width:72px;height:72px;background:#d85043;color:#fff;text-align:center;white-specing:wrap">{{item.brandName}}</view> -->
<image class="logoClass" wx:else mode="aspectFit" src="https://matripe.oss-cn-beijing.aliyuncs.com/default.png"></image>
<block wx:if="{{!selectJob}}">
<button wx:if="{{isLogin && hasUserInfo - 0 == 0}}" class="collect biggerSize2 v-center {{item.collected - 1 == 0 ? 'collectred':''}}" open-type="getUserInfo" catchtap="getUserInfoBtn" data-type="4" data-collected="{{item.collected}}" data-jobid="{{item.id}}" hover-stop-propagation>
<icon class="iconfont icon-shoucang lh12" style="color: #888" wx:if="{{item.collected - 2 == 0}}"></icon>
<icon class="iconfont icon-yishoucang lh12" style="color:#FF5D22" wx:else></icon>
<text class="f10 {{item.collected - 1 == 0 ? 'ysd-base-color':'c6'}}" style="line-height: 36px; margin-left: 4px">{{item.collected - 2 == 0 ? '收藏' : '已收藏'}}</text>
</button>
<button wx:if="{{isLogin && hasUserInfo - 1 == 0}}" class="collect biggerSize v-center {{item.collected - 1 == 0 ? 'collectred':''}}" catchtap="collectPaste" data-item="{{item}}" hover-stop-propagation>
<icon class="iconfont icon-shoucang lh12" style="color: #666" wx:if="{{item.collected - 2 == 0}}"></icon>
<icon class="iconfont icon-yishoucang lh12" style="color:#FF5D22" wx:else></icon>
<text class="f10 {{item.collected - 1 == 0 ? 'ysd-base-color':'c6'}}" style="line-height: 12px; margin-left: 4px">{{item.collected - 2 == 0 ? '收藏' : '已收藏'}}</text>
</button>
<button wx:if="{{!isLogin}}" class="collect biggerSize" open-type="getPhoneNumber" catchgetphonenumber="getPhoneNumber" catchtap="stoptap" data-collected="{{item.collected}}" data-jobid="{{item.id}}" hover-stop-propagation>
<icon class="iconfont icon-shoucang" style="color: #666"></icon>
<text class="f10 c8" style="line-height: 18px; margin-left: 4px">收藏</text>
</button>
</block>
</view>
<view class="flex-1 vsb">
<view class="display-flex">
<view class="storeName">{{item.jobName || item.aliasName}}</view>
<!-- <view class="hourPay">{{item.salaryClassifyValue}}</view> -->
</view>
<view class="v-center mt8 mb10">
<view class="f14s c045 flex-1">
<view class="overflowOmit mb8" style="max-width:200px">
{{item.district == "" ?'':item.district + ' | ' }}
<block wx:if="{{item.distance != null && item.distance != '' && storeJobListSearchForm.sortTag == 2}}">{{item.distanceKm}}</block>
<block wx:else>{{item.age}}</block>
</view>
<scroll-view scroll-x="{{true}}" catchscroll="stoptap" bindtap="stoptap" class="tttg {{item.isTagShow==true ? 'isTagShow':''}}">
<!-- <view class="t-icon t-icon-ziying1 " wx:if="{{item.signType == 1}}" style="background-repeat:no-repeat"></view> -->
<view class="tagsLi" wx:for="{{item.jobSpecialLabelNameArray}}" wx:for-item="item1" wx:key="index" wx:if="{{(item.hotJob == 1 && index <= 1) || item.hotJob ==2}}">{{item1}}</view>
<view class="tagsLi" wx:if="{{item.jobSpecialLabelNameArray.length <= 0}}">暂无特色</view>
</scroll-view>
<!-- <view class="fr f14s c633 fw400">{{item.monthlyPay}}</view> -->
</view>
</view>
<view class="display-flex">
<view class>
<view class="hourPay" wx:if="{{item.salaryClassify == 0}}">
<span class="f14">¥</span>
<span class="f18">{{item.salaryClassifyValue}}</span>
<span class="f12">/时</span>
</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 1}}">
<span class="f14">¥</span>
<span class="f18">{{item.salaryClassifyValue}}</span>
<span class="f12">/天</span>
</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 2}}">
<span class="f14">¥</span>
<span class="f18">{{item.salaryClassifyValue}}</span>
<span class="f12">补</span>
</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 3}}">
<span class="f14">¥</span>
<span class="f18">{{item.salaryClassifyValue}}</span>
<span class="f12">返</span>
</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 4}}">计件</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 5}}">
<span class="f14">¥</span>
<span class="f18">{{item.salaryClassifyValue}}</span>
<span class="f12">保底</span>
</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 6}}">面议</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 7}}">
<span class="f14">¥</span>
<span class="f18">{{item.monthlyPay}}</span>
<span class="f12">/月</span>
</view>
</view>
<view class="fsa f12 pr4" style="background: linear-gradient(138deg,#fde0ad 22%, #fac474); border-radius:2px;color:#754300;line-height:20px">
<view class>
<image class="mr4" style="width:20px;height:20px;display:block" src="../../assets/images/fee.svg" mode="aspecFill" lazy-load="false" ></image>
</view>
<view class style="font-size:13px" wx:if="{{!isLogin}}" hover-class="none" hover-stop-propagation="false">登录查看</view>
<view class style="font-size:13px" wx:else hover-class="none" hover-stop-propagation="false">{{agencyStatus == 1 ? (item.fuWuFei ? item.fuWuFei : '-') : '仅代理可见'}}</view>
</view>
</view>
</view>
</view>
</view>
<view class="pt8 pb8 pl10 pr10 fsa">
<view class="br2 fss" style="background: #f1faff;">
<view class="tac" style="width:33px;height:22px;">
<image class style="width:100%;height:100%" src="../../assets/images/xmf.svg" mode="aspectFit|aspectFill|widthFix" lazy-load="false" ></image>
</view>
<view class="f12 pl4 pr4" style="color:#646572" hover-class="none" hover-stop-propagation="false">{{item.agencyName || '-'}}</view>
</view>
<view class="fse" hover-class="none" hover-stop-propagation="false">
<!-- <view class="ml8" wx:for="{{4}}" style="background:pink;width:18px;height:18px" hover-class="none" hover-stop-propagation="false"></view> -->
</view>
</view>
</view>
</view>
</view>

@ -0,0 +1,13 @@
@import "../../app.wxss";
@import "../../pages/firstBill/index.wxss";
.jobOne {
margin: 0px 10px 10px 10px;
line-height: 1;
padding: 0;
border-radius: 8px;
/* margin-top: -1rpx; */
}
.jobIn {
padding: 10px 10px;
}

@ -0,0 +1,73 @@
const app = getApp();
Component({
data: {},
properties: {
// 抽屉高度
recordList: {
type: Array,
value: [],
},
isLogin: {
type: Boolean,
value: true
},
storeJobListSearchForm: {
type: Object,
value: {},
},
agencyStatus: {
type: Boolean,
value: true
},
hasUserInfo: {
type: Number,
value: 0
},
selectJob: {
type: Boolean,
value: false
}
},
methods: {
goLogin () {
wx.setStorageSync("comeFromPage", "firstBill");
wx.navigateTo({
url: "/pages/login/index",
});
},
stoptap (e) {
return false;
},
getPhoneNumber (e) {
let that = this
that.triggerEvent("getPhoneNumber", e.detail);
},
collectPaste (e) {
let that = this
console.log('collectPaste', e);
that.triggerEvent("collectPaste", e.currentTarget);
},
getUserInfoBtn (e) {
let that = this
console.log('getUserInfoBtn', e);
that.triggerEvent("getUserInfoBtn", e.currentTarget);
},
goDetail (e) {
console.log(e);
var that = this;
if (that.data.selectJob) {
that.triggerEvent("getDetail", e.currentTarget);
} else {
wx.navigateTo({
url: `../detail/index?storeJobId=${e.currentTarget.dataset.id}&jobClassify=${e.currentTarget.dataset.info.jobClassify}` ,
});
}
},
}
})

@ -0,0 +1,3 @@
{
"component": true
}

@ -0,0 +1,102 @@
<view class="jcenter br8">
<view class="listcontainer" style="border-top: 1px solid #f3f3f3;">
<view class="jobOne" hover-start-time="50" hover-stay-time="0" wx:for="{{recordList}}" data-id="{{item.id}}" data-info="{{item}}" bindtap="goDetail" wx:key="index" hover-class="{{item.recruitment == 1 ? 'ahover':''}}" style="background-color:{{item.recruitment == 1 ? '#fff':'#f5f5f5'}};border-bottom: {{item.recruitment == 1 ? '':'1px solid #ddd'}};">
<view class="p1020 jobIn" hover-class="none">
<image style="width: 80px;height: 80px;position: absolute;right: 100px;z-index:99" src="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/tingzhao.svg" wx:if="{{ item.recruitment == 2}}"></image>
<!-- <image style="width: 72px;height: 72px;position: absolute;right: 100px;" src="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/weishangxian.svg" wx:if="{{item.state == 0}}"></image> -->
<view class="display-flex">
<view class="flex-1 vsb">
<view class="display-flex">
<view class="storeName">{{item.jobName || item.aliasName}}</view>
<!-- <view class="hourPay">{{item.salaryClassifyValue}}</view> -->
</view>
<view class="v-center mt8 mb10">
<view class="f14s c045 flex-1">
<view class="overflowOmit mb8 fss">
<view class='oelps mr4' style="max-width:120px">
{{item.storeAddr ?item.storeAddr : ''}}
</view>
<block wx:if="{{item.distance != null && item.distance != '' && storeJobListSearchForm.sortTag == 2}}">
{{item.distanceKm}}
</block>
<block wx:else>{{' | ' + item.age}}</block>
</view>
<scroll-view scroll-x="{{true}}" catchscroll="stoptap" bindtap="stoptap" class="tttg {{item.isTagShow==true ? 'isTagShow':''}}">
<!-- <view class="t-icon t-icon-ziying1 " wx:if="{{item.signType == 1}}" style="background-repeat:no-repeat"></view> -->
<view class="pr10 pt4 pb4 fsa cusFlexStart">
<view class="br2 fss" style="background: #f1faff;" wx:for="{{item.labelGroup}}" wx:key="itm" wx:for-item="itm">
<view class="f12 pl4 pr4" style="color:#646572" hover-class="none" hover-stop-propagation="false">
{{itm || '-'}}
</view>
</view>
<view class="f12 pl4 pr4" style="background: #f1faff;" wx:if="{{item.labelGroup.length <= 0}}">
暂无特色
</view>
</view>
<!-- <view class="tagsLi" wx:for="{{item.labelGroup}}" wx:for-item="item1" wx:key="index" wx:if="{{(item.hotJob == 1 && index <= 1) || item.hotJob ==2}}">
{{item1}}
</view> -->
</scroll-view>
<!-- <view class="fr f14s c633 fw400">{{item.monthlyPay}}</view> -->
</view>
</view>
<view class="display-flex">
<view class>
<view class="hourPay" wx:if="{{item.salaryClassify == 0}}">
<span class="f14">¥</span>
<span class="f18">{{item.salaryClassifyValue}}</span>
<span class="f12">/时</span>
</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 1}}">
<span class="f14">¥</span>
<span class="f18">{{item.salaryClassifyValue}}</span>
<span class="f12">/天</span>
</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 2}}">
<span class="f14">¥</span>
<span class="f18">{{item.salaryClassifyValue}}</span>
<span class="f12">补</span>
</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 3}}">
<span class="f14">¥</span>
<span class="f18">{{item.salaryClassifyValue}}</span>
<span class="f12">返</span>
</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 4}}">计件</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 5}}">
<span class="f14">¥</span>
<span class="f18">{{item.salaryClassifyValue}}</span>
<span class="f12">保底</span>
</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 6}}">面议</view>
<view class="hourPay" wx:if="{{item.salaryClassify == 7}}">
<span class="f14">¥</span>
<span class="f18">{{item.monthlyPay}}</span>
<span class="f12">/月</span>
</view>
</view>
<view class="fsa f12 pr4" style="background: linear-gradient(138deg,#fde0ad 22%, #fac474); border-radius:2px;color:#754300;line-height:20px">
<view class>
<image class="mr4" style="width:20px;height:20px;display:block" src="../../assets/images/fee.svg" mode="aspecFill" lazy-load="false"></image>
</view>
<view class style="font-size:13px" wx:if="{{!isLogin}}" hover-class="none" hover-stop-propagation="false">
登录查看
</view>
<view class style="font-size:13px" wx:else hover-class="none" hover-stop-propagation="false">
{{agencyStatus == 1 ? (item.fuWuFei ? item.fuWuFei : '-') : '仅代理可见'}}
</view>
</view>
</view>
</view>
</view>
</view>
<!-- <view class="pt8 pb8 pl10 pr10 fsa cusFlexStart">
<view class="br2 fss" style="background: #f1faff;" wx:for="{{item.labelGroup}}" wx:key="itm" wx:for-item="itm">
<view class="f12 pl4 pr4" style="color:#646572" hover-class="none" hover-stop-propagation="false">
{{itm || '-'}}
</view>
</view>
</view> -->
</view>
</view>
</view>

@ -0,0 +1,20 @@
@import "../../app.wxss";
@import "../../pages/firstBill/index.wxss";
.jobOne {
margin: 0px 10px 10px 10px;
line-height: 1;
padding: 0;
border-radius: 8px;
/* margin-top: -1rpx; */
}
.jobIn {
padding: 10px 10px;
}
.cusFlexStart{
justify-content: start;
}
.cusFlexStart .fss{
margin-right: 6px;
}

@ -0,0 +1,231 @@
const _windowWidth = wx.getSystemInfoSync().windowWidth;
Component({
properties: {
//组件宽度
width: {
type: Number,
value: 700,
observer: function (newVal, oldVal, changedPath) {
var that = this;
if (newVal != that.data.width) {
this._refresh();
}
},
},
contentWidth: {
type: String,
value: "100vw",
},
//组件高度
height: {
type: Number,
value: 100,
},
//滑块大小
blockSize: {
type: Number,
value: 60,
observer: function (newVal, oldVal, changedPath) {
var that = this;
if (newVal != that.data.blockSize) {
this._refresh();
}
},
},
//区间进度条高度
barHeight: {
type: Number,
value: 10,
},
//背景条颜色
backgroundColor: {
type: String,
value: "#e9e9e9",
},
//已选择的颜色
activeColor: {
type: String,
value: "#E5EDFF",
},
//最小值
min: {
type: Number,
value: 0,
observer: function (newVal, oldVal, changedPath) {
var that = this;
if (newVal != that.data.min) {
that._refresh();
}
},
},
//最大值
max: {
type: Number,
value: 100,
observer: function (newVal, oldVal, changedPath) {
var that = this;
if (newVal != that.data.max) {
that._refresh();
}
},
},
//设置初始值
values: {
type: Object,
value: [0, 100],
observer: function (newVal, oldVal, changedPath) {
var that = this;
// var values = that.data.values;
if (that._isValuesValid(newVal) && that._isValuesValid(oldVal)) {
if (oldVal[0] != newVal[0] || oldVal[1] != newVal[1]) that._refresh();
}
},
},
},
/**
* 组件生命周期函数在组件布局完成后执行
*/
ready () {
// console.log(this.data.activeColor);
// console.log(this.data.width);
this.setData({
progressBarWidth: this.data.width,
});
this._refresh();
},
options: {
multipleSlots: true,
},
data: {
MAX_LENGTH: 700,
minBlockLeft: 0,
maxBlockLeft: 700,
progressBarLeft: 0,
progressBarWidth: 700,
fangdou: true,
},
methods: {
_pxToRpx: function (px) {
return (750 * px) / _windowWidth;
},
_onBlockTouchStart: function (e) {
console.log(e);
this._blockDownX = e.changedTouches[0].pageX;
this._blockLeft = e.target.dataset.left;
this._curBlock = e.target.dataset.tag;
},
_onBlockTouchMove: function (e) {
var that = this;
if (that.data.fangdou) {
console.log(e);
that.data.fangdou = false;
var values = that._calculateValues(e);
that._refreshProgressBar(values[2], values[3]);
that._refreshBlock(values[2], values[3]);
var eventDetail = {
minValue: values[0],
maxValue: values[1],
fromUser: true,
};
var eventOption = {};
that.triggerEvent("rangechange", eventDetail, eventOption);
setTimeout(() => {
that.data.fangdou = true;
}, 5);
}
},
_onBlockTouchEnd: function (e) {
var that = this;
var values = that._calculateValues(e);
that._refreshProgressBar(values[2], values[3]);
that._refreshBlock(values[2], values[3]);
var eventDetail = {
minValue: values[0],
maxValue: values[1],
fromUser: true,
};
var eventOption = {};
that.triggerEvent("rangechange", eventDetail, eventOption);
},
_isValuesValid: function (values) {
return values != null && values != undefined && values.length == 2;
},
/**
* 根据手势计算相关数据
*/
_calculateValues: function (e) {
var that = this;
var moveLength = e.changedTouches[0].pageX - that._blockDownX;
var left = that._blockLeft + that._pxToRpx(moveLength);
left = Math.max(0, left);
left = Math.min(left, that.data.MAX_LENGTH);
var minBlockLeft = that.data.minBlockLeft;
var maxBlockLeft = that.data.maxBlockLeft;
if (that._curBlock == "minBlock") {
minBlockLeft = left;
} else {
maxBlockLeft = left;
}
var range = that.data.max - that.data.min;
var minLeft = Math.min(minBlockLeft, maxBlockLeft);
var maxLeft = Math.max(minBlockLeft, maxBlockLeft);
var minValue = (minLeft / that.data.MAX_LENGTH) * range + that.data.min;
var maxValue = (maxLeft / that.data.MAX_LENGTH) * range + that.data.min;
return [minValue, maxValue, minLeft, maxLeft];
},
/**
* 计算滑块坐标
*/
_calculateBlockLeft: function (minValue, maxValue) {
var that = this;
var blockSize = that.data.blockSize;
var range = that.data.max - that.data.min;
var minLeft = ((minValue - that.data.min) / range) * that.data.MAX_LENGTH;
var maxLeft = ((maxValue - that.data.min) / range) * that.data.MAX_LENGTH;
return [minLeft, maxLeft];
},
/**
* 刷新进度条视图
*/
_refreshProgressBar: function (minBlockLeft, maxBlockLeft) {
var that = this;
var blockSize = that.data.blockSize;
that.setData({
progressBarLeft: minBlockLeft + blockSize / 2,
progressBarWidth: Math.abs(maxBlockLeft - minBlockLeft),
});
},
/**
* 刷新滑块视图
*/
_refreshBlock: function (minBlockLeft, maxBlockLeft) {
var that = this;
that.setData({
minBlockLeft: minBlockLeft,
maxBlockLeft: maxBlockLeft,
});
},
/**
* 刷新整个视图
*/
_refresh: function () {
var that = this;
var MAX_LENGTH = that.data.width - that.data.blockSize;
that.setData({
MAX_LENGTH: MAX_LENGTH,
maxBlockLeft: MAX_LENGTH,
progressBarWidth: MAX_LENGTH,
});
var values = that.data.values;
if (that._isValuesValid(values)) {
values[0] = Math.max(that.data.min, values[0]);
values[0] = Math.min(values[0], that.data.max);
values[1] = Math.max(that.data.min, values[1]);
values[1] = Math.min(values[1], that.data.max);
var leftValues = that._calculateBlockLeft(values[0], values[1]);
that._refreshProgressBar(leftValues[0], leftValues[1]);
that._refreshBlock(leftValues[0], leftValues[1]);
}
},
},
});

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

@ -0,0 +1,12 @@
<view class="range-slider" catchtap style="width:calc({{contentWidth}} - 40px);height:{{height}}px">
<view class="range-bar" catchtap style="width:calc({{width}}rpx - 20rpx);height:{{8}}rpx">
<view class="range-bar-bg" style="background-color:{{backgroundColor}};margin-left:10px"></view>
<view class="range-bar-progress" style="margin-left:{{progressBarLeft}}rpx;width:{{progressBarWidth}}rpx;background-color:{{activeColor}}"></view>
</view>
<view class="block" style="margin-left:{{minBlockLeft}}rpx" catchtouchstart="_onBlockTouchStart" catchtouchmove="_onBlockTouchMove" catchtouchend="_onBlockTouchEnd" data-left="{{minBlockLeft}}" data-tag="minBlock">
<slot name="minBlock"></slot>
</view>
<view class="block" style="margin-left:{{maxBlockLeft}}rpx" catchtouchstart="_onBlockTouchStart" catchtouchmove="_onBlockTouchMove" catchtouchend="_onBlockTouchEnd" data-left="{{maxBlockLeft}}" data-tag="maxBlock">
<slot name="maxBlock"></slot>
</view>
</view>

@ -0,0 +1,45 @@
.range-slider {
position: relative;
}
.range-bar {
position: absolute;
}
.range-bar {
position: absolute;
top: 50%;
transform: translate(0, -50%);
border-radius: 10000rpx;
}
.range-bar-bg {
position: absolute;
width: 100%;
height: 100%;
border-radius: 10000rpx;
}
.range-bar-progress {
position: absolute;
width: 100%;
height: 100%;
background-color: blueviolet;
}
.block {
position: absolute;
width: 30px;
height: 30px;
top: 50%;
border-radius: 50%;
transform: translate(0, -50%);
background-image: url('https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/slider_img.png');
background-repeat: no-repeat;
background-size: 100% 100%;
/* background-color: var(--color-ysd); */
}
.block image {
width: 100%;
height: 100%;
}

@ -0,0 +1,62 @@
// components/slider-component/index.js
Component({
properties: {
slider_min: {
//最小值
type: Number,
value: 0,
},
slider_max: {
//最大值
type: Number,
value: 100,
},
slider_value: {
//当前值
type: Number,
value: 10,
},
show_value: {
//当前值
type: Number,
value: 10,
},
// age: {
// //当前值
// type: Number,
// value: true,
// },
},
ready() {
console.log(this.properties.slider_min);
console.log(this.properties.slider_max);
console.log(this.properties.slider_value);
},
methods: {
sliderChanging(e) {
// console.log(this.properties);
const value = e.detail.value;
if (value >= 16) {
this.properties.show_value = value;
}
// wx.vibrateShort({
// type: "heavy",
// success: function (e) {},
// });
// console.log(this.properties.slider_value);
// this.triggerEvent("sliderchange", value);
this.triggerEvent("showchange", this.properties.show_value);
},
sliderChange(e){
const value = e.detail.value;
if (value >= 16) {
this.properties.show_value = value;
}
// console.log(this.properties.slider_value);
this.triggerEvent("sliderchange", value);
// this.triggerEvent("showchange", this.properties.show_value);
}
},
});

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

@ -0,0 +1,11 @@
<view class="component-slider">
<view class="slider-box">
<view class="slider_value" hover-class="none" hover-stop-propagation="false">{{show_value == 60 ?show_value + '+' : show_value }}</view>
<!-- <view class="slider-btn" style="left:{{(slider_value - slider_min)*(92 / (slider_max - slider_min)) }}%">
<image class src="/assets/images/slider_img.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror bindtap bindload></image>
</view>
<view class="slider-line"></view>
<view class="slider-line-active" style="width: {{ (slider_value - slider_min)*(92 / (slider_max-slider_min))}}%"></view> -->
</view>
<slider block-size="28" style="height:30px" selected-color="var(--color-ysd)" bindchanging="sliderChanging" bindchange="sliderChange" min="{{slider_min}}" max="{{slider_max}}" value="{{slider_value}}" />
</view>

@ -0,0 +1,100 @@
/* components/slider-component/index.wxss */
.component-slider {
width: 100%;
position: relative;
margin: 0rpx auto 0rpx;
}
/* 盒子 */
.slider-box {
width: 100%;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
/* 未选中区线 */
.slider-line {
width: 100%;
height: 4px;
background: rgba(91, 150, 246, 0.1);
margin: 0 auto;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
border-radius: 12rpx;
border-bottom-right-radius: 8rpx;
border-top-right-radius: 8rpx;
}
/* 选中区线 */
.slider-line-active {
position: absolute;
left: 0;
top: 50%;
transform: translate(0, -50%);
height: 4px;
background: #f40;
border-bottom-left-radius: 8rpx;
border-top-left-radius: 8rpx;
}
/* slider按钮 */
.slider-btn {
width: 30px;
height: 30px;
position: relative;
/* background: url("/assets/images/slider_img.png"); */
border-radius: 50%;
background-size: 100% 100%;
background-color: #fff;
}
.slider-btn image{
position: relative;
width: 100%;
height: 100%;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
.slider_value {
position: absolute;
top: -40px;
left: 15px;
color: var(--color-ysd);
transform: translateX(-50%);
}
/* 显示的数字 */
.slider-number {
width: 100%;
position: absolute;
bottom: -10rpx;
}
.slider-number text {
position: absolute;
top: 0;
font-size: 24rpx;
color: #999999;
transition: all 0.3s;
}
/* 当前选中的数字 */
.slider-number text.active {
font-size: 32rpx;
color: #5b96f6;
transition: all 0.3s;
}
/* slider组件设置透明 */
slider {
width: 92%;
/* opacity: 0; */
/* height: 20px ; */
padding: 14px 0;
margin: 12px 16px;
box-sizing: border-box;
}

@ -0,0 +1,97 @@
const app = getApp();
Component({
data: {
isShow: false,
toTop: false,
selected: 0,
color: "#444",
selectedColor: "#ff4400",
list: [
{
iconPath: "../assets/images/ysd.png",
selectedIconPath: "../assets/images/ysd1.png",
pagePath: "/pages/firstBill/index",
text: "首页",
index: 0,
},
{
iconPath: "../assets/images/ksbm.svg",
selectedIconPath: "../assets/images/ksbm.svg",
pagePath: "/pages/newEnroll/enroll/index",
// text: "消息",
index: 1,
},
{
iconPath: "../assets/images/wd.png",
selectedIconPath: "../assets/images/wd1.png",
pagePath: "/pages/mine/index",
text: "我的",
index: 2,
},
],
},
lifetimes: {
show: function () {
// 页面被展示
console.log("tabbar show");
},
attached: function () {
// 在组件实例进入页面节点树时执行
console.log("tabbar attached");
},
detached: function () {
// 在组件实例被从页面节点树移除时执行
},
},
methods: {
switchTab(e) {
const data = e.currentTarget.dataset;
const url = data.path;
wx.vibrateShort({
type: "heavy",
success: function (e) {
console.log(e);
},
});
if (data.index == 0 && this.data.selected == 0) {
if(this.data.toTop){
app.globalData.toTop = 1;
} else {
app.globalData.refresh = 1
}
}
if (!app.globalData.isLogin) {
if (data.index == 1) {
wx.navigateTo({
url: "/pages/login/index",
});
return;
}
} else {
if (data.index == 1) {
if (app.globalData.loginUserInfo.agencyStatus != 1) {
wx.navigateTo({
url: "/pages/tobeAgency/index",
});
} else {
wx.navigateTo({
url,
});
// wx.redirectTo({});
}
return;
}
}
// this.setData({
// selected: data.index,
// });
wx.switchTab({ url });
},
touchMove(){
return false
}
},
});

@ -0,0 +1,3 @@
{
"component": true
}

@ -0,0 +1,13 @@
<view class="tab-bar" wx:if="{{isShow}}" catchtouchmove="touchMove">
<view class="tab-bar-border"></view>
<view wx:for="{{list}}" wx:key="index" class="tab-bar-item biggerSize2" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="switchTab">
<view class="middle tac" wx:if="{{index === 1}}" hover-class="none" hover-stop-propagation="false">
<image class="tabImg" src="{{item.selectedIconPath}}" />
</view>
<view class='' wx:else hover-class="none" hover-stop-propagation="false">
<image class="tabImg" style="visibility:{{selected === item.index ? 'visiable':'hidden'}}" src="{{item.selectedIconPath}}" />
<image class="tabImg {{index == 1 ? 'middle':''}}" style="visibility:{{selected === item.index ? 'hidden':'visiable'}}" src="{{item.iconPath}}" />
<view class="tabText" style="color: {{selected === item.index ? selectedColor : color}}">{{item.text}}</view>
</view>
</view>
</view>

@ -0,0 +1,83 @@
.tab-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: 48px;
padding-bottom: 34px !important;
background: white;
display: flex;
justify-content: space-between;
box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.6);
padding-bottom: env(safe-area-inset-bottom);
}
.tab-bar-border {
/* background-color: rgba(0, 0, 0, 0.33); */
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 1px;
transform: scaleY(0.5);
}
.tab-bar-item {
/* width: 60px; */
flex: 1;
height: 80px;
}
.tab-bar-item view {
flex: 1;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.tabImg {
width: 30px;
height: 30px;
position: absolute;
top: 6px;
}
.tabText {
margin-top: 34px;
}
.tab-bar-item view {
font-size: 10px;
}
.middle {
position: relative;
top: -15px;
width: 70px;
height: 70px;
left: 50%;
transform: translateX(-50%);
padding-top: 10px;
border-radius: 50%;
box-sizing: border-box;
/* border-top: 1px solid rgba(0, 0, 0, 0.33); */
box-shadow: 0px -6px 10px -8px rgba(0, 0, 0, 0.6);
background-color: #fff;
}
.middle image {
width: 80%;
height: 80%;
}
.biggerSize2 {
position: relative;
}
.biggerSize2::after {
content: "";
/* display: inline-block; */
width: 100px;
height: 70px;
position: absolute;
left: 50%;
top: 50%;
z-index: 99;
transform: translate(-50%, -50%);
}

@ -0,0 +1,11 @@
{
"ios": {
"name": "伯才"
},
"android": {
"name": "伯才"
},
"common": {
"name": "伯才"
}
}

@ -0,0 +1,148 @@
module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 5);
/******/ })
/************************************************************************/
/******/ ({
/***/ 5:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Component({
options: {
addGlobalClass: true,
pureDataPattern: /^_/,
multipleSlots: true
},
properties: {
tabs: { type: Array, value: [] },
tabClass: { type: String, value: '' },
swiperClass: { type: String, value: '' },
activeClass: { type: String, value: '' },
tabUnderlineColor: { type: String, value: '#07c160' },
tabActiveTextColor: { type: String, value: '#000000' },
tabInactiveTextColor: { type: String, value: '#000000' },
tabBackgroundColor: { type: String, value: '#ffffff' },
activeTab: { type: Number, value: 0 },
swipeable: { type: Boolean, value: true },
animation: { type: Boolean, value: true },
duration: { type: Number, value: 500 }
},
data: {
currentView: 0
},
observers: {
activeTab: function activeTab(_activeTab) {
var len = this.data.tabs.length;
if (len === 0) return;
var currentView = _activeTab - 1;
if (currentView < 0) currentView = 0;
if (currentView > len - 1) currentView = len - 1;
this.setData({ currentView: currentView });
}
},
lifetimes: {
created: function created() {}
},
methods: {
handleTabClick: function handleTabClick(e) {
var index = e.currentTarget.dataset.index;
this.setData({ activeTab: index });
this.triggerEvent('tabclick', { index: index });
},
handleSwiperChange: function handleSwiperChange(e) {
var index = e.detail.current;
this.setData({ activeTab: index });
this.triggerEvent('change', { index: index });
}
}
});
/***/ })
/******/ });

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

@ -0,0 +1,20 @@
<view class="weui-tabs">
<view class="weui-tabs-bar__wrp">
<scroll-view scroll-x scroll-into-view="item_{{currentView}}" scroll-with-animation="{{animation}}">
<view class="weui-tabs-bar__content">
<block wx:for="{{tabs}}" wx:key="title">
<view id="item_{{index}}" class="weui-tabs-bar__item" style="background-color: {{tabBackgroundColor}}; color: {{activeTab === index ? tabActiveTextColor : tabInactiveTextColor}};" bindtap="handleTabClick" data-index="{{index}}">
<view class="weui-tabs-bar__title {{tabClass}} {{activeTab === index ? activeClass : ''}}" style="border-bottom-color: {{activeTab === index ? tabUnderlineColor : 'transparent'}}">
<text class="">{{item.title}}</text>
</view>
</view>
</block>
</view>
</scroll-view>
</view>
<swiper class="{{swiperClass}}" current="{{activeTab}}" duration="{{duration}}" bindchange="handleSwiperChange">
<swiper-item wx:for="{{tabs}}" wx:key="title">
<slot name="tab-content-{{index}}"></slot>
</swiper-item>
</swiper>
</view>

@ -0,0 +1 @@
.weui-tabs{width:100%}.weui-tabs-bar__wrp{width:100%;background:#fff}.weui-tabs-bar__content{width:100%;white-space:nowrap}.weui-tabs-bar__item{display:inline-block}.weui-tabs-bar__title{display:inline-block;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:transparent}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -0,0 +1,8 @@
"use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}/*!
* mp-html v2.3.0
* https://github.com/jin-yufeng/mp-html
*
* Released under the MIT license
* Author: Jin Yufeng
*/
var t=require("./parser"),n=[];Component({data:{nodes:[]},properties:{containerStyle:String,content:{type:String,value:"",observer:function(e){this.setContent(e)}},copyLink:{type:Boolean,value:!0},domain:String,errorImg:String,lazyLoad:Boolean,loadingImg:String,pauseVideo:{type:Boolean,value:!0},previewImg:{type:Boolean,value:!0},scrollTable:Boolean,selectable:null,setTitle:{type:Boolean,value:!0},showImgMenu:{type:Boolean,value:!0},tagStyle:Object,useAnchor:null},created:function(){this.plugins=[];for(var e=n.length;e--;)this.plugins.push(new n[e](this))},detached:function(){clearInterval(this._timer),this._hook("onDetached")},methods:{in:function(e,t,n){e&&t&&n&&(this._in={page:e,selector:t,scrollTop:n})},navigateTo:function(t,n){var o=this;return new Promise(function(i,r){if(!o.data.useAnchor)return void r(Error("Anchor is disabled"));var a=wx.createSelectorQuery().in(o._in?o._in.page:o).select((o._in?o._in.selector:"._root")+(t?"".concat(">>>","#").concat(t):"")).boundingClientRect();o._in?a.select(o._in.selector).scrollOffset().select(o._in.selector).boundingClientRect():a.selectViewport().scrollOffset(),a.exec(function(t){if(!t[0])return void r(Error("Label not found"));var a=t[1].scrollTop+t[0].top-(t[2]?t[2].top:0)+(n||parseInt(o.data.useAnchor)||0);o._in?o._in.page.setData(e({},o._in.scrollTop,a)):wx.pageScrollTo({scrollTop:a,duration:300}),i()})})},getText:function(e){var t="";return function e(n){for(var o=0;o<n.length;o++){var i=n[o];if("text"===i.type)t+=i.text.replace(/&amp;/g,"&");else if("br"===i.name)t+="\n";else{var r="p"===i.name||"div"===i.name||"tr"===i.name||"li"===i.name||"h"===i.name[0]&&i.name[1]>"0"&&i.name[1]<"7";r&&t&&"\n"!==t[t.length-1]&&(t+="\n"),i.children&&e(i.children),r&&"\n"!==t[t.length-1]?t+="\n":"td"!==i.name&&"th"!==i.name||(t+="\t")}}}(e||this.data.nodes),t},getRect:function(){var e=this;return new Promise(function(t,n){wx.createSelectorQuery().in(e).select("._root").boundingClientRect().exec(function(e){return e[0]?t(e[0]):n(Error("Root label not found"))})})},pauseMedia:function(){for(var e=(this._videos||[]).length;e--;)this._videos[e].pause()},setContent:function(e,n){var o=this;this.imgList&&n||(this.imgList=[]),this._videos=[];var i={},r=new t(this).parse(e);if(n)for(var a=this.data.nodes.length,l=r.length;l--;)i["nodes[".concat(a+l,"]")]=r[l];else i.nodes=r;this.setData(i,function(){o._hook("onLoad"),o.triggerEvent("load")});var s;clearInterval(this._timer),this._timer=setInterval(function(){o.getRect().then(function(e){e.height===s&&(o.triggerEvent("ready",e),clearInterval(o._timer)),s=e.height}).catch(function(){})},350)},_hook:function(e){for(var t=n.length;t--;)this.plugins[t][e]&&this.plugins[t][e]()},_add:function(e){e.detail.root=this}}});

@ -0,0 +1 @@
{"component":true,"usingComponents":{"node":"./node/node"}}

@ -0,0 +1 @@
<view class="_root {{selectable?'_select':''}}" style="{{containerStyle}}"><slot wx:if="{{!nodes[0]}}"/><node id="_root" childs="{{nodes}}" opts="{{[lazyLoad,loadingImg,errorImg,showImgMenu]}}" catchadd="_add"/></view>

@ -0,0 +1 @@
._root{padding:1px 0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}._select{-webkit-user-select:text;user-select:text}

@ -0,0 +1 @@
"use strict";function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}Component({data:{ctrl:{}},properties:{childs:Array,opts:Array},attached:function(){this.triggerEvent("add",this,{bubbles:!0,composed:!0})},methods:{noop:function(){},getNode:function(t){for(var e=t.split("_"),r=this.data.childs[e[0]],i=1;i<e.length;i++)r=r.children[e[i]];return r},play:function(t){if(this.root.triggerEvent("play"),this.root.data.pauseVideo){for(var e=!1,r=t.target.id,i=this.root._videos.length;i--;)this.root._videos[i].id===r?e=!0:this.root._videos[i].pause();if(!e){var o=wx.createVideoContext(r,this);o.id=r,this.root._videos.push(o)}}},imgTap:function(t){var e=this.getNode(t.target.dataset.i);if(e.a)return this.linkTap(e.a);if(!e.attrs.ignore&&(this.root.triggerEvent("imgtap",e.attrs),this.root.data.previewImg)){var r=this.root.imgList[e.i];wx.previewImage({showmenu:this.root.data.showImgMenu,current:r,urls:this.root.imgList})}},imgLoad:function(e){var r,i=e.target.dataset.i,o=this.getNode(i);o.w?(this.data.opts[1]&&!this.data.ctrl[i]||-1===this.data.ctrl[i])&&(r=1):r=e.detail.width,r&&this.setData(t({},"ctrl."+i,r))},linkTap:function(t){var e=t.currentTarget?this.getNode(t.currentTarget.dataset.i):{},r=e.attrs||t,i=r.href;this.root.triggerEvent("linktap",Object.assign({innerText:this.root.getText(e.children||[])},r)),i&&("#"===i[0]?this.root.navigateTo(i.substring(1)).catch(function(){}):i.split("?")[0].includes("://")?this.root.data.copyLink&&wx.setClipboardData({data:i,success:function(){return wx.showToast({title:"链接已复制"})}}):wx.navigateTo({url:i,fail:function(){wx.switchTab({url:i,fail:function(){}})}}))},mediaError:function(e){var r=e.target.dataset.i,i=this.getNode(r);if("video"===i.name||"audio"===i.name){var o=(this.data.ctrl[r]||0)+1;if(o>i.src.length&&(o=0),o<i.src.length)return this.setData(t({},"ctrl."+r,o))}else"img"===i.name&&this.data.opts[2]&&this.setData(t({},"ctrl."+r,-1));this.root&&this.root.triggerEvent("error",{source:i.name,attrs:i.attrs,errMsg:e.detail.errMsg})}}});

@ -0,0 +1 @@
{"component":true,"usingComponents":{"node":"./node"}}

@ -0,0 +1 @@
<wxs module="isInline">var e={abbr:!0,b:!0,big:!0,code:!0,del:!0,em:!0,i:!0,ins:!0,label:!0,q:!0,small:!0,span:!0,strong:!0,sub:!0,sup:!0};module.exports=function(n,i){return e[n]||-1!==(i||"").indexOf("inline")};</wxs><template name="el"><block wx:if="{{n.name==='img'}}"><image wx:if="{{(opts[1]&&!ctrl[i])||ctrl[i]<0}}" class="_img" style="{{n.attrs.style}}" src="{{ctrl[i]<0?opts[2]:opts[1]}}" mode="widthFix"/><image id="{{n.attrs.id}}" class="_img {{n.attrs.class}}" style="{{ctrl[i]===-1?'display:none;':''}}width:{{ctrl[i]||1}}px;height:1px;{{n.attrs.style}}" src="{{n.attrs.src}}" mode="{{!n.h?'widthFix':(!n.w?'heightFix':'')}}" lazy-load="{{opts[0]}}" webp="{{n.webp}}" show-menu-by-longpress="{{opts[3]&&!n.attrs.ignore}}" data-i="{{i}}" bindload="imgLoad" binderror="mediaError" catchtap="imgTap" bindlongpress="noop"/></block><text wx:elif="{{n.text}}" user-select="{{n.us}}" decode>{{n.text}}</text><text wx:elif="{{n.name==='br'}}">\n</text><view wx:elif="{{n.name==='a'}}" id="{{n.attrs.id}}" class="{{n.attrs.href?'_a ':''}}{{n.attrs.class}}" hover-class="_hover" style="display:inline;{{n.attrs.style}}" data-i="{{i}}" catchtap="linkTap"><node childs="{{n.children}}" opts="{{opts}}" style="display:inherit"/></view><video wx:elif="{{n.name==='video'}}" id="{{n.attrs.id}}" class="{{n.attrs.class}}" style="{{n.attrs.style}}" autoplay="{{n.attrs.autoplay}}" controls="{{n.attrs.controls}}" loop="{{n.attrs.loop}}" muted="{{n.attrs.muted}}" object-fit="{{n.attrs['object-fit']}}" poster="{{n.attrs.poster}}" src="{{n.src[ctrl[i]||0]}}" data-i="{{i}}" bindplay="play" binderror="mediaError"/><audio wx:elif="{{n.name==='audio'}}" id="{{n.attrs.id}}" class="{{n.attrs.class}}" style="{{n.attrs.style}}" author="{{n.attrs.author}}" controls="{{n.attrs.controls}}" loop="{{n.attrs.loop}}" name="{{n.attrs.name}}" poster="{{n.attrs.poster}}" src="{{n.src[ctrl[i]||0]}}" data-i="{{i}}" bindplay="play" binderror="mediaError"/><rich-text wx:else id="{{n.attrs.id}}" style="{{n.f}}" nodes="{{[n]}}"/></template><block wx:for="{{childs}}" wx:for-item="n1" wx:for-index="i1" wx:key="i1"><template wx:if="{{!n1.c&&(!n1.children||n1.name==='a'||!isInline(n1.name,n1.attrs.style))}}" is="el" data="{{n:n1,i:''+i1,opts:opts,ctrl:ctrl}}"/><view wx:else id="{{n1.attrs.id}}" class="_{{n1.name}} {{n1.attrs.class}}" style="{{n1.attrs.style}}"><block wx:for="{{n1.children}}" wx:for-item="n2" wx:for-index="i2" wx:key="i2"><template wx:if="{{!n2.c&&(!n2.children||n2.name==='a'||!isInline(n2.name,n2.attrs.style))}}" is="el" data="{{n:n2,i:i1+'_'+i2,opts:opts,ctrl:ctrl}}"/><view wx:else id="{{n2.attrs.id}}" class="_{{n2.name}} {{n2.attrs.class}}" style="{{n2.attrs.style}}"><block wx:for="{{n2.children}}" wx:for-item="n3" wx:for-index="i3" wx:key="i3"><template wx:if="{{!n3.c&&(!n3.children||n3.name==='a'||!isInline(n3.name,n3.attrs.style))}}" is="el" data="{{n:n3,i:i1+'_'+i2+'_'+i3,opts:opts,ctrl:ctrl}}"/><view wx:else id="{{n3.attrs.id}}" class="_{{n3.name}} {{n3.attrs.class}}" style="{{n3.attrs.style}}"><block wx:for="{{n3.children}}" wx:for-item="n4" wx:for-index="i4" wx:key="i4"><template wx:if="{{!n4.c&&(!n4.children||n4.name==='a'||!isInline(n4.name,n4.attrs.style))}}" is="el" data="{{n:n4,i:i1+'_'+i2+'_'+i3+'_'+i4,opts:opts,ctrl:ctrl}}"/><view wx:else id="{{n4.attrs.id}}" class="_{{n4.name}} {{n4.attrs.class}}" style="{{n4.attrs.style}}"><block wx:for="{{n4.children}}" wx:for-item="n5" wx:for-index="i5" wx:key="i5"><template wx:if="{{!n5.c&&(!n5.children||n5.name==='a'||!isInline(n5.name,n5.attrs.style))}}" is="el" data="{{n:n5,i:i1+'_'+i2+'_'+i3+'_'+i4+'_'+i5,opts:opts,ctrl:ctrl}}"/><node wx:else id="{{n5.attrs.id}}" class="_{{n5.name}} {{n5.attrs.class}}" style="{{n5.attrs.style}}" childs="{{n5.children}}" opts="{{opts}}"/></block></view></block></view></block></view></block></view></block>

@ -0,0 +1 @@
._a{padding:1.5px 0 1.5px 0;color:#366092;word-break:break-all}._hover{text-decoration:underline;opacity:.7}._img{max-width:100%;-webkit-touch-callout:none}._b,._strong{font-weight:700}._code{font-family:monospace}._del{text-decoration:line-through}._em,._i{font-style:italic}._h1{font-size:2em}._h2{font-size:1.5em}._h3{font-size:1.17em}._h5{font-size:.83em}._h6{font-size:.67em}._h1,._h2,._h3,._h4,._h5,._h6{display:block;font-weight:700}._ins{text-decoration:underline}._li{display:list-item}._ol{list-style-type:decimal}._ol,._ul{display:block;padding-left:40px;margin:1em 0}._q::before{content:'"'}._q::after{content:'"'}._sub{font-size:smaller;vertical-align:sub}._sup{font-size:smaller;vertical-align:super}._tbody,._tfoot,._thead{display:table-row-group}._tr{display:table-row}._td,._th{display:table-cell;vertical-align:middle}._th{font-weight:700;text-align:center}._ul{list-style-type:disc}._ul ._ul{margin:0;list-style-type:circle}._ul ._ul ._ul{list-style-type:square}._abbr,._b,._code,._del,._em,._i,._ins,._label,._q,._span,._strong,._sub,._sup{display:inline}._blockquote,._div,._p{display:block}

File diff suppressed because one or more lines are too long

@ -0,0 +1,779 @@
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else {
var a = factory();
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
}
})(window, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 1);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {
const hex = (color) => {
let result = null
if (/^#/.test(color) && (color.length === 7 || color.length === 9)) {
return color
// eslint-disable-next-line no-cond-assign
} else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) {
return '#' + result[2].split(',').map((part, index) => {
part = part.trim()
part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10)
part = part.toString(16)
if (part.length === 1) {
part = '0' + part
}
return part
}).join('')
} else {
return '#00000000'
}
}
const splitLineToCamelCase = (str) => str.split('-').map((part, index) => {
if (index === 0) {
return part
}
return part[0].toUpperCase() + part.slice(1)
}).join('')
const compareVersion = (v1, v2) => {
v1 = v1.split('.')
v2 = v2.split('.')
const len = Math.max(v1.length, v2.length)
while (v1.length < len) {
v1.push('0')
}
while (v2.length < len) {
v2.push('0')
}
for (let i = 0; i < len; i++) {
const num1 = parseInt(v1[i], 10)
const num2 = parseInt(v2[i], 10)
if (num1 > num2) {
return 1
} else if (num1 < num2) {
return -1
}
}
return 0
}
module.exports = {
hex,
splitLineToCamelCase,
compareVersion
}
/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {
const xmlParse = __webpack_require__(2)
const {Widget} = __webpack_require__(3)
const {Draw} = __webpack_require__(5)
const {compareVersion} = __webpack_require__(0)
const canvasId = 'weui-canvas'
Component({
properties: {
width: {
type: Number,
value: 400
},
height: {
type: Number,
value: 300
}
},
data: {
use2dCanvas: false, // 2.9.2 后可用canvas 2d 接口
},
lifetimes: {
attached() {
const {SDKVersion, pixelRatio: dpr} = wx.getSystemInfoSync()
const use2dCanvas = compareVersion(SDKVersion, '2.9.2') >= 0
this.dpr = dpr
this.setData({use2dCanvas}, () => {
if (use2dCanvas) {
const query = this.createSelectorQuery()
query.select(`#${canvasId}`)
.fields({node: true, size: true})
.exec(res => {
const canvas = res[0].node
const ctx = canvas.getContext('2d')
canvas.width = res[0].width * dpr
canvas.height = res[0].height * dpr
ctx.scale(dpr, dpr)
this.ctx = ctx
this.canvas = canvas
})
} else {
this.ctx = wx.createCanvasContext(canvasId, this)
}
})
}
},
methods: {
async renderToCanvas(args) {
const {wxml, style} = args
const ctx = this.ctx
const canvas = this.canvas
const use2dCanvas = this.data.use2dCanvas
if (use2dCanvas && !canvas) {
return Promise.reject(new Error('renderToCanvas: fail canvas has not been created'))
}
ctx.clearRect(0, 0, this.data.width, this.data.height)
const {root: xom} = xmlParse(wxml)
const widget = new Widget(xom, style)
const container = widget.init()
this.boundary = {
top: container.layoutBox.top,
left: container.layoutBox.left,
width: container.computedStyle.width,
height: container.computedStyle.height,
}
const draw = new Draw(ctx, canvas, use2dCanvas)
await draw.drawNode(container)
if (!use2dCanvas) {
await this.canvasDraw(ctx)
}
return Promise.resolve(container)
},
canvasDraw(ctx, reserve) {
return new Promise(resolve => {
ctx.draw(reserve, () => {
resolve()
})
})
},
canvasToTempFilePath(args = {}) {
const use2dCanvas = this.data.use2dCanvas
return new Promise((resolve, reject) => {
const {
top, left, width, height
} = this.boundary
const copyArgs = {
x: left,
y: top,
width,
height,
destWidth: width * this.dpr,
destHeight: height * this.dpr,
canvasId,
fileType: args.fileType || 'png',
quality: args.quality || 1,
success: resolve,
fail: reject
}
if (use2dCanvas) {
delete copyArgs.canvasId
copyArgs.canvas = this.canvas
}
wx.canvasToTempFilePath(copyArgs, this)
})
}
}
})
/***/ }),
/* 2 */
/***/ (function(module, exports) {
/**
* Module dependencies.
*/
/**
* Expose `parse`.
*/
/**
* Parse the given string of `xml`.
*
* @param {String} xml
* @return {Object}
* @api public
*/
function parse(xml) {
xml = xml.trim()
// strip comments
xml = xml.replace(/<!--[\s\S]*?-->/g, '')
return document()
/**
* XML document.
*/
function document() {
return {
declaration: declaration(),
root: tag()
}
}
/**
* Declaration.
*/
function declaration() {
const m = match(/^<\?xml\s*/)
if (!m) return
// tag
const node = {
attributes: {}
}
// attributes
while (!(eos() || is('?>'))) {
const attr = attribute()
if (!attr) return node
node.attributes[attr.name] = attr.value
}
match(/\?>\s*/)
return node
}
/**
* Tag.
*/
function tag() {
const m = match(/^<([\w-:.]+)\s*/)
if (!m) return
// name
const node = {
name: m[1],
attributes: {},
children: []
}
// attributes
while (!(eos() || is('>') || is('?>') || is('/>'))) {
const attr = attribute()
if (!attr) return node
node.attributes[attr.name] = attr.value
}
// self closing tag
if (match(/^\s*\/>\s*/)) {
return node
}
match(/\??>\s*/)
// content
node.content = content()
// children
let child
while (child = tag()) {
node.children.push(child)
}
// closing
match(/^<\/[\w-:.]+>\s*/)
return node
}
/**
* Text content.
*/
function content() {
const m = match(/^([^<]*)/)
if (m) return m[1]
return ''
}
/**
* Attribute.
*/
function attribute() {
const m = match(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/)
if (!m) return
return {name: m[1], value: strip(m[2])}
}
/**
* Strip quotes from `val`.
*/
function strip(val) {
return val.replace(/^['"]|['"]$/g, '')
}
/**
* Match `re` and advance the string.
*/
function match(re) {
const m = xml.match(re)
if (!m) return
xml = xml.slice(m[0].length)
return m
}
/**
* End-of-source.
*/
function eos() {
return xml.length == 0
}
/**
* Check for `prefix`.
*/
function is(prefix) {
return xml.indexOf(prefix) == 0
}
}
module.exports = parse
/***/ }),
/* 3 */
/***/ (function(module, exports, __webpack_require__) {
const Block = __webpack_require__(4)
const {splitLineToCamelCase} = __webpack_require__(0)
class Element extends Block {
constructor(prop) {
super(prop.style)
this.name = prop.name
this.attributes = prop.attributes
}
}
class Widget {
constructor(xom, style) {
this.xom = xom
this.style = style
this.inheritProps = ['fontSize', 'lineHeight', 'textAlign', 'verticalAlign', 'color']
}
init() {
this.container = this.create(this.xom)
this.container.layout()
this.inheritStyle(this.container)
return this.container
}
// 继承父节点的样式
inheritStyle(node) {
const parent = node.parent || null
const children = node.children || {}
const computedStyle = node.computedStyle
if (parent) {
this.inheritProps.forEach(prop => {
computedStyle[prop] = computedStyle[prop] || parent.computedStyle[prop]
})
}
Object.values(children).forEach(child => {
this.inheritStyle(child)
})
}
create(node) {
let classNames = (node.attributes.class || '').split(' ')
classNames = classNames.map(item => splitLineToCamelCase(item.trim()))
const style = {}
classNames.forEach(item => {
Object.assign(style, this.style[item] || {})
})
const args = {name: node.name, style}
const attrs = Object.keys(node.attributes)
const attributes = {}
for (const attr of attrs) {
const value = node.attributes[attr]
const CamelAttr = splitLineToCamelCase(attr)
if (value === '' || value === 'true') {
attributes[CamelAttr] = true
} else if (value === 'false') {
attributes[CamelAttr] = false
} else {
attributes[CamelAttr] = value
}
}
attributes.text = node.content
args.attributes = attributes
const element = new Element(args)
node.children.forEach(childNode => {
const childElement = this.create(childNode)
element.add(childElement)
})
return element
}
}
module.exports = {Widget}
/***/ }),
/* 4 */
/***/ (function(module, exports) {
module.exports = require("widget-ui");
/***/ }),
/* 5 */
/***/ (function(module, exports) {
class Draw {
constructor(context, canvas, use2dCanvas = false) {
this.ctx = context
this.canvas = canvas || null
this.use2dCanvas = use2dCanvas
}
roundRect(x, y, w, h, r, fill = true, stroke = false) {
if (r < 0) return
const ctx = this.ctx
ctx.beginPath()
ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 3 / 2)
ctx.arc(x + w - r, y + r, r, Math.PI * 3 / 2, 0)
ctx.arc(x + w - r, y + h - r, r, 0, Math.PI / 2)
ctx.arc(x + r, y + h - r, r, Math.PI / 2, Math.PI)
ctx.lineTo(x, y + r)
if (stroke) ctx.stroke()
if (fill) ctx.fill()
}
drawView(box, style) {
const ctx = this.ctx
const {
left: x, top: y, width: w, height: h
} = box
const {
borderRadius = 0,
borderWidth = 0,
borderColor,
color = '#000',
backgroundColor = 'transparent',
} = style
ctx.save()
// 外环
if (borderWidth > 0) {
ctx.fillStyle = borderColor || color
this.roundRect(x, y, w, h, borderRadius)
}
// 内环
ctx.fillStyle = backgroundColor
const innerWidth = w - 2 * borderWidth
const innerHeight = h - 2 * borderWidth
const innerRadius = borderRadius - borderWidth >= 0 ? borderRadius - borderWidth : 0
this.roundRect(x + borderWidth, y + borderWidth, innerWidth, innerHeight, innerRadius)
ctx.restore()
}
async drawImage(img, box, style) {
await new Promise((resolve, reject) => {
const ctx = this.ctx
const canvas = this.canvas
const {
borderRadius = 0
} = style
const {
left: x, top: y, width: w, height: h
} = box
ctx.save()
this.roundRect(x, y, w, h, borderRadius, false, false)
ctx.clip()
const _drawImage = (img) => {
if (this.use2dCanvas) {
const Image = canvas.createImage()
Image.onload = () => {
ctx.drawImage(Image, x, y, w, h)
ctx.restore()
resolve()
}
Image.onerror = () => { reject(new Error(`createImage fail: ${img}`)) }
Image.src = img
} else {
ctx.drawImage(img, x, y, w, h)
ctx.restore()
resolve()
}
}
const isTempFile = /^wxfile:\/\//.test(img)
const isNetworkFile = /^https?:\/\//.test(img)
if (isTempFile) {
_drawImage(img)
} else if (isNetworkFile) {
wx.downloadFile({
url: img,
success(res) {
if (res.statusCode === 200) {
_drawImage(res.tempFilePath)
} else {
reject(new Error(`downloadFile:fail ${img}`))
}
},
fail() {
reject(new Error(`downloadFile:fail ${img}`))
}
})
} else {
reject(new Error(`image format error: ${img}`))
}
})
}
// eslint-disable-next-line complexity
drawText(text, box, style) {
const ctx = this.ctx
let {
left: x, top: y, width: w, height: h
} = box
let {
color = '#000',
lineHeight = '1.4em',
fontSize = 14,
textAlign = 'left',
verticalAlign = 'top',
backgroundColor = 'transparent'
} = style
if (typeof lineHeight === 'string') { // 2em
lineHeight = Math.ceil(parseFloat(lineHeight.replace('em')) * fontSize)
}
if (!text || (lineHeight > h)) return
ctx.save()
ctx.textBaseline = 'top'
ctx.font = `${fontSize}px sans-serif`
ctx.textAlign = textAlign
// 背景色
ctx.fillStyle = backgroundColor
this.roundRect(x, y, w, h, 0)
// 文字颜色
ctx.fillStyle = color
// 水平布局
switch (textAlign) {
case 'left':
break
case 'center':
x += 0.5 * w
break
case 'right':
x += w
break
default: break
}
const textWidth = ctx.measureText(text).width
const actualHeight = Math.ceil(textWidth / w) * lineHeight
let paddingTop = Math.ceil((h - actualHeight) / 2)
if (paddingTop < 0) paddingTop = 0
// 垂直布局
switch (verticalAlign) {
case 'top':
break
case 'middle':
y += paddingTop
break
case 'bottom':
y += 2 * paddingTop
break
default: break
}
const inlinePaddingTop = Math.ceil((lineHeight - fontSize) / 2)
// 不超过一行
if (textWidth <= w) {
ctx.fillText(text, x, y + inlinePaddingTop)
return
}
// 多行文本
const chars = text.split('')
const _y = y
// 逐行绘制
let line = ''
for (const ch of chars) {
const testLine = line + ch
const testWidth = ctx.measureText(testLine).width
if (testWidth > w) {
ctx.fillText(line, x, y + inlinePaddingTop)
y += lineHeight
line = ch
if ((y + lineHeight) > (_y + h)) break
} else {
line = testLine
}
}
// 避免溢出
if ((y + lineHeight) <= (_y + h)) {
ctx.fillText(line, x, y + inlinePaddingTop)
}
ctx.restore()
}
async drawNode(element) {
const {layoutBox, computedStyle, name} = element
const {src, text} = element.attributes
if (name === 'view') {
this.drawView(layoutBox, computedStyle)
} else if (name === 'image') {
await this.drawImage(src, layoutBox, computedStyle)
} else if (name === 'text') {
this.drawText(text, layoutBox, computedStyle)
}
const childs = Object.values(element.children)
for (const child of childs) {
await this.drawNode(child)
}
}
}
module.exports = {
Draw
}
/***/ })
/******/ ]);
});

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

@ -0,0 +1,2 @@
<canvas wx:if="{{use2dCanvas}}" id="weui-canvas" type="2d" style="width: {{width}}px; height: {{height}}px;"></canvas>
<canvas wx:else canvas-id="weui-canvas" style="width: {{width}}px; height: {{height}}px;"></canvas>

@ -0,0 +1,349 @@
module.exports = (function() {
var __MODS__ = {};
var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexports: {} }; __MODS__[modId] = { status: 0, func: func, req: req, m: m }; };
var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
__DEFINE__(1697447413102, function(require, module, exports) {
var has = Object.prototype.hasOwnProperty
, prefix = '~';
/**
* Constructor to create a storage for our `EE` objects.
* An `Events` instance is a plain object whose properties are event names.
*
* @constructor
* @private
*/
function Events() {}
//
// We try to not inherit from `Object.prototype`. In some engines creating an
// instance in this way is faster than calling `Object.create(null)` directly.
// If `Object.create(null)` is not supported we prefix the event names with a
// character to make sure that the built-in object properties are not
// overridden or used as an attack vector.
//
if (Object.create) {
Events.prototype = Object.create(null);
//
// This hack is needed because the `__proto__` property is still inherited in
// some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.
//
if (!new Events().__proto__) prefix = false;
}
/**
* Representation of a single event listener.
*
* @param {Function} fn The listener function.
* @param {*} context The context to invoke the listener with.
* @param {Boolean} [once=false] Specify if the listener is a one-time listener.
* @constructor
* @private
*/
function EE(fn, context, once) {
this.fn = fn;
this.context = context;
this.once = once || false;
}
/**
* Add a listener for a given event.
*
* @param {EventEmitter} emitter Reference to the `EventEmitter` instance.
* @param {(String|Symbol)} event The event name.
* @param {Function} fn The listener function.
* @param {*} context The context to invoke the listener with.
* @param {Boolean} once Specify if the listener is a one-time listener.
* @returns {EventEmitter}
* @private
*/
function addListener(emitter, event, fn, context, once) {
if (typeof fn !== 'function') {
throw new TypeError('The listener must be a function');
}
var listener = new EE(fn, context || emitter, once)
, evt = prefix ? prefix + event : event;
if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;
else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);
else emitter._events[evt] = [emitter._events[evt], listener];
return emitter;
}
/**
* Clear event by name.
*
* @param {EventEmitter} emitter Reference to the `EventEmitter` instance.
* @param {(String|Symbol)} evt The Event name.
* @private
*/
function clearEvent(emitter, evt) {
if (--emitter._eventsCount === 0) emitter._events = new Events();
else delete emitter._events[evt];
}
/**
* Minimal `EventEmitter` interface that is molded against the Node.js
* `EventEmitter` interface.
*
* @constructor
* @public
*/
function EventEmitter() {
this._events = new Events();
this._eventsCount = 0;
}
/**
* Return an array listing the events for which the emitter has registered
* listeners.
*
* @returns {Array}
* @public
*/
EventEmitter.prototype.eventNames = function eventNames() {
var names = []
, events
, name;
if (this._eventsCount === 0) return names;
for (name in (events = this._events)) {
if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
}
if (Object.getOwnPropertySymbols) {
return names.concat(Object.getOwnPropertySymbols(events));
}
return names;
};
/**
* Return the listeners registered for a given event.
*
* @param {(String|Symbol)} event The event name.
* @returns {Array} The registered listeners.
* @public
*/
EventEmitter.prototype.listeners = function listeners(event) {
var evt = prefix ? prefix + event : event
, handlers = this._events[evt];
if (!handlers) return [];
if (handlers.fn) return [handlers.fn];
for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {
ee[i] = handlers[i].fn;
}
return ee;
};
/**
* Return the number of listeners listening to a given event.
*
* @param {(String|Symbol)} event The event name.
* @returns {Number} The number of listeners.
* @public
*/
EventEmitter.prototype.listenerCount = function listenerCount(event) {
var evt = prefix ? prefix + event : event
, listeners = this._events[evt];
if (!listeners) return 0;
if (listeners.fn) return 1;
return listeners.length;
};
/**
* Calls each of the listeners registered for a given event.
*
* @param {(String|Symbol)} event The event name.
* @returns {Boolean} `true` if the event had listeners, else `false`.
* @public
*/
EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
var evt = prefix ? prefix + event : event;
if (!this._events[evt]) return false;
var listeners = this._events[evt]
, len = arguments.length
, args
, i;
if (listeners.fn) {
if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);
switch (len) {
case 1: return listeners.fn.call(listeners.context), true;
case 2: return listeners.fn.call(listeners.context, a1), true;
case 3: return listeners.fn.call(listeners.context, a1, a2), true;
case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;
case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
}
for (i = 1, args = new Array(len -1); i < len; i++) {
args[i - 1] = arguments[i];
}
listeners.fn.apply(listeners.context, args);
} else {
var length = listeners.length
, j;
for (i = 0; i < length; i++) {
if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);
switch (len) {
case 1: listeners[i].fn.call(listeners[i].context); break;
case 2: listeners[i].fn.call(listeners[i].context, a1); break;
case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;
case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;
default:
if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {
args[j - 1] = arguments[j];
}
listeners[i].fn.apply(listeners[i].context, args);
}
}
}
return true;
};
/**
* Add a listener for a given event.
*
* @param {(String|Symbol)} event The event name.
* @param {Function} fn The listener function.
* @param {*} [context=this] The context to invoke the listener with.
* @returns {EventEmitter} `this`.
* @public
*/
EventEmitter.prototype.on = function on(event, fn, context) {
return addListener(this, event, fn, context, false);
};
/**
* Add a one-time listener for a given event.
*
* @param {(String|Symbol)} event The event name.
* @param {Function} fn The listener function.
* @param {*} [context=this] The context to invoke the listener with.
* @returns {EventEmitter} `this`.
* @public
*/
EventEmitter.prototype.once = function once(event, fn, context) {
return addListener(this, event, fn, context, true);
};
/**
* Remove the listeners of a given event.
*
* @param {(String|Symbol)} event The event name.
* @param {Function} fn Only remove the listeners that match this function.
* @param {*} context Only remove the listeners that have this context.
* @param {Boolean} once Only remove one-time listeners.
* @returns {EventEmitter} `this`.
* @public
*/
EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
var evt = prefix ? prefix + event : event;
if (!this._events[evt]) return this;
if (!fn) {
clearEvent(this, evt);
return this;
}
var listeners = this._events[evt];
if (listeners.fn) {
if (
listeners.fn === fn &&
(!once || listeners.once) &&
(!context || listeners.context === context)
) {
clearEvent(this, evt);
}
} else {
for (var i = 0, events = [], length = listeners.length; i < length; i++) {
if (
listeners[i].fn !== fn ||
(once && !listeners[i].once) ||
(context && listeners[i].context !== context)
) {
events.push(listeners[i]);
}
}
//
// Reset the array, or remove it completely if we have no more listeners.
//
if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;
else clearEvent(this, evt);
}
return this;
};
/**
* Remove all listeners, or those of the specified event.
*
* @param {(String|Symbol)} [event] The event name.
* @returns {EventEmitter} `this`.
* @public
*/
EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
var evt;
if (event) {
evt = prefix ? prefix + event : event;
if (this._events[evt]) clearEvent(this, evt);
} else {
this._events = new Events();
this._eventsCount = 0;
}
return this;
};
//
// Alias methods names because people roll like that.
//
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
EventEmitter.prototype.addListener = EventEmitter.prototype.on;
//
// Expose the prefix.
//
EventEmitter.prefixed = prefix;
//
// Allow `EventEmitter` to be imported as module namespace.
//
EventEmitter.EventEmitter = EventEmitter;
//
// Expose the module.
//
if ('undefined' !== typeof module) {
module.exports = EventEmitter;
}
}, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
return __REQUIRE__(1697447413102);
})()
//miniprogram-npm-outsideDeps=[]
//# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,57 @@
const hex = (color) => {
let result = null
if (/^#/.test(color) && (color.length === 7 || color.length === 9)) {
return color
// eslint-disable-next-line no-cond-assign
} else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) {
return '#' + result[2].split(',').map((part, index) => {
part = part.trim()
part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10)
part = part.toString(16)
if (part.length === 1) {
part = '0' + part
}
return part
}).join('')
} else {
return '#00000000'
}
}
const splitLineToCamelCase = (str) => str.split('-').map((part, index) => {
if (index === 0) {
return part
}
return part[0].toUpperCase() + part.slice(1)
}).join('')
const compareVersion = (v1, v2) => {
v1 = v1.split('.')
v2 = v2.split('.')
const len = Math.max(v1.length, v2.length)
while (v1.length < len) {
v1.push('0')
}
while (v2.length < len) {
v2.push('0')
}
for (let i = 0; i < len; i++) {
const num1 = parseInt(v1[i], 10)
const num2 = parseInt(v2[i], 10)
if (num1 > num2) {
return 1
} else if (num1 < num2) {
return -1
}
}
return 0
}
module.exports = {
hex,
splitLineToCamelCase,
compareVersion
}

47
node_modules/.package-lock.json generated vendored

@ -0,0 +1,47 @@
{
"name": "yimini",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"node_modules/@miniprogram-component-plus/sticky": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/@miniprogram-component-plus/sticky/-/sticky-1.0.1.tgz",
"integrity": "sha512-HYZ/PCm8KjUSQYwMLG61bhHBKU8s9aDx5Tl2BvruAku8bvEbyd8A3Povpb9V6lPPvsD/oXp2R7/GmgsCgDuI4g=="
},
"node_modules/@miniprogram-component-plus/tabs": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@miniprogram-component-plus/tabs/-/tabs-1.0.0.tgz",
"integrity": "sha512-oV9dFpIoYAz0IbDECS9toS1GHivWoAd1cchxeZKCBV3PoPCEipHOeXQS3K2USr7EY8LDyfg3f0tDAacPfagYjg=="
},
"node_modules/moment": {
"version": "2.29.4",
"resolved": "https://registry.npmmirror.com/moment/-/moment-2.29.4.tgz",
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
"engines": {
"node": "*"
}
},
"node_modules/wxml-to-canvas": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/wxml-to-canvas/-/wxml-to-canvas-1.1.1.tgz",
"integrity": "sha512-3mDjHzujY/UgdCOXij/MnmwJYerVjwkyQHMBFBE8zh89DK7h7UTzoydWFqEBjIC0rfZM+AXl5kDh9hUcsNpSmg==",
"dependencies": {
"widget-ui": "^1.0.2"
}
},
"node_modules/wxml-to-canvas/node_modules/eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
},
"node_modules/wxml-to-canvas/node_modules/widget-ui": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/widget-ui/-/widget-ui-1.0.2.tgz",
"integrity": "sha512-gDXosr5mflJdMA1weU1A47aTsTFfMJhfA4EKgO5XFebY3eVklf80KD4GODfrjo8J2WQ+9YjL1Rd9UUmKIzhShw==",
"dependencies": {
"eventemitter3": "^4.0.0"
}
}
}
}

@ -0,0 +1,148 @@
module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 5);
/******/ })
/************************************************************************/
/******/ ({
/***/ 5:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Component({
options: {
addGlobalClass: true,
pureDataPattern: /^_/,
multipleSlots: true
},
properties: {
tabs: { type: Array, value: [] },
tabClass: { type: String, value: '' },
swiperClass: { type: String, value: '' },
activeClass: { type: String, value: '' },
tabUnderlineColor: { type: String, value: '#07c160' },
tabActiveTextColor: { type: String, value: '#000000' },
tabInactiveTextColor: { type: String, value: '#000000' },
tabBackgroundColor: { type: String, value: '#ffffff' },
activeTab: { type: Number, value: 0 },
swipeable: { type: Boolean, value: true },
animation: { type: Boolean, value: true },
duration: { type: Number, value: 500 }
},
data: {
currentView: 0
},
observers: {
activeTab: function activeTab(_activeTab) {
var len = this.data.tabs.length;
if (len === 0) return;
var currentView = _activeTab - 1;
if (currentView < 0) currentView = 0;
if (currentView > len - 1) currentView = len - 1;
this.setData({ currentView: currentView });
}
},
lifetimes: {
created: function created() {}
},
methods: {
handleTabClick: function handleTabClick(e) {
var index = e.currentTarget.dataset.index;
this.setData({ activeTab: index });
this.triggerEvent('tabclick', { index: index });
},
handleSwiperChange: function handleSwiperChange(e) {
var index = e.detail.current;
this.setData({ activeTab: index });
this.triggerEvent('change', { index: index });
}
}
});
/***/ })
/******/ });

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

@ -0,0 +1,20 @@
<view class="weui-tabs">
<view class="weui-tabs-bar__wrp">
<scroll-view scroll-x scroll-into-view="item_{{currentView}}" scroll-with-animation="{{animation}}">
<view class="weui-tabs-bar__content">
<block wx:for="{{tabs}}" wx:key="title">
<view id="item_{{index}}" class="weui-tabs-bar__item" style="background-color: {{tabBackgroundColor}}; color: {{activeTab === index ? tabActiveTextColor : tabInactiveTextColor}};" bindtap="handleTabClick" data-index="{{index}}">
<view class="weui-tabs-bar__title {{tabClass}} {{activeTab === index ? activeClass : ''}}" style="border-bottom-color: {{activeTab === index ? tabUnderlineColor : 'transparent'}}">
<text class="">{{item.title}}</text>
</view>
</view>
</block>
</view>
</scroll-view>
</view>
<swiper class="{{swiperClass}}" current="{{activeTab}}" duration="{{duration}}" bindchange="handleSwiperChange">
<swiper-item wx:for="{{tabs}}" wx:key="title">
<slot name="tab-content-{{index}}"></slot>
</swiper-item>
</swiper>
</view>

@ -0,0 +1 @@
.weui-tabs{width:100%}.weui-tabs-bar__wrp{width:100%;background:#fff}.weui-tabs-bar__content{width:100%;white-space:nowrap}.weui-tabs-bar__item{display:inline-block}.weui-tabs-bar__title{display:inline-block;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:transparent}

@ -0,0 +1,15 @@
{
"name": "@miniprogram-component-plus/tabs",
"version": "1.0.0",
"description": "",
"main": "miniprogram_dist/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"tabs",
"miniprogram"
],
"author": "sanfordsun",
"license": "ISC"
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save