桂院校园导航 | 云上高校导航 云开发项目 二次开发教程 2.0

news2024/11/17 16:00:36

Gitee代码仓库:桂院校园导航小程序

GitHub代码仓库:GLU-Campus-Guide

演示视频

【校园导航小程序】2.0版本 静态/云开发项目 演示

云开发项目 2.0版本 升级日志

序号

板块

详情

1

首页

重做了首页,界面更加高效和美观

2

校园页

新增了 “校园指南” 功能,可以搜索和浏览校园生活指南

3

地图页

①弃用路线规划插件,改用SDK开发包。可以无阻通过审核并发布。得益于SDK中的接口,能够获取路线数据,可以渲染到地图上

②新增轨迹回放功能,获取路线后,有小车沿着路线,从起点移动到终点

③新增点聚合功能,地点过于密集时,会自动聚合此类地点

④新增起点终点交换功能,可一键交换起点和终点

⑤页面底部按钮重做,点击可以查看当前类别下的地点/路线详情

⑥更改了类别栏的位置,删去了地点栏

4

数据存储

数据分门别类写入多个js文件,使用时分别引入。区分开容易查找和修改

media.js :图片和视频路径

school.js :学校和校园指南信息

map.js :地图参数、各个地点的坐标

utils.js :其他信息

5后台管理

地点管理页 新增 默认地点管理功能

②媒体管理页 新增 默认图片管理功能

0. 导入项目

桂院校园导航 | 云上高校导航 导入与配置教程

可以将图片上传至云存储,获取图片链接,替换掉项目里原来的图片链接。

 0.1 上传所有云函数

将 cloudfunctions云函数文件夹 下的 所有文件夹 - 右键 - 上传并部署

0.2 建立数据库集合并导入对应文件

admincategorymediasite

0.3 修改数据库集合权限

将数据库中 所有集合 的数据权限 改为 第一项

1. 全局 app.json

app.json 中的 navigationBarTitleText 属性 设置的是 全局的导航栏标题文字内容改成自己的。

"navigationBarTitleText": "桂院校园导航",

2. 首页 pages/home/home

风景轮播图 在后台管理 自行修改。

图标 引用 media.js 的数据,均引用 images文件夹 的图片, 自行修改。

