小程序详情页浏览量如何实现

小程序详情页浏览量如何实现,第1张

对于小程序的浏览量,也是跟app差不多的,要在于推广,只有推广好,小程序才会有更多的浏览器以及关注度,那么如何对小程序进行推广呢,就目前来说,可以结合线上、线下进行,比如线上可以:

1、附近的小程序入口。

附近小程序基于LBS的门店位置的推广,会自然带来访问量,为门店带来有效客户。

2、微信搜索进入。

小程序可以在微信搜索里直接进入,拥有线上的搜索流量。

3、长按识别小程序二维码进入。

4、小程序的参数二维码,可以利用积分宝海报形式进行线上运营传播。

5、微信图文可以插入小程序,也是小程序推广运营的重要方式,而且结合微信图文, 借助微信小程序的直接引导,提高线上转化率。

6、自媒体平台软文推广。

7、转发分享。

8、公众号关联小程序,利用公众号积累的影响力。

9、公众号资料页展示小程序也是小程序的重要入口之一,能为小程序带来自然的用户 。

线下:

1、小程序二维码推广。

2、圆形小程序码推广。

3、扫描普通二维码进入小程序。

4、门店、宣传海报、广告栏带小程序相关二维码。

5、线下扫码、地推。

毕业论文选题系统是基于微信小程序,后端是基于java编程语言,ssm框架,mysql数据库和IDEA工具开发,本系统分为学生,教师,管理员三个角色;学生可以注册登陆系统,查看系统公告,选课论文课题,提交课题论文,查看论文审核,答辩结果等信息;教师可以发布课题,审核学生论文,课题答辩结果,在线回复学生留言;管理员对学生,教师,公告,论文,选题,答辩等进行管理;本系统功能齐全,文档齐全,适合作为微信小程序毕业设计来参考和学习。

一技术环境

jdk版本:18 及以上

ide工具:IDEA ,微信小程序开发工具

数据库: mysql57 (必须57)

编程语言: Java

tomcat: 80 及以上

java框架:SSM

maven: 361

前端:layui ,微信

详细技术:HTML+CSS+JS+JSP+JAVA+SSM+MYSQL+JQUERY+MAVEN+微信开发工具

二项目文件(项目获取请看文末官网)

在这里插入描述

三系统功能

在这里插入描述

四代码示例

package comlmucontroller;

/

和登陆有关的都在这里

/

import comopensymphonyxwork2ActionContext;

import comopensymphonyxwork2ActionSupport;

import comlmumodelRole;

import comlmumodelUser;

import comlmuserviceRoleService;

import comlmuserviceUserService;

import comlmuutilsJsonUtils;

import comlmuutilsUserUtils;

import orgapachecommonscollectionsmapHashedMap;

import orgapachestruts2ServletActionContext;

import orgspringframeworkbeansfactoryannotationAutowired;

import orgspringframeworkcontextannotationScope;

import orgspringframeworkstereotypeController;

import javaioIOException;

import javautilHashMap;

import javautilMap;

@Controller("loginController")

@Scope("prototype")

public class LoginController extends ActionSupport {

@Autowired

private UserService userService;

@Autowired

private RoleService roleService;

private User user;

private Map<String, Object> map = new HashMap();

public User getUser() {

return user;

}

public void setUser(User user) {

thisuser = user;

}

public UserService getUserService() {

return userService;

}

public void setUserService(UserService userService) {

thisuserService = userService;

}

/

用户登陆

@return

/

public void index() throws IOException {

User user1 = userServicegetUser(user);

if (user1 != null){

if (user1getIsSh() == 1){

if (user1getRole()getEnName()equals("admin")){

ActionContextgetContext()getSession()put("user", user1);

}

if (user1getRole()getEnName()equals("js")){

ActionContextgetContext()getSession()put("user1", user1);

}

if (user1getRole()getEnName()equals("xs")){

ActionContextgetContext()getSession()put("user2", user1);

}

mapput("flag", 1);

mapput("url", "login_indexsdo");

mapput("id", user1getId());

JsonUtilstoJson(map);

} else {

mapput("flag", 2);

JsonUtilstoJson(map);

}

} else {

mapput("flag", 3);

JsonUtilstoJson(map);

}

}

public String indexs() throws IOException {

User u = UserUtilsgetUser();

if (u != null){

ActionContextgetContext()put("user", u);

String ss = ugetRole()getEnName();

ActionContextgetContext()put("role", ugetRole()getEnName());

}

return SUCCESS;

}

//登陆页面

public String login() {

return SUCCESS;

}

//退出

public String tuichu() {

ActionContext ac = ActionContextgetContext();

Map session = acgetSession();

sessionremove("userName");

sessionremove("userId");

ServletActionContextgetRequest()getSession()invalidate();

return "login";

}

}

