Welcome to MAIFANG — curated source code


Specifications

分类 script
标签 justjobs, PHP招聘, PHP轻招聘
作者 reishi
采集源 topide.com

About this source

脚本代码 分享 打印版本 举报 JustJobs v2.0 - 远程职位列表 SaaS 平台 reishi 2025-03-30 64 0 50 源码简介JustJobs—— 远程职位列表软件即服务(SaaS)平台是一个功能齐全的 PHP 平台,可让您迅速创建起自己的基于订阅模式的职位列表网站。该平台带来的体验由以移动端优先、简洁且易用的设计驱动,具备深色和浅色主题、从右至左的排版模式、本地化功能等。它允许您的用户基于月度订阅、免费或试用计划来发布职位列表。在线演示https://justjobs.qdev.tech/https://justjobs.qdev.tech/admin功能特点高级职位发布与列表功能分步式表单草稿功能(避免进度丢失)职位详情字段(工作地点、职位类型、职位类别、所需技能、薪资、申请链接、职位描述)公司详情字段(公司总部所在地、公司标志、公司网址、公司邮箱、公司描述)基于人工智能的发布描述建议(适用于职位和公司描述)发布职位时的列表预览功能付费(定期订阅)、免费和试用计划职位分享链接模块公司详情页面搜索页面浏览页面支持多种存储驱动本地托管文件亚马逊云服务(AWS)S3 存储的文件(支持内容分发网络(CDN)和预签名 URL)Wasabi 存储的文件数字海洋(DigitalOcean)空间存储的文件Minio 存储PushrCDN 存储多种邮件发送驱动(Mailgun/SMTP)可强制验证发布者身份每笔交易都有可打印的发票用户设置个人资料设置(用户名、姓名、个人简介、出生日期、所在地、个人网站)账户设置(重置密码)支付设置(查看交易数据和发票)隐私设置身份验证设置流畅的、以移动端优先的设计(包含渐进式网页应用(PWA))浅色和深色主题可通过自定义主题生成器轻松进行品牌重塑支持从右至左(RTL)和从左至右(LTR)排版,且易于翻译高级管理面板(超过 100 种不同的设置选项)采用强大的搜索引擎优化(SEO)策略(网站地图、schema.org标记、社交媒体元标签)符合通用数据保护条例(GDPR),有 Cookie 政策横幅和成人内容同意对话框独特的手绘矢量插画支持社交账号登录(脸书、推特和谷歌)基于电子邮件的双因素身份验证登录注册时进行电子邮件可送达性检查公共表单集成 reCAPTCHA 验证码博客系统还有更多特性……系统需求网络服务器可选用 Apache(需启用 mod_rewrite 模块)、Nginx 或者 LiteSpeed。数据库需使用 MySQL 5.7.7 及以上版本,或者 MariaDB 10.3.17 及以上版本(搭配 PHP - PDO/mysqlnd 驱动)。PHP 版本PHP 版本需达到 8.0.2 或更高。PHP 扩展需要安装以下扩展:BCMath、Ctype、Fileinfo、JSON、Mbstring、OpenSSL、PDO、Tokenizer、XML、cURL、exif、GD。更新日志https://changelogs.qdev.tech/products/jobs 点击官网查看下载地址&安装方法 .dlepay-box{border:1px solid rgba(128,128,128,.28);border-radius:14px;padding:18px 20px;margin:18px 0;background:rgba(128,128,128,.06);box-shadow:0 6px 20px rgba(15,23,42,.05);font-size:14px;line-height:1.7;color:inherit} .dlepay-box.dlepay-free,.dlepay-box.dlepay-paid{border:1px solid rgba(34,197,94,.5);background:rgba(34,197,94,.09);box-shadow:none} .dlepay-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap} .dlepay-badge{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:rgba(15,118,110,.92);color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap} .dlepay-free .dlepay-badge,.dlepay-paid .dlepay-badge{background:rgba(22,163,74,.92)} .dlepay-head__text{flex:1;min-width:200px;font-size:14px;line-height:1.7;color:inherit} .dlepay-head__text b{color:#ef4444;font-size:16px} .dlepay-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px} .dlepay-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 18px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease;font-family:inherit} .dlepay-btn:active{transform:translateY(1px)} .dlepay-btn-primary{background:#1677ff;color:#fff;box-shadow:0 8px 18px rgba(22,119,255,.22)} .dlepay-btn-primary:hover{background:#0f62d9;color:#fff} .dlepay-btn-ghost{background:transparent;color:inherit;border-color:rgba(128,128,128,.42)} .dlepay-btn-ghost:hover{background:rgba(128,128,128,.14)} .dlepay-sub{margin-top:8px;font-size:12px;color:inherit;opacity:.62} .dlepay-note{margin-bottom:10px;font-size:13px;font-weight:700;color:#16a34a} .dlepay-content{margin-top:12px;padding:14px 16px;border:1px dashed rgba(128,128,128,.42);border-radius:10px;background:transparent} .dlepay-modal{position:fixed;left:0;top:0;right:0;bottom:0;z-index:99999;display:none;color:inherit} .dlepay-modal.is-open{display:block} .dlepay-modal__mask{position:absolute;left:0;top:0;right:0;bottom:0;background:rgba(15,23,42,.55)} .dlepay-modal__dialog{position:relative;width:min(92vw,360px);margin:10vh auto 0;background:#fff;color:#0f172a;border-radius:16px;padding:22px 22px 18px;box-shadow:0 24px 60px rgba(15,23,42,.35);text-align:center} .dlepay-modal__title{font-size:16px;font-weight:800;color:#0f172a;margin-bottom:14px} .dlepay-modal__close{position:absolute;top:8px;right:12px;border:0;background:transparent;font-size:22px;line-height:1;color:#94a3b8;cursor:pointer} .dlepay-modal__close:hover{color:#0f172a} .dlepay-loading{font-size:13px;color:#94a3b8;padding:30px 0} .dlepay-qr{display:none;width:220px;height:220px;margin:0 auto;border-radius:10px;border:1px solid rgba(128,128,128,.3);background:#fff} .dlepay-status{margin-top:12px;font-size:13px;line-height:1.7;color:#334155;min-height:20px} .dlepay-status b{color:#ef4444;font-size:15px} .dlepay-ok{color:#16a34a;font-weight:700} .dlepay-err{color:#ef4444;font-weight:700} [data-theme="dark"] .dlepay-box{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.14);box-shadow:none} [data-theme="dark"] .dlepay-box.dlepay-free,[data-theme="dark"] .dlepay-box.dlepay-paid{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.45)} [data-theme="dark"] .dlepay-head__text b,[data-theme="dark"] .dlepay-status b,[data-theme="dark"] .dlepay-err{color:#f87171} [data-theme="dark"] .dlepay-ok{color:#4ade80} [data-theme="dark"] .dlepay-btn-primary{background:#2f81f7;box-shadow:none} [data-theme="dark"] .dlepay-modal__dialog{background:#1e2228;color:#e6e6e6;box-shadow:0 24px 60px rgba(0,0,0,.65)} [data-theme="dark"] .dlepay-modal__title{color:#f1f5f9} [data-theme="dark"] .dlepay-modal__close{color:#9aa4b2} [data-theme="dark"] .dlepay-modal__close:hover{color:#fff} [data-theme="dark"] .dlepay-loading{color:#9aa4b2} [data-theme="dark"] .dlepay-status{color:#cbd5e1} @media (max-width:480px){.dlepay-box{padding:14px}.dlepay-btn{width:100%}} × 扫码支付 正在加载… (function(){ if (window.dlePayReady) { return; } window.dlePayReady = true; var CFG = {"url":"https:\/\/topide.com\/index.php?do=pay","qr":"https:\/\/topide.com\/index.php?do=alipaypay&action=qr&data=","token":"4454a01b5583578770b54619f3c0e66f0b645761","currency":"积分"}; function el(id) { return document.getElementById(id); } window.dlePayOpen = function(){ var m = el('dlepay-modal'); if (m) { m.className = 'dlepay-modal is-open'; m.setAttribute('aria-hidden','false'); } }; window.dlePayClose = function(){ var m = el('dlepay-modal'); if (m) { m.className = 'dlepay-modal'; m.setAttribute('aria-hidden','true'); } }; window.dlePayStatus = function(html, cls){ var s = el('dlepay-status'); if (!s) { return; } s.className = 'dlepay-status' + (cls ? ' ' + cls : ''); s.innerHTML = html; }; window.dlePayLoading = function(on){ var l = el('dlepay-loading'); var q = el('dlepay-qr'); if (l) { l.style.display = on ? 'block' : 'none'; } if (on && q) { q.style.display = 'none'; } }; function post(action, data, callback){ var fd = new FormData(); fd.append('action', action); fd.append('token', CFG.token || ''); for (var k in data) { if (Object.prototype.hasOwnProperty.call(data, k)) { fd.append(k, data[k]); } } fetch(CFG.url, { method: 'POST', body: fd, credentials: 'same-origin', headers: { 'X-Requested-With': 'XMLHttpRequest' } }).then(function(r){ return r.json(); }).then(function(d){ callback(d || { status: 'error', message: '返回数据异常' }); }).catch(function(){ callback({ status: 'error', message: '网络错误,请稍后重试' }); }); } window.dlePayScan = function(tagId, newsId){ window.dlePayOpen(); window.dlePayLoading(true); window.dlePayStatus('正在生成支付二维码…'); post('create', { tag_id: tagId, news_id: newsId }, function(d){ window.dlePayLoading(false); if (d.status === 'success') { if (d.free || d.paid) { window.dlePayStatus('已解锁,正在刷新…'); setTimeout(function(){ location.reload(); }, 500); return; } var q = el('dlepay-qr'); if (q) { q.src = CFG.qr + encodeURIComponent(d.qr_code); q.style.display = 'block'; } window.dlePayStatus('请使用支付宝扫码支付 ' + d.amount + ' 元(' + d.price + ' ' + (CFG.currency || '') + ')'); window.dlePayPoll(d.out_trade_no); } else { window.dlePayStatus('' + (d.message || '下单失败') + ''); } }); }; window.dlePayPoll = function(outTradeNo){ var tries = 0; function tick(){ tries ++; if (tries > 200) { window.dlePayStatus('二维码已过期,请关闭后重新下单'); return; } post('query', { out_trade_no: outTradeNo }, function(d){ if (d.status === 'paid') { window.dlePayStatus('支付成功,正在刷新…'); setTimeout(function(){ location.reload(); }, 600); return; } if (d.status === 'closed') { window.dlePayStatus('订单已关闭,请重新下单'); return; } setTimeout(tick, 3000); }); } setTimeout(tick, 2500); }; window.dlePayBalance = function(tagId, newsId){ if (!window.confirm('确认使用余额支付?')) { return; } window.dlePayOpen(); window.dlePayStatus('正在处理…'); post('balance', { tag_id: tagId, news_id: newsId }, function(d){ if (d.status === 'success') { window.dlePayStatus('支付成功,正在刷新…'); setTimeout(function(){ location.reload(); }, 500); } else { window.dlePayStatus('' + (d.message || '支付失败') + ''); } }); }; })(); 付费内容此部分内容需要支付 10 积分 后查看,请先登录。 标签 justjobsPHP招聘PHP轻招聘

Information is compiled from public listings; confirm the final price and support with our service desk.

Request a quote

Leave your contact and we will get back to you shortly. No spam.

Leave your contact and we will get back to you shortly. No spam.

Related sources

View all→
← Back to list