校徽(将新图片拖入文件夹覆盖原图片

学校信息(学校全称 + 学校信息) 引用 school.js 的数据,自行修改。

部分信息(小程序名称) 引用 utils.js 的数据,自行修改。

天气api 引用 utils.js 的数据,调用 和风天气API 实现 ,自行修改。

和风天气API申请教程

如果你想搞那种根据定位获取天气,或者是展示更多天气的那种,可以参考下面的大佬的文章

微信小程序实现天气预报功能(支持自动定位)(附源码)

官微按钮是通过 wx.previewImage 接口实现(全屏预览图片)。

获取 公众号二维码 的方法

招生官微按钮是通过 wx.navigateToMiniProgram 接口实现(跳转外部小程序)。如果你学校没有小程序就改成像楼上一样全屏预览图片(学校的官方图书馆、学生会或者什么的公众号)。

获取 小程序 appId 的方法

​​​​

3. 学校简介 pages/home/introduction/introduction

风景轮播图 和首页的 是一样的,就不用改了

学校信息(学校全称 + 学校英文名 + 学校简介) 引用 school.js 的数据,自行修改。

 宣传视频 在后台管理 自行修改。

4. 地图信息 pages/map/map

图标 引用 media.js 的数据,均引用 images文件夹 的图片, 自行修改。

地图api 引用 map.js 的数据,调用 腾讯位置服务API 实现 ,自行修改。

腾讯位置服务API申请教程

地点数据 在后台管理 自行修改

地图数据 引用 map.js 的数据。

longitude:地图中心点坐标经度(范围:-180→180)

latitude :地图中心点坐标纬度(范围:-90→90)

经纬度不要写反了

enablepoi:是否展示 POI 点

showLocation:是否显示带有方向的当前定位点

scale:地图默认缩放级别

minscale:地图最小缩放级别,比默认缩放级别小一点为宜

地图中心点坐标

取对角线两点的坐标,平均值即为中心点坐标

坐标拾取器

​​


地图边界、学校范围

地图边界:限制地图的显示范围,不能划出这个范围

通过 MapContext.setBoundary 接口实现,使用此接口需基础库 2.22.0及以上版本

学校范围:判断当前位置(定位)在不在学校

通过 wx.getLocation 接口获取当前的地理位置。将其中的 经度 纬度 进行判断,若 经度 和 纬度 在特定范围内,就说明 你的位置 在校区内。

wx.getLocation接口 申请教程​​​​​​​

坐标拾取器

​​​​​


默认地点

当前位置不在学校时,需指定一个默认地点

默认地点 在后台管理 自行修改。

​​​


自定义图层(覆盖校园地图)

我使用这个是因为我的学校在腾讯地图上太干净了(啥都没有)。。。影响观感。

之后用PS画的校园地图。

可以来比较一下

不同学校(都是100米标尺),简直是天壤之别。

​​​

自定义图层是通过 MapContext.addGroundOverlay 接口实现(创建自定义图片图层,图片会随着地图缩放而缩放)。

自定义图层不会在 微信开发者工具上 显示,只能在移动端查看。

自定义图层 在后台管理 自行修改。

不得不说,这个坐标真的难调,暂时没有找到很好的方法。

5. 学校指南 pages/school/school 和 pages/school/word/word

学校指南信息 引用 school.js 的数据,使用list结构存储,自行修改。

​​​

6. 更多 pages/more/more

去除了登录的全部代码,因为现在想要获取小程序用户头像昵称很麻烦

有需要的可以自行研究

小程序用户头像昵称获取规则调整公告


“特别说明”按钮中的说明信息 自行修改 若不用就删掉

“支持一下”按钮 不用就删掉

“联系作者”按钮是通过 wx.previewImage 接口实现(全屏预览图片),自行在media.js中更改为你自己的微信二维码

“推荐给好友”按钮,之前是能转发,但目前我的小程序没法认证,就改成预览图片,自行在media.js中更改为你自己的小程序维码

“获取opnenid”按钮,点击直接显示openid,并可以直接点击复制。获取了 openid 填入 云数据库 的 admin集合 的 openid字段 ,之后就可以点 “管理界面”按钮 进后台了。

​​​

7. 软件声明 pages/more/statement/statement

如果用到了 我的项目或代码 请说明,谢谢!

相关信息 引用 utils.js 的数据,自行修改。

如果你开源自己项目,就自行更改;否则删掉。

​​​​

8. 后台管理 pages/admin/admin

有想法的话,可以尝试加个 校园指南 的管理界面。

9. 地点管理 pages/admin/manage/manage

默认地点:定位不在学校时,地图显示的地点。

可在 “默认地点” 处修改默认地点。

//地点集合字段说明

name:地点名称
aliases:地点别名(可为空)
img:图片链接
desc:地点描述(可为空)
latitude:纬度
longitude:经度

10. 媒体管理 pages/admin/media/media

在 “默认图”处 上传一张图片,那么在新增地点时,如果不选择图片,那么会上传这张图片。

如果你没有地图,就对相关代码进行相应的删改。


到这里就结束啦,表扬一下优秀的你自己吧,能够把这么长的教程看完

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1488706.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python判断结构20个实例

基本理论基础 Python中的选择判断结构是一种编程中常用的控制结构,它用于根据条件的真假决定程序的执行路径。选择判断结构有多种类型,包括if语句、if-else语句、if-elif-else语句以及嵌套的选择结构。 首先,我们来介绍最常见的if语句。if语…

浅谈WPF之Binding数据校验和类型转换

在WPF开发中,Binding实现了数据在Source和Target之间的传递和流通,就像现实生活中的一条条道路,建立起了城镇与城镇之间的衔接,而数据校验和类型转换,就像高速公路之间的收费站和安检站。那在WPF开发中,如何…

引入本地图片报错:require is not defined

文章目录 问题分析1. 原始写法2. 最初的解决方案3. 尝试使用 require 引入4. 封装方法进行解析引入图片 问题 Vue3 Vite 使用本地图片报错:require is not defined 分析 1. 原始写法 刚开始我是这样写的,数据是这样定义的,但是数据没出…

Vue.js+SpringBoot开发高校实验室管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 实验室类型模块2.2 实验室模块2.3 实验管理模块2.4 实验设备模块2.5 实验订单模块 三、系统设计3.1 用例设计3.2 数据库设计 四、系统展示五、样例代码5.1 查询实验室设备5.2 实验放号5.3 实验预定 六、免责说明 一、摘…

2024年R2移动式压力容器充装证考试题库及R2移动式压力容器充装试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年R2移动式压力容器充装证考试题库及R2移动式压力容器充装试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上…

快速幂(求解原理+例题)

目录 反复平方法(快速幂): 代码: 例题:快速幂求逆元 作用: 快速求出 的结果。 时间复杂度: O(logk) 如果使用一般做法,从1循环到k,时间复杂度是O(k) 反复平方法&am…

倒计时35天

小红的子序列权值和 (nowcoder.com) #include<bits/stdc.h> using namespace std; #define int long long const int N2e56; const int inf0x3f3f3f3f; const double piacos(-1.0); const int mod1e97; int c[1100][1100]; int a[1100],b[5]; void solve() {int n;cin>…

照片变年轻怎么操作?收好这几个方法

照片变年轻怎么操作&#xff1f;在这个数字时代&#xff0c;我们手中的智能手机和相机成为了记录生活的重要工具。然而&#xff0c;随着时间的推移&#xff0c;照片中的人物往往会因为岁月的痕迹而显得苍老。那么&#xff0c;有没有一种方法可以让这些珍贵的回忆重新焕发青春呢…

[DevOps云实践] 跨AWS账户及Region调用Lambda

[DevOps云实践] 跨AWS账户及Region调用Lambda 本文將幫大家理清一下幾個問題: 如何跨不同AWS賬戶,不同Region來調用Lambda? 不同Lambda之間如何互相調用?有時我們希望我們的Lambda脚本能夠運行在多個AWS賬戶中的不同Region下,但是,我們還不希望每個下面都去建立一個運行…

从0开始学习NEON(1)

1、前言 在上个博客中对NEON有了基础的了解&#xff0c;本文将针对一个图像下采样的例子对NEON进行学习。 学习链接:CPU优化技术 - NEON 开发进阶 上文链接:https://blog.csdn.net/weixin_42108183/article/details/136412104 2、第一个例子 现在有一张图片&#xff0c;需…

【CSP试题回顾】201403-2-窗口

CSP-201403-2-窗口 解题思路 窗口存储结构&#xff1a;首先&#xff0c;使用一个结构体MyWindow来存储每个窗口的信息&#xff0c;包括窗口的序号&#xff08;index&#xff09;和矩形区域的四个顶点坐标&#xff08;x1, y1, x2, y2&#xff09;。所有窗口的信息存储在一个向量…

17 easy 290. 单词规律

//给定一种规律 pattern 和一个字符串 s &#xff0c;判断 s 是否遵循相同的规律。 // // 这里的 遵循 指完全匹配&#xff0c;例如&#xff0c; pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。 // // // // 示例1: // // //输入: patte…

一篇文章教会你如何在IOS真机上完美运行React Native

一篇文章教会你如何在IOS真机上完美运行React Native 项目初始化项目配置可能遇到的问题没有账号也没有Team设备上没有打开开发者模式&#xff0c;也没有信任开发者证书 无线调试 项目初始化 在终端使用**npx react-native init ProjectName**初始化React Native项目。 进入项…

selenuim【1】$x(‘xpath’)、WebDriverWait()、try/assert

文章目录 1、执行driver webdriver.Chrome()后很久才打开浏览器2、浏览器多元素定位 $x(‘xpath语法’)3、打开浏览器driver.get("网址")执行了很久才开始定位元素&#xff1a;等待&#xff08;1&#xff09;driver.set_page_load_timeout(t)&#xff08;2&#xff…

Live Home 3D Pro:您的私人家居设计师,让家更有温度

Live Home 3D Pro是一款功能强大的家居设计软件&#xff0c;它凭借直观的用户界面和丰富的设计工具&#xff0c;为用户提供了一个全新的家居设计体验。无论您是专业设计师还是普通用户&#xff0c;Live Home 3D Pro都能帮助您轻松实现家居设计的梦想。 Live Home 3D Pro mac版…

枚举与尺取法(蓝桥杯 c++ 模板 题目 代码 注解)

目录 组合型枚举&#xff08;排列组合模板&#xff08;&#xff09;&#xff09;: 排列型枚举&#xff08;全排列&#xff09;模板&#xff1a; 题目一&#xff08;公平抽签 排列组合&#xff09;&#xff1a; ​编辑 代码&#xff1a; 题目二&#xff08;座次问题 全排…

财报解读:基本盘稳定后,联想如何进一步抢占AI时代?

从2021年下半年开始&#xff0c;受诸多因素影响&#xff0c;消费电子行业始终处在承压状态&#xff0c;“不景气”这一关键词屡次被市场提及。 但寒气没有持续&#xff0c;可以看到&#xff0c;消费电子行业正在逐渐回暖。国金证券在今年1月的研报中就指出&#xff0c;从多方面…

学习python时一些笔记

1、winr 命令提示符的快捷键 输入cmd进入终端 2、在终端运行桌面上的python文件 cd desktop(桌面) cd是进入该文件夹的意思。 cd .. 回到上一级 运行python时一定要找到文件的所在地 输入python进入&#xff0c;exit()退出%s字符串占位符%d数字占位符%f浮点数占位符input输…

手把手教你零成本获客的教育培训小程序

随着科技的发展&#xff0c;数字化教育成为现代教育的趋势。为了满足教育培训机构的需求&#xff0c;许多教育培训小程序搭建平台应运而生。今天&#xff0c;我们将为大家介绍一种简单快捷的搭建教育培训小程序的方法。 首先&#xff0c;登录【乔拓云】制作平台&#xff0c;进入…

Java毕业设计 基于SpringBoot vue 社团管理系统

Java毕业设计 基于SpringBoot vue 社团管理系统 SpringBoot vue 社团管理系统 功能介绍 社团成员: 登录 首页 社团列表 加入社团申请 我的社团 在线留言 社长: 登录 首页 用户信息管理 入团申请管理 社团活动管理 社团成员管理 社团新闻管理 社团费用管理 系统管理员: 登录…