package comlmucontroller;

/

用户新增

/

import comopensymphonyxwork2ActionContext;

import comopensymphonyxwork2ActionSupport;

import comopensymphonyxwork2ModelDriven;

import comlmumodelRole;

import comlmumodelUser;

import comlmuserviceRoleService;

import comlmuserviceUserService;

import comlmuutilsJsonUtils;

import comlmuutilsPager;

import comlmuutilsUserUtils;

import orgspringframeworkbeansfactoryannotationAutowired;

import orgspringframeworkcontextannotationScope;

import orgspringframeworkstereotypeController;

import javaawteventFocusEvent;

import javaioIOException;

import javautilDate;

import javautilHashMap;

import javautilMap;

@Controller("userController")

@Scope("prototype")

public class UserController extends ActionSupport implements ModelDriven<User> {

@Autowired

private UserService userService;

@Autowired

private RoleService roleService;

private User user;

private Integer userId;

private Map<String, Object> map = new HashMap();

/

list

@return

/

public String list() throws IOException {

User user1 = UserUtilsgetUser();

if (user1 == null || user1getId() == null){

ActionContextgetContext()put("login", 1);

return SUCCESS;

}

Pager<User> pagers = null;

Role role = user1getRole();

if (rolegetEnName()equals("admin")) {

pagers = userServicegetList(user);

ActionContextgetContext()put("pagers", pagers);

ActionContextgetContext()put("user", user1);

ActionContextgetContext()put("role", role);

ActionContextgetContext()put("bean", user);

return SUCCESS;

} else if (rolegetEnName()equals("xs") || rolegetEnName()equals("js")) {

pagers = userServicegetList(user1);

ActionContextgetContext()put("pagers", pagers);

ActionContextgetContext()put("bean", user);

return SUCCESS;

}

return null;

}

/

跳转add

@return

/

public String add() {

Pager<Role> pagers = roleServicepagers();

ActionContextgetContext()put("pagers", pagers);

return SUCCESS;

}

/

查询修改

@return

/

public String edit() {

User bean = userServicefindById(userId);

Pager<Role> pagers = roleServicepagers();

ActionContextgetContext()put("bean", bean);

ActionContextgetContext()put("pagers", pagers);

return SUCCESS;

}

/

审核

@return

/

public void updateSh() throws IOException {

usersetIsSh(1);

userServiceupdates(user);

mapput("flag", true);

mapput("url", "user_listdo");

JsonUtilstoJson(map);

}

/

更新

@return

/

public String update() throws IOException {

if (usergetPass()equals("")){

usersetPass(null);

}

userServiceupdates(user);

mapput("flag", true);

mapput("url", "user_listdo");

JsonUtilstoJson(map);

return SUCCESS;

}

/

保存

@return

/

public void save() throws IOException {

if (userServicegetUser(user) != null){

mapput("flag", false);

mapput("url", "login_logindo");

JsonUtilstoJson(map);

} else {

usersetTime(new Date());

userServicesave(user);

mapput("flag", true);

mapput("url", "login_logindo");

JsonUtilstoJson(map);

}

}

public void delete() throws IOException {

User user1 = userServicefindById(userId);

user1setIsDelete(1);

userServiceupdate(user1);

mapput("flag", true);

mapput("url", "user_listdo");

JsonUtilstoJson(map);

}

@Override

public User getModel() {

if (user == null) {

user = new User();

}

return user;

}

public Integer getUserId() {

return userId;

}

public void setUserId(Integer userId) {

thisuserId = userId;

}

public User getUser() {

return user;

}

public void setUser(User user) {

thisuser = user;

}

}

微信小程序开发中toast也是重要的消息提示方式

提示框:

wxshowToast(OBJECT)

显示消息提示框

OBJECT参数说明:

示例代码:

12345

wxshowToast({ title:'成功', icon:'success', duration: 2000})

wxhideToast()

隐藏消息提示框

123456789

wxshowToast({ title:'加载中', icon:'loading', duration: 10000}) setTimeout(function(){ wxhideToast()},2000)

wxshowModal(OBJECT)

显示模态d窗

OBJECT参数说明:

示例代码:

123456789

wxshowModal({ title:'提示', content:'这是一个模态d窗', success:function(res) { if(resconfirm) { consolelog('用户点击确定') } }})

