环境 myeclipse6.5 jdk1.6 apache-tomcat-7.0.56 mysql5.1
红薯提供的sql文件,导入会有错误。这里我提供一个。
/*
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50538
Source Host : localhost:3306
Source Database : nextapp
Target Server Type : MYSQL
Target Server Version : 50538
File Encoding : 65001
Date: 2014-11-28 11:41:57
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `nap_apps`
-- ----------------------------
DROP TABLE IF EXISTS `nap_apps`;
CREATE TABLE `nap_apps` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user` int(11) NOT NULL,
`site` varchar(32) NOT NULL,
`name` varchar(16) NOT NULL,
`outline` text,
`type` tinyint(4) NOT NULL,
`ico` varchar(64) DEFAULT NULL,
`logo` varchar(64) DEFAULT NULL,
`welcome` varchar(64) DEFAULT NULL,
`style` varchar(16) DEFAULT NULL,
`guid` varchar(40) NOT NULL,
`domain` varchar(64) NOT NULL,
`home_url` varchar(64) NOT NULL,
`plugin_url` varchar(64) NOT NULL,
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`status` varchar(255) DEFAULT NULL,
`error_code` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_app_guid` (`guid`),
UNIQUE KEY `idx_app_domain` (`domain`),
KEY `fk_site_user` (`user`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gbk;
-- ----------------------------
-- Records of nap_apps
-- ----------------------------
-- ----------------------------
-- Table structure for `nap_openids`
-- ----------------------------
DROP TABLE IF EXISTS `nap_openids`;
CREATE TABLE `nap_openids` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user` int(11) NOT NULL,
`name` varchar(32) DEFAULT NULL,
`openid` varchar(64) NOT NULL,
`type` tinyint(4) NOT NULL,
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`last_login` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_openid` (`openid`,`type`),
KEY `idx_openid_user` (`user`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gbk;
-- ----------------------------
-- Records of nap_openids
-- ----------------------------
-- ----------------------------
-- Table structure for `nap_repositories`
-- ----------------------------
DROP TABLE IF EXISTS `nap_repositories`;
CREATE TABLE `nap_repositories` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`client_type` tinyint(4) NOT NULL,
`version` varchar(16) NOT NULL,
`src` varchar(64) NOT NULL,
`pub_date` date NOT NULL,
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`changelog` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gbk;
-- ----------------------------
-- Records of nap_repositories
-- ----------------------------
INSERT INTO `nap_repositories` VALUES ('1', '1', '1.0', 'D:\\workplaces\\android\\NextApp', '2014-11-27', '2014-11-28 10:10:24', null);
-- ----------------------------
-- Table structure for `nap_users`
-- ----------------------------
DROP TABLE IF EXISTS `nap_users`;
CREATE TABLE `nap_users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) NOT NULL,
`email` varchar(64) DEFAULT NULL,
`phone` varchar(16) DEFAULT NULL,
`validation` char(8) NOT NULL,
`status` tinyint(4) NOT NULL,
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gbk;
-- ----------------------------
-- Records of nap_users
-- ----------------------------
-- ----------------------------
-- Table structure for `nap_versions`
-- ----------------------------
DROP TABLE IF EXISTS `nap_versions`;
CREATE TABLE `nap_versions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`app` int(11) NOT NULL,
`version` int(11) NOT NULL,
`client_type` tinyint(4) NOT NULL,
`app_path` varchar(64) DEFAULT NULL,
`dl_count` int(11) NOT NULL,
`build_status` tinyint(4) NOT NULL,
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`build_begin_time` datetime DEFAULT NULL,
`build_end_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK_fk_app_version` (`app`),
KEY `FK_fk_version_repository` (`version`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gbk;
-- ----------------------------
-- Records of nap_versions
-- ----------------------------
INSERT INTO `nap_versions` VALUES ('1', '1', '1', '1', null, '0', '0', '2014-11-28 10:22:32', null, null);
这个是我测试成功的,不用担心运行不起来。。。 2个表数据之前是没有的,经过我自己手动添加,现在能自动生成配置文件了
先说说这个网站平台的工作:
1、登陆 因为都是通过第三方接口登陆,又因为在本地部署 又因为时间太久了 登陆qq没法,没来想改改代码跳过登陆,想了想麻烦。 随手点了下gmail 居然可以登陆。
我是修改的本地的hosts 添加了
127.0.0.1 www.nextapp.cn
2. 用户填写网站资料,验证通过后,上传图片,数据写入到数据库
3. 在临时目录建立文件夹,并生成 build_android.properties,build_wp7.properties,build_ios.properties
4、然后通过auto_build.bat 进行构建安装包
流程基本是这样的。
那么跑起来吧
修改数据库连接
nextapp\src\my\db\db.properties
修改配置信息 nextapp.conf 修改为你自己的信息
#该文件存放NextApp系统的一些配置信息
BUILD_SOURCE=D:/workplaces/myeclipse/nextapp #临时目录
BUILD_TARGET=D:/workplaces/myeclipse/ #生成app存放的地方
编译--部署到tomcat --运行
经过了资料提交,进入了审批环节。我们直接进行手动审批,访问
www.nextapp.cn/admin
点击审批 ,进入 分析代码
cn.nextapp.platform.action;
AdminAction。java
private void approve(RequestContext ctx, App app) throws IOException {
app.approve();
for(Version ver : app.versions()){
_GenerateBuildFiles(app, ver);
}
}
点击的审批通过要执行的代码。如果你用红薯的那套sql 会在这个地方卡住。 因为 这个for循环 不执行,原因是
nap_versions app版本信息表
nap_repositories 客户端版本库 这两个表内容是空的。我手动搜了下项目没有一个insert操作!
我理解的过程是通过approve传过来 当前app的信息。 如果当前app在 nap_versions表里面没有信息的话,就不会进入for。
整个项目又没有insert操作,先啥都不管,运行起来再说!那么进行自己写数据
INSERT INTO `nap_versions` VALUES ('1', '1', '1', '1', null, '0', '0', '2014-11-28 10:22:32', null, null);
INSERT INTO `nap_repositories` VALUES ('1', '1', '1.0', 'D:\\workplaces\\android\\NextApp', '2014-11-27', '2014-11-28 10:10:24', null);
写 nap_repositories 的目的是为了能有生成客户端的版本信息。