2024年小程序做本地门户 篇1
不建议做!大部分市场都是给公交、的士、班车、滴滴等客运占有。向我们这边也有这种线下的拼车服务,不过他们只能做正常客运停运的这段时间,他们有自己的内部群,有呼叫排班接客源的,说白了就是只能跑跑夜班,价格也高!
2024年小程序做本地门户 篇2
序:北漂做了几年的程序猿,英语水平极差,所以在程序上没有太高的造诣,但是还是想把自己所能做的的记录下来。
下边来完成一个微信小程序的车辆违章查询,在最后我会放上源码链接,所以内容上就不对代码做太多解释,只说下思想。
1:数据来源,车辆违章查询的数据来源想到的就是三方接口,那么我选择的是以前做公众号开发时候时候的聚合数据(API数据接口_开发者数据定制),注册申请。
进入全国车辆违章查询可以看到三个接口:1:获取支持城市参数接口 2:请求违章查询接口3:接口剩余次数请求。有了这三个接口就可以实现一个简单的车辆违章查询了。
2:微信小程序,有了数据的来源就等于有了灵魂,之后就是怎样利用数据源来实现了,首先就是小程序的学习。安装以及创建项目。查看文档(https://mp.weixin.qq.com/debug/wxadoc/dev/?t=1476197488080)
个人建议先把文档看一遍,这一遍并不是要记住文档,而是要在脑子里对小程序有一个初步的印象,更重要的是建立一个索引目录,之后开发的时候能够根据目录索引到具体位置。
一遍文档看下来,首先想到的是需要哪些知识才能开发
懂一点html,css,js,每个页面包括一个js,ixml,wuss
之前有对react native (react native)了解点,发现在页面与数据交互上有很多的相似,建议有兴趣的可以看了解一下,有助于理解。
API方面因为之前做过公众号开发,所以看了一下应该是wxjs的接口开放。
安装创建工程根据文档来就好了,因为没有内测号就只能创建一个无appid的项目
下载IDE创建项目:MyCar
ui方面需要三个:主页,添加查询车辆信息页,查询页
在app.json中加入三个页面
"pages": [
"pages/home/home",
"pages/addcar/addcar",
"pages/query/query"
]
主页需要展示添加查询车辆列表以及添加车辆
点击添加车辆需转到添加页面
在wxml中添加按钮的组建对应的js中实现对页面的跳转
home.wxml:
<view wx:if="{{surplus >= 0}}">
<button type="default" bindtap="bindtapAdd" hover-class="other-button-hover"> 添加车辆 </button>
</view>
home.js:
bindtapAdd:function(){
wx.navigateTo({
url: '../addcar/addcar'
})
},
在添加页面要做的是将车辆信息缓存的微信的本地,那么就需要使用聚合的接口来获取支持的城市供用户选择,获取聚合的数据后需要做一个二级联动,由于还没有太多时间来研究wxcss所以页面做的比较粗糙。
当用户填好数据后存储到数据缓存,这里涉及到两个知识点一个是请求url一个是数据缓存
请求可查询城市数据
requestCitys:function(){
var page = this;
wx.request({
url: 'http://localhost:3000/wz/citys',
header: {
'Content-Type': 'application/json'
},
success:function(res){
var res = res.data;
page.analysisRes(res);
},
fail:function(res){
page.setData({
toastInfo:util.toErrMsg(0),
toastHidden:false
})
console.log(res);
}
})
}
保存用户数据并且退回到主界面
wx.setStorageSync('cars',cars);
wx.navigateBack();
用户在主界面需要将缓存的数据用列表形式展示并且点击列表后需要使用查询车辆违章接口进行查询
home.js
//加载列表数据
reloadData:function(){
var value = wx.getStorageSync('cars')
if (value) {
var cars = [];
var i = 0;
for(var key in value) {
cars[i]= value[key];
i++;
}
this.setData({
cars:cars
})
}
},
//跳转到查询页面
onclikItem:function(e){
var id = e.target.id;
var carname = this.data.cars[id].name
wx.navigateTo({
url: '../query/query?carname='+carname
})
},
home.wxml:
<scroll-view scroll-x="true">
<viewwx:for="{{cars}}" wx:for-index="idx" wx:for-item="car">
<view id="{{idx}}" bindtap="onclikItem">
<text id="{{idx}}">
{{car.name}}
</text>
<text id="{{idx}}">
{{car.showhphm}}
</text>
</view>
</view>
在查询页面需要调用查询接口
requestQuery:function(car){
var hphm = encodeURI(car.city.abbr+car.hphm)
var page = this;
wx.request({
url: 'http://localhost:3000/wz/query',
method:'POST',
data:{
key:page.data.AppKey,
city:car.city_code,
hphm:hphm,
hpzl:car.hpzl,
engineno:car.engineno,
classno:car.classno
},
header: {
// 'Content-Type': 'application/json'
},
success: function(res) {
var res = res.data;
if(res.resultcode == 200){
console.log(res.result.lists);
page.setData({
lists:res.result.lists
})
}else{
page.setData({
toastInfo:res.reason,
toastHidden:false
})
console.log(res);
}
},
fail:function(res){
page.setData({
toastInfo:util.toErrMsg(0),
toastHidden:false
})
console.log(res);
}
})
}
这样小程序的基本功能就算完成了,这里要说下的是小程序测数据与页面刷新很类似react native ,Page中的data数据改变,wxml中使用数据的的组件就会自动刷新,这个跟以往我做android ios 的略有区别,适应下就好了。
下面说下中转路由,这次选用的是node的express作为web服务器 数据库用嘛mongodb,这个是才接触的所以使用的也比较初级。
Node.js
Express - 基于 Node.js 平台的 web 应用开发框架
建议安装Homebrew这样会比较方便
Homebrew
Homebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
译注:在Max OS X 10.11(El Capitan)版本中,homebrew在安装软件时可能会碰到/usr/local目录不可写的权限问题。可以使用下面的命令修复:
sudo chown -R `whoami` /usr/localbrew install node
$ npm install express --save
创建web服务器MyCarServer,编辑器个人习惯用Sublime Text: The text editor you'll fall in love with
这里需要再下载两个扩展包用来实现post以及mongodb的连接
GitHub - expressjs/body-parser: Node.js body parsing middleware
$ npm install body-parser
GitHub - Automattic/mongoose: MongoDB object modeling designed to work in an asynchronous environment.
$ npm install mongoose
安装mongoldb这个我是看的视频,大家页可以自行百度
http://www.jikexueyuan.com/course/1976_1.html?ss=1
项目中创建models.js来驱动数据库
var config = require('./config.json');
// var uri = 'mongodb://username:password@hostname:post/databasename';
var host = config.host;
var port = config.port;
var dbName = config.dbname;
var uri = 'mongodb://' + host + ':' + port + '/' + dbName
var mongoose = require('mongoose')
console.log('uri:', uri)
mongoose.connect(uri);
var CarStatusScheme = new mongoose.Schema({
cachetime: Number,
resdata: String
})
var CarCitysScheme = new mongoose.Schema({
cachetime: Number,
resdata: String
})
var CarQueryScheme = new mongoose.Schema({
cachetime: Number,
resdata: String,
hphm: String
})
mongoose.model('CarStatus', CarStatusScheme);
mongoose.model('CarCitys', CarCitysScheme);
mongoose.model('CarQuery', CarQueryScheme);
在app.js中
var mongoose = require('mongoose');
require('./models.js');
在创建config.json用来做一些常规配置
{
"dbname": "mycar",
"port": "27017",
"host": "localhost",
"statuscache": 1000,
"cityscache": 1000,
"querycache": 1000,
"debug": true
}
在app.js中使用配置
var config = require('./config.json')
var debug = config.debug
get请求
//接口剩余请求次数查询
// 请求示例:http://v.juhe.cn/wz/status?key=xxxxxxx
// 请求参数说明:
// 名称 类型 必填 说明
// key string 是 应用APPKEY(应用详细页查询)
// dtype string 否 返回数据的格式,xml或json,默认json
// 返回参数说明:
// 名称 类型 说明
// error_code int 返回码
// reason string 返回说明
// data - 返回结果集
// surplus string 剩余次数
app.get('/wz/status', function(req, res) {
if (debug) {
http://console.info('http get /wz/status')
}
CarStatus.find({}, function(err, docs) {
if (err) {
console.error("CarStatus.find err:", err)
} else {
if (docs.length > 0) {
var carStatus = docs[0];
var curtime = Date.now();
var cachetime = carStatus.cachetime;
if (curtime - cachetime < statuscachetime * 1000) {
var resData = carStatus.resdata;
res.json(JSON.parse(resData))
} else {
requestJHStatus(res);
}
} else {
requestJHStatus(res);
}
}
});
});
post 请求
// 接口地址:http://v.juhe.cn/wz/query
// 支持格式:json/xml/jsonp
// 请求方式:post get
// 请求示例:http://v.juhe.cn/wz/query?city=SH&hphm=苏L50A11&engineno=123456&key=key
// 接口备注:因交管局线路迁移,即日起至四月底安徽,山东,杭州等省市偶尔出现临时维护,请关注
// 调用样例及调试工具:API测试工具
// 请求参数说明:
// 名称 类型 必填 说明
// dtype string 是 返回数据格式:json或xml或jsonp,默认json
// callback String 否 返回格式选择jsonp时,必须传递
// key string 是 你申请的key
// city String 是 城市代码 *
// hphm String 是 号牌号码 完整7位 ,需要utf8 urlencode*
// hpzl String 是 号牌类型,默认02,暂只支持小型车
// engineno String 否 发动机号 (根据城市接口中的参数填写)
// classno String 否 车架号 (根据城市接口中的参数填写)
// 返回参数说明:
// 名称 类型 说明
// province String 查询省份代码
// city String 查询城市代码
// hphm String 查询的号牌号码
// lists Array 违章列表
// date String 违章时间
// area String 违章地点
// act String 违章行为
// code String 违章代码(仅供参考,不一定有值)
// fen String 违章扣分(仅供参考,不一定有值)
// money String 违章罚款(仅供参考,不一定有值)
// handled String 是否处理,1处理 0未处理 空未知
app.post('/wz/query', function(req, res) {
if (debug) {
http://console.info('http post /wz/query')
}
console.log(req.headers['content-type'])
http://console.info('/wz/query req.body:', req.body)
// http://console.info('/wz/query req.data:', req)
var carquery = new CarQuery({
hphm: req.body.hphm,
cachetime: Date.now()
})
http://console.info('/wz/query hphm:', carquery.hphm)
CarQuery.find({
'hphm': carquery.hphm
}, function(err, docs) {
if (err) {
console.error("CarQuery.find err:", err)
} else {
if (docs.length > 0) {
var carQuery = docs[0];
var curtime = Date.now();
var cachetime = carQuery.cachetime;
if (curtime - cachetime < querycache * 1000) {
var resData = carQuery.resdata;
res.json(JSON.parse(resData))
} else {
requestJHQuery(req.body, res);
}
} else {
requestJHQuery(req.body, res);
}
}
});
});
post请求需要引入body-parse
var bodyParser = require('body-parser');
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({
extended: false
}))
// parse application/json
app.use(bodyParser.json())
这里还有一个未解决的就是小程序中请求中如果设置
header: {
// 'Content-Type': 'application/json'
},
在web服务器中是接收不到body数据的,所以暂时的解决方式是注释 // 'Content-Type': 'application/json'
这样就算完成了基础功能
哎!不会文章表达还是微信(xiongandaqu)沟通吧
2024年小程序做本地门户 篇3
在目前餐饮行业内微信小程序点餐是最热门的头条,小程序微信点餐取代了传统行业的点单方式,同时解决了传统行业人流动少,粘性差的问题.
小程序给餐厅带来了那些好处呢?
一:引流客户
客户可以通过微信附近的小程序找到餐厅,店家可以设置领取会员,领取优惠券,积分,引流关注到自己的店铺,成为自己店铺的粉丝,让客户再次想要到店消费.
并且目前附近的消费者大部分主要都是上班族,对新事物接受程度高,对微信小程序也有所了解,喜欢采用微信点餐这种方式,很多人还主动转发给自己的同事们,给他们参考自己点了那家店,那些菜品。把其他的消费者也同事吸引过来.
二.商家营销
传统模式:只能靠发传单,口口相传口碑,发送纸质优惠劵的方式来做营销,像这种方式一个成本比较高,在一个效率比较低.
目前微信点餐小程序:1. 基于微信8亿活跃用户号搭上小程序的大浪潮,一键分享,为餐厅拓展客源,大幅扩大曝光率。消费者可以直接在我们的小程序上获得优惠券,或者激活成为会员,直接在微信上就可以用自己的优惠券.包括可分享转发给自己的朋友.可通过会员数据, 深入了解到客户的需求,增强用户黏性,降低流失率
减少成本
像传统行业:
1.人员成本高,流动性大,招工难、服务效率低
2.结账慢,顾客买单,现金支付,刷卡支付体验差
3.印刷成本高,新菜上新,菜单,点餐单,菜品更新,也是需要大量的成本
使用小程序后:
1.服务员效率可以提升40%,包括可以节约服务员成本
2.商家可以节约菜单制作和更换的材料成本
四.方便快捷
目前消费者用微信小程序通过线下二维码入口、附近的店、微信分享等入口很好的的解决了餐饮业关注的流量问题。以往和客户交互的过程要等到顾客进店才开始,现在,店外就全部都可以发生了。小程序的出现,给顾客点餐下单、支付提供了很大的方便,也简化了餐饮企业的服务流程,提升了服务质量。
这个代理值不值得做,我个人作为行业观察者,觉得微信小程序餐饮点餐系统前景是非常不错的。互联时代大浪已经来临,时机是靠自身把握.就如这两家餐饮公司,如点点客,他们做得小程序点餐系统主要是做小程序扫码点餐营销,还有个叫点单宝的餐饮软件公司,他们是打通了微信公众号和小程序的开发.他们在行业里都是比较有口碑的.希望对你有帮助,可以参考下
2024年小程序做本地门户 篇4
本地互联网创业主要是客观的分析用户的需求和整体的互联网环境。根据互联网平台的环境可以简单的把互联网创业简史做四波划分:第一波本地化互联网创业是本地社区、本地门户; 第二波本地化互联网创业是本地团购和本地O2O; 第三波本地化互联网创业是本地公众号; 现在是不是该来第四波互联网创业本地化微信小程序和本地头条社区?
今天互联网最大的平台就是:微信和今日头条。美团和淘宝已变成偏电商平台,从互联网流量来看头条是超越了PC时代的百度生态体系和微信成为最大的流量平台。
2024年小程序做本地门户 篇5
完全可行!本人在互联网行业从业10年,可以负责任的告诉楼主,这个方法是行得通的。而且我之前有一个朋友就已经像这样搞了,我觉得我朋友和楼主的想法应该差不多,那就是组建一个顺风车网页或者说社群,来为自己和更多的朋友们解决网约车出行的难题!
为什么要弄个本地顺风车?
我们都知道,滴滴顺风车虽然上线了,但现在费用其实也不低,而且这种顺风车大部分都是有陌生人组成,大家心里难免有所担心。
而搞一个本地的顺风车,尤其是像地级市或者县城来说,这样就好很多了。因为这个圈子小,一方面很快能建立起来,毕竟你今天拉一个,他明天拉一个,再加上熟人链的关系,做事方便多了。其实现在不少地方上的微信就已经出现了这样的模式,且大部分都是熟人组成,而且出车的价格要比市场上低很多。
淘宝上找人做程序可靠吗?
这都什么年代了,当然可靠啊。其实不光淘宝,上猪八戒网也是可以的。现在移动支付都是先打钱进去,但如果说你对产品不满意的话,你可以发起投诉,也就是说,对方也不可能收到你的钱。而且话说白了,很多网络工作者比我们普通人还重视网络的诚信,毕竟一旦出现问题,他的饭碗基本上就凉了,所以他们比我们还重视!
最后就是楼主所说的费用问题,这个费用是不定的。费用的多少完全看你自己所提出的需求,你的需求要求高,那么费用肯定也就贵一些。根据我的了解,楼主要做这么一个东西,大概花个3000元就搞定了!
2024年小程序做本地门户 篇6
1,APP和商城小程序的基本概念
我们先来区分下两者的概念,APP软件想必大家都不陌生,指的是智能手机的第三方应用程序,从不同的应用平台下载安装到手机上使用,为用户提供更丰富的使用体验。而小程序主要是面向产品和服务,基于微信搭建发展,无需下载,即用即走,轻松实现基本功能。
2、APP和商城小程序的区别
1)用户群体
载体不同则用户群体不同,APP面向所有使用智能手机的用户,小程序面向12亿+的微信用户。APP需要用户下载才能使用,小程序则更加轻便,即点即用,再走再回,获取用户更简单。
2)内存占用
APP从应用商城里下载,自身占用手机内存空间,并随着用户的日益使用,产生数据越多,甚至导致系统反应慢、操作卡顿等现象,需要用户定期清理缓存。而小程序通过微信扫码或者搜索可直接获取使用,不需要专门下载,和微信共享内存,用户使用中产生的数据缓存也小到几乎没有。
3)功能
APP更加独立,灵活性强,由于独立开发制作,使得它几乎没有局限性,能最大程度发挥功能和展示品牌效应,这些都依赖于APP拥有更大的容量才能实现。商城小程序基于 HTML5 进行开发,在功能架构上设置较为简单,随着商城小程序开发技术的越发成熟,目前商城小程序能实现的功能也越来越多,不满足于只展现基本的核心功能,也能够实现很多延伸功能,比如更高级的营销功能、支持订阅消息、线下扫码、公众号关联小程序等。顺应微信生态圈的发展能够满足更多用户消费场景需求,更贴近我们生活中的吃喝玩乐。
4)开发难度
APP对开发的技术要求更高,开发成本更多,开发周期长,需要保持周期性系统更新升级。针对不同系统的手机要适配多种机型,并在不同的应用商城上线需要先经过不同的平台审核,开发成本和日常运营维护成本都远高于商城小程序。商城小程序开发门槛和成本更低,特别是对个体户来说操作更易上手,如果商家没有足够的技术能力去独自开发,也可以寻找靠谱的第三方新零售小程序开发商制作。小程序一次开发就能适用于所有机型,只要提交给微信平台审核即可。
5)运营推广
APP需要有优秀专业的团队负责运营,推广成本高,想要获取一定的效果难度较大。商城小程序一方面用户活跃度和引流效果更好,比如平台支持商城小程序分享朋友圈微信群、公众号跳转等功能。另一方面商城小程序拥有多种营销功能,商家可随时随地开展活动。
不难看出小程序和APP的区别还是比较明显的,两者之间可以相互补充,也可以完全独立。对于已经拥有APP的成熟企业来说,可以借助商城小程序来打通微信的流量市场,而对于适合快速场景化服务的小型企业或者像您这样专注于发展本地化业务的,使用小程序无疑能更好更快速的服务用户,更具性价比。
2024年小程序做本地门户 篇7
农产品推广单单靠小程序显得太单薄。小程序说到底是一个变现的工具,无法解决人的问题。所以小程序需要与其他工具结合起来,才能更好的推广变现。
农产品其实是一个特殊的产品,首先解决的就是信任的问题,如何让用户相信你的农产品是绿色、无污染的,特别是在这个假货横生的时代,而最好的证明方式就是做自媒体场景化营销。
例如:你卖土鸡,通过短视频的拍摄形成场景营销,通过直播让用户亲眼看到你是如何养的土鸡,鸡每天都吃什么,土鸡的肉质有什么好处,你都可以通过场景化为用于展示出来。
不单单是土鸡,其他水果、蔬菜、生态猪等都可以借助自媒体这个平台赢得粉丝的关注,赢得用户的信赖,你在平台的一言一行就是你信任度的体现,所以说未来人格化、个人ip显得原来越重要,用户通过你在平台的展示信任你,进而相信的各类产品,最后达成交易。
交易的这个点就要用到小程序了,而且你更要通过小程序的社交优势裂变引流更多的用户访问下单交易。前面通过自媒体已经解决了人的问题,那么通过小程序的秒杀、拼团、分销就能通过一批一批的用户裂变更多的用户,这就需要你落实你的经营模式,如何通过小程序的各项功能吸引用户产生裂变,增加用户粘性。
自媒体解决的为什么来你这的问题;而小程序解决的是留住用户,增加用户粘性,裂变引流用户的问题。但是最核心,最关键的还是你的个人能力问题。工具就摆在那,有人有它赚的了红利,有人却觉得一点用没有。
2024年小程序做本地门户 篇8
作为一名互联网从业者,给楼主回答下吧!
回答该问题,可以分为两个方面。一,小程序和app该如何选择?
目前来说,发布信息这两者都可以满足。但如果考虑到后期的推广,建议您使用小程序。为什么?您想用户只需要发布一个信息,还必须在手机上下载您的app,代价太大了。
代价大,意味着您的获客成本高。那如果使用小程序,则相对容易些,用户只需要打开微信扫一扫即可。所以从后期推广来说,小程序更容易些。二,什么时候可以做app?
虽说app的推广成本高,但app也有自己独特的优势,首先用户再次打开非常方便,其次,我们联系用户更加直接,推送信息用户就能看的到。
所以,个人建议您前期先积累用户,当用户有一定量的时候再做app。三,用小程序该怎么做?
我们知道小程序本身是流量兑现的工具,那也意味着很多人用完小程序以后就走了,无法沉淀用户。所以建议您使用公众号+小程序来操作。至少我们还能通过公众号再次联系到用户。
好了,就分享这么多。欢迎大家在下方交流评论。