wxshowActionSheet(OBJECT)

显示 *** 作菜单

OBJECT参数说明:

success返回参数说明:

示例代码:

12345678

wxshowActionSheet({ itemList: ['A','B', 'C'], success:function(res) { if(!rescancel) { consolelog(restapIndex) } }})

设置导航条

<view>提示:{{tip}}</view>

<button type="default" bindtap="showModal">点击我d出modal对话框</button>

<view>

<modal title="modal对话框" hidden="{{modalHidden}}" confirm-text="确定" cancel-text="取消"

bindconfirm="modalBindaconfirm" bindcancel="modalBindcancel">您好,我是modal对话框</modal>

</view>

Page({

data:{

// text:"这是一个页面"

tip:'',

buttonDisabled:false,

modalHidden:true,

show:false

},

showModal:function(){

thissetData({

modalHidden:!thisdatamodalHidden

})

},

modalBindaconfirm:function(){

thissetData({

modalHidden:!thisdatamodalHidden,

show:!thisdatashow,

tip:'您点击了确认按钮!',

buttonDisabled:!thisdatabuttonDisabled

})

},

modalBindcancel:function(){

thissetData({

modalHidden:!thisdatamodalHidden,

tip:'您点击了取消按钮!'

})

}

})

wxsetNavigationBarTitle(OBJECT)

动态设置当前页面的标题。

OBJECT参数说明:

示例代码:

123

wxsetNavigationBarTitle({ title:'当前页面'})

wxshowNavigationBarLoading()

在当前页面显示导航条加载动画

wxhideNavigationBarLoading()

隐藏导航条加载动画。

页面跳转:

wxnavigateTo(OBJECT)

保留当前页面,跳转到应用内的某个页面,使用wxnavigateBack可以返回到原页面。

OBJECT参数说明:

示例代码:

123

wxnavigateTo({ url:'testid=1'})

123456

//testjsPage({ onLoad:function(option){ consolelog(optionquery) }})

注意:为了不让用户在使用小程序时造成困扰,我们规定页面路径只能是五层,请尽量避免多层级的交互方式。

wxredirectTo(OBJECT)

关闭当前页面,跳转到应用内的某个页面。

OBJECT参数说明:

示例代码:

123

wxredirectTo({ url:'testid=1'})

wxnavigateBack(OBJECT)

关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages()) 获取当前的页面栈,决定需要返回几层。

OBJECT参数说明:

动画:

wxcreateAnimation(OBJECT)

创建一个动画实例animation。调用实例的方法来描述动画。最后通过动画实例的export方法导出动画数据传递给组件的animation属性。

注意: export 方法每次调用后会清掉之前的动画 *** 作

OBJECT参数说明:

123456

var animation = wxcreateAnimation({ transformOrigin:"50% 50%", duration: 1000, timingFunction:"ease", delay: 0})

animation

动画实例可以调用以下方法来描述动画,调用结束后会返回自身,支持链式调用的写法。

样式:

旋转:

缩放:

偏移:

倾斜:

矩阵变形:

动画队列

调用动画 *** 作方法后要调用 step() 来表示一组动画完成,可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。step 可以传入一个跟 wxcreateAnimation() 一样的配置参数用于指定当前组动画的配置。

示例:

1

<viewanimation="{{animationData}}"style="background:red;height:100rpx;width:100rpx"></view>

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849

Page({ data: { animationData: {} }, onShow:function(){ varanimation = wxcreateAnimation({ duration: 1000, timingFunction:'ease', }) thisanimation = animation animationscale(2,2)rotate(45)step() thissetData({ animationData:animationexport() }) setTimeout(function() { animationtranslate(30)step() thissetData({ animationData:animationexport() }) }bind(this), 1000) }, rotateAndScale:function () { // 旋转同时放大 thisanimationrotate(45)scale(2, 2)step() thissetData({ animationData:thisanimationexport() }) }, rotateThenScale:function () { // 先旋转后放大 thisanimationrotate(45)step() thisanimationscale(2, 2)step() thissetData({ animationData:thisanimationexport() }) }, rotateAndScaleThenTranslate:function () { // 先旋转同时放大,然后平移 thisanimationrotate(45)scale(2, 2)step() thisanimationtranslate(100, 100)step({ duration: 1000 }) thissetData({ animationData:thisanimationexport() }) }})

wxhideKeyboard()

收起键盘。

以上就是关于小程序详情页浏览量如何实现全部的内容,包括:小程序详情页浏览量如何实现、论文双选小程序怎么弄、微信小程序如何实现消息提示框等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9792